Un diagramme d’activité UML modélise comment le travail circuleau sein d’un processus : les actions effectuées, les décisions prises, le travail parallèle et les chemins vers l’achèvement. PlantUML vous permet de décrire ce modèle sous forme de texte, puis de le rendre sous forme de diagramme — une approche utile lorsque vous souhaitez des diagrammes faciles à réviser, à examiner et à conserver avec la documentation du projet. La syntaxe actuelle des activités de PlantUML utilise des mots-clés lisibles tels que start, if, repeat, et fork; sa syntaxe d’activité plus ancienne est toujours prise en charge, mais la nouvelle syntaxe est recommandée pour les nouveaux diagrammes.

1. Que modéliser
Utilisez un diagramme d’activité pour expliquer un processus ou un algorithme, par exemple :

-
Un flux de travail de paiement client
-
Un processus d’approbation
-
Un pipeline d’importation de données
-
Les étapes d’un cas d’utilisation
-
Un travail réparti entre des personnes, des équipes ou des composants système
Une activité est une unité de travail, telle que « Valider la commande ». Un flux de contrôle relie les activités et indique leur ordre. Un décision choisit parmi des chemins alternatifs ; flux parallèles montrent un travail qui peut se dérouler en parallèle. Le diagramme doit clarifier le comportement, sans tenter de documenter chaque détail d’implémentation.
Une règle pratique utile : si la question principale est « Que se passe-t-il ensuite, et dans quelles conditions ? », un diagramme d’activité est bien adapté.
2. Bases de PlantUML
Un diagramme PlantUML commence par @startuml et se termine par “@enduml. Dans la syntaxe d’activité actuelle :

-
startmarque le nœud initial. -
:Action;définit une action. -
if (...) then (...)effectue une branche selon une condition. -
endifferme la conditionnelle. -
stoptermine un flux. -
repeatetrepeat whilemodélise une répétition. -
fork,fork again, etend forkmodélise un travail parallèle.
Les actions sont écrites dans l’ordre et sont implicitement connectées. Vous pouvez ajouter des étiquettes aux branches et utiliser partition pour regrouper le travail par responsabilité ou rôle.
Voici un exemple minimal :

@startuml
début
:Recevoir la demande ;
:Valider la demande ;
fin
@enduml
3. Décisions et chemins alternatifs
Utiliser si lorsque le processus fait un choix. Les étiquettes des branches doivent communiquer les résultats de la condition, et non simplement répéter la condition.

@startuml
début
:Recevoir la commande ;
:Vérifier les stocks ;
si (Tous les articles sont-ils disponibles ?) alors (Oui)
:Réserver les articles ;
:Demander le paiement ;
sinon (Non)
:Informer le client ;
fin
fin si
:Confirmer la commande ;
fin
@enduml
Ici, si introduit une décision et fin si la ferme. Les Oui et Non étiquettes rendent les alternatives visibles. Lorsque les chemins continuent vers une action commune après fin si, ils se rejoignent au flux.
Conseil de modélisation : Soyez explicite sur ce qui se produit pour chaque résultat significatif. Si un chemin d’erreur, de délai d’attente ou de rejet est important pour les parties prenantes, montrez-le plutôt que de le laisser implicite.
4. Boucles et tentatives de reprise
Utilisez une boucle lorsqu’une action ou un groupe d’actions peut se répéter. Cet exemple continue de demander une entrée jusqu’à ce qu’elle passe la validation :

