Aller au contenu

« Catalogue PlantUML » : différence entre les versions

De Loic Wiki
Loic (discussion | contributions)
Ajout de la page Catalogue PlantUML (20 cas d’usage)
 
Loic (discussion | contributions)
Ajout du rendu PlantUML sous chaque bloc de code existant
 
Ligne 28 : Ligne 28 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
actor Utilisateur
participant "Frontend" as Front
participant "API" as API
database "Base PostgreSQL" as DB
Utilisateur -> Front : saisit ses identifiants
Front -> API : POST /login
API -> DB : vérifier le compte
DB --> API : compte valide
API --> Front : token
Front --> Utilisateur : accès autorisé
@enduml</pre>


== 2. Diagramme de classes ==
== 2. Diagramme de classes ==
Ligne 55 : Ligne 70 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
class Utilisateur {
+id : UUID
+nom : String
+email : String
+seConnecter()
}
class Role {
+code : String
+libelle : String
}
class Session {
+token : String
+expiration : Instant
}
Utilisateur "1" -- "*" Role
Utilisateur "1" -- "0..*" Session
@enduml</pre>


== 3. Diagramme de cas d’utilisation ==
== 3. Diagramme de cas d’utilisation ==
Ligne 78 : Ligne 116 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
left to right direction
actor "Chef de projet" as CP
actor "Analyste" as A
rectangle "Plateforme d'analyse" {
usecase "Lancer une analyse" as UC1
usecase "Consulter les résultats" as UC2
usecase "Exporter un rapport" as UC3
}
A --> UC1
A --> UC2
CP --> UC2
CP --> UC3
@enduml</pre>


== 4. Diagramme d’activité ==
== 4. Diagramme d’activité ==
Ligne 96 : Ligne 153 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
start
:Réception du code source;
:Préparation de l'analyse;
if (Langage supporté ?) then (oui)
:Exécuter les règles;
:Consolider les résultats;
else (non)
:Notifier l'absence de support;
endif
stop
@enduml</pre>


== 5. Diagramme d’états ==
== 5. Diagramme d’états ==
Ligne 111 : Ligne 182 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
[*] --> Brouillon
Brouillon --> EnRevue : soumettre
EnRevue --> Valide : approuver
EnRevue --> Rejete : refuser
Rejete --> Brouillon : corriger
Valide --> Archive : clôturer
Archive --> [*]
@enduml</pre>


== 6. Diagramme de composants ==
== 6. Diagramme de composants ==
Ligne 127 : Ligne 209 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
component "Frontend Angular" as Front
component "API Spring Boot" as API
component "Moteur d'analyse" as Engine
database "PostgreSQL" as DB
Front --> API
API --> Engine
API --> DB
@enduml</pre>


== 7. Diagramme de déploiement ==
== 7. Diagramme de déploiement ==
Ligne 150 : Ligne 244 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
node "Poste utilisateur" {
artifact "Navigateur"
}
node "Serveur applicatif" {
artifact "frontend.war"
artifact "api.jar"
}
node "Serveur base de données" {
database "PostgreSQL"
}
"Navigateur" --> "frontend.war"
"api.jar" --> "PostgreSQL"
@enduml</pre>


== 8. Diagramme d’objets ==
== 8. Diagramme d’objets ==
Ligne 170 : Ligne 283 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
object utilisateur1 {
id = 42
nom = "Dupont"
email = "dupont@example.test"
}
object roleAdmin {
code = "ADMIN"
libelle = "Administrateur"
}
utilisateur1 -- roleAdmin
@enduml</pre>


== 9. Diagramme de packages ==
== 9. Diagramme de packages ==
Ligne 192 : Ligne 321 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
package "presentation" {
class Controleur
}
package "application" {
class ServiceMetier
}
package "infrastructure" {
class Repository
}
Controleur --> ServiceMetier
ServiceMetier --> Repository
@enduml</pre>


