Visualiser : Modèle de visualisation d'architecture et de flux
Intention
Transformer des architectures textuelles, des algorithmes complexes, des interactions multi-agents et des modèles de données en diagrammes visuels non ambigus en utilisant la syntaxe standard Mermaid.
Fondement théorique
Enraciné dans la théorie de la charge cognitive et le Modèle C4 pour l'Architecture Logicielle (Brown, 2018). Les modèles visuels ancrent les descriptions abstraites des systèmes, rendant les limites, les flux de données et les transitions d'état instantanément vérifiables par les humains et les agents.
Archétypes de diagrammes standards
1. Architecture des composants et des limites (Conteneur / Composant C4)
Utilisez flowchart TD ou flowchart LR avec des sous-graphes pour représenter les couches architecturales :
flowchart TD
subgraph Client["Couche Client"]
Web["Application Web (React)"]
CLI["Outil CLI (Python)"]
end
subgraph Gateway["Passerelle API"]
Proxy["Proxy Inverse / Nginx"]
Auth["Service d'Authentification (JWT)"]
end
subgraph Core["Services Cœur"]
App["Moteur d'Application"]
Worker["Travailleur Arrière-plan Asynchrone"]
end
subgraph Data["Couche de Persistance"]
DB[("PostgreSQL")]
Queue[("File Redis")]
end
Web --> Proxy
CLI --> Proxy
Proxy --> Auth
Auth --> App
App --> Queue
Queue --> Worker
Worker --> DB
App --> DB
2. Flux Requête / Réponse et Protocole (Diagramme de séquence)
Utilisez sequenceDiagram avec des lignes de vie d'activation pour montrer les interactions chronologiques :
sequenceDiagram
autonumber
actor Utilisateur
participant Agent as Agent de Codage
participant Outil as Exécuteur d'Outils
participant Git as Contrôle de Version
Utilisateur->>Agent: Demande d'implémentation de fonctionnalité
Agent->>Outil: Exécuter le test échouant (Rouge)
Outil-->>Agent: Le test a échoué comme prévu
Agent->>Outil: Écrire le code minimal (Vert)
Agent->>Outil: Exécuter la suite de tests
Outil-->>Agent: Tous les tests sont passés
Agent->>Git: Commiter le changement atomique
Git-->>Agent: Hash du commit généré
Agent-->>Utilisateur: Signaler la tâche terminée
3. Machines à états et cycles de vie (Diagramme d'état)
Utilisez stateDiagram-v2 pour les états d'entité, les statuts de tâches ou les cycles de vie de connexion :
stateDiagram-v2
[*] --> Brouillon
Brouillon --> EnRevue: Soumettre pour révision
EnRevue --> Approuvé: Réussir la vérification
EnRevue --> ModificationsNécessaires: Bloqueur trouvé
ModificationsNécessaires --> EnRevue: Soumettre le correctif
Approuvé --> EnCours: Démarrer l'implémentation
EnCours --> Terminé: Tous les tests passent
Terminé --> [*]
4. Modèles de données et relations (Diagramme entité-relation)
Utilisez erDiagram pour les schémas relationnels et les modèles de domaine :
erDiagram
PROJET ||--o{ SPÉCIFICATION : contient
SPÉCIFICATION ||--o{ TICKET : décompose_en
TICKET ||--o{ COMMIT : implémenté_par
TICKET {
string id PK
string titre
string statut
string bloqué_par
}
Règles de sécurité de la syntaxe Mermaid
- Toujours mettre entre guillemets les étiquettes de nœuds avec des caractères spéciaux :
id["Étiquette (Info Supplémentaire)"]au lieu deid[Étiquette (Info Supplémentaire)].
- Seuls les types de diagrammes pris en charge :
- Diagrammes de flux (
flowchart TD), Diagrammes de séquence (sequenceDiagram), Diagrammes d'état (stateDiagram-v2), Diagrammes de classes (classDiagram), Diagrammes ER (erDiagram).
- Diagrammes de flux (
- Éviter le HTML brut dans le texte des nœuds : Utilisez du Markdown pur ou du texte clair dans les chaînes de nœuds.
Citations et provenance
- Le Modèle C4 pour l'Architecture Logicielle : Brown, S. (2018). Software Architecture for Developers: Visualise, document and explore your software architecture. Leanpub.
- Standard de représentation graphique Mermaid : Sveidqvist, K., et al. (2014-2026). Mermaid: Markdown-inspired syntax for generating charts and diagrams (https://mermaid.js.org/).
- Théorie de la charge cognitive en visualisation logicielle : Sweller, J. (2011). Cognitive Load Theory. Psychology of Learning and Motivation, Vol. 55.