@startuml
début
:Lire les données soumises ;
répéter
:Valider les données ;
si (Valide ?) alors (Oui)
:Enregistrer les données ;
sortir
sinon (Non)
:Afficher les erreurs de validation ;
:Demander à l'utilisateur de corriger les données ;
fin si
répéter tant que (L'utilisateur continue ?) est (Oui) non (Non)
fin
@enduml
Les boucles peuvent être difficiles à lire si leur condition de sortie est vague. Indiquez ce qui déclenche une nouvelle tentative et ce qui met fin à la répétition, surtout lorsque les réessais sont limités ou peuvent être annulés.
5. Travail parallèle et synchronisation
Utilisez fork lorsque des actions indépendantes peuvent se produire simultanément, et end fork lorsque les chemins doivent se synchroniser avant que le processus ne continue.

@startuml
début
:Commande confirmée ;
fork
:Envoyer un e-mail de confirmation ;
fork again
:Préparer la liste de prélèvement de l'entrepôt ;
fork again
:Mettre à jour le tableau de bord des ventes ;
end fork
:Marquer la commande comme en cours de traitement ;
fin
@enduml
Un fork ne signifie pas nécessairement des personnes différentes ; il peut représenter un comportement système concurrent. Utilisez-le uniquement lorsque les actions peuvent réellement se produire en parallèle. Si une tâche doit se terminer avant qu’une autre ne commence, modélisez-les séquentiellement à la place.
6. Couloirs de nage avec partitions
Les partitions regroupent les actions par le rôle, l’équipe ou le système responsable. Cela peut rendre les transferts clairs sans modifier le processus lui-même. PlantUML prend en charge le regroupement des activités avec partition.

@startuml
début
partition Client {
:Soumettre la commande ;
}
partition "Service de commande" {
:Valider la commande ;
si (Commande valide ?) alors (Oui)
:Créer l'enregistrement de la commande ;
sinon (Non)
:Renvoyer les erreurs de validation ;
stop
finsi
}
partition Entrepôt {
:Préparer l'expédition ;
}
partition "Service de commande" {
:Envoyer la confirmation ;
}
stop
@enduml
Choisissez des libellés de couloirs qui correspondent à la véritable répartition des responsabilités. Évitez de créer une nouvelle partition pour chaque petit composant ; trop de couloirs peuvent rendre le diagramme plus difficile à parcourir.
7. Objets de données et notes
Certains flux de travail bénéficient de l’affichage des entrées ou sorties importantes. Les diagrammes d’activité PlantUML prennent en charge les stéréotypes de nœuds d’objet ; les notes peuvent également ajouter du contexte sans transformer chaque libellé d’action en un paragraphe.

@startuml
début
:Recevoir la demande de paiement ;
:Autoriser le paiement ;
note à droite
Utilise la réponse d'autorisation
du fournisseur de paiement.
fin note
:Enregistrer le résultat du paiement ;
stop
@enduml
Gardez les libellés des activités principales courts. Placez les règles métier, les hypothèses ou les clarifications dans des notes lorsque les lecteurs en ont besoin, mais qu’elles ne sont pas elles-mêmes des étapes du flux.
8. Exemple complet : paiement en ligne
Cet exemple plus grand combine des partitions, une décision, un chemin alternatif et un travail parallèle.

@startuml
titre Paiement en ligne
début
partition Client {
:Vérifier le panier ;
:Soumettre le paiement ;
}
partition "Service de commande" {
:Valider le panier et l'adresse ;
si (Panier et adresse valides ?) alors (Oui)
:Calculer le total ;
sinon (Non)
:Afficher les erreurs de validation ;
stop
finsi
}
partition "Service de paiement" {
:Autoriser le paiement ;
si (Paiement approuvé ?) alors (Approuvé)
:Capturer le paiement ;
sinon (Refusé)
:Renvoyer l'échec du paiement ;
stop
finsi
}
partition "Service de commande" {
:Créer la commande ;
}
fork
partition "Service de notification" {
:Envoyer la confirmation de commande ;
}
fork again
partition Entrepôt {
:Mettre la commande en file d'attente pour la préparation ;
}
end fork
partition "Service de commande" {
:Afficher la confirmation de commande ;
}
stop
@enduml

Lisez-le de haut en bas : le client soumet le paiement, le service de commande le valide, le paiement est autorisé, et la commande est créée. Ensuite, la confirmation et la préparation en entrepôt s’exécutent en parallèle. Si la validation ou le paiement échoue, le flux se termine via le chemin d’échec approprié.
9. Flux de travail Diagramme-as-code
Un flux de travail pratique est :
Flux de travail Diagramme-as-code
Un flux de travail pratique est :
-
Décrivez le processus en langage clair.Identifiez son début, sa fin, les actions principales, les décisions, les exceptions, les tâches parallèles et les rôles responsables.
-
Rédigez une première ébauche PlantUML.Concentrez-vous sur la logique avant le style.
-
Générez et inspectez-le.Vérifiez que le résultat se lit naturellement et que les branches et les boucles sont compréhensibles.
-
Examinez la logique avec les parties prenantes.Le rendu vérifie la syntaxe, pas si le processus est correct.
-
Révisez la source et enregistrez-la avec le projet.Les diagrammes basés sur du texte sont faciles à comparer et à examiner aux côtés d’autres documents.
Pour le rendu local, l’outil en ligne de commande de PlantUML peut générer des fichiers de diagrammes ; les éditeurs basés sur le navigateur sont pratiques pour des ébauches rapides et des aperçus. PlantUML propose également un éditeur navigateur, tandis que VPasCode offre un éditeur basé sur le navigateur avec aperçu en direct et prise en charge des diagrammes d’activité PlantUML.
-
Décrivez le processus en langage clair.Identifiez son début, sa fin, les actions principales, les décisions, les exceptions, les tâches parallèles et les rôles responsables.
-
Rédigez une première ébauche PlantUML.Concentrez-vous sur la logique avant le style.
-
Générez et inspectez-le.Vérifiez que le résultat se lit naturellement et que les branches et les boucles sont compréhensibles.
-
Examinez la logique avec les parties prenantes.Le rendu vérifie la syntaxe, pas si le processus est correct.
-
Révisez la source et enregistrez-la avec le projet.Les diagrammes basés sur du texte sont faciles à comparer et à examiner aux côtés d’autres documents.
Pour le rendu local, l’outil en ligne de commande de PlantUML peut générer des fichiers de diagrammes ; les éditeurs basés sur le navigateur sont pratiques pour des ébauches rapides et des aperçus. PlantUML propose également un éditeur navigateur, tandis que VPasCode offre un éditeur basé sur le navigateur avec aperçu en direct et prise en charge des diagrammes d’activité PlantUML.
10. Utilisation de Visual Paradigm VPasCode et de l’assistance par IA
VPasCode est l’éditeur de diagrammes à partir de texte basé sur le navigateur de Visual Paradigm. Son support PlantUML inclut les diagrammes d’activité, et son éditeur offre un rendu en direct. Visual Paradigm décrit également la génération de diagrammes en langage naturel intégrée et l’assistance par IA pour modifier ou corriger le code des diagrammes.
Un flux de travail utile assisté par IA :

-
Formulez une demande pour le comportement, pas seulement pour le type de diagramme.Par exemple :
« Créez un diagramme d’activité PlantUML pour un paiement en ligne. Incluez la validation du panier, la validation de l’adresse, l’autorisation de paiement, les chemins d’échec, la création de commande, ainsi que l’envoi parallèle d’un e-mail de confirmation et la préparation en entrepôt. Utilisez des partitions pour le Client, le Service de Commande, le Service de Paiement, le Service de Notification et l’Entrepôt. Utilisez la syntaxe actuelle des diagrammes d’activité PlantUML. » -
Inspectez la source générée.Vérifiez qu’elle utilise “
@startuml/@enduml, que chaque branche représente une condition réelle, et que les chemins échoués ou alternatifs sont gérés. -
Rendez-le dans VPasCode.Utilisez l’aperçu pour repérer les erreurs de syntaxe, les étiquettes confuses ou les mises en page trop complexes.
-
Affinez le PlantUML vous-même ou avec des modifications ciblées par l’IA.Demandez un changement spécifique, comme « Ajouter un chemin de délai d’attente de paiement » ou « Rendre la préparation en entrepôt séquentielle après la création de la commande. »
-
Validez le processus avec quelqu’un qui le connaît.L’IA peut rédiger un diagramme plausible, mais elle ne peut pas établir que le processus réel de votre organisation est correct.
Les contrôles exacts et la disponibilité des fonctionnalités de VPasCode peuvent varier selon l’édition du produit ; confirmez les options actuelles dans l’éditeur que vous utilisez.
11. Flux de travail de modélisation Visual Paradigm
Utilisez VPasCode lorsque vous souhaitez travailler directement avec la source du diagramme et l’aperçu. Utilisez l’environnement de modélisation de Visual Paradigm lorsque la tâche nécessite une édition graphique ou un travail de modélisation plus large. La guidance de Visual Paradigm décrit un flux de travail de génération ou d’importation d’un diagramme, puis de son affinage dans l’éditeur visuel ; les chemins d’import exacts peuvent dépendre du produit et de la version.
Une passation raisonnable est :

-
Élaborez et itérez dans PlantUML.
-
Partagez le diagramme rendu et la source pour examen.
-
Ouvrez ou importez-le dans l’éditeur Visual Paradigm pertinent si vous avez besoin d’édition visuelle ou d’autres capacités de modélisation.
-
Conservez la source PlantUML comme version maintenue si c’est la source de vérité choisie par l’équipe ; évitez de faire silencieusement des modifications conflictuelles à deux endroits.
12. Erreurs courantes et liste de contrôle de qualité
Avant de partager un diagramme, vérifiez :

-
A-t-il un début clair et une fin significative ?
-
Chaque action décrit-elle une partie de travail reconnaissable ?
-
Les issues des décisions sont-elles clairement étiquetées ?
-
Les chemins de rejet, d’erreur, de délai d’attente ou d’annulation sont-ils inclus là où ils sont importants ?
-
Les conditions de boucle rendent-elles claires le comportement de répétition et de sortie ?
-
Les actions parallèles sont-elles véritablement indépendantes, et la synchronisation est-elle indiquée là où c’est nécessaire ?
-
Les partitions représentent-elles des limites de propriété utiles ?
-
Un lecteur peut-il comprendre le flux sans lire de longues étiquettes d’action ?
-
Le diagramme rendu correspond-il au processus réel ?
Un bon diagramme d’activité n’est pas le plus long ni le plus détaillé. C’est le plus petit diagramme qui rend clairs le flux de travail, les décisions, les responsabilités et les exceptions importantes.
Référence rapide de syntaxe
| Objectif | Modèle PlantUML |
|---|---|
| Démarrage | start |
| Action | :Faire quelque chose; |
| Décision | si (Condition ?) alors (Oui) ... sinon (Non) ... fin si |
| Boucle | répéter ... répéter tant que (Condition ?) |
| Travail parallèle | fork ... fork again ... end fork |
| Groupe de responsabilités | partition Role { ... } |
| Fin | stop |
Les exemples utilisent la syntaxe actuelle des diagrammes d’activité de PlantUML. Pour des constructions peu courantes ou un comportement de rendu spécifique à une version, consultez la référence des diagrammes d’activité PlantUML.
Cette publication est également disponible en English, Español, فارسی, Bahasa Indonesia, 日本語, Polski : liste des langues séparées par une virgule, Ру́сский : dernière langue.







