Suite de « Cartographier un SI : mon cheminement d'architecte SI, entre vision métier, vérité infra et pragmatisme open source ».
Dans le premier Ă©pisode, on racontait comment on avait fini par sĂ©parer deux besoins : une vue macro lisible par un DSI, et une vĂ©ritĂ© infra outillĂ©e. Et comment on avait choisi NetBox comme socle. Voici ce qui s'est passĂ© ensuite â y compris ce qui a plantĂ©.
LĂ oĂč on s'Ă©tait arrĂȘtĂ©
Fin de l'acte 1 : deux mondes cÎte à cÎte. D'un cÎté it-landscape, le petit dashboard maison alimenté par un export JSON nocturne. De l'autre NetBox, qui commençait à devenir la source de vérité de l'infra (IPAM, DCIM, VM via vCenter/RVTools).
Ăa marchait. Mais ça avait un dĂ©faut qu'on connaĂźt trop bien : deux rĂ©fĂ©rentiels Ă maintenir, et une synchro fragile entre les deux. La carto mĂ©tier Ă©tait toujours en lĂ©ger dĂ©calage avec la rĂ©alitĂ©. Le classique « la doc dit X, la prod fait Y ».
On a alors pris la dĂ©cision qui structure tout l'acte 2 : arrĂȘter de synchroniser, et brancher la vue mĂ©tier directement sur la source de vĂ©ritĂ©.
1. it-landscape n'est plus un outil Ă part : c'est un plugin NetBox
Le virage le plus important n'a pas Ă©tĂ© technique, il a Ă©tĂ© conceptuel : accepter que la cartographie applicative n'a pas besoin de sa propre base. Elle a besoin d'ĂȘtre une vue sur la donnĂ©e qui fait dĂ©jĂ foi.
ConcrÚtement, it-landscape est devenu un plugin NetBox natif : domaines métier, processus, applications et flux sont désormais des modÚles NetBox à part entiÚre. Et d'un coup, on hérite gratuitement de tout ce que NetBox sait faire :
- permissions par objet (RBAC),
- changelog et journal sur chaque application, chaque flux,
- API REST et recherche globale,
- des panneaux contextuels : sur la fiche d'une VM ou d'un site, on voit directement les applications qui s'y rattachent.
Plus de synchro nocturne. Plus de donnĂ©es dĂ©calĂ©es. La vue macro (Domaine â Processus â Application) et la vue micro (le serveur, l'IP, le flux) regardent la mĂȘme donnĂ©e, au mĂȘme instant.
# La bascule tient en une ligne de config NetBox
PLUGINS = ["netbox_it_landscape"]
2. Enrichir le modĂšle pour qu'il serve vraiment
Une carto qui liste des applications, c'est un inventaire. Une carto qui aide à décider, c'est autre chose. On a donc enrichi le modÚle avec ce dont un RSSI et une cellule qualité ont besoin :
- criticité métier par processus,
- DICP (DisponibilitĂ©, IntĂ©gritĂ©, ConfidentialitĂ©, Preuve â le langage de la PGSSIâS),
- zones d'urbanisation (cadre ANSSI), type de processus, type d'hébergement (jusqu'au HDS),
- fournisseur / éditeur rattaché au référentiel constructeurs de NetBox.
3. Automatiser la découverte⊠et la leçon de pragmatisme
Tant qu'à avoir une source de vérité, autant qu'elle se remplisse toute seule. Objectif : découvrir automatiquement les switches et firewalls en SNMP et les injecter dans NetBox (devices, interfaces, IP, VLAN, stacks).
On a dĂ©marrĂ© avec la stack « officielle » de dĂ©couverte (agent + serveur d'ingestion). Et là ⊠le mur. Sur le volume rĂ©el d'une dĂ©couverte rĂ©seau (des dizaines de switches, des milliers d'interfaces), le composant de rĂ©conciliation partait en boucle de timeouts, crĂ©ait des doublons, et a mĂȘme rĂ©ussi Ă mettre l'instance Ă genoux.
PlutĂŽt que de s'acharner, on a fait ce que l'on recommande toujours : revenir Ă ce qui est fiable.
L'agent de dĂ©couverte sait produire un dryârun : un export JSON propre de tout ce qu'il voit, sans rien Ă©crire. On a donc Ă©cartĂ© le composant instable et Ă©crit un importeur maison, idempotent, qui lit ce JSON et Ă©crit dans NetBox via l'API, Ă dĂ©bit maĂźtrisĂ©, clĂ© = nom (le sysName rĂ©el de l'Ă©quipement).
Agent SNMP (dry-run) â JSON propre â importeur idempotent â NetBox
(ce qu'il voit) (ce que l'on contrÎle) (la vérité)
Résultat : la découverte tourne désormais en cron, modélise proprement les stacks, et ne crée aucun doublon. Le tout sans dépendre du composant qui avait fait perdre une journée.
La leçon (trĂšs en phase avec l'acte 1) : la bonne solution n'est pas la plus « officielle », c'est celle qui est fiable, lisible et qu'on maĂźtrise. Un dryârun + 250 lignes de Python idempotent ont battu une plateforme entiĂšre.
4. Passer de la carto qui décrit à la carto qui répond « et si ? »
C'est la fonctionnalité la plus marquante, parce qu'elle change la nature de l'outil : le simulateur d'impact en cascade.
Une cartographie statique rĂ©pond à « qu'estâce qu'on a ? ». On voulait qu'elle rĂ©ponde à « qu'estâce qui tombe si ça tombe ? ».
Le principe : on sélectionne un ou plusieurs composants en panne (une application, un flux, une VM, un équipement, un hébergeur) avec une sévérité (HS, dégradé, latence, intermittent). Le moteur propage l'impact à travers les flux applicatifs (un parcours en largeur, atténué selon la profondeur et le type d'interface : un flux EAI temps réel ne propage pas comme un batch SFTP). Et il sort :
- les applications et processus métier impactés, regroupés par établissement,
- les flux bloqués,
- les causes par application,
- des actions recommandées.
Soudain, la carto ne sert plus seulement Ă documenter : elle sert Ă prĂ©parer un plan blanc, Ă arbitrer une fenĂȘtre de maintenance, Ă expliquer Ă un mĂ©tier pourquoi telle dĂ©pendance est critique. C'est de la donnĂ©e de carto qui devient de l'aide Ă la dĂ©cision.
Ce qu'on en retient
- Une seule source de vĂ©ritĂ© bat deux rĂ©fĂ©rentiels synchronisĂ©s, toujours. Le coĂ»t de la synchro est invisible jusqu'au jour oĂč il vous explose Ă la figure.
- Brancher la vue métier sur la donnée d'infra réconcilie deux publics (DSI/gouvernance et équipes techniques) sans double saisie.
- Le pragmatisme reste la meilleure architecture : un dryârun + un importeur maison ont rendu la dĂ©couverte fiable lĂ oĂč la stack lourde Ă©chouait.
- Open source = exigence + transparence. Publier oblige à des migrations propres, des tests, de l'i18n. C'est inconfortable, et c'est exactement pour ça que ça tire la qualité vers le haut.
Essayezâle
netbox-it-landscape est sur GitHub, sous licence MIT â vues mĂ©tier/applicative/flux, KPIs, comparaison d'Ă©tablissements, assistant d'initialisation (bundles SIH et industrie), et le simulateur d'impact en cascade.
đ github.com/lquastana/netbox-it-landscape â installezâle sur une instance de test (pip install netbox-it-landscape), adaptezâle Ă votre contexte, ouvrez une issue ou une PR. Et si ça vous parle, une â aide Ă donner de la visibilitĂ© au projet.
La cartographie n'est pas un document qu'on termine. C'est un systĂšme vivant qu'on branche Ă la vĂ©ritĂ© â et qu'on apprend, petit Ă petit, Ă faire rĂ©pondre aux bonnes questions.

