Guide complet des diagrammes Mermaid

Apprenez à créer des diagrammes professionnels avec une syntaxe simple basée sur le texte

Publicité

Qu’est-ce que Mermaid ?

Mermaid est un outil de diagrammation et de charting basé sur JavaScript qui utilise des définitions de texte inspirées de Markdown pour créer et modifier des diagrammes dynamiquement. C’est un projet open source qui permet de générer des diagrammes à partir de descriptions textuelles simples.

Au lieu d’utiliser des outils de dessin complexes, vous écrivez une syntaxe proche du code qui décrit votre diagramme, et Mermaid le rend sous forme de diagramme visuel. Cette approche rend les diagrammes versionnables, faciles à mettre à jour et parfaits pour la documentation.

Mermaid s’intègre parfaitement aux plateformes de documentation, aux wikis et aux fichiers Markdown, ce qui en fait un outil apprécié des développeurs et des rédacteurs techniques.

Pourquoi utiliser Mermaid ?

  • Contrôle de version : les diagrammes sont des fichiers texte, ils peuvent donc être suivis dans Git avec votre code
  • Mises à jour rapides : modifiez quelques lignes de texte plutôt que de redessiner des diagrammes entiers
  • Cohérence : Mermaid gère automatiquement la mise en page et le style, garantissant des diagrammes cohérents
  • Pas d’outils de design nécessaires : inutile d’utiliser Visio, Lucidchart ou d’autres outils coûteux
  • Documentation comme du code : gardez les diagrammes dans le même dépôt que votre documentation
  • Multiplateforme : fonctionne dans les navigateurs et Node.js, et s’intègre à de nombreuses plateformes
  • Gratuit et open source : pas de coûts de licence, communauté active
  • Plusieurs types de diagrammes : prend en charge les organigrammes, diagrammes de séquence, de classes, etc.
Publicité

Types de diagrammes pris en charge

Mermaid prend en charge une grande variété de types de diagrammes pour répondre à différents besoins de documentation :

Organigramme

Visualisez des workflows, des processus et des arbres de décision avec des nœuds et des arêtes.

flowchart TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Process]
    B -->|No| D[Alternative]
    C --> E[End]
    D --> E

Cas d’usage: Flux de processus, algorithmes, logique décisionnelle

Diagramme de séquence

Montre les interactions entre différents acteurs ou systèmes au fil du temps.

sequenceDiagram
    participant User
    participant API
    participant DB
    User->>API: Request data
    API->>DB: Query
    DB-->>API: Results
    API-->>User: Response

Cas d’usage: Interactions API, communication système, parcours utilisateur

Diagramme de classes

Modélise des systèmes orientés objet avec classes, attributs et relations.

classDiagram
    class Animal {
        +String name
        +int age
        +makeSound()
    }
    class Dog {
        +bark()
    }
    Animal <|-- Dog

Cas d’usage: Architecture logicielle, conception POO, schémas de base de données

Diagramme d’états

Représente les états et transitions d’un système ou d’un processus.

stateDiagram-v2
    [*] --> Idle
    Idle --> Loading: Start
    Loading --> Success: Complete
    Loading --> Error: Fail
    Success --> [*]
    Error --> Idle: Retry

Cas d’usage: Machines à états, gestion du cycle de vie, états d’UI

Diagramme entité‑relation

Modélise les structures de base de données et les relations entre entités.

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE_ITEM : contains
    CUSTOMER {
        int id
        string name
        string email
    }

Cas d’usage: Conception de base de données, modélisation de données, architecture système

Diagramme de Gantt

Planifiez et visualisez les plannings et chronologies de projet.

gantt
    title Project Timeline
    dateFormat YYYY-MM-DD
    section Phase 1
    Design :a1, 2024-01-01, 30d
    Development :a2, after a1, 45d

Cas d’usage: Planification de projet, chronologies de sprint, roadmaps

Diagramme circulaire

