Carte de propriété
La carte de propriété vous offre une vue d'ensemble de qui est responsable de quoi dans toute votre architecture. Les équipes et utilisateurs apparaissent sous forme de bulles interactives, dimensionnées selon le nombre d'éléments qu'ils possèdent. Survolez pour révéler les lignes de dépendance entre propriétaires, et cliquez pour explorer les éléments dont chaque équipe ou personne est responsable.
Concepts fondamentaux
Propriétaires
Chaque élément C4 (system, container, component) peut être assigné à un ou plusieurs propriétaires :
| Type de propriétaire | Description |
|---|---|
| Équipe | Une équipe au sein de votre organisation. Idéal pour représenter des squads, des guildes ou des équipes de domaine. |
| Utilisateur | Un utilisateur individuel. Utile pour les mainteneurs solo ou la responsabilité individuelle. |
Un élément peut avoir simultanément des propriétaires de type équipe et de type utilisateur. Les éléments sans aucun propriétaire sont suivis comme non assignés et contribuent aux lacunes de couverture.
Couverture
La couverture mesure combien de vos éléments d'architecture ont au moins un propriétaire assigné. L'en-tête de la carte de propriété affiche :
- Pourcentage de couverture global -- coloré en vert (80%+), orange (50-79%), ou rouge (en dessous de 50%)
- Détail par niveau -- statistiques séparées pour les systems, containers et components
- Nombre assignés / total -- chiffres bruts pour une référence rapide
Dépendances
Lorsque des relations C4 existent entre des éléments possédés par différentes équipes, la carte de propriété trace des lignes de dépendance entre ces propriétaires. Cela met en évidence le couplage inter-équipes -- par exemple, "les services de l'équipe Frontend dépendent de l'API Gateway de l'équipe Plateforme."
Les dépendances sont :
- Agrégées à partir des relations C4 individuelles en arêtes propriétaire-à-propriétaire
- Pondérées par le nombre de relations sous-jacentes (plus épais = plus de dépendances)
- Affichées au survol pour garder la vue d'ensemble lisible
Utiliser la carte de propriété
Vue d'ensemble
Naviguez vers Architecture globale puis l'onglet Propriété. La vue d'ensemble montre toutes les équipes et utilisateurs sous forme de bulles colorées :
- La taille de la bulle reflète le nombre d'éléments dont le propriétaire est responsable
- La couleur de la bulle est attribuée automatiquement par équipe/utilisateur
- L'icône de l'équipe/utilisateur ou l'avatar est affiché à l'intérieur de chaque bulle si disponible
Les bulles sont positionnées via un algorithme de force qui regroupe naturellement les propriétaires connectés plus près les uns des autres.
Survol
Survolez n'importe quelle bulle pour :
- Voir une infobulle avec le nom complet du propriétaire et le nombre d'éléments
- Révéler les lignes de dépendance vers les propriétaires connectés (avec des tirets animés et des badges de comptage)
- Atténuer les bulles non liées pour faire ressortir le voisinage de propriété
Zoom détaillé
Cliquez sur n'importe quelle bulle pour zoomer dans une vue détaillée des éléments de ce propriétaire :
- Une animation de révélation circulaire effectue la transition de la bulle vers un panneau de détail en plein écran
- L'en-tête principal affiche l'icône du propriétaire, son nom, son type (Équipe/Utilisateur) et des cartes de statistiques
- Les cartes de statistiques servent de filtres -- cliquez sur "Systems", "Containers" ou "Components" pour n'afficher que ce type
- Les éléments sont affichés dans une grille de cartes regroupées par niveau C4, avec :
- Nom et description de l'élément
- Nom du projet
- Pastilles de co-propriété (autres équipes/utilisateurs qui possèdent aussi cet élément)
- Appuyez sur Échap ou cliquez sur Retour pour revenir à la vue d'ensemble
Recherche
La barre de recherche filtre au niveau des bulles. Saisissez n'importe quelle combinaison de :
- Nom du propriétaire -- ex. "Plateforme" ou "Alice"
- Nom de l'élément -- ex. "API Gateway"
- Nom du projet -- ex. "Payment Service"
La recherche utilise une correspondance plein texte : tous les termes doivent apparaître quelque part dans le nom du propriétaire de la bulle, les noms d'éléments ou les noms de projets.
Éléments non assignés
Cliquez sur le bouton non assignés dans l'en-tête pour révéler une bulle grise spéciale contenant tous les éléments sans aucun propriétaire. Cela permet d'identifier les lacunes de couverture qui nécessitent attention.
Assigner la propriété
Via le diagramme
- Faites un clic droit sur n'importe quel system, container ou component dans le diagramme C4
- Ouvrez la section Propriétaires dans le panneau de détail
- Cliquez sur Ajouter un propriétaire et sélectionnez une équipe ou un utilisateur
- La carte de propriété se met à jour automatiquement
Via la vue détaillée de la carte de propriété
Lorsque vous avez zoomé sur une équipe ou un utilisateur, les éléments listés affichent leur propriété actuelle. Naviguez vers l'élément sur le diagramme de son projet pour modifier les propriétaires.
Via l'API
Utilisez les endpoints de propriété des éléments pour assigner la propriété de manière programmatique :
Définir les propriétaires d'un élément :
PUT /api/v1/c4/systems/:id/owners
Content-Type: application/json
Authorization: Bearer <token>
{
"teamOwnerIds": ["<team-uuid-1>", "<team-uuid-2>"],
"userOwnerIds": ["<user-uuid-1>"]
}
Le même modèle d'endpoint fonctionne pour les containers (/c4/containers/:id/owners) et les components (/c4/components/:id/owners).
Bonnes pratiques
Assigner la propriété tôt
- Définissez la propriété d'équipe lors de la création ou de la découverte de nouveaux systems
- Incluez la propriété dans votre processus de revue de découverte IA
- Visez 80%+ de couverture sur tous les niveaux C4
Privilégier les équipes aux utilisateurs individuels
- Les équipes survivent au turnover -- la propriété individuelle crée des silos de connaissance
- Assignez les équipes comme propriétaires principaux et ajoutez des utilisateurs individuels pour la responsabilisation si nécessaire
- Faites correspondre les équipes à la structure réelle de squads ou de domaines de votre organisation
Examiner les dépendances inter-équipes
- Survolez chaque équipe régulièrement pour vérifier les lignes de dépendance
- Un nombre élevé de dépendances entre deux équipes peut indiquer un couplage fort
- Utilisez cette information pour orienter les décisions sur les frontières de services et le travail sur les contrats d'API
Suivre la couverture dans le temps
- Surveillez le pourcentage de couverture dans l'en-tête
- Traitez les éléments non assignés avant qu'ils ne s'accumulent
- Considérez une couverture de propriété à 100% comme un objectif d'hygiène, pas une tâche ponctuelle
Prochaines étapes
- Architecture Decision Records -- Documentez les décisions liées aux éléments dont vous êtes propriétaire
- Architecture Insights -- Détectez les problèmes dans les éléments de votre équipe
- Gestion des releases -- Suivez les déploiements des systems dont vous êtes responsable
- Contrats d'API -- Documentez les API entre les frontières d'équipes