Le blog de Genma
Vous êtes ici : Accueil » Informatique & Internet » Le Markdown comme langage d’écriture universel ?

Le Markdown comme langage d’écriture universel ?

D 9 juillet 2018     H 09:00     A Genma     C 8 messages   Logo Tipee

TAGS : Planet Libre

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.

8 Messages

  • Bonjour Genma,

    Sans dire que l’outil est parfait, j’ai utilisé Marp pour faire des présentation en markdown. Il est complètement dans la philosophie markdown : un fichier très lisible, outil très facile à prendre en main (2 colonnes, à gauche l’éditeur, à droite la prévisualisation), la séparation des diapos via une ligne (-----) donc c’est standard juste une réutilisation d’un élément déjà existant.

    Je sais qu’il existe d’autres outils, mais j’ai déjà proposé l’outil à des collègues et ils sont assez fans !

    Bonne journée ! :)


  • Hello,

    Depuis quelques mois, je me suis converti à Markdown, non pour la programmation mais parce que j’écris de la prose (nouvelles, contenu de site perso, etc.) et aussi un peu de production au boulot.
    C’est un langage puissant malgré sa simplicité et qui permet de ne pas se prendre la tête sur la mise en forme.
    J’ai converti tous mes textes et j’ai gagné en efficacité et en espace disque ! Et le Markdown s’écrit n’importe où, même dans un éditeur de texte simple (qui a dit le Bloc-Note :-) ?). Il est en outre répandu et de nombreux outils permettent son usage. Pour ma part, sous Solus, j’utilise ReText, il y a aussi Ghostwriter pour les auteurs. Et côté site, je suis passé Yellow, un CMS statique où tout est géré via des fichiers en Markdown. Le pied !


  • L’une des principales raisons pour lesquelles je ne me fais pas à Markdown et ses semblables est justement que je les trouve indéchiffrables comparées à du HTML, où les balises ont un sens au premier coup d’oeil. Des principes comme un, deux ou trois astérisques ou guillemets simples ou crochets pour le gras et/ou l’italique et/ou le soulignement sont totalement arbitraires et varient d’une syntaxe à l’autre, ce qui m’exaspère chaque fois quand on nous répète que ces syntaxes sont faites pour être simples. Quand j’ai eu appris que le HTML ou le BBCode utilisaient des balises i, b et u, avec leurs caractères de balise respectifs, je n’ai jamais eu besoin de retourner vérifier par la suite.

    La seconde raison étant bien sûr qu’en simplifiant on perd toujours en fonctionnalités.


  • Pour les présentations, Reveal.js (https://revealjs.com) permet de séparer complètement le contenu en markdown de la partie rendu pour créer des présentations en ligne du plus bel effet.

    Il est ensuite possible de convertir ces présentations en pdf à l’aide d’un outil comme Decktape (https://github.com/astefanutti/decktape).


  • Bonjour Genma,

    C’est vrai que le mardown est vraiment pratique, léger et facile à prendre en main. Pour les présentations je me contente de pandoc vers un document beamer, c’est plutôt efficace, il faut avoir un modèle du squelette pour aller vite ensuite, mais c’est vraiment pratique. Ça marche aussi pour reveal.js d’ailleurs.
    À plus
    François


  • Diapo : https://revealjs.com/#/6
    Wiki (il faut arrêter le PHP quand on peut faire du full static les gens) : https://www.mkdocs.org/
    Avec du thème propre bien sûr : https://github.com/squidfunk/mkdocs-material


  • Bonjour,

    On attend avec impatience l’article sur la template permettant la conversion vers .odt propre. Personnellement, je rédige tout en markdown depuis 6-7 ans pour avoir du format texte perenne. Mais plus précisément, je rédige en rmarkdown qui permet d’enrichir avec du code LaTeX pour les choses plus complexes et d’autres choses bien plus compliqué (stats, math, graphics, etc).

     Le langage : https://bookdown.org/yihui/rmarkdown/
     L’éditeur, même si on utilise ce qu’on veut : https://www.rstudio.com/


  • Bonjour

    Je suis passé à markdown depuis deux ans et comme toi je tente d’en faire mon langage unique.

    Développeur php, j’ai écris (et continue à le faire) un logiciel web OpenSource : [Marknotes](https://github.com/cavo789/marknotes) qui permet biens sûr de tout faire en markdown mais qui permet de convertir, d’emblée dans différents formats comme html, docx, odt, epub, txt, ... mais aussi, bien sûr, Revealjs et Remark pour la partie présentation.

    Pour les mails, en fait, j’écris un document dans marknotes pour l’afficher au format HTML et hop, copier/coller du rendu HTML dans mon mail. Pourquoi ? Parce que mon objectif est de centraliser toutes mes notes (et donc mes emails) à un seul endroit et d’en faire une base de données de connaissance. Retrouver une info ? Etait-ce un mail ? Un document Office ? Une présentation ? ... ==> je me rends dans mon interface unique et hop, si je l’avais écrite, c’est là.

    L’outil me permet aussi de générer des documents techniques qui peuvent faire plusieurs centaines de pages avec des notions comme des inclusions de fichiers, etc.

    Bref, vive markdown !