JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

A la rencontre du Markdown

markdown

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 encore pour partager des morceaux de code dans des discussions avec la coloration des termes propres au langage cité. Vous me direz que si c’est réservé aux programmeurs et aux geeks, quelle influence ce langage a-t-il dans nos vies… Et bien sachez qu’il est intégré toutes proportions gardées dans des messageries tout public comme WhatsApp, Discord ou plus professionnelles comme Slack.

Premiers pas en Markdown

Voyons ensemble les principes de bases de ce langage :

  • 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.
Markdown

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?

Notions 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, …

Markdown

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.

De par sa simplicité, on se soucie moins de l’apparence de la mise en forme (police de texte, taille des caractères) car il n’y a qu’une seule police de texte et une seule taille (sauf pour les titres). Ajouter des titres et des sous-titres est réalisable avec le # (en ajouter autant que vous voulez pour descendre dans l’arborescence de vos titres).

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, je l’ai utilisé pour les captures d’écrans ci-dessus. Sur ce dernier vous avez en miroir le code Markdown et la restitution textuelle, plus agréable pour s’entraîner ou se relire.

C’est en accordant un soin particulier à son notebook qu’on le rendra plus partageable et plus compréhensible par tous.

Évolutions et variantes du 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.

Depuis un fichier MMD, tout type d’export est possible

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.

Facebook
Twitter
LinkedIn

Tag de l'article :

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone

S'inscrire à la JPO :

Vous souhaitez recevoir notre newsletter data 💌 hebdomadaire ?