Passer au contenu principal

Aide-mémoire des organigrammes Mermaid

Les organigrammes relient actions et décisions. Utilisez des sous-graphes pour les responsabilités ou une séquence si les messages entre systèmes sont au premier plan.

Créer avec l’outil Éditeur d’organigrammes Mermaid →

Démarrage rapide

Gardez des ids stables et des libellés entre guillemets ; les liens utilisent les ids.

flowchart LR
  D["Brouillon du guide"] --> R{"Approuvé ?"}
  R -->|Oui| P["Publier le guide"]
  R -->|Non| D

Chargement…

Référence de syntaxe

Référence de syntaxe
SyntaxeSignification
flowchart / graph / LR / RL / TB / TD / BTDéclare le diagramme et la direction ; TD équivaut à TB.
A[Text] / A(Text) / A([Text]) / A[[Text]] / A[(Text)]Notation classique : rectangle, rectangle arrondi, stade, sous-routine et cylindre.
A((Text)) / A{Text} / A{{Text}} / A>Text] / A(((Text)))Cercle, losange, hexagone, forme asymétrique et cercle double.
A[/Text/] / A[\Text\] / A[/Text\] / A[\Text/]Parallélogrammes et trapèzes dans les deux orientations.
A@{ shape: rect, label: "Text" }Choisit un nom canonique ou alias dans le catalogue.
--> / --- / -.-> / -.- / ==> / === / ~~~Flèches, liens simples, pointillés, épais et invisibles.
<--> / o--o / x--x / --o / --xExtrémités bidirectionnelles, circulaires et croisées.
A -->|Label| B / A -- Label --> B / A ----> BTexte et tirets supplémentaires augmentent la distance minimale entre rangs, sans fixer de pixels.
subgraph id [Label] / direction TB / endGroupe les nœuds ; les connexions externes peuvent remplacer la direction interne.
classDef / class A,B name / A:::nameDéfinit et applique des styles réutilisables.
style A / linkStyle 0 / e1@--> / class e1 nameStyle les nœuds, liens par index à partir de zéro ou ids ; les liens nommés peuvent être animés.
click A href "URL" / click A callback "Tooltip"Les clics dépendent de l’hôte et sont désactivés en sécurité stricte.
A["`**Bold** and *italic*`"]Les chaînes Markdown permettent emphase et retour automatique.
A@{ icon: "fa:user", form: "square", pos: "t", h: 60 }Les icônes exigent un paquet enregistré ; formes carrées, rondes ou arrondies.
A@{ img: "/favicon.svg", label: "Text", w: 60, h: 60, constraint: "on" }Les images exigent une URL accessible et acceptent dimensions et contrainte de proportion.
config.layout: elk / config.flowchart.defaultRenderer: elkELK est facultatif et doit être installé et enregistré par l’hôte.
%% / accTitle: / accDescr:Commentaires et descriptions accessibles.
@{ shape: rect } / proc / process / rectangleProcessus
@{ shape: rounded } / eventÉvénement
@{ shape: stadium } / terminal / pillPoint terminal
@{ shape: fr-rect } / subprocess / subproc / framed-rectangle / subroutineSous-processus
@{ shape: cyl } / db / database / cylinderBase de données
@{ shape: datastore } / data-storeStockage de données
@{ shape: circle } / circDébut
@{ shape: bang } / bangExplosion
@{ shape: cloud } / cloudNuage
@{ shape: diam } / decision / diamond / questionDécision
@{ shape: hex } / hexagon / preparePréparation conditionnelle
@{ shape: lean-r } / lean-right / in-outEntrée/sortie de données
@{ shape: lean-l } / lean-left / out-inEntrée/sortie de données
@{ shape: trap-b } / priority / trapezoid-bottom / trapezoidAction prioritaire
@{ shape: trap-t } / manual / trapezoid-top / inv-trapezoidOpération manuelle
@{ shape: dbl-circ } / double-circleFin
@{ shape: text }Bloc de texte
@{ shape: notch-rect } / card / notched-rectangleCarte
@{ shape: lin-rect } / lined-rectangle / lined-process / lin-proc / shaded-processProcessus hachuré
@{ shape: sm-circ } / start / small-circleDébut
@{ shape: fr-circ } / stop / framed-circleFin
@{ shape: fork } / joinBranchement/jonction
@{ shape: hourglass } / hourglass / collateAssemblage
@{ shape: brace } / comment / brace-lCommentaire
@{ shape: brace-r }Commentaire à droite
@{ shape: braces }Commentaire entre accolades
@{ shape: bolt } / com-link / lightning-boltLiaison de communication
@{ shape: doc } / doc / documentDocument
@{ shape: delay } / half-rounded-rectangleDélai
@{ shape: h-cyl } / das / horizontal-cylinderStockage à accès direct
@{ shape: lin-cyl } / disk / lined-cylinderStockage sur disque
@{ shape: curv-trap } / curved-trapezoid / displayAffichage
@{ shape: div-rect } / div-proc / divided-rectangle / divided-processProcessus divisé
@{ shape: tri } / extract / triangleExtraction
@{ shape: win-pane } / internal-storage / window-paneStockage interne
@{ shape: f-circ } / junction / filled-circleJonction
@{ shape: notch-pent } / loop-limit / notched-pentagonLimite de boucle
@{ shape: flip-tri } / manual-file / flipped-triangleClassement manuel
@{ shape: sl-rect } / manual-input / sloped-rectangleSaisie manuelle
@{ shape: docs } / documents / st-doc / stacked-documentDocuments multiples
@{ shape: st-rect } / procs / processes / stacked-rectangleProcessus multiples
@{ shape: bow-rect } / stored-data / bow-tie-rectangleDonnées stockées
@{ shape: cross-circ } / summary / crossed-circleRésumé
@{ shape: tag-doc } / tag-doc / tagged-documentDocument étiqueté
@{ shape: tag-rect } / tagged-rectangle / tag-proc / tagged-processProcessus étiqueté
@{ shape: flag } / paper-tapeBande de papier
@{ shape: odd }Forme asymétrique
@{ shape: lin-doc } / lined-documentDocument ligné

