Modèle C4
Architecture 🟡 MidDéfinition
Méthode de Simon Brown pour représenter une architecture logicielle à quatre niveaux de zoom : Contexte (le système et ses utilisateurs/systèmes voisins), Conteneurs (applications, API, bases déployables), Composants (modules à l'intérieur d'un conteneur) et Code (classes, si nécessaire). Chaque niveau s'adresse à un public différent et reste lisible seul ; l'outil Structurizr permet de décrire le modèle en texte versionné.
Analogie
Google Maps pour un logiciel : la vue pays, puis la ville, puis le quartier, puis la rue ; on choisit le zoom selon l'interlocuteur.
Exemple de code
# workspace.dsl (Structurizr DSL) – modèle versionné avec le code
workspace {
model {
client = person "Client"
boutique = softwareSystem "Boutique en ligne" {
web = container "Front Next.js" "React"
api = container "API commandes" "NestJS"
db = container "Base" "PostgreSQL"
}
client -> web "Commande via"
web -> api "Appelle" "HTTPS/JSON"
api -> db "Lit/écrit"
}
views { systemContext boutique { include * } container boutique { include * } }
}
Cas d'usage
Expliquer l'architecture à un nouvel arrivant, à un client ou en entretien sans noyer le contexte sous les détails d'implémentation.
Anti-pattern
Termes liés
Fiche mise à jour le 2026-09-27