Le Markdown comme langage d'écriture universel ?
Introduction
Il y a quelques années, quand j'avais un peu de temps et que je contribuais modestement à Wikipédia pour quelques pages, j'avais envisagé de passer du temps à apprendre la syntaxe wiki, chose que je n'ai fau final pas vraiment faîte, au-delà des quelques éléments de bases : gras, italique, lien hypertexte, liste à puces... Avec mon autohébergement et la mise en place de mon propre wiki pour concerntrer et tracer un certain nombres d'informations utiles (principe d'un wiki), j'ai un peu dérouillé ma syntaxe wiki mais sans plus.
En ayant commencé à utiliser Gitlab (voir à ce sujet Lifehacking - Gitlab, outil idéal ?) pour la gestion des projets, dont les wikis lié aux services que je gère, j'ai commencé à passer plus de temps à faire du markdown (le langage d'écriture par défaut dans Gitlab), que j'avais déjà expérimenté au travers quelques fichiers Read.me publié sur des projets Git.
Devant le côté assez simple de Markdown, le fait qu'il puisse être utilisé pour mon outil de Wiki (Dokuwiki) via un plugin, je me suis posé de l'usage de Markdown comme langage universel : est-ce utile de passer prendre un peu de temps pour l'apprendre ? Telle est la question que je me suis posée et la réponse est tient en un mot : OUI. Ci-dessous le pourquoi et l'intérêt...
Le Markdown ?
Si je cite la définition de base du Markdown Markdown est un langage de balisage léger créé par John Gruber en 2004. Son but est d'offrir une syntaxe facile à lire et à écrire. Un document balisé par Markdown peut être lu en l'état sans donner l'impression d'avoir été balisé ou formaté par des instructions particulières. Un document balisé par Markdown peut être converti en HTML ou en autres formats.
On retrouve deux des caractéristiques que j'apprécie particulièrement : léger et facile, convertissable.
Quel éditeur ?
Il existe différentes éditeurs qui supportent Markdown, dans le cadre de l'industrialisation de nos projets au sein de mes équipes et pour avoir une cohésion des outils (un même outil utilisé par tous permet de pouvoir s'aider facilement les uns les autres), nous avons retenu Atom avec l'extension Markdown comme éditeur de fichier. Atom permet d'avoir un aperçu de son document au moment de la saisie, on retrouve ce bon vieux WYSIWYG (What You See Is What You Get) que je connais depuis mes débuts à faire des pages HTML il y a un peu plus de 15 ans de ça... Associé à un plugin Git pour commiter les fichiers de wiki que l'on édite, c'est un outil pratique et qui convient à nos besoins.
Un autre besoin
Nous faisons beaucoup de rédaction de livrable, nous avons un certain nombre de documents à régulièrement rédiger pour les clients. Nous avons des templates définies avec des styles dans LibreOffice, ce qui est une bonne chose. Mais comment passer à la version supérieure de l'industrialisation ? En éditant la documentation sous forme de fichiers Mardown dans un dossier du projet dans notre instance Gitlab (qui nous sert aussi pour sa partie Kanban, suivi des fichiers de configuration...). On peut ainsi facilement travailler si besoin à plusieurs sur un projet, reprendre le projet, corriger la documentation (nous avons toute la puissance de Git pour la gestion des conflits, la décentralisation...) ce qui est, plus pratique que le suivi des modifications d'un seul et même document LibreOffice édité, à plusieurs, à tour de rôle.
Il faut ensuite le convertir de la source Markdown vers un format LibreOffice. Il existe Pandoc, comme couteau suisse de la conversion, qui permet de prendre différentes sources dans différents formats pour les formater convertir dans différents formats de sortie : Latex vers HTML ou Opendocument (format LibreOffice) par exemple, pour ne citer que deux parmi des dizaines de format. Pour tout savoir, voir le site de Pandoc. Pandoc accepte parmi tous ses formats d'entrée le format Markdown, mais le fichier LibreOffice sortit est un fichier de base.
GreenMan, pour ne pas le citer et avec qui je travaille, a pris sur lui le défi de construire une moulinette en shell bash, pour permettre une transformation d'une documentation écrite en Markdown vers un document formaté sur base de template de l'entreprise et ça marche. Il reste quelques ajustements à faire, nous devons relire et corriger / ajuster la mise en forme du document final pour quelques coquilles, mais le plus gros du travail est fait. Nous avons bien un outil qui nous permet de passer dur Markdown vers LibreOffice, selon un template de document prédéfini. Sur ce sujet, je reviendrai plus tard avec un article dédié co-rédigé avec GreenMan.
Mais c'est outil, sa simplicité d'usage (pour un administrateur système de base qui s'est lancé une commande shell) renforce cette idée d'appropriation du Markdown.
Markdown pour les mails ?
Ayant écrit un compte-rendu dans Gitlab et donc en syntaxe Markdown, j'ai fait un copier coller dans le corps du mail et j'ai eu à remettre en forme... Perte de temps... J'ai donc cherché rapidement et effectivement il existe une extension pour Thunderbird pour la prise en charge du Markdown. Et il existe bien une Extension pour Thunderbird qui correspond à mon besoin : Markdown Here.
Écrivez votre courriel avec Markdown, puis rendez-le attrayant.Markdown Here permet d'écrire un courriel avec Markdown et de le convertir (afin qu'il soit attrayant !) avant de l'envoyer. C'est parfait pour tous ceux qui n'aiment pas travailler avec des boutons de formatage pendant qu'ils écrivent un courriel. C'est particulièrement utile pour les programmeurs qui écrivent des courriels qui incluent du code — la coloration syntaxique est également supportée. Et pour les mathématiciens parmi nous : Markdown Here convertira tout aussi bien les formules TeX.
http://markdown-here.com (en anglais)
https://github.com/adam-p/markdown-here (en anglais)
Conclusion
Vu que je m'investis de plus en plus dans l'apprentissage du Markdown, il faudra également que je regarde quel outil permettrait de faire des supports de conférence en se basant sur ce langage d'écriture (Je sais que ça existe, il faudra que je vois), ce qui permettrait encore de renforcer l'intérêt et l'investissement sur ce langage.