Quick Start
Build your first diagram in six steps
Démarrage rapide
Construisez votre premier diagramme d'architecture validé en six étapes. Chaque étape introduit un nouveau concept Datro. À la fin, vous aurez un diagramme complet, stylisé et vérifié par les contraintes, prêt à être exporté au format SVG.
Suivez-nous dans l'éditeur en direct : collez chaque extrait et cliquez sur Valider.
Étape 1 — Écrivez vos premiers nœuds et arêtes
Chaque fichier .dtro commence par un en-tête magique. Après cela, déclarez les nœuds (entités) et les bords (relations). Collez ceci dans l'éditeur :
#!DATRO 1.0
node frontend { type: web label: "React App" }
node backend { type: service label: "NestJS API" }
node db { type: database label: "PostgreSQL" }
edge frontend -> backend { kind: http }
edge backend -> db { kind: query }En-tête magique requis
La ligne #!DATRO 1.0 sur la ligne 1 est obligatoire. L'analyseur renvoie E100 s'il est manquant.
Étape 2 — Ajoutez `attrs` pour des métadonnées plus riches
Le bloc attrs contient des métadonnées clé-valeur arbitraires. Les valeurs peuvent être des chaînes, des nombres, des booléens ou des tableaux. Les attributs communs sont tech, owner, deprecated et sla.
node backend {
type: service
label: "NestJS API"
attrs {
tech: "nestjs"
owner: "platform-team"
}
}Les attributs sont transmis au JSON IR et apparaissent sous forme d'info-bulles dans le SVG rendu, ce qui est utile pour les métadonnées d'astreinte et SLA.
Étape 3 — Ajouter des métadonnées Edge
Les bords ont un kind (type de relation sémantique), un label facultatif, un weight (trafic relatif) et un indicateur async. Les bords asynchrones s'affichent sous forme de lignes pointillées.
edge backend -> stripe {
kind: http
label: "charge API"
async: false
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
kind | EdgeKind "http""grpc""query""publish""subscribe""read""write""deploys""monitors""depends""…21 total" | Yes | unknown | Type de relation sémantique |
label | string | No | — | Texte court affiché sur la ligne de bord |
weight | number | No | 1.0 | Poids du trafic relatif — les bords plus lourds rendent plus épais |
async | boolean | No | false | Lorsque c'est vrai, le bord s'affiche en pointillés (motif « feu et oubli ») |
Étape 4 — Regroupez les nœuds en clusters
Utilisez un bloc group pour regrouper les nœuds associés. Les groupes s'affichent sous forme de zones de sous-graphiques étiquetées dans le SVG. Un nœud ne peut appartenir qu’à un seul groupe.
group data_tier {
label: "Data Layer"
members: [db, redis_cache]
}
node redis_cache { type: cache label: "Redis" }
edge backend -> redis_cache { kind: read label: "session" }Groupes vs node.group
Vous pouvez également attribuer un groupe directement sur le nœud avec group: data_tier. Les deux styles sont valables ; la liste members du bloc group est prioritaire.
Étape 5 — Ajouter une contrainte architecturale
Les contraintes sont des règles architecturales vérifiées automatiquement. Le validateur les évalue par rapport à l'IR et renvoie des erreurs E501 lorsqu'une règle est violée.
constraint {
id: "no-db-external"
rule: "database !-> external"
message: "Databases must not connect to external services"
severity: error
}La règle database !-> external signifie : aucun nœud de type database ne peut avoir un bord dirigé vers un nœud de type external. Cela bloque les appels directs accidentels à la base de données → à l'API tierce.
Étape 6 — Ajoutez des astuces de mise en page et un thème
Contrôlez la façon dont le diagramme est organisé avec un bloc layout et définissez une palette de couleurs avec un bloc theme. Le contrôle d'accessibilité déclenche W602 si une couleur tombe en dessous du contraste WCAG AA.
layout { direction: LR algo: dagre node_sep: 60 rank_sep: 120 }
theme {
palette {
service: "#D0E8FF"
database: "#FFE8C0"
web: "#E8D0FF"
cache: "#C0FFE8"
background: "#FFFFFF"
}
accessibility { min_contrast: AA }
}Le contraste WCAG est automatique
L'exportateur DOT sélectionne automatiquement la couleur de police noire ou blanche pour chaque remplissage de nœud à l'aide de la formule de luminance relative WCAG 2.1 — aucune configuration n'est nécessaire.
Prochaines étapes
- Lisez le Language Reference pour la syntaxe complète de chaque type de bloc.
- Utilisez le CLI Reference pour valider, formater et exporter à partir de la ligne de commande.
- Apprenez à créer des documents embed diagrams in Markdown avec le plugin remarque ou markdown-it.
Votre diagramme est prêt à être rendu — cliquez sur Rendu → SVG dans la barre d'outils de l'éditeur.