<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Structurizr :: Ma documentation</title><link>https://quentinpigne.github.io/architecture/c4/structurizr/index.html</link><description>Structurizr est l’outillage du modèle C4, écrit par son auteur, Simon Brown. Son idée directrice tient en une phrase, et c’est elle qui le distingue de tous les outils de dessin :
Un modèle, plusieurs vues.
On ne dessine pas des diagrammes : on décrit une fois les éléments et leurs relations, puis on déclare les vues à en extraire. Le niveau 1, le niveau 2 et le diagramme de déploiement deviennent trois projections du même modèle, qu’il devient structurellement impossible de faire diverger.</description><generator>Hugo</generator><language>fr-FR</language><atom:link href="https://quentinpigne.github.io/architecture/c4/structurizr/index.xml" rel="self" type="application/rss+xml"/><item><title>Le langage DSL</title><link>https://quentinpigne.github.io/architecture/c4/structurizr/dsl/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quentinpigne.github.io/architecture/c4/structurizr/dsl/index.html</guid><description>Le Structurizr DSL est un langage textuel dont le seul rôle est de décrire un workspace : les éléments, leurs relations, et les vues à en tirer. Sa syntaxe tient en une page, et c’est délibéré.
L’ossature Trois blocs, dont le troisième est optionnel.
workspace "Billetterie" "Plateforme de réservation de spectacles" { model { // Les éléments et leurs relations } views { // Les vues à produire, et les styles } configuration { // Portée, visibilité, droits — surtout utile en version hébergée } } Les commentaires s’écrivent //, #, ou /* ... */. Les mots-clés sont insensibles à la casse — softwareSystem et softwaresystem sont équivalents — mais la convention en camelCase se respecte par lisibilité.</description></item><item><title>Vues et styles</title><link>https://quentinpigne.github.io/architecture/c4/structurizr/vues-et-styles/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quentinpigne.github.io/architecture/c4/structurizr/vues-et-styles/index.html</guid><description>Le modèle décrit ce qui existe ; les vues décident de ce qu’on montre. C’est dans ce bloc que se joue la lisibilité, et c’est celui qu’on retouche le plus souvent.
Les sept types de vues Vue Portée Correspond à systemLandscape Plusieurs systèmes Le paysage d’ensemble systemContext &lt;système&gt; Un système et ses voisins Niveau 1 container &lt;système&gt; Les conteneurs d’un système Niveau 2 component &lt;conteneur&gt; Les composants d’un conteneur Niveau 3 dynamic &lt;portée&gt; Une séquence d’interactions numérotées Diagramme dynamique deployment &lt;portée&gt; &lt;environnement&gt; Les instances sur l’infrastructure Diagramme de déploiement filtered &lt;vue de base&gt; Une vue existante, filtrée par étiquettes Variante thématique Chaque vue accepte une clé — son identifiant, utilisé pour les noms de fichiers exportés — et une description :</description></item><item><title>Mise en œuvre</title><link>https://quentinpigne.github.io/architecture/c4/structurizr/mise-en-oeuvre/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quentinpigne.github.io/architecture/c4/structurizr/mise-en-oeuvre/index.html</guid><description>Du fichier workspace.dsl à des diagrammes consultables, versionnés et vérifiés en intégration continue.
Le serveur local C’est la façon la plus rapide de voir ses diagrammes : un conteneur Docker qui lit un workspace.dsl dans un dossier et sert une interface web.
docker run -it --rm -p 8080:8080 \ -v "$PWD:/usr/local/structurizr" \ structurizr/structurizr local Warning La commande était auparavant l’image structurizr/lite, sans argument — forme que l’on trouve encore partout en ligne. Elle est dépréciée et n’affiche plus qu’une bannière de migration. Le point de montage et le port sont restés identiques, la migration se réduit donc à changer le nom de l’image et à ajouter local.</description></item></channel></rss>