- 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>
167 lines
5.5 KiB
Plaintext
167 lines
5.5 KiB
Plaintext
digraph architecture_fabnum {
|
|
// Configuration générale
|
|
rankdir=TB;
|
|
fontname="Arial";
|
|
fontsize=18;
|
|
label="FabNum — Architecture globale\n\n";
|
|
labelloc=t;
|
|
splines=true;
|
|
nodesep=0.7;
|
|
ranksep=0.9;
|
|
node [fontname="Arial", fontsize=11, style="filled,rounded", shape=box, penwidth=1.5];
|
|
edge [fontname="Arial", fontsize=9, penwidth=1.2];
|
|
|
|
// ==================== UTILISATEURS ====================
|
|
|
|
admin [
|
|
label="Administrateur\n\nGère le graphe structurel,\nles sources, les tiers\nde confiance, les arbitrages"
|
|
fillcolor="#FFE082"
|
|
shape=house
|
|
fontsize=10
|
|
];
|
|
|
|
expert [
|
|
label="Expert\n\nAnalyse les risques,\nqualifie les données,\nvalide les impacts"
|
|
fillcolor="#A5D6A7"
|
|
shape=house
|
|
fontsize=10
|
|
];
|
|
|
|
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
|
|
fontsize=10
|
|
];
|
|
|
|
// ==================== ÉCOSYSTÈME / VEILLE 360° ====================
|
|
|
|
ecosysteme [
|
|
label="Écosystème\nveille 360°\n\nDétecte les événements,\nalimente les sources\net le bus d'impact"
|
|
fillcolor="#CE93D8"
|
|
shape=house
|
|
fontsize=10
|
|
];
|
|
|
|
// ==================== API ====================
|
|
|
|
api [
|
|
label="API\n\nPoint d'accès unique\nAuthentification, rôles,\nprofils de visibilité\n\nSert le graphe situationnel\n(structurel accessible aussi)"
|
|
fillcolor="#B39DDB"
|
|
fontsize=11
|
|
penwidth=2
|
|
];
|
|
|
|
// ==================== BUS D'IMPACT ====================
|
|
|
|
bus [
|
|
label="Bus d'impact\n\nMémoire situationnelle\nTraduction événements → impacts\nAccumule, met à jour, archive\nMise à jour en continu\n(rythme décisionnel)"
|
|
fillcolor="#FF8A65"
|
|
fontsize=11
|
|
penwidth=2.5
|
|
style="filled,rounded,bold"
|
|
];
|
|
|
|
ia_bus [
|
|
label="IA\n\nAnalyse les événements,\npropose les impacts\nchiffrés"
|
|
fillcolor="#FFCC80"
|
|
fontsize=10
|
|
];
|
|
|
|
// ==================== MOTEUR ====================
|
|
|
|
moteur [
|
|
label="Moteur FabNum\n\nCalcul des indices\n(structurels et situationnels)\nRequêtage, chemins critiques\nGénération fiches (templates)\nArbitrage sources\nProjection temporelle"
|
|
fillcolor="#90CAF9"
|
|
fontsize=11
|
|
penwidth=2
|
|
];
|
|
|
|
// ==================== BASE DE DONNÉES ====================
|
|
|
|
subgraph cluster_bdd {
|
|
label="Base de données (graphe)";
|
|
style=filled;
|
|
color="#E0F2F1";
|
|
fontsize=11;
|
|
fontcolor="#00695C";
|
|
|
|
bdd_struct [
|
|
label="Graphe structurel\n\nCapacités nominales\nActeurs, pays, parts de marché\nIndices structurels\nMise à jour trimestrielle"
|
|
fillcolor="#80CBC4"
|
|
fontsize=10
|
|
];
|
|
|
|
bdd_situa [
|
|
label="Graphe situationnel\n\nImpacts actifs\nCapacités réelles\nIndices situationnels\nHistorique des situations"
|
|
fillcolor="#4DB6AC"
|
|
fontsize=10
|
|
];
|
|
}
|
|
|
|
// ==================== VEILLE SUR LES SOURCES ====================
|
|
|
|
veille [
|
|
label="Veille sources\n\nSurveillance des sources (huginn)\nVérification des citations\nAlertes (variations)"
|
|
fillcolor="#FFAB91"
|
|
fontsize=10
|
|
penwidth=1.5
|
|
];
|
|
|
|
// ==================== SOURCES ====================
|
|
|
|
sources [
|
|
label="Sources externes\n\nUSGS, Statista, BRGM,\nScholar Gateway, Consensus,\nWRI Aqueduct, ND-GAIN..."
|
|
fillcolor="#E0E0E0"
|
|
shape=cylinder
|
|
fontsize=10
|
|
];
|
|
|
|
// ==================== DISPOSITION ====================
|
|
|
|
{ rank=same; admin; expert; client; ecosysteme; }
|
|
{ rank=same; bus; api; }
|
|
{ rank=same; ia_bus; moteur; }
|
|
|
|
// ==================== RELATIONS ====================
|
|
|
|
// Expert → API + validation impacts
|
|
expert -> api [label="consulte\nanalyse", color="#2E7D32"];
|
|
expert -> bus [label="valide\nles impacts", color="#E65100", style=bold];
|
|
|
|
// Client → API
|
|
client -> api [label="consulte\nles résultats", color="#C62828"];
|
|
|
|
// Écosystème → Bus d'impact + Sources
|
|
ecosysteme -> bus [label="injecte\ndes événements", color="#6A1B9A", penwidth=2];
|
|
ecosysteme -> sources [label="alimente\nles sources", color="#6A1B9A", style=dashed];
|
|
|
|
// Admin → Moteur (accès direct par scripts)
|
|
admin -> moteur [label="administre\n(scripts)", color="#E65100", style=bold, penwidth=2];
|
|
|
|
// IA ↔ Bus
|
|
bus -> ia_bus [label="événement\nà analyser", color="#E65100", dir=both];
|
|
|
|
// Bus → Moteur (impacts chiffrés)
|
|
bus -> moteur [label="impacts\nchiffrés", color="#BF360C", penwidth=2];
|
|
|
|
// API ↔ Moteur
|
|
api -> moteur [label="transmet\nles requêtes", color="#4527A0", dir=both];
|
|
|
|
// Moteur ↔ Base de données
|
|
moteur -> bdd_struct [label="lit/écrit\nstructurel", color="#00695C", dir=both];
|
|
moteur -> bdd_situa [label="lit/écrit\nsituationnel", color="#00695C", dir=both];
|
|
|
|
// Bus → BDD situationnel
|
|
bus -> bdd_situa [label="met à jour\nles impacts", color="#BF360C", style=dashed];
|
|
|
|
// Veille → Sources
|
|
sources -> veille [label="surveille\nles MAJ", color="#BF360C"];
|
|
|
|
// Veille → BDD structurel
|
|
veille -> bdd_struct [label="met à jour\nles sources", color="#E65100", style=dashed];
|
|
|
|
// Sources → BDD structurel
|
|
sources -> bdd_struct [label="alimente\nles données", color="#546E7A", style=dashed];
|
|
}
|