Vous êtes ici : > A propos > Philosophie

Philosophie du BBComposer

Aujourd'hui, les utilisateurs d'Internet attendent une grande simplicité des outils qui leur sont proposés. Parallèlement, les standards sont de plus en plus présents. Pourtant, tout se passe comme si, les standards, la sémantique, l'accessibilité et la simplicité étaient complètement incompatibles.

Un brin d'histoire

Il suffit de regarder la source produite par les éditeurs WYSIWYG qui existent sur le Web. C'est, dans la plupart des cas, une vraie catastrophe et dans le meilleur des cas, une limitation des possibilités offertes par le XHTML. D'un autre côté, les outils qui ont préférés faire le choix de la sémantique et des standards étaient dépourvus d'éditeur WYSIWYG. On pourrait citer Wikipédia ou encore Spip.

Or, pour Elitwork, nous ne voulions ni faire l'impasse sur les standards, ni faire l'impasse sur la simplicité. De plus, nous avions choisi de ne pas intégrer l'éditeur dans nos sites pour des raisons simples : éditer un contenu faisant parti d'un formulaire, c'est le boulot d'un navigateur. De plus, cela va dans le sens de l'évolution des standards avec les Web Forms 2.0 qui spécialiseront au maximum le contenu des champs de formulaire.

Il me fallait donc créer un éditeur XHTML que mes clients puissent utiliser mais qui conserve l'aspect sémantique que je mets un point d'honneur à préserver. Le BBComposer avec sa barre d'outil sémantique, permet maintenant de proposer à mes clients une solution idéale en terme de référencement ainsi qu'en terme d'accessibilité. De plus, la sécurité n'est pas négligée grâce au choix des XBBCodes tout en conservant d'excellentes performances.

Les sites d'Elitwork sont toujours valides XHTML 1.0 Strict et la barre d'outil CSS permet à nos clients de modifier l'apparence de certaines parties de leurs documents. Bien-sûr, nous leur expliquons qu'il ne faut pas en abuser et que la barre sémantique suffit dans la plupart des cas puisque la feuille de style du site lui est automatiquement appliquée.

Puis, de fil en aiguille, nous nous sommes dit, pourquoi ne pas supporter les BBCodes, les XBBCodes, le HTML, le Mediawiki ... etc. C'est comme cela que nous en sommes arrivé à ce qu'est le BBComposer aujourd'hui.

Les bonnes surprises

Pendant la création du BBComposer nous fûmes impressionnés par la qualité des outils disponibles pour le développement basé sur le moteur Gecko. Et cela a permis quelques fonctionnalités très intéressantes qu'il aurait été bien plus difficile (voire impossible pour certaines) d'implémenter en AJAX.

Ainsi, le support du glisser/déposer sur l'éditeur permet d'ajouter des images depuis le bureau ou de glisser un de ses marques pages sur l'éditeur pour créer un lien. L'auto complétion permet de sélectionner une adresse de l'historique lors de la création d'un lien. L'attribut hreflang peut être remplis grâce à une liste qui propose toutes les langues possibles récupérées directement depuis les fichiers de Firefox.

La correction orthographique permet de rédiger un contenu cohérent avec un nombre de langues limité uniquement par le nombre de dictionnaires en ligne. Et, bien-sûr, la nature extensible de Firefox s'applique par héritage à ses extensions. D'où la possibilité de personnaliser le BBComposer à l'infini.

Les répercussions

Dans notre quête des standards et de la sémantique nous n'avons pas réalisé le potentiel d'un outil tel que le BBComposer. En effet, un éditeur qui permet de créer du contenu de qualité en toute simplicité inclue un autre aspect non-négligeable et qui, je pense, doit prendre le dessus sur l'aspect purement respectueux des standards. L'amélioration des contenus sur Internet.

En effet, avant, lorsque je laissais un message sur un forum (ou que j'éditais mes articles en XBBCode), j'étais ce que j'appelle radin en contenu. En effet, la perspective de créer une lien, ajouter une image, un acronyme ou que sais-je encore me rendait flemmard. C'est ainsi que je me surprend aujourd'hui à mettre du gras dans mes messages de forum, ou encore, à organiser ma pensée en créant des listes (auparavant, je ne savais même pas que certains forums le permettaient).

Dans des contextes communautaires, tels que les forums, les wikis (dont j'espère qu'un jour, nous verrons disparaître l'horrible syntaxe) et autres sites à ajout d'articles ou de commentaires, quel merveilleuse perspective que de se dire que les liens vers des contenus anglais seront plus facilement renseignés avec l'attribut hreflang. Pour un maniaque tel que moi, c'est à n'en pas douter l'invention de l'année ! Et je suis sûr de ne pas être le seul dans ce cas :). Par exemple, j'ai en tête la future version du BBComposer (BBComposer 0.7), quand l'ajout d'un Smiley sera aussi simple que celui d'un lien, je pense que je prendrai la peine de l'ajouter plutôt que de l'écrire au clavier.

Du chemin à parcourir

Vous vous en doutez, ce n'est pas aujourd'hui que ce monde merveilleux va voir le jour. Du chemin à parcourir, il en reste beaucoup. Voici les trois axes que je souhaite emprunter pour ce faire :

  1. Promouvoir et améliorer le BBComposer :
    En effet, pour moi, il apparaît comme indispensable d'améliorer encore le BBComposer en le rendant plus universel afin que plus de gens l'utilisent. Mais surtout, penser à une adaptation pour Internet Explorer. J'y pense que plus en plus et cette aventure pourrait voir le jour avec l'apparition de XAML. Malheureusement, Internet Explorer ne semble par encore utiliser cette technologie. En attendant, faisons grâce à l'équipe de Firefox et plus généralement au moteur Gecko qui a permis en si peu de temps la création du BBComposer.
  2. Se débarrasser des syntaxes personnelles :
    C'est un peu stupide que chacun dans son coin invente son propre petit langage. C'est quelque chose que j'aurai pu attendre de la part de sociétés aux pratiques douteuses, mais pas de sites prônant le libre. Cela induit les utilisateurs dans un certain sectarisme plutôt qu'un communautarisme sain, entravant l'intéropérabilité des données. Fussent-elles libres, quel est leur intérêt pour moi si elles ne sont pas standard ? Construiriez-vous votre maison avec des tuiles trouées, fussent-elles gratuites ? Et pourtant, ils existent, ces standards !
  3. A plus long terme :
    Peser pour la création d'une balise <editor> ou d'une adaptation de la balise <textarea> avec l'attribut type pouvant contenir une chaîne soit du type MIME, soit du type DTD ou encore de type personnel commençant par - (ex:-bbcode:IPB) (le fonctionnement de la balise object peut, je pense nous donner des pistes). De cette façon, l'édition WYSIWYG serait gérée nativement ou via des plugins par le navigateur. Au niveau du W3C, quelque chose dans ce sens doit être fait et les développeurs doivent encourager et promouvoir cela.

J'espère en tout cas que ce petit texte vous aura permis de comprendre les raisons qui nous ont poussé à créer le BBComposer et, surtout, ce que nous voulons en faire.