1. Accueil
  2. Blog
  3. Tutoriel

Diagrammes Mermaid en Markdown : organigrammes, séquences et plus

Dessinez organigrammes, diagrammes de séquence, de Gantt, d’états et camemberts en Markdown avec Mermaid. Exemples prêts à copier et conseils de lisibilité.

Les diagrammes expliquent les processus, les architectures et les plannings mieux que des paragraphes de texte. Mais les dessiner dans un logiciel graphique implique d’exporter des images, de les stocker à côté de la doc et de tout redessiner au moindre changement.

Mermaid règle ce problème : vous décrivez le diagramme en quelques lignes de texte dans votre fichier Markdown, et l’outil d’aperçu le dessine. Le diagramme vit dans le même fichier, apparaît dans les diffs et se met à jour aussi facilement qu’une phrase. GitHub, GitLab, Obsidian, de nombreux générateurs de documentation et Markdown Preview Editor affichent Mermaid nativement.

Comment ajouter un diagramme Mermaid

Créez un bloc de code délimité et indiquez mermaid comme langage :

markdown```mermaid
flowchart LR
  A[Écrire] --> B[Aperçu]
  B --> C{Prêt ?}
  C -- oui --> D[Exporter]
  C -- non --> A
```

L’outil d’aperçu le transforme en :

Écrire Aperçu Prêt ? Exporter oui non

La première ligne indique le type de diagramme. Tout ce qui suit décrit les nœuds et les liaisons.

Organigrammes

Les organigrammes (flowcharts) sont le type de diagramme le plus utilisé. La direction suit le mot-clé : TD ou TB (de haut en bas), BT, LR (de gauche à droite) ou RL.

mermaidflowchart TD
  start([Début]) --> input[/Lire le fichier/]
  input --> valid{Est-il valide ?}
  valid -- Oui --> save[(Enregistrer en base)]
  valid -- Non --> error[Afficher une erreur]
  error --> input

Les délimiteurs autour d’un libellé définissent la forme du nœud :

Syntaxe Forme
A[Text] Rectangle
A(Text) Rectangle arrondi
A([Text]) Stade (pilule)
A{Text} Losange, pour les décisions
A[(Text)] Cylindre de base de données
A((Text)) Cercle
A[/Text/] Parallélogramme, pour les entrées/sorties
A{{Text}} Hexagone

Liaisons : --> est une flèche, --- une ligne sans flèche, -.-> une flèche en pointillés et ==> une flèche épaisse. Ajoutez un libellé avec -- text --> ou -->|text|.

Regroupez les nœuds liés avec subgraph :

mermaidflowchart LR
  subgraph Navigateur
    editor[Éditeur] --> preview[Aperçu]
  end
  preview --> export[HTML / PDF]

Diagrammes de séquence

Les diagrammes de séquence montrent comment des participants échangent des messages au fil du temps — idéal pour les API, les flux d’authentification et les parcours utilisateur.

mermaidsequenceDiagram
  participant U as Utilisateur
  participant A as Application
  participant S as Serveur
  U->>A: Clic sur « Se connecter »
  A->>S: POST /login
  S-->>A: 200 OK + jeton
  A-->>U: Affiche le tableau de bord
  Note over A,S: Le jeton expire au bout d’une heure

->> est une flèche pleine (une requête), -->> une flèche en tirets (une réponse). Note over, Note left of et Note right of ajoutent des commentaires. Utilisez les blocs loop, alt/else et opt pour représenter répétitions et embranchements.

Diagrammes de Gantt

Un diagramme de Gantt transforme une liste de tâches en planning. Une tâche peut commencer à une date donnée ou after (après) une autre tâche.

mermaidgantt
  title Sprint de documentation
  dateFormat YYYY-MM-DD
  section Rédaction
  Plan              :done,   a1, 2026-10-01, 2d
  Premier jet       :active, a2, after a1, 4d
  section Relecture
  Relecture croisée :        a3, after a2, 3d
  Publication       :milestone, after a3, 0d