== 10. Diagramme de timing ==
== 10. Diagramme de timing ==
Ligne 213 : Ligne 360 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
robust "Service" as S
concise "Cache" as C
@0
S is Arrêté
C is Vide
@10
S is Démarré
C is Chargement
@20
C is Prêt
@enduml</pre>


== 11. Gantt ==
== 11. Gantt ==
Ligne 226 : Ligne 390 :
@endgantt
@endgantt
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startgantt
Project starts 2026-04-01
[Analyse initiale] lasts 5 days
[Revue d'architecture] starts at [Analyse initiale]'s end and lasts 3 days
[Rapport final] starts at [Revue d'architecture]'s end and lasts 2 days
@endgantt</pre>


== 12. WBS – découpage des travaux ==
== 12. WBS – découpage des travaux ==
Ligne 245 : Ligne 418 :
@endwbs
@endwbs
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startwbs
* Projet d'analyse
** Préparation
*** Collecte du code
*** Vérification du périmètre
** Analyse
*** Qualité
*** Sécurité
*** Architecture
** Restitution
*** Rapport
*** Présentation
@endwbs</pre>


== 13. Mindmap ==
== 13. Mindmap ==
Ligne 263 : Ligne 451 :
@endmindmap
@endmindmap
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startmindmap
* Dette logicielle
** Dette de code
*** duplication
*** complexité
** Dette d'architecture
*** couplage fort
*** dépendances cycliques
** Dette d'exploitation
*** déploiement manuel
*** supervision absente
@endmindmap</pre>


== 14. Organigramme / schéma de flux ==
== 14. Organigramme / schéma de flux ==
Ligne 279 : Ligne 481 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
start
:Recevoir la demande;
if (Périmètre complet ?) then (oui)
:Planifier l'analyse;
else (non)
:Demander les éléments manquants;
endif
stop
@enduml</pre>


== 15. Schéma de topologie réseau simple ==
== 15. Schéma de topologie réseau simple ==
Ligne 295 : Ligne 509 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
node "Client VPN" as Client
node "Reverse proxy" as Proxy
node "OpenWebUI" as OWUI
node "Dependency-Track" as DT
Client --> Proxy : HTTPS
Proxy --> OWUI : 8080
Proxy --> DT : 8081
@enduml</pre>


== 16. Vue d’architecture applicative simple ==
== 16. Vue d’architecture applicative simple ==
Ligne 313 : Ligne 539 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
rectangle "Utilisateur" as User
rectangle "Portail Web" as Web
rectangle "API métier" as API
rectangle "Moteur d'analyse" as Engine
database "Référentiel" as Ref
User --> Web
Web --> API
API --> Engine
API --> Ref
@enduml</pre>


== 17. Exemple de légende ==
== 17. Exemple de légende ==
Ligne 329 : Ligne 569 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
legend
|= Niveau |= Signification |
| Critique | Correction immédiate |
| Majeur | Correction à court terme |
| Mineur | Amélioration souhaitable |
endlegend
rectangle "Exemple"
@enduml</pre>


== 18. Exemple d’écran / maquette fonctionnelle simple ==
== 18. Exemple d’écran / maquette fonctionnelle simple ==
Ligne 346 : Ligne 598 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
rectangle "Écran principal" {
rectangle "Menu" as Menu
rectangle "Filtres" as Filters
rectangle "Zone de résultats" as Results
rectangle "Détail" as Detail
}
Filters --> Results
Results --> Detail
@enduml</pre>


== 19. Exemple de workflow métier ==
== 19. Exemple de workflow métier ==
Ligne 368 : Ligne 633 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
start
:Réception d'un dossier;
:Contrôle de complétude;
if (Dossier complet ?) then (oui)
:Instruction;
if (Avis favorable ?) then (oui)
  :Validation;
else (non)
  :Rejet motivé;
endif
else (non)
:Demande de complément;
endif
stop
@enduml</pre>


== 20. Exemple de pipeline CI/CD ==
== 20. Exemple de pipeline CI/CD ==
Ligne 397 : Ligne 680 :
@enduml
@enduml
</syntaxhighlight>
</syntaxhighlight>
=== Rendu du modèle ===
<pre class="oc-plantuml">@startuml
start
:Commit du développeur;
:Déclenchement CI;
:Compilation;
if (Compilation OK ?) then (oui)
:Tests automatiques;
if (Tests OK ?) then (oui)
  :Analyse de qualité;
  if (Qualité acceptable ?) then (oui)
  :Construction de l'artefact;
  :Déploiement;
  else (non)
  :Blocage de la livraison;
  endif
else (non)
  :Correction des tests;
endif
else (non)
:Correction de la compilation;
endif
stop
@enduml</pre>


== Limites à connaître ==
== Limites à connaître ==

Dernière version du 2 avril 2026 à 19:41

Catalogue PlantUML – principaux cas d’usage

Cette page présente plusieurs représentations réalisables avec PlantUML, sous la forme d’exemples simples, lisibles et facilement réutilisables.

Chaque section contient :

  • le cas d’usage visé ;
  • un exemple minimal ;
  • un code PlantUML autonome.

1. Diagramme de séquence

Usage : représenter des échanges entre acteurs, applications, API, bases de données ou services.

@startuml
actor Utilisateur
participant "Frontend" as Front
participant "API" as API
database "Base PostgreSQL" as DB

Utilisateur -> Front : saisit ses identifiants
Front -> API : POST /login
API -> DB : vérifier le compte
DB --> API : compte valide
API --> Front : token
Front --> Utilisateur : accès autorisé
@enduml

Rendu du modèle

@startuml
actor Utilisateur
participant "Frontend" as Front
participant "API" as API
database "Base PostgreSQL" as DB

Utilisateur -> Front : saisit ses identifiants
Front -> API : POST /login
API -> DB : vérifier le compte
DB --> API : compte valide
API --> Front : token
Front --> Utilisateur : accès autorisé
@enduml

2. Diagramme de classes

Usage : représenter une structure de données, un modèle métier ou l’organisation d’un code.

@startuml
class Utilisateur {
 +id : UUID
 +nom : String
 +email : String
 +seConnecter()
}

class Role {
 +code : String
 +libelle : String
}

class Session {
 +token : String
 +expiration : Instant
}

Utilisateur "1" -- "*" Role
Utilisateur "1" -- "0..*" Session
@enduml

Rendu du modèle

@startuml
class Utilisateur {
 +id : UUID
 +nom : String
 +email : String
 +seConnecter()
}

class Role {
 +code : String
 +libelle : String
}

class Session {
 +token : String
 +expiration : Instant
}

Utilisateur "1" -- "*" Role
Utilisateur "1" -- "0..*" Session
@enduml

3. Diagramme de cas d’utilisation

Usage : montrer les fonctionnalités offertes par un système à ses utilisateurs.

@startuml
left to right direction

actor "Chef de projet" as CP
actor "Analyste" as A

rectangle "Plateforme d'analyse" {
 usecase "Lancer une analyse" as UC1
 usecase "Consulter les résultats" as UC2
 usecase "Exporter un rapport" as UC3
}

A --> UC1
A --> UC2
CP --> UC2
CP --> UC3
@enduml

Rendu du modèle

@startuml
left to right direction

actor "Chef de projet" as CP
actor "Analyste" as A

rectangle "Plateforme d'analyse" {
 usecase "Lancer une analyse" as UC1
 usecase "Consulter les résultats" as UC2
 usecase "Exporter un rapport" as UC3
}

A --> UC1
A --> UC2
CP --> UC2
CP --> UC3
@enduml

4. Diagramme d’activité

Usage : représenter un processus, un enchaînement de traitements ou une procédure.

@startuml
start
:Réception du code source;
:Préparation de l'analyse;
if (Langage supporté ?) then (oui)
 :Exécuter les règles;
 :Consolider les résultats;
else (non)
 :Notifier l'absence de support;
endif
stop
@enduml

Rendu du modèle

@startuml
start
:Réception du code source;
:Préparation de l'analyse;
if (Langage supporté ?) then (oui)
 :Exécuter les règles;
 :Consolider les résultats;
else (non)
 :Notifier l'absence de support;
endif
stop
@enduml

5. Diagramme d’états

Usage : décrire le cycle de vie d’un objet, d’un dossier ou d’un ticket.

@startuml
[*] --> Brouillon
Brouillon --> EnRevue : soumettre
EnRevue --> Valide : approuver
EnRevue --> Rejete : refuser
Rejete --> Brouillon : corriger
Valide --> Archive : clôturer
Archive --> [*]
@enduml

Rendu du modèle

@startuml
[*] --> Brouillon
Brouillon --> EnRevue : soumettre
EnRevue --> Valide : approuver
EnRevue --> Rejete : refuser
Rejete --> Brouillon : corriger
Valide --> Archive : clôturer
Archive --> [*]
@enduml

6. Diagramme de composants

Usage : présenter l’architecture logique d’une application ou la répartition des modules.

@startuml
component "Frontend Angular" as Front
component "API Spring Boot" as API
component "Moteur d'analyse" as Engine
database "PostgreSQL" as DB

Front --> API
API --> Engine
API --> DB
@enduml

Rendu du modèle

@startuml
component "Frontend Angular" as Front
component "API Spring Boot" as API
component "Moteur d'analyse" as Engine
database "PostgreSQL" as DB

Front --> API
API --> Engine
API --> DB
@enduml

7. Diagramme de déploiement

Usage : montrer où les composants sont installés et comment ils communiquent.

@startuml
node "Poste utilisateur" {
 artifact "Navigateur"
}

node "Serveur applicatif" {
 artifact "frontend.war"
 artifact "api.jar"
}

node "Serveur base de données" {
 database "PostgreSQL"
}

"Navigateur" --> "frontend.war"
"api.jar" --> "PostgreSQL"
@enduml

Rendu du modèle

@startuml
node "Poste utilisateur" {
 artifact "Navigateur"
}

node "Serveur applicatif" {
 artifact "frontend.war"
 artifact "api.jar"
}

node "Serveur base de données" {
 database "PostgreSQL"
}

"Navigateur" --> "frontend.war"
"api.jar" --> "PostgreSQL"
@enduml

8. Diagramme d’objets

Usage : illustrer un exemple concret d’instances d’objets.

@startuml
object utilisateur1 {
 id = 42
 nom = "Dupont"
 email = "dupont@example.test"
}

object roleAdmin {
 code = "ADMIN"
 libelle = "Administrateur"
}

utilisateur1 -- roleAdmin
@enduml

Rendu du modèle

@startuml
object utilisateur1 {
 id = 42
 nom = "Dupont"
 email = "dupont@example.test"
}

object roleAdmin {
 code = "ADMIN"
 libelle = "Administrateur"
}

utilisateur1 -- roleAdmin
@enduml

9. Diagramme de packages

Usage : décrire l’organisation modulaire d’un code ou d’une architecture applicative.

@startuml
package "presentation" {
 class Controleur
}

package "application" {
 class ServiceMetier
}

package "infrastructure" {
 class Repository
}

Controleur --> ServiceMetier
ServiceMetier --> Repository
@enduml

Rendu du modèle

@startuml
package "presentation" {
 class Controleur
}

package "application" {
 class ServiceMetier
}

package "infrastructure" {
 class Repository
}

Controleur --> ServiceMetier
ServiceMetier --> Repository
@enduml

10. Diagramme de timing

Usage : montrer l’évolution d’états au cours du temps.

@startuml
robust "Service" as S
concise "Cache" as C

@0
S is Arrêté
C is Vide

@10
S is Démarré
C is Chargement

@20
C is Prêt
@enduml

Rendu du modèle

@startuml
robust "Service" as S
concise "Cache" as C

@0
S is Arrêté
C is Vide

@10
S is Démarré
C is Chargement

@20
C is Prêt
@enduml

11. Gantt

Usage : représenter une planification simple de travaux ou de jalons.

@startgantt
Project starts 2026-04-01

[Analyse initiale] lasts 5 days
[Revue d'architecture] starts at [Analyse initiale]'s end and lasts 3 days
[Rapport final] starts at [Revue d'architecture]'s end and lasts 2 days
@endgantt

Rendu du modèle

@startgantt
Project starts 2026-04-01

[Analyse initiale] lasts 5 days
[Revue d'architecture] starts at [Analyse initiale]'s end and lasts 3 days
[Rapport final] starts at [Revue d'architecture]'s end and lasts 2 days
@endgantt

12. WBS – découpage des travaux

Usage : structurer un projet en lots, sous-lots et activités.

@startwbs
* Projet d'analyse
** Préparation
*** Collecte du code
*** Vérification du périmètre
** Analyse
*** Qualité
*** Sécurité
*** Architecture
** Restitution
*** Rapport
*** Présentation
@endwbs

Rendu du modèle

@startwbs
* Projet d'analyse
** Préparation
*** Collecte du code
*** Vérification du périmètre
** Analyse
*** Qualité
*** Sécurité
*** Architecture
** Restitution
*** Rapport
*** Présentation
@endwbs

13. Mindmap

Usage : organiser visuellement des idées, thèmes ou axes d’analyse.

@startmindmap
* Dette logicielle
** Dette de code
*** duplication
*** complexité
** Dette d'architecture
*** couplage fort
*** dépendances cycliques
** Dette d'exploitation
*** déploiement manuel
*** supervision absente
@endmindmap

Rendu du modèle

@startmindmap
* Dette logicielle
** Dette de code
*** duplication
*** complexité
** Dette d'architecture
*** couplage fort
*** dépendances cycliques
** Dette d'exploitation
*** déploiement manuel
*** supervision absente
@endmindmap

14. Organigramme / schéma de flux

Usage : représenter un enchaînement logique simple, proche d’une procédure.

@startuml
start
:Recevoir la demande;
if (Périmètre complet ?) then (oui)
 :Planifier l'analyse;
else (non)
 :Demander les éléments manquants;
endif
stop
@enduml

Rendu du modèle

@startuml
start
:Recevoir la demande;
if (Périmètre complet ?) then (oui)
 :Planifier l'analyse;
else (non)
 :Demander les éléments manquants;
endif
stop
@enduml

15. Schéma de topologie réseau simple

Usage : représenter des flux entre postes, proxy, services ou zones.

@startuml
node "Client VPN" as Client
node "Reverse proxy" as Proxy
node "OpenWebUI" as OWUI
node "Dependency-Track" as DT

Client --> Proxy : HTTPS
Proxy --> OWUI : 8080
Proxy --> DT : 8081
@enduml

Rendu du modèle

@startuml
node "Client VPN" as Client
node "Reverse proxy" as Proxy
node "OpenWebUI" as OWUI
node "Dependency-Track" as DT

Client --> Proxy : HTTPS
Proxy --> OWUI : 8080
Proxy --> DT : 8081
@enduml

16. Vue d’architecture applicative simple

Usage : décrire une vue d’ensemble lisible sans entrer dans le détail UML formel.

@startuml
rectangle "Utilisateur" as User
rectangle "Portail Web" as Web
rectangle "API métier" as API
rectangle "Moteur d'analyse" as Engine
database "Référentiel" as Ref

User --> Web
Web --> API
API --> Engine
API --> Ref
@enduml

Rendu du modèle

@startuml
rectangle "Utilisateur" as User
rectangle "Portail Web" as Web
rectangle "API métier" as API
rectangle "Moteur d'analyse" as Engine
database "Référentiel" as Ref

User --> Web
Web --> API
API --> Engine
API --> Ref
@enduml

17. Exemple de légende

Usage : ajouter une légende de lecture commune à plusieurs schémas.

@startuml
legend
|= Niveau |= Signification |
| Critique | Correction immédiate |
| Majeur | Correction à court terme |
| Mineur | Amélioration souhaitable |
endlegend

rectangle "Exemple"
@enduml

Rendu du modèle

@startuml
legend
|= Niveau |= Signification |
| Critique | Correction immédiate |
| Majeur | Correction à court terme |
| Mineur | Amélioration souhaitable |
endlegend

rectangle "Exemple"
@enduml

18. Exemple d’écran / maquette fonctionnelle simple

Usage : esquisser rapidement une interface ou une disposition fonctionnelle.

@startuml
rectangle "Écran principal" {
 rectangle "Menu" as Menu
 rectangle "Filtres" as Filters
 rectangle "Zone de résultats" as Results
 rectangle "Détail" as Detail
}

Filters --> Results
Results --> Detail
@enduml

Rendu du modèle

@startuml
rectangle "Écran principal" {
 rectangle "Menu" as Menu
 rectangle "Filtres" as Filters
 rectangle "Zone de résultats" as Results
 rectangle "Détail" as Detail
}

Filters --> Results
Results --> Detail
@enduml

19. Exemple de workflow métier

Usage : représenter un traitement métier de bout en bout.

@startuml
start
:Réception d'un dossier;
:Contrôle de complétude;
if (Dossier complet ?) then (oui)
 :Instruction;
 if (Avis favorable ?) then (oui)
  :Validation;
 else (non)
  :Rejet motivé;
 endif
else (non)
 :Demande de complément;
endif
stop
@enduml

Rendu du modèle

@startuml
start
:Réception d'un dossier;
:Contrôle de complétude;
if (Dossier complet ?) then (oui)
 :Instruction;
 if (Avis favorable ?) then (oui)
  :Validation;
 else (non)
  :Rejet motivé;
 endif
else (non)
 :Demande de complément;
endif
stop
@enduml

20. Exemple de pipeline CI/CD

Usage : représenter un pipeline d’intégration et de livraison.

@startuml
start
:Commit du développeur;
:Déclenchement CI;
:Compilation;
if (Compilation OK ?) then (oui)
 :Tests automatiques;
 if (Tests OK ?) then (oui)
  :Analyse de qualité;
  if (Qualité acceptable ?) then (oui)
   :Construction de l'artefact;
   :Déploiement;
  else (non)
   :Blocage de la livraison;
  endif
 else (non)
  :Correction des tests;
 endif
else (non)
 :Correction de la compilation;
endif
stop
@enduml

Rendu du modèle

@startuml
start
:Commit du développeur;
:Déclenchement CI;
:Compilation;
if (Compilation OK ?) then (oui)
 :Tests automatiques;
 if (Tests OK ?) then (oui)
  :Analyse de qualité;
  if (Qualité acceptable ?) then (oui)
   :Construction de l'artefact;
   :Déploiement;
  else (non)
   :Blocage de la livraison;
  endif
 else (non)
  :Correction des tests;
 endif
else (non)
 :Correction de la compilation;
endif
stop
@enduml

Limites à connaître

PlantUML est bien adapté :

  • à la documentation ;
  • à la démonstration ;
  • aux schémas versionnables en texte ;
  • à l’intégration dans un wiki ou un dépôt Git.

En revanche :

  • le rendu BPMN natif n’est pas complet au sens d’un outil spécialisé ;
  • les maquettes très visuelles sont moins naturelles qu’avec un outil graphique dédié ;
  • les schémas très denses perdent rapidement en lisibilité.

Conseils d’utilisation

  • Préférer un diagramme simple par idée.
  • Donner un titre clair à chaque schéma.
  • Réutiliser des alias courts pour garder un code lisible.
  • Limiter le nombre d’éléments affichés pour éviter les schémas surchargés.
  • Conserver ces exemples comme base de départ pour vos propres modèles.