La petite histoire de PHP Markdown

Ceci est une histoire que j’aurais du publier il y a quelques mois déjà… mais pour certaines raisons ce n’est pas arrivé. Mieux vaux tard que jamais.

Markdown est une syntaxe permettant d’écrire du texte naturellement de façon à ce qu’il puisse être converti facilement en HTML par un programme du même nom. Markdown permet d’interpréter des listes, des entêtes, du code, des citations, des liens hypertextes et plus afin de proprement ajouter les balises HTML nécessaires pour la publication sur le web. La grande particularité de Markdown par rapport à d’autre formats, c’est sa grande lisibilité. C’est comme lire un email.

Vers la fin du mois de mars de cette année, je me suis lancé le défi de prendre le logiciel Markdown — écrit en Perl — et d’en faire une version PHP. Quelques heures après, j’avais une version entièrement fonctionnelle de Markdown écrite entièrement en PHP. C’est à ce moment qu’est né PHP Markdown.

À ses débuts, PHP Markdown — contrairement à son homologue en Perl — n’était qu’un outil pour convertir du texte. Son utilisation consistait à faire un appel de fonction à l’intérieur d’un programme PHP.

Avec le temps, PHP Markdown c’est transformé en un «plugin», plus facile à utiliser. On le trouve maintenant dans la distribution de plusieurs logiciels de publication tel que WordPress, BBlog et AJ-Fork. PHP Markdown peut aussi être utilisée avec TextPattern, Pivot et tous les logiciels supportant déjà « l’autre syntaxe », ceci grâce au mode de compatibilité créé spécialement pour Textile. Ajoutons aussi que PHP Markdown peut aussi (depuis la version 1.0) être intégré à n’importe quel logiciel utilisant le système de modèles de page Smarty.

D’autres personnes ont adapté PHP Markdown en un plugin pour Expression Engine — logiciel de publication commercial — et un plugin pour Drupal a fait son apparition. Moodle, un logiciel spécialisé dans la réalisation de cours en ligne, utilise aussi PHP Markdown.

Durant tout ce temps, PHP Markdown et le Markdown original de John Gruber ont continués à évoluer jusqu’à la version 1.0, disponible depuis près de trois mois maintenant. Des bogues ont été corrigés et quelques éléments ont été ajoutés à la syntaxe. John a aussi gagné un prix pour son plugin lors du concours des développeurs de plugins pour MovableType.

Le nombre d’utilisateur a aussi grandi beaucoup depuis la première version de Markdown et de PHP Markdown. Mais ce n’est pas quelque chose de facile à évaluer. Faites une recherche pour PHP Markdown et vous verrez.

Une chose intéressante c’est aussi produite dans ces derniers mois : MovableType, depuis la version 3.1, contient un système de patron dynamiques implanté avec Smarty. Grâce à cela, certains sites commencent à utiliser PHP Markdown en remplacement de son original écrit en Perl.