Diagrammes d’états

Les diagrammes d’états décrivent comment un élément passe d’un état à un autre — une commande, un document, un composant d’interface.

mermaidstateDiagram-v2
  [*] --> Brouillon
  Brouillon --> Relecture : soumettre
  Relecture --> Brouillon : modifications demandées
  Relecture --> Publication : approuver
  Publication --> [*]

Camemberts

Pour visualiser rapidement une répartition, un camembert (pie chart) prend une ligne par part :

mermaidpie title Où passe le temps consacré à la documentation
  "Rédaction" : 45
  "Mise en forme" : 15
  "Mise à jour des diagrammes" : 40

Mermaid prend aussi en charge les diagrammes de classes, les diagrammes entité-association, les cartes mentales, les frises chronologiques, les graphes Git, les matrices à quadrants et plus encore. La syntaxe de chacun est documentée sur le site officiel de Mermaid.

Conseils pour des diagrammes lisibles

  • Restez concis. Au-delà de 15 à 20 nœuds, un diagramme devient difficile à lire. Découpez-le en plusieurs diagrammes, un par idée.
  • Choisissez la direction à dessein. LR convient aux processus de quelques étapes ; TD aux hiérarchies et aux longs flux, surtout sur écran étroit.
  • Utilisez des identifiants courts et des libellés lisibles. Écrivez auth[Check the session] plutôt que d’utiliser le libellé comme identifiant : les liaisons restent courtes.
  • Mettez entre guillemets les libellés contenant des caractères spéciaux : A["Price: $5 (incl. tax)"].
  • Ajoutez des commentaires avec %% en début de ligne. Ils sont ignorés au rendu.
  • Prévisualisez pendant la frappe. Une flèche ou un crochet manquant casse tout le diagramme : un aperçu en direct évite bien des tâtonnements. Dans Markdown Preview Editor, le diagramme est redessiné à chaque modification, et le bouton Diagramme Mermaid de la barre Éditeur avancé insère un modèle de départ.

Partager des documents avec des diagrammes

Lorsque vous exportez un document en HTML ou en PDF, les diagrammes sont inclus sous forme d’images : le lecteur n’a pas besoin d’installer Mermaid. Pour ajouter des formules à côté de vos diagrammes, consultez comment écrire des formules en Markdown, et pour tout le reste — tableaux, listes de tâches, encadrés — gardez l’aide-mémoire Markdown sous la main.

Questions fréquentes

GitHub prend-il en charge les diagrammes Mermaid ?

Oui. GitHub affiche les blocs de code Mermaid dans les fichiers Markdown, les issues, les pull requests et les wikis. GitLab, Azure DevOps, Obsidian et de nombreux générateurs de documentation les prennent aussi en charge.

Pourquoi mon diagramme Mermaid ne s’affiche-t-il pas ?

Le plus souvent à cause d’une erreur de syntaxe : une flèche manquante, un crochet non fermé ou un caractère spécial dans un libellé non entouré de guillemets. Vérifiez aussi la première ligne : elle doit indiquer un type de diagramme valide, comme flowchart TD ou sequenceDiagram.

Peut-on changer les couleurs d’un diagramme Mermaid ?

Mermaid prend en charge des thèmes ainsi que les instructions classDef/style pour les nœuds individuels. La prise en charge des styles personnalisés dépend de la plateforme, et certains outils d’aperçu la limitent par souci de cohérence ou de sécurité : faites en sorte que vos diagrammes restent lisibles avec le thème par défaut.

Peut-on exporter un diagramme Mermaid en image ?

Markdown Preview Editor intègre les diagrammes sous forme d’images lors de l’export du document en HTML, et ils sont inclus lors de l’impression en PDF. Pour obtenir un PNG ou un SVG isolé, le Mermaid Live Editor officiel et la CLI Mermaid permettent d’exporter des diagrammes individuels.