sequenceDiagram
actor R as Lecteur
participant S as Service de recherche
R->>+S: Chercher le guide
S-->>-R: Renvoyer les résultats Chargement…
Mermaid 11.15.0
Les séquences montrent les messages échangés entre participants. Utilisez un organigramme pour les décisions ou un diagramme de classes pour la structure statique.
Créer avec l’outil Générateur de diagrammes de séquence →Déclarez les alias avant les messages pour fixer l’ordre des lignes de vie.
sequenceDiagram
actor R as Lecteur
participant S as Service de recherche
R->>+S: Chercher le guide
S-->>-R: Renvoyer les résultats Chargement…
| Syntaxe | Signification |
|---|---|
| sequenceDiagram / participant / actor / as | Déclare les lignes de vie et alias ; actor dessine une personne. |
| participant A@{ "type": "boundary" } | Types : boundary, control, entity, database, collections et queue ; participant et actor couvrent les formes courantes. |
| -> | Trait continu sans pointe |
| --> | Trait pointillé sans pointe |
| ->> | Flèche continue |
| -->> | Flèche pointillée |
| <<->> | Flèche bidirectionnelle continue |
| <<-->> | Flèche bidirectionnelle pointillée |
| -x | Trait continu terminé par une croix |
| --x | Trait pointillé terminé par une croix |
| -) | Flèche ouverte continue, asynchrone |
| --) | Flèche ouverte pointillée, asynchrone |
| -|\ | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| --|\ | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| -|/ | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| --|/ | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| /|- | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| /|-- | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| \\- | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| \\-- | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| -\\ | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| --\\ | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| -// | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| --// | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| //- | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| //-- | Variante de demi-flèche ; l’exemple montre l’orientation et le trait. |
| A->>()B / A()->>B / A()->>()B | Relie un message au centre de la ligne de vie d’envoi ou de réception. |
| activate / deactivate / ->>+ / -->>- | Démarre et termine les activations ; équilibrez les activations imbriquées. |
| create participant / create actor / destroy | Crée avant le premier message reçu et détruit avant le message final. |
| Note left of / right of / over A,B | Place les notes à côté ou au-dessus des lignes ; <br/> ajoute un saut. |
| loop / alt / else / opt / par / and / critical / option / break / rect / end | Chaque bloc se ferme avec end ; else, and et option dépendent de leur bloc. rect reçoit une couleur. |
| autonumber / autonumber 10 5 | Numérote les messages avec départ et incrément facultatifs. |
| box Color Label / end | Groupe les déclarations dans une boîte colorée ou transparente. |
| link A: Label @ URL / links A: {"Label":"URL"} | Ajoute un lien ou menu JSON à un participant. |
| %% / accTitle: / accDescr: | Commentaires et descriptions accessibles. |
Les ids courts identifient les participants ; les alias portent le texte visible. JSON change le symbole. Déclarez les lignes avant les messages.
sequenceDiagram
actor R as Lecteur
participant B@{ "type": "boundary" }
participant C@{ "type": "control" }
participant E@{ "type": "entity" }
participant D@{ "type": "database" }
participant L@{ "type": "collections" }
participant Q@{ "type": "queue" }
R->>B: Demande
B->>C: Valider
C->>E: Lire
E->>D: Requête
D-->>L: Résultats
L-)Q: Notifier Chargement…
Choisissez la flèche selon vos conventions. Les flèches ouvertes indiquent souvent un envoi asynchrone ; une croix ne termine pas la ligne sans destroy.
sequenceDiagram
participant A as Émetteur
participant B as Destinataire
A->B: Message
A-->B: Message
A->>B: Message
A-->>B: Message
A<<->>B: Message
A<<-->>B: Message
A-xB: Message
A--xB: Message
A-)B: Message
A--)B: Message
A-|\B: Message
A--|\B: Message
A-|/B: Message
A--|/B: Message
A/|-B: Message
A/|--B: Message
A\\-B: Message
A\\--B: Message
A-\\B: Message
A--\\B: Message
A-//B: Message
A--//B: Message
A//-B: Message
A//--B: Message
A()->>()B: Connexion centrale Chargement…
create précède immédiatement le message de création, destroy le message final. Équilibrez chaque activation.
sequenceDiagram
participant C as Contrôleur
create participant W as Processus de travail
C->>+W: Démarrer le travail
Note right of W: Processus temporaire
W-->>-C: Travail terminé
destroy W
C-xW: Arrêter le processus Chargement…
Fermez les blocs avec end. else sépare les alternatives, and les branches parallèles, option les reprises de critical. break indique une sortie exceptionnelle.
sequenceDiagram
participant C as Client
participant S as Service
loop Nouvelle tentative
C->>S: Demande
alt Accepté
S-->>C: Résultat
else Refusé
S-->>C: Erreur
end
end
opt Résultat en cache
S-->>C: Résultat mémorisé
end
par Journalisation
S->>S: Enregistrer
and Mesures
S->>S: Compter
end
critical Validation
S->>S: Sauvegarder
option Échec
S-->>C: Annuler
end
break Délai dépassé
S-->>C: Arrêter
end
rect rgb(230,240,255)
Note over C,S: Limite de révision
end Chargement…
mirrorActors répète les participants en bas ; wrap ajuste les messages et actorMargin espace les lignes de vie. L’ordre des messages reste inchangé.
---
config:
sequence:
mirrorActors: false
wrap: true
actorMargin: 60
---
sequenceDiagram
participant R as Lecteur
participant G as Guide
R->>G: Lire la référence Chargement…
Ajoutez end pour chaque bloc imbriqué.
Syntaxe incorrecte : correction ci-dessous
sequenceDiagram
loop Nouvelle tentative
A->>B: DemandesequenceDiagram
loop Nouvelle tentative
A->>B: Demande
end Chargement…
end est spécial ; utilisez guillemets ou crochets en cas d’ambiguïté et évitez les ids réservés.