15Nov 2007
A propos d'HTML, du DOM et des éditeurs WYSIWYG...
08:29 - Par Raphaël - 2 commentaires
L'un de mes projets en cours consiste à améliorer l'interface d'administration d'un CMS que je compte publier sous la forme d'un "engine" pour Stato. Ce CMS étant destiné à des utilisateurs lambda (c'est à dire inaptes à utiliser une syntaxe wiki et encore moins à coder du HTML à la main dans un textarea), j'avais dû me résoudre à intégrer un éditeur WYSIWYG écrit en Javascript. Mon choix à l'époque avait été d'utiliser TinyMCE. J'avais pu le customiser suffisamment pour bien l'intégrer dans le CMS, et mes utilisateurs étaient satisfaits.
En remaniant l'interface, j'ai décidé de cesser d'utiliser prototype et de le remplacer par extjs, qui propose notamment un composant tree très efficace. Séduit par les possibilités de cette librairie, et bien décidé à compenser son poids (463 Ko en version "minifiée") par une utilisation maximale de ses capacités, j'ai souhaité remplacer TinyMCE par l'éditeur HTML de extjs. Seulement voilà, cet éditeur est très léger, et beaucoup de fonctionnalités manquent par rapport à TinyMCE. J'ai donc créé une extension de cet éditeur, qui commence à vraiment prendre tournure. A ce sujet, créer une extension d'un composant de extjs est un jeu d'enfant...
Croyez-moi, travailler sur l'implémentation d'un éditeur HTML en Javascript est vraiment très formateur, j'ai appris beaucoup de choses sur le DOM, et notamment sur les différences d'implémentation du DOM et de CSS dans les navigateurs. Ce qui m'amène à vous faire part de la pensée suivante : en l'état actuel des spécifications HTML et CSS du W3C, il me parait impossible d'arriver à une implémentation "standard" dans tous les navigateurs. Les balises proposées par HTML sont de trop bas niveau, et le modèle de boîte est flou. Il faudrait s'inspirer du modèle de boîte de XUL pour en faciliter l'implémentation.
2 commentaires
Bonjour ou est passée la doc du framework stato - et comptez vous le maintenir ?
Désolé, un petit problème dans mes virtualhosts :) Le site de Stato est à nouveau en ligne, et oui bien sûr, je compte bien continuer à travailler dessus !
Fil des commentaires de ce billet