Je pense que depuis que les hommes peuvent taper du texte sur des ordinateurs, ils ont cherché la manière la plus simple pour mettre ce texte en page, lui appliquer du style et lui donner du sens. De manière générale, cela a conduit à deux grandes approches : celles qui reposent sur des éditeurs de texte qui affichent le résultat final en cours d’édition (les éditeurs WYSIWYG) et celles qui reposent sur les langages de balisage léger.
Je vais m’intéresser à ce deuxième groupe. Pas la peine que je vous fasse un cours. De nos jours, tout le monde a utilisé au moins une fois dans sa vie la syntaxe BBCode (sur n’importe quel forum PHPBB, par exemple) ou une syntaxe de style MediaWiki (sur Wikipedia ou un autre système de wiki).
Avec le temps, on a vu arriver un très grand nombre de langages de ce type. En plus des deux sus-nommés, j’ai en tête ReStructuredText (utilisé dans la documentation Python), AsciiDoc, Textile (utilisé dans les outils de 37signals, par exemple), Markdown (utilisé notoirement par GitHub et StackOverflow), POD (documentation Perl), ou encore Creole.
Je ne compte pas des formats comme Groff, Texinfo, LaTeX ou SGML comme des langages de balisages légers. Il suffit d’essayer une fois de faire un vrai document avec l’un de ces systèmes pour se rendre compte qu’il existe plus simple et moderne (mais moins performant − LaTeX est un vrai système de composition de page, particulièrement complet).
Je vais maintenant m’intéresser à deux de ces syntaxes : Markdown et Creole.
Markdown est rapidement devenu le langage de balisage léger le plus hype sur le web. Je n’ai pas vraiment compris pourquoi. Qu’on ne me dise pas que c’est grâce à ses qualités intrinsèques, chacun des langages existant possède des avantages et des inconvénients. Qu’on ne me dise pas que c’est grâce à sa documentation, qui n’est sincèrement pas terrible.
À côté de ça, la genèse de Creole est assez intéressante. Lors du symposium international des wikis en 2006 − et dans le cadre du Wiki Markup Standard Workshop − les créateurs des principales plate-formes de wiki se sont mis autour d’une table pour essayer d’accorder leurs violons au travers d’une syntaxe commune.
Personnellement, j’apprécie beaucoup la syntaxe de Creole. Elle emprunte un très grand nombre d’éléments communs à la plupart des autres langages équivalents. Et pour le reste, elle fait usage de double-symboles qui évitent toute ambiguïté.
Pour illustrer tout ça, je vais comparer les syntaxes de Markdown et de Creole.
