Parlez-vous le Markdown ? Il ne s’agit pas ici d’une langue étrangère mais bien d’un langage de programmation familier des Data Scientists et des Data Analyst. Il ne vous dit peut-être rien mais vous le connaissez sans même le savoir, allons-donc à sa rencontre….
Le Markdown est utilisé au quotidien par les praticiens de l’informatique pour écrire du texte dans les notebooks en le mettant en forme proprement ou pour partager des morceaux de code dans des discussions avec la coloration des termes propres au langage cité. Malgré un aspect très spécifique, ce langage est largement intégré dans des messageries tout public comme WhatsApp, Discord ou plus professionnelles comme Slack.
Markdown, qu'est-ce que c'est ?
Avant de se lancer dans la maîtrise de Markdown, d’où vient ce langage de programmation ?
Ce langage apparaît en 2004, créé par John Gruber et Aaron Swartz, il a pour objectif initial d’offrir une syntaxe simple à lire et à écrire. S’inspirant du format courrier électronique en mode texte, Markdown peut aujourd’hui être converti en format HTML, PDF, etc.
Depuis sa création, Markdown n’a pas connu de véritables changements ou améliorations de la parts de ses auteurs. C’est pourquoi de nombreuses variantes à Markdown ont été développés ces dernières années pour pallier aux limitations du langage originel. Dans ces variantes on retrouve notamment GitHub Flavored Markdown ou MultiiMarkdown.
Des extensions furent aussi inventées pour s’installer sur de nombreux logiciels, « Markdown Here » permet d’utiliser le langage pour Firefox et Chrome.
Pourquoi utiliser Markdown ?
Au vu du peu de changements opérés sur le langage au travers des années, on pourrait se demander : pourquoi l’utiliser ?
Pourtant, ce langage de balisage léger est utilisé dans de nombreuses applications comme des éditeurs ou plateformes de codes, des logiciels d’écriture ou des chaînes d’édition. Il est largement utilisé par des plateformes d’écritures collaboratives, ce qui explique sa popularité. De plus, sa simplicité d’exécution et de compréhension en font un langage de premiers choix pour les néophytes.
Comment utiliser Markdown ?
Pour vous prouver à quel point Markdown est simple d’utilisation, voyons ensemble les principes de bases de ce langage :
- Pour mettre un texte en format # Titre, il suffit d’ajouter un (#) avant le texte ou de sauter un ligne et de tracer une ligne de signe (=).
- Pour créer un ## Sous-Titre, il faut cette fois ajouter deux (#) avant le texte ou alors tracer une ligne de (-).
- Pour écrire en **gras**, il faut simplement encadrer le mot ou la phrase concerné entre deux astérisques (**).
- Pour écrire en *italique*, il suffit cette fois-ci d’encadrer la partie de texte par un seul astérisque (*). Il est aussi possible de réaliser la même chose avec l’underscore (_). Vous avez le choix pour cette mise en forme.
- ~~Barrer~~ du texte devient de plus en plus facile en encadrant celui-ci par deux tildes (~~).
- Il est rare d’ajouter un bloc de citation dans un notebook mais ça peut permettre de décaler un peu le texte et mettre une notion ou une explication en valeur. Pour le bloc de texte, commencez votre paragraphe avec un chevron (>). Il est possible d’imbriquer les blocs de citation les uns dans les autres en ajoutant des chevrons supplémentaires.
- Créer une liste comme celle du dessus est possible à l’aide d’un tiret (-) ou une astérisque (*) en début de chaque phrase. Mais qu’en est il de la mise en forme concernant le code?
- Si vous souhaitez créer une liste à cocher, marquez devant vos (-) les signes [ ] ou [x].
Quelles sont les notions plus avancées ?
- Pour signaler la présence de code (1-2 mots, une ligne maximum) il faut l’encadrer par un accent grave (ˋmon code est ici`). J’en conviens c’est pas le signe de ponctuation le plus accessible sur le clavier mais il fallait bien quelque chose.
- Pour du code un peu plus long et fourni qu’un simple ˋprint(’Hello World !’)`, il faut alors tripler les accents graves avant et après votre morceau de code en indiquant après les 3 premiers le langage cité (python, HTML, Java, …) et le texte se coloriera par magie.
- Le Markdown peut réaliser encore plus de choses comme créer un tableau (le dessiner avec des barres verticales | ), ajouter des liens hypertextes, des notes de bas de page, …
- Il est aussi possible de combiner avec le HTML pour une créativité infinie ; les mathématiciens ne sont pas laissés sur le carreau car il est possible d’y intégrer de formules en LaTeX.
- Pour insérer un [lien] dans votre texte vous devrez l’encadrer de [ ] et utiliser un lien url (http://exemple.fr).
- Si vous souhaiter intégrer une image, réutilisez les [ ] en intégrant le nom de l’image et son format d’affichage (Icone-image.jpeg « icon »).
Où écrire en Markdown?
Pour finir je vais évoquer les éditeurs Markdown. L’éditeur de choix pour le Markdown est le notebook, comme déjà expliqué, il permet de faire le lien entre les cellules de code autour, expliquer un résultat, afficher une certaine progression dans le notebook, le rendre compréhensible à tout utilisateur. Mais il existe aussi des applications qui permettent de prendre des notes en Markdown comme Bear, Typora, iWriter. On trouve aussi des éditeurs directement sur son navigateur comme StackEdit.
C’est en accordant un soin particulier à son notebook qu’on le rendra plus partageable et plus compréhensible par tous.
Quelles sont les limites de Markdown ?
Bien que très utile, le langage Markdown ne peut se substituer complètement à un traitement de texte. Ce langage présente quelques limitations en termes de fonctionnalités par exemple: avoir un suivi des modifications dans le cas de relectures par plusieurs personnes, pouvoir annoter son fichier avec des notes de bas de page, réaliser une pagination et surtout pouvoir exporter sa création à un format lisible par tous.
Pour pallier ces manquements techniques d’autres solutions à base de Markdown existent. Le MultiMarkdown (MMD), développé par Fletcher Penney, est une évolution du Markdown: à partir d’un fichier texte (.txt), écrit en Markdown légèrement évolué en terme de syntaxe d’obtenir un rendu dans le format qu’on souhaite (PDF, doc, docx, odt, …). La vocation première du MMD est l’export mais il apporte aussi les fonctionnalités énoncées ci-dessus.
Pour finir, on s’écarte un petit peu du Markdown pour évoquer le suivi des modifications d’un document .txt: qu’il soit écrit en Markdown, en MMD ou en HTML, il est important d’avoir la trace des modifications réalisées sans avoir à ouvrir toutes les versions. C’est ce que réalise CriticMarkup: langage permettant de noter un ajout, une suppression, un commentaire, mettre en évidence une phrase entre autres choses dans un fichier texte (.txt).
CriticMarkup a la particularité d’être lisible et compréhensible par un humain et de ne pas nécessiter de logiciel particulier (si ce n’est le bloc-notes) pour ouvrir le fichier. Je vous renvoie sur la page du projet GitHub pour plus d’informations sur la syntaxe, qui comme pour le Markdown, est assez intuitive.
Un dernier mot...
Tout au long de cet article, vous avez pu vous commencer à vous familiariser avec le Markdown et avoir un petit éventail des solutions logicielles pour utiliser ce langage, du plus simple bloc-notes aux éditeurs spécialisés. Puis par la suite, vous avez pu découvrir des évolutions du Markdown qui offrent plus de possibilités en termes d’édition et d’export ; ces évolutions contribuent à promouvoir le logiciel libre: la plupart des moyens évoqués ne nécessitent qu’un éditeur de texte.