Affiche des données proportionnelles et des pourcentages de façon visuelle.

pie title Distribution
    "Category A" : 42
    "Category B" : 30
    "Category C" : 28

Cas d’usage: Résultats d’enquête, parts de marché, allocation de ressources

Graphe Git

Visualisez les stratégies de branchement Git et l’historique des commits.

gitGraph
    commit
    branch develop
    checkout develop
    commit
    checkout main
    merge develop

Cas d’usage: Documentation des workflows Git, stratégies de branchement

Publicité

Bien démarrer avec Mermaid

1

Choisir votre type de diagramme

Commencez par décider quel type de diagramme représente le mieux ce que vous voulez montrer. Chaque type commence par un mot-clé spécifique comme 'flowchart', 'sequenceDiagram' ou 'classDiagram'.

2

Écrire la syntaxe textuelle

Utilisez la syntaxe simple de Mermaid pour décrire votre diagramme. La syntaxe est intuitive et se lit presque comme du langage naturel. Par exemple, 'A --> B' crée une flèche de A vers B.

3

Prévisualiser votre diagramme

Utilisez notre visualiseur en ligne ou tout outil compatible Mermaid pour voir votre diagramme rendu en temps réel. Ajustez-le jusqu’à satisfaction.

4

Exporter et partager

Exportez votre diagramme en SVG ou PNG pour des présentations, ou partagez une URL avec votre équipe. Vous pouvez aussi intégrer Mermaid directement dans des fichiers Markdown.

Bonnes pratiques

  • Gardez les diagrammes centrés sur un seul concept ou workflow
  • Utilisez des libellés significatifs qui décrivent la logique métier réelle
  • Décomposez les diagrammes complexes en diagrammes plus petits et interconnectés
  • Ajoutez des commentaires avec %% pour expliquer les sections complexes
  • Utilisez des conventions de nommage cohérentes dans vos diagrammes
  • Testez vos diagrammes dans l’environnement cible avant de les finaliser
  • Ajoutez des indications de direction (TD, LR) pour contrôler la mise en page si nécessaire
  • Utilisez des sous-graphes pour regrouper les nœuds liés dans les organigrammes
  • Utilisez les options de style avec parcimonie pour préserver la lisibilité
  • Versionnez les fichiers source de vos diagrammes avec votre code

Cas d’usage courants

Documentation logicielle

Documentez l’architecture système, les flux API et les interactions de composants avec votre code.

Planification de projet

Créez des diagrammes de Gantt pour la planification de sprint, les chronologies de projet et l’allocation de ressources.

Propositions techniques

Visualisez des solutions proposées, des conceptions de systèmes et des décisions d’architecture.

Parcours utilisateur

Cartographiez les flux utilisateur, les expériences client et les schémas d’interaction.

Conception de base de données

Modélisez les relations entre entités, les structures de schéma et les dépendances de données.

Documentation des processus

Documentez les processus métier, les workflows et les procédures opérationnelles standard.

Supports pédagogiques

Créez des diagrammes clairs et versionnés pour des tutoriels et des cours techniques.

Documentation API

Illustrez les flux requête/réponse, les séquences d’authentification et les interactions d’endpoints.

Ressources supplémentaires

Questions fréquentes

Questions fréquentes sur l'utilisation de Mermaid Viewer et la création de diagrammes

