Comprendre le format PlantUML
PlantUML vous permet d'écrire des diagrammes sous forme de texte brut. Découvrez ce que c'est, comment GanttTool l'utilise en coulisses pour générer des diagrammes de Gantt, et quels autres types de diagrammes il prend en charge.
Qu'est-ce que PlantUML ?
PlantUML est un outil open source qui vous permet de créer des diagrammes à partir de descriptions en texte brut. Au lieu de faire glisser des boîtes sur un canevas, vous écrivez quelques lignes de syntaxe simple et PlantUML génère un diagramme professionnel pour vous. Cette approche est souvent appelée « diagram as code » ou « text to diagram ».
Un diagramme PlantUML minimal ressemble à ceci : vous ouvrez avec une balise @start<type>, décrivez la structure en quelques lignes lisibles, et fermez avec @end<type>. L'outil analyse ce texte et produit un SVG, PNG ou PDF — où que vous le rendiez.
Pourquoi écrire des diagrammes sous forme de texte ?
- Contrôle de version — Le texte brut se compare proprement dans Git. Vous pouvez suivre chaque modification d'un diagramme, la réviser dans une pull request et revenir en arrière en cas de problème.
- Rapidité — Taper
[Tâche A] lasts 5 daysest plus rapide que de dessiner une barre sur un canevas et de la redimensionner. - Cohérence — Le moteur de rendu applique automatiquement un espacement, des polices et des couleurs uniformes. Vous vous concentrez sur le contenu, pas sur la mise en page.
- Portabilité — Un fichier texte
.pumlest minuscule, lisible par un humain et s'affiche de la même manière partout. - Automatisation — Les diagrammes peuvent être générés par programme à partir de données, intégrés dans des pipelines CI et maintenus en synchronisation avec le code.
Astuce : PlantUML est largement utilisé dans la documentation d'ingénierie logicielle (diagrammes d'architecture, flux API), mais sa prise en charge des diagrammes de Gantt le rend tout aussi puissant pour les chefs de projet et les responsables d'équipe qui souhaitent des plannings reproductibles et versionnés.
Comment GanttTool utilise PlantUML
GanttTool vous offre un éditeur visuel graphique — vous ajoutez des tâches, définissez des durées, établissez des dépendances, choisissez des couleurs — mais en coulisses, tout ce que vous construisez est compilé en code PlantUML. Ce code est ensuite envoyé à un serveur de rendu qui le convertit en diagramme SVG affiché dans votre navigateur.
Le pipeline de rendu
La route API /api/kroki agit comme un proxy entre votre navigateur et les serveurs de rendu. Elle fonctionne en deux étapes :
- Principal : serveur PlantUML.com — Le code PlantUML est compressé avec Deflate (niveau 9) et encodé en utilisant la variante base-64 personnalisée de PlantUML. La chaîne résultante est ajoutée à
https://www.plantuml.com/plantuml/svg/~1{encoded}en tant que requête GET. Un délai de 3 secondes protège contre les réponses lentes. - Secours : serveur Kroki.io — Si PlantUML.com échoue ou expire, le texte PlantUML brut est envoyé en POST comme
text/plainvershttps://kroki.io/plantuml/svgavec un délai de 5 secondes. Kroki est une passerelle de rendu open source qui prend en charge de nombreux formats de diagrammes.
Quel que soit le serveur qui répond en premier avec un SVG valide, cette image est renvoyée au navigateur avec un en-tête Content-Type: image/svg+xml et affichée en ligne. Vous n'avez jamais à vous soucier de l'encodage ou du basculement — cela fonctionne simplement.
Sous le capot : La vue « Code PlantUML » dans la barre latérale de GanttTool vous montre le texte exact envoyé au serveur. Vous pouvez le copier, le coller dans PlantText ou le serveur en ligne PlantUML, et obtenir le même diagramme.
Syntaxe PlantUML pour les diagrammes de Gantt
Chaque diagramme de Gantt PlantUML est enveloppé dans les balises @startgantt / @endgantt. À l'intérieur, vous décrivez votre projet dans un style naturel et lisible.
Structure de base d'une tâche
@startgantt ' Titre du projet et échelle title Website Redesign Project Project starts 2026-07-01 printscale weekly ' Séparateur de phase -- Discovery -- ' Tâches normales : [Nom] lasts N days [Requirements gathering] lasts 5 days [Competitor analysis] lasts 3 days -- Design -- [Wireframes] lasts 7 days [Visual design] lasts 10 days [Visual design] starts at [Wireframes]'s end -- Development -- [Frontend build] lasts 14 days [Frontend build] starts at [Visual design]'s end [Backend integration] lasts 10 days [Backend integration] starts at [Frontend build]'s end @endgantt
Jalons (milestones)
Les jalons ont une durée nulle et apparaissent comme un marqueur en losange sur la chronologie. Définissez-les avec happens at plutôt que lasts.
@startgantt Project starts 2026-07-01 [Development] lasts 14 days and is colored in CornflowerBlue [QA Testing] lasts 5 days and is colored in LightGreen [QA Testing] starts at [Development]'s end ' Jalon — se produit à la fin d'une tâche spécifique [Release v1.0] happens at [QA Testing]'s end ' Pourcentage d'achèvement [Development] is 70% completed @endgantt
Séparateurs de phase & paramètres du projet
Encadrez les noms de section entre doubles tirets (-- Nom de la phase --) pour insérer une ligne de séparation. Combinez avec les paramètres globaux du projet pour un contrôle total.
@startgantt title Q3 Product Launch Project starts 2026-07-01 printscale weekly zoom 2 saturday are closed sunday are closed today is colored in Lavender -- Planning -- [Kickoff meeting] lasts 1 day [Scope definition] lasts 3 days [Scope definition] starts at [Kickoff meeting]'s end -- Build -- [Engineering sprint 1] lasts 10 days [Engineering sprint 1] starts at [Scope definition]'s end [Engineering sprint 2] lasts 10 days [Engineering sprint 2] starts at [Engineering sprint 1]'s end -- Launch -- [Smoke testing] lasts 2 days [Smoke testing] starts at [Engineering sprint 2]'s end [Go live] happens at [Smoke testing]'s end @endgantt
Aperçu de la syntaxe Gantt essentielle
| Syntaxe | Ce qu'elle fait |
|---|---|
| [Task] lasts N days | Crée une tâche avec une durée en jours |
| [Task] lasts N weeks | Durée en semaines |
| [B] starts at [A]'s end | Dépendance fin-à-début |
| [M] happens at [A]'s end | Jalon à la fin d'une tâche |
| -- Phase name -- | Insère une ligne de séparation de phase |
| [T] is 50% completed | Affiche la progression d'achèvement |
| printscale weekly zoom 2 | Échelle hebdomadaire, zoom 2x |
| saturday are closed | Ignore les samedis dans la durée |
| [T] is colored in Red | Couleur personnalisée de la barre de tâche |
PlantUML au-delà des diagrammes de Gantt
Gantt n'est qu'un type parmi plus d'une douzaine de diagrammes que PlantUML prend en charge. La même philosophie de texte brut — balise de début, description, balise de fin — s'applique à tous. Voici un tour d'horizon des types les plus utilisés.
Diagrammes de séquence
Les diagrammes de séquence montrent comment les objets ou composants interagissent dans le temps — parfaits pour les flux API, les séquences d'authentification et la communication entre microservices.
@startuml title User Login Flow Browser -> API: POST /login {email, password} API -> Database: SELECT user WHERE email=? Database --> API: user record alt valid credentials API --> Browser: 200 OK + JWT token else invalid API --> Browser: 401 Unauthorized end @enduml
Diagrammes de classes
Les diagrammes de classes modélisent la structure orientée objet : classes, attributs, méthodes et relations. Essentiels pour la documentation de l'architecture logicielle.
@startuml class Project { +id: String +name: String +startDate: Date +getTasks(): Task[] } class Task { +id: String +name: String +duration: Number +complete(): void } class Milestone { +name: String +date: Date } Project "1" o-- "many" Task Project "1" o-- "many" Milestone Task <|-- Milestone @enduml
Autres types de diagrammes PlantUML
Diagrammes de cas d'utilisation
Montrent quels acteurs interagissent avec quelles fonctions du système. Utiles pour la collecte des exigences et les présentations aux parties prenantes. Syntaxe : @startuml avec actor, usecase et les flèches -->.
Diagrammes d'activité
Modélisent les flux de travail, les processus métier et les flux de décision avec des nœuds de début/fin, des bifurcations, des jointures et des branches conditionnelles. Considérez-les comme des organigrammes avec une sémantique formelle.
Diagrammes d'états
Représentent le cycle de vie d'un objet à travers des états et des transitions. Parfaits pour modéliser les statuts de commande, les états de session utilisateur ou les modes d'appareil.
Diagrammes de composants
Montrent comment les composants système, les bibliothèques et les interfaces sont assemblés. Idéal pour documenter les architectures microservices et les topologies de déploiement.
Cartes mentales (Mind Maps)
Organisez vos idées et faites du brainstorming dans un format d'arbre radial. Utilise des marqueurs indentés * pour définir la hiérarchie. Idéal pour les décompositions de fonctionnalités et les cartes de connaissances.
Entité-Relation (ER)
Modélisez les schémas de base de données avec des entités, des attributs et des relations. Pris en charge via @startuml / mot-clé entity ou via des extensions ER dédiées.
Voici un exemple rapide d'une carte mentale PlantUML pour illustrer comment les diagrammes non-Gantt suivent la même philosophie texte d'abord :
@startmindmap * Planification de projet ** Périmètre *** Exigences *** Livrables ** Calendrier *** Diagramme de Gantt *** Jalons ** Équipe *** Rôles *** Ressources ** Risques *** Plan d'atténuation @endmindmap
Essayez PlantUML en ligne
Vous n'avez pas besoin d'installer quoi que ce soit pour commencer à expérimenter avec PlantUML. L'écosystème dispose d'excellents moteurs de rendu en ligne gratuits :
PlantUML.com
Le site officiel de PlantUML avec une documentation complète, une référence syntaxique et un serveur de rendu en ligne.
plantuml.com ↗PlantText
Un éditeur en ligne épuré avec aperçu en direct. Collez ou tapez votre code PlantUML et voyez le diagramme instantanément dans votre navigateur.
planttext.com ↗Kroki.io
Une passerelle de rendu open source qui prend en charge PlantUML ainsi que plus de 20 autres formats de diagrammes (Mermaid, Graphviz, D2, et plus) via une API unifiée.
kroki.io ↗Flux de travail recommandé : Construisez votre diagramme de Gantt visuellement dans GanttTool, cliquez sur « Code PlantUML » dans la barre latérale pour voir le texte généré, puis collez-le dans PlantText ou PlantUML.com si vous souhaitez itérer sur la syntaxe brute. Vous obtenez le meilleur des deux mondes : un éditeur visuel et un accès complet au format diagram-as-code sous-jacent.
Commencez à créer des diagrammes de Gantt
GanttTool vous donne la puissance de PlantUML sans avoir besoin d'écrire une seule ligne de code. Utilisez l'éditeur visuel pour construire le planning de votre projet, et laissez l'application gérer automatiquement la syntaxe PlantUML et le rendu du diagramme.
- Ajoutez des tâches, des jalons et des séparateurs de phase en un clic.
- Définissez les durées, les dépendances, les couleurs et les pourcentages d'achèvement visuellement.
- Inspectez le code PlantUML généré à tout moment — copiez et réutilisez-le n'importe où.
- Exportez en SVG ou copiez dans le presse-papiers en PNG pour vos présentations et documents.
- Décrivez votre projet en langage naturel et laissez l'assistant IA générer une ébauche complète de Gantt.
Essayez GanttTool — gratuit, sans compte
Créez un diagramme de Gantt PlantUML professionnel en quelques minutes. L'application génère le code PlantUML pour vous — exportez, partagez ou collez-le n'importe où.
Ouvrir GanttTool — c'est gratuitArticles connexes
Qu'est-ce qu'un diagramme de Gantt ?
Histoire, anatomie et comment les diagrammes de Gantt s'intègrent dans la planification de projet en cascade.
Comment créer un diagramme de Gantt en ligne
Tutoriel étape par étape pour construire un diagramme de Gantt de A à Z avec GanttTool.
Assistant IA pour diagrammes de Gantt
Comment l'IA de GanttTool comprend les instructions en langage naturel et génère automatiquement des tâches.