11548 sujets

JavaScript, DOM et API Web HTML5

Je cherche un remède miracle à mon cauchemar : l'éditeur HTML WYSIWYG en ligne du CMS que je développe.

Actuellement j'utilise FreeTextBox qui a l'avantage d'être encapsulé dans un "contrôle ASP.Net", mais il a le même défaut que tous ceux que je connais : il utilise une fonction propriétaire du navigateur (Mozilla ou IE/Win) pour permettre l'édition d'un document. Le résultat est évidement catastrophique : insertion de balises "bloc" dans des balises "en ligne", attributs propriétaires, apparition de balises <font> à tire-larigot, et crème de la crème, copier-coller depuis Word ou Excel Smiley scared . Bref, rien de tel pour faire exploser un magnifique document (X)HTML préparé avec amour, tant du point de vue de sa validité que de sa mise en page.

Je tiens à préciser que cet éditeur n'apparaît en aucun cas sur la partie publique d'un site.

J'ai essayé Xinha, TinyMCE, et d'autres dont j'oublie le nom et c'est strictement la même chose.

Donc question en plusieurs parties (dont la première n'a pas sa place dans ce topic, mais bon) :
1 - Connaissez-vous la perle rare ?
2 - Etant pessimiste de nature, je me doute qu'elle n'existe pas et qu'il va falloir que je démarre un projet là dessus en dehors de mes heures de travail (vu que le patron, il se contrefiche que la page ne valide pas une fois éditée par le client).

Au cas où ça vous interesse, je jette mes premières réflexions :

Le but du jeu est donc de faire un éditeur de texte WYSIWYG en utilisant un maximum le DOM, et dégradable de façon la plus transparente possible, ayant les capacités suivantes :
- edition de paragpraphes et de 1 ou plusieurs niveaux de titres.
- ajout de balises <strong>, <em>, voire <span class="violet_à_pois_bleus">, (si le client insiste pour avoir trois niveaux d'emphase) à l'intérieur des paragraphes (et titres ?)
- insertion de liens.
- Ajout d'attibuts class aux éléments <p> et <hx> pour en permettre le formattage visuel (fer à gauche, à droite, justifié, etc...), dans des cas extrèmes.
- éventuellement gestion de listes ordonnées ou non. (Mais éventuellement seulement.)
- Undo/Redo (hé oui).
- Tout autre opération étant absolument interdite, verbotten, forbidden, prohibida !

J'avais dans l'idée de faire un éditeur à deux états interchangeables :
1 - Saisie du texte non formatté dans un textarea
2 - Transformation de ce <textarea> en <div> pour permettre le formatage du contenu.

Est-ce que ça vous interesse en tant que produit final (open source, mais pas GPL) et/ou de participer au développement d'un machin dans ce genre ?

Est-ce que vous avez des idées pour éviter le fonctionnement en deux états ?
Modifié par Lanza (13 Sep 2005 - 22:44)
Modérateur
Bonjour,

Je ne fais que passer, mais as-tu essayé le FCKEditor ?

Il n'est sans doute pas parfait encore, mais il génère quand même du code relativement propre. Il fonctionne dans plusieurs navigateurs. Il y a aussi la possibilité de la configurer pour que le copier-coller soit toujours en texte, ca l'évite de traîner le code horrible de Word. Uniquement le texte sera copié.
Merci pour vos réponses.

z-editor est windows only, donc je ne peux pas l'utiliser.

FCKEditor est hyper complet, très interessant, mais il a le même défaut que les autres : il est basé sur les possibilités d'édition des navigateurs, donc sous IE c'est MSHTML qui gère effectivement le trucbidule.
Bonjour tout le monde,
je suis dans le même cas qie Lanza, je cherche cette perle rare mais je trouve pas...
Par contre personnellement j'aimerais que cet éditeur offre la possibilité d'nsérer des images (mais pas necessairement en gérant l'upload), que les br ou hr se ferme correctement, que les balise de liste, acronym, bloquote, pre soient disponibles...
et aussi (on peut réver) pouvoir associer des class à des blocs.
Je ne connais pas (encore) la programmation DOM mais le projet m'interresse vivement, cet outil est vraiment indispensable et n'existe pas...
affaire à suivre !
Ben moi j'ai une solution...qui vaut ce qu'elle vaut :

passe le résultat de l'édition à tidy avec les bonnes options pour nettoyer le code généré -> du bon xhtml tout joli.

++
mojo
Modifié par Merkel (05 Oct 2005 - 16:47)
Salut,
peux tu apporter quelques précisions??
(d'ailleurs je ne connais pas tidy...)
Merci