Formes et libellés

Le catalogue couvre les 48 formes standard du moteur 11.15 et leurs alias. Utilisez @{ shape: ... } pour les nouvelles formes ; la notation classique reste valide.

flowchart TB
  A@{ shape: sl-rect, label: "Saisir le titre" }
  B@{ shape: doc, label: "Document en brouillon" }
  C@{ shape: diam, label: "Complet ?" }
  D@{ shape: cyl, label: "Archive" }
  A --> B --> C
  C -->|Oui| D
  C -->|Non| A

Chargement…

Sous-graphes

La direction interne peut céder aux connexions vers l’extérieur. Reliez les sous-graphes entiers pour mieux la préserver.

flowchart LR
  subgraph prep ["Préparation"]
    direction TB
    A["Plan"] --> B["Brouillon"]
  end
  subgraph review ["Révision"]
    direction TB
    C["Vérifier"] --> D["Approuver"]
  end
  prep --> review

Chargement…

Styles et Markdown

classDef définit un style, class ou ::: l’applique. style cible un nœud, linkStyle l’index de déclaration et les ids des liens précis.

flowchart LR
  A["`**Guide** en brouillon`"]:::focus e1@--> B["Révision"]
  B --> C["Publier"]
  classDef focus fill:#d3e5ff,stroke:#0070f3,color:#171717
  class B focus
  style C stroke-width:2px
  linkStyle 1 stroke:#0070f3,stroke-width:2px
  classDef edge stroke:#0070f3
  class e1 edge

Chargement…

Espacement et moteur de disposition

nodeSpacing et rankSpacing ajustent la disposition. ELK et les paquets d’icônes exigent un enregistrement par l’hôte ; les formes ordinaires fonctionnent seules.

---
config:
  flowchart:
    nodeSpacing: 35
    rankSpacing: 60
---
flowchart LR
  A["Rédiger"] --> B["Révision"] --> C["Publier"]

Chargement…

Erreurs fréquentes

Laisser une forme ouverte

Fermez les crochets et placez le texte entre guillemets.

Syntaxe incorrecte : correction ci-dessous

flowchart LR
  A[Draft

Utiliser end comme id

end ferme un sous-graphe ; choisissez un autre id et gardez end comme libellé protégé.

Attendre des clics en mode strict

Ce site désactive les callbacks ; utilisez les liens externes de l’éditeur.

Limites

  • La disposition automatique fixe les positions ; les tirets ne fixent pas de distances en pixels.
  • Les liens externes peuvent remplacer la direction du sous-graphe.
  • Les icônes exigent un paquet, les images des ressources accessibles et ELK un enregistrement.

Foire aux questions

Comment choisir une nouvelle forme ?
Utilisez A@{ shape: nom, label: "Texte" } avec un nom ou alias du catalogue.
Pourquoi la direction interne est-elle ignorée ?
Des liens entre nœuds internes et externes peuvent imposer la direction globale.
Comment styliser un seul lien ?
Utilisez linkStyle avec un index à partir de zéro ou une classe visuelle sur un id de lien.