Cet éditeur Mermaid est-il vraiment gratuit ?
Oui, entièrement gratuit. Vous pouvez créer un nombre illimité de diagrammes, exporter en SVG/PNG, partager par URL et utiliser toutes les fonctionnalités sans inscription ni paiement. L’outil est financé par une publicité discrète.
Dois-je installer quelque chose ?
Aucune installation n’est nécessaire. L’outil fonctionne entièrement dans votre navigateur. Ouvrez simplement le site et commencez immédiatement, sur ordinateur, tablette ou mobile.
Comment enregistrer mes diagrammes ?
Vous pouvez sauvegarder de plusieurs façons : 1) exporter en SVG ou PNG, 2) partager via URL (le code est encodé dans l’URL), 3) copier le code Mermaid dans vos fichiers, 4) importer/exporter des fichiers .mmd ou .mermaid.
Puis-je utiliser les diagrammes dans ma documentation ?
Oui, absolument. Exportez en SVG (vectoriel) ou PNG et utilisez vos diagrammes dans de la documentation, des présentations ou des sites web. Vous pouvez aussi intégrer le code Mermaid sur GitHub, GitLab ou Notion.
Quelle différence entre SVG et PNG ?
Le SVG est vectoriel, reste net à toute taille et convient parfaitement au web et à la documentation. Le PNG est matriciel, pratique pour un partage rapide, mais perd en qualité lors du redimensionnement.
Pourquoi mon diagramme ne se rend pas ?
Vérifiez les erreurs de syntaxe dans votre code Mermaid. Les problèmes fréquents : guillemets non fermés, deux-points/points-virgules manquants, identifiants de nœuds incorrects ou syntaxe non prise en charge. Simplifiez le diagramme pour isoler l’erreur.
Puis-je collaborer avec d’autres personnes ?
La collaboration en temps réel n’est pas intégrée, mais vous pouvez partager vos diagrammes par URL. Les autres peuvent ouvrir, modifier puis repartager leur version. Le format texte de Mermaid fonctionne aussi très bien avec Git.
Le viewer fonctionne-t-il hors ligne ?
Le premier chargement nécessite Internet. Ensuite, les fonctions d’édition de base fonctionnent souvent hors ligne. Certaines fonctions, comme l’export, peuvent toutefois nécessiter une connexion.
Comment apprendre la syntaxe Mermaid ?
Commencez par notre guide Mermaid complet avec des exemples pour chaque type de diagramme. Utilisez les modèles pour démarrer vite, puis la documentation officielle sur mermaid.js.org.
Puis-je personnaliser l’apparence ?
Oui. Les diagrammes suivent le thème du site : passez du clair au sombre avec le bouton Thème de la barre supérieure et le diagramme est rendu à nouveau avec le thème Mermaid correspondant. Pour une personnalisation avancée, utilisez la directive %%{init:...}%% pour définir les couleurs, les polices et d'autres propriétés visuelles.
Quels types de diagrammes sont pris en charge ?
L’éditeur prend en charge les principaux types Mermaid : flowcharts, diagrammes de séquence, de classes, d’états, ER, Gantt, camemberts, graphes Git, user journeys, etc.
Mes données de diagramme sont-elles privées ?
Le code de votre diagramme n’est pas envoyé à nos serveurs. Le rendu se fait côté navigateur. En partage URL, le code est encodé dans l’URL ; nous ne stockons ni ne suivons votre contenu.
Pourquoi préférer des diagrammes textuels ?
Les diagrammes textuels offrent plusieurs avantages : versionnage (idéal avec Git), mises à jour rapides, style cohérent, recherche facile, format léger et génération automatisable. Ils sont aussi plus simples à relire en pull request.
Puis-je intégrer Mermaid sur mon site web ?
Oui. Ajoutez la bibliothèque JavaScript Mermaid à votre site puis des blocs de code Mermaid. De nombreuses plateformes le prennent déjà en charge nativement, dont GitHub, GitLab, Notion et Obsidian.
Quelle taille maximale de diagramme est recommandée ?
Il n’y a pas de limite stricte, mais les très grands diagrammes (plus de ~100 nœuds) peuvent être lents selon l’appareil. Pour des systèmes complexes, mieux vaut découper en plusieurs diagrammes plus petits.

Prêt à créer votre premier diagramme ?

Essayez notre visualiseur Mermaid en ligne gratuit et commencez à créer des diagrammes professionnels en quelques minutes.

Ouvrir le visualiseur Mermaid