- Déplacement de toute la documentation v2 dans docs/FabNum v2/ - Ajout points 13 (bus d'impact, mémoire situationnelle, IA) et 14 (combinatoire) - Architecture structurel/situationnel, IVC dynamique inter-sectoriel - 4 vues architecturales progressives (vue1→vue4) pour présentation - Génération PNG de tous les diagrammes - .gitignore : docs/**/*.dot au lieu de docs/*.dot Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
90 lines
3.7 KiB
Plaintext
90 lines
3.7 KiB
Plaintext
digraph architecture_vue3 {
|
|
rankdir=TB;
|
|
fontname="Arial";
|
|
fontsize=18;
|
|
label="FabNum — Vue 3 : Veille stratégique 360°\nLe monde extérieur interagit avec FabNum\n";
|
|
labelloc=t;
|
|
splines=true;
|
|
nodesep=0.7;
|
|
ranksep=0.9;
|
|
node [fontname="Arial", fontsize=10, style="filled,rounded", shape=box, penwidth=1.5];
|
|
edge [fontname="Arial", fontsize=9, penwidth=1.2];
|
|
|
|
// Ligne 1 : utilisateurs (4 colonnes fixes)
|
|
admin [
|
|
label="Administrateur\n\nGère le graphe,\nles sources, les tiers\nde confiance"
|
|
fillcolor="#FFE082" shape=house
|
|
];
|
|
expert [
|
|
label="Expert\n\nAnalyse les risques,\nqualifie les données,\nsimule des scénarios\nd'impact,\nvalide les sources"
|
|
fillcolor="#A5D6A7" shape=house
|
|
];
|
|
client [
|
|
label="Client\n(COMEX, Métiers, DSI)\n\nConsulte les analyses,\nles fiches, les alertes.\nPeut contextualiser\nses requêtes."
|
|
fillcolor="#EF9A9A" shape=house
|
|
];
|
|
ecosysteme [
|
|
label="Écosystème\nveille 360°\n\nDétecte les événements,\npropose des sources,\nrequête FabNum"
|
|
fillcolor="#CE93D8" shape=house
|
|
];
|
|
{ rank=same; admin; expert; client; ecosysteme; }
|
|
|
|
// Ligne 2 : API + placeholder bus
|
|
api [
|
|
label="API\n\nPoint d'accès unique\nAuthentification, rôles,\nprofils de visibilité"
|
|
fillcolor="#B39DDB" penwidth=2
|
|
];
|
|
// Placeholder bus (invisible)
|
|
ph_bus [label="" shape=point width=0.01 style=invis];
|
|
{ rank=same; api; ph_bus; }
|
|
|
|
// Ligne 3 : Moteur + placeholder IA + veille
|
|
moteur [
|
|
label="Moteur FabNum\n\nCalcul des indices\n(IHH, ICS, IVC, ISG)\nRequêtage du graphe\nChemins critiques\nGénération fiches (templates)\nArbitrage des sources\nPropagation d'impact"
|
|
fillcolor="#90CAF9" penwidth=2
|
|
];
|
|
// Placeholder IA (invisible)
|
|
ph_ia [label="" shape=point width=0.01 style=invis];
|
|
veille [
|
|
label="Veille sources\n\nSurveillance des sources\n(huginn)\nVérification des citations\nAlertes (variations)"
|
|
fillcolor="#FFAB91" penwidth=1.5
|
|
];
|
|
{ rank=same; veille; moteur; ph_ia; }
|
|
|
|
// Ligne 4 : BDD + sources
|
|
bdd [
|
|
label="Base de données\n(graphe)\n\nNœuds, relations, indices\nSources rattachées\nHistorique des données"
|
|
fillcolor="#80CBC4" penwidth=2
|
|
];
|
|
sources [
|
|
label="Sources externes\n\nUSGS, Statista, BRGM,\nScholar Gateway, Consensus,\nWRI Aqueduct, ND-GAIN..."
|
|
fillcolor="#E0E0E0" shape=cylinder
|
|
];
|
|
{ rank=same; bdd; sources; }
|
|
|
|
// Relations utilisateurs
|
|
expert -> api [label="consulte, analyse\net simule", color="#2E7D32"];
|
|
client -> api [label="consulte\nles résultats", color="#C62828"];
|
|
admin -> moteur [label="administre\n(scripts)", color="#E65100", style=bold, penwidth=2];
|
|
|
|
// Écosystème 360° — deux points d'interaction
|
|
ecosysteme -> api [label="requête\nanalyses", color="#6A1B9A", penwidth=2];
|
|
ecosysteme -> expert [label="propose\ndes sources", color="#6A1B9A", style=dashed, penwidth=2];
|
|
expert -> sources [label="valide et\nalimente", color="#2E7D32", style=bold];
|
|
|
|
// API ↔ Moteur
|
|
api -> moteur [label="transmet\nles requêtes", color="#4527A0", dir=both];
|
|
|
|
// Moteur ↔ BDD
|
|
moteur -> bdd [label="lit et écrit\nles données", color="#00695C", dir=both];
|
|
|
|
// Veille
|
|
sources -> veille [label="surveille\nles MAJ", color="#BF360C"];
|
|
veille -> bdd [label="met à jour\nles sources", color="#E65100", style=dashed];
|
|
veille -> moteur [label="signale les\nchangements\net vérifie\nles citations", color="#E65100"];
|
|
sources -> bdd [label="alimente\nles données", color="#546E7A", style=dashed];
|
|
|
|
// Liens invisibles pour stabiliser
|
|
ph_bus -> ph_ia [style=invis];
|
|
}
|