Code/docs/FabNum v2/EVOLUTIONS-PLANIFICATION.md
Stéphan Peccini e6ff714fca
docs(evolution): réorganisation docs/FabNum v2/ + points 13-14 + vues progressives
- 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>
2026-04-08 11:54:52 +02:00

26 KiB
Raw Blame History

FabNum — Planification macro

Vues synthétiques dérivées de EVOLUTIONS.md. Date : 2026-04-02


1. Présentation synthétique temporelle

T0                    T1                    T2                    T3                   Horizon
│                     │                     │                     │                    │
│  PHASE 1            │  PHASE 2            │  PHASE 3            │  PHASE 4           │
│  Fondations         │  Modèle & Stockage  │  Données & Sources  │  Fiches & API      │
│                     │                     │                     │                    │
│ ┌─────────────────┐ │ ┌─────────────────┐ │ ┌─────────────────┐ │ ┌───────────────┐ │ ┌──────────────┐
│ │ P7 Validation   │ │ │ P3 Modèle de    │ │ │ P2 Gestion des  │ │ │ P5 Templates  │ │ │ P10 Énergie  │
│ │ niveaux (revue  │→│ │ données         │→│ │ sources (//P2   │→│ │ et génération │ │ │ et eau       │
│ │ littérature)    │ │ │ structuré       │ │ │ dès phase 2)    │ │ │ fiches        │ │ │              │
│ └─────────────────┘ │ └─────────────────┘ │ └─────────────────┘ │ └───────────────┘ │ │ P11 Géo fine │
│ ┌─────────────────┐ │ ┌─────────────────┐ │ ┌─────────────────┐ │ ┌───────────────┐ │ │              │
│ │ P6 Spike techno │ │ │ P6 Implém.      │ │ │ P4 Amorçage     │ │ │ P1 API REST   │ │ │ P9 Multi-    │
│ │ base données    │ │ │ stockage retenu │ │ │ 3M+1C+1PF       │ │ │ + rôles       │ │ │ sectoriel    │
│ │ (Docker/serveur)│ │ │                 │ │ │ + audit exhaust. │ │ │               │ │ └──────────────┘
│ └─────────────────┘ │ └─────────────────┘ │ └─────────────────┘ │ ├───────────────┤ │
│                     │                     │                     │ │ P8 Services,  │ │
│                     │                     │                     │ │ sécu, profils  │ │
│         ║           │          ║          │          ║          │ └───────────────┘ │
│      parallèle      │       séquentiel    │    P2 // dès Ph.2  │                    │
│                     │                     │                     │                    │
├─────────────────────┼─────────────────────┼─────────────────────┤                    │
│              MVP = Phases 1+2+3           │                     │                    │
└─────────────────────┴─────────────────────┴─────────────────────┘                    │

Légende : M = minerai, C = composant, PF = produit final, // = parallèle


2. Macro-DAF (Diagramme d'Activités Fonctionnel)

Vue par fonctions métier — ce que fait le système, pour qui, et dans quel ordre.

┌─────────────────────────────────────────────────────────────────────────────────────┐
│                          FABNUM — ACTIVITÉS FONCTIONNELLES                          │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F1. MODÉLISER LA CHAÎNE DE VALEUR                              │               │
│  │  ├─ F1.1 Valider les niveaux de décomposition (revue litt.)     │               │
│  │  ├─ F1.2 Définir les intitulés génériques des niveaux           │               │
│  │  ├─ F1.3 Définir les critères d'arrêt (profondeur)             │               │
│  │  └─ F1.4 Gérer les chaînes principales et connexes             │               │
│  │  Acteurs : Admin                                                │               │
│  └──────────────┬───────────────────────────────────────────────────┘               │
│                 ▼                                                                    │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F2. STRUCTURER ET QUALIFIER LES DONNÉES                        │               │
│  │  ├─ F2.1 Spécifier les données (essentielles / informationnelles)│              │
│  │  ├─ F2.2 Définir le périmètre mesuré de chaque donnée          │               │
│  │  ├─ F2.3 Identifier et catégoriser les sources                  │               │
│  │  ├─ F2.4 Attribuer les tiers de confiance (par source/domaine) │               │
│  │  ├─ F2.5 Qualifier les données (filtres qualité)               │               │
│  │  ├─ F2.6 Arbitrer les divergences entre sources                │               │
│  │  └─ F2.7 Calculer l'indice de fiabilité par donnée             │               │
│  │  Acteurs : Admin                                                │               │
│  └──────────────┬───────────────────────────────────────────────────┘               │
│                 ▼                                                                    │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F3. SURVEILLER ET MAINTENIR                                    │               │
│  │  ├─ F3.1 Veiller sur les sources (huginn)                      │               │
│  │  ├─ F3.2 Détecter les variations anormales (alertes)           │               │
│  │  ├─ F3.3 Contrôler les citations/affirmations (verify-citations)│              │
│  │  ├─ F3.4 Historiser les données et les indices                  │               │
│  │  └─ F3.5 Auditer l'exhaustivité des minerais                   │               │
│  │  Acteurs : Admin (gouvernance), Services internes (automatisé)  │               │
│  └──────────────┬───────────────────────────────────────────────────┘               │
│                 ▼                                                                    │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F4. CALCULER LES INDICES DE CRITICITÉ                          │               │
│  │  ├─ F4.1 Calculer IHH, ICS, IVC, ISG (+ futurs : eau, énergie) │               │
│  │  ├─ F4.2 Pré-calculer à chaque mise à jour du graphe           │               │
│  │  ├─ F4.3 Calculer les méta-indices dynamiques (sur sélection)  │               │
│  │  └─ F4.4 Rétro-analyser sur des crises passées (backtesting)   │               │
│  │  Acteurs : Services internes (automatisé)                       │               │
│  └──────────────┬───────────────────────────────────────────────────┘               │
│                 ▼                                                                    │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F5. PRODUIRE LES FICHES                                        │               │
│  │  ├─ F5.1 Générer depuis les données via templates               │               │
│  │  ├─ F5.2 Adapter par niveau (minerai, composant, opération...) │               │
│  │  └─ F5.3 Adapter par usage (expertise, synthèse, API/JSON)     │               │
│  │  Acteurs : Services internes (automatisé)                       │               │
│  └──────────────┬───────────────────────────────────────────────────┘               │
│                 ▼                                                                    │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F6. EXPOSER ET SERVIR                                          │               │
│  │  ├─ F6.1 Requêtage du graphe (expert / simplifié)              │               │
│  │  ├─ F6.2 Consultation des fiches (tous formats)                │               │
│  │  ├─ F6.3 Analyse de vulnérabilité et scénarios                 │               │
│  │  ├─ F6.4 Export (PDF, JSON, DOT)                               │               │
│  │  ├─ F6.5 Personnalisation client (projection SI)               │               │
│  │  └─ F6.6 Intégration écosystème veille 360°                    │               │
│  │  Acteurs : Expert, Service, COMEX, Métiers, DSI               │               │
│  └──────────────────────────────────────────────────────────────────┘               │
│                                                                                     │
│  ┌──────────────────────────────────────────────────────────────────┐               │
│  │  F7. SÉCURISER ET CONTRÔLER                         (transversal)│              │
│  │  ├─ F7.1 Authentifier (utilisateur / clé API)                   │               │
│  │  ├─ F7.2 Autoriser par rôle (admin, expert, service)           │               │
│  │  ├─ F7.3 Filtrer par profil de visibilité                      │               │
│  │  ├─ F7.4 Rate limiting                                          │               │
│  │  └─ F7.5 Monitoring / observabilité                             │               │
│  │  Acteurs : Admin (configuration), Système (exécution)           │               │
│  └──────────────────────────────────────────────────────────────────┘               │
└─────────────────────────────────────────────────────────────────────────────────────┘

Flux principal : F1 → F2 → F3 → F4 → F5 → F6
F3 tourne en continu (veille)
F4 se déclenche à chaque mise à jour du graphe
F7 est transversal à F5 et F6

3. Macro-DAT (Diagramme d'Activités Technique)

Vue par composants techniques — ce qu'il faut construire et comment ça s'articule.

┌─────────────────────────────────────────────────────────────────────────────────────┐
│                           FABNUM — ARCHITECTURE TECHNIQUE                           │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│  ┌────────────────────────────────────────────────────────┐                         │
│  │              COUCHE STOCKAGE                           │                         │
│  │                                                        │                         │
│  │  ┌──────────────────┐  ┌───────────────────────────┐  │                         │
│  │  │  Base graphe     │  │  Historisation             │  │                         │
│  │  │  (Neo4j / PG+AGE │  │  (snapshots horodatés     │  │                         │
│  │  │   / ArangoDB)    │  │   données + indices)      │  │                         │
│  │  │                  │  │                           │  │                         │
│  │  │  • Nœuds (N0-N12)│  │  • Versions des données   │  │                         │
│  │  │  • Arêtes + attrs│  │  • Versions des indices   │  │                         │
│  │  │  • Multi-graphes │  │  • Audit trail            │  │                         │
│  │  │  • Schéma évolutif│  │                           │  │                         │
│  │  └────────┬─────────┘  └─────────────┬─────────────┘  │                         │
│  └───────────┼──────────────────────────┼────────────────┘                         │
│              │                          │                                           │
│              ▼                          ▼                                           │
│  ┌────────────────────────────────────────────────────────┐                         │
│  │              COUCHE MOTEUR                             │                         │
│  │                                                        │                         │
│  │  ┌──────────────┐ ┌──────────────┐ ┌───────────────┐  │                         │
│  │  │ Calcul       │ │ Arbitrage    │ │ Qualification │  │                         │
│  │  │ indices      │ │ sources      │ │ données       │  │                         │
│  │  │              │ │              │ │               │  │                         │
│  │  │ • IHH, ICS   │ │ • Tier 1 win │ │ • Filtres     │  │                         │
│  │  │ • IVC, ISG   │ │ • Convergence│ │   qualité     │  │                         │
│  │  │ • Méta-ind.  │ │ • Alertes    │ │ • Indice de   │  │                         │
│  │  │ • Extensible │ │ • Seuils     │ │   fiabilité   │  │                         │
│  │  └──────────────┘ └──────────────┘ └───────────────┘  │                         │
│  │                                                        │                         │
│  │  ┌──────────────┐ ┌──────────────┐ ┌───────────────┐  │                         │
│  │  │ Requêtage    │ │ Génération   │ │ Import/Export │  │                         │
│  │  │ graphe       │ │ fiches       │ │               │  │                         │
│  │  │              │ │              │ │ • DOT (legacy)│  │                         │
│  │  │ • Chemins    │ │ • Templates  │ │ • JSON        │  │                         │
│  │  │ • Filtrage   │ │   niveau×    │ │ • PDF         │  │                         │
│  │  │ • Sous-graphe│ │   usage      │ │ • Backup/     │  │                         │
│  │  │ • Projection │ │ • Rendu MD/  │ │   restore     │  │                         │
│  │  │   SI client  │ │   JSON/PDF   │ │               │  │                         │
│  │  └──────────────┘ └──────────────┘ └───────────────┘  │                         │
│  └────────────────────────┬───────────────────────────────┘                         │
│                           │                                                         │
│              ┌────────────┴────────────┐                                            │
│              ▼                         ▼                                            │
│  ┌─────────────────────┐  ┌─────────────────────────────────┐                      │
│  │  SERVICES INTERNES  │  │  API REST                       │                      │
│  │  (non exposés)      │  │  (point d'accès unique)         │                      │
│  │                     │  │                                 │                      │
│  │  ┌───────────────┐  │  │  ┌────────────┐ ┌────────────┐ │                      │
│  │  │ Veille huginn │  │  │  │ Auth       │ │ Rate       │ │                      │
│  │  │ sources       │  │  │  │ + rôles    │ │ limiting   │ │                      │
│  │  ├───────────────┤  │  │  ├────────────┤ ├────────────┤ │                      │
│  │  │ Vérification  │  │  │  │ Profils    │ │ Monitoring │ │                      │
│  │  │ citations     │  │  │  │ visibilité │ │ logging    │ │                      │
│  │  ├───────────────┤  │  │  └────────────┘ └────────────┘ │                      │
│  │  │ Recalcul      │  │  │                                 │                      │
│  │  │ indices       │  │  │  Endpoints :                    │                      │
│  │  ├───────────────┤  │  │  • /graphe/* (requêtage)        │                      │
│  │  │ Alertes       │  │  │  • /fiches/* (consultation)     │                      │
│  │  │ (variations,  │  │  │  • /analyse/* (vulnérabilités)  │                      │
│  │  │  convergence) │  │  │  • /indices/* (méta-indices)    │                      │
│  │  └───────────────┘  │  │  • /export/* (PDF, JSON, DOT)   │                      │
│  └─────────────────────┘  │  • /admin/* (CRUD, scripts)     │                      │
│                           └──────────────┬──────────────────┘                      │
│                                          │                                          │
│              ┌───────────────────────────┬┴──────────────────────┐                  │
│              ▼                           ▼                       ▼                  │
│  ┌─────────────────────┐  ┌──────────────────────┐  ┌─────────────────────┐        │
│  │  FRONTEND EXPERT    │  │  SERVICES EXTERNES   │  │  ÉCOSYSTÈME 360°   │        │
│  │  (consomme l'API)   │  │  (consomment l'API)  │  │  (consomme l'API)  │        │
│  │                     │  │                      │  │                     │        │
│  │  • COMEX : synthèses│  │  • Génération IA     │  │  • Veille strat.   │        │
│  │  • Métiers : analyse│  │    rapports          │  │  • IRON            │        │
│  │  • DSI : dépend. SI│  │  • Agent local       │  │  • Alertes         │        │
│  │                     │  │    client            │  │    croisées        │        │
│  └─────────────────────┘  └──────────────────────┘  └─────────────────────┘        │
│                                                                                     │
│  ┌─────────────────────┐                                                            │
│  │  ADMIN (scripts)    │  Accès direct au moteur + API /admin/*                     │
│  │  • CRUD graphe      │                                                            │
│  │  • Gestion sources  │                                                            │
│  │  • Tiers, arbitrage │                                                            │
│  │  • Backup/restore   │                                                            │
│  └─────────────────────┘                                                            │
└─────────────────────────────────────────────────────────────────────────────────────┘

Composants à construire par phase :
  Phase 1 : Revue littérature (P7) + Spike base données (P6)
  Phase 2 : Couche stockage + Moteur (calcul, arbitrage, qualification)
  Phase 3 : Services internes (veille, vérification) + Import données
  Phase 4 : API REST + Frontend expert + Génération fiches

Dépendances critiques

P7 (niveaux) ──→ P3 (modèle) ──→ P6 impl (stockage) ──→ P4 (amorçage) ──→ P5 (fiches)
                                                                              │
P6 spike ─────────────────────→ P6 impl                                      ▼
                                                           P1 (API) ──→ P8 (services)
P2 (sources) ─────────────────────────────→ P4 (amorçage)

Parallélisations possibles :
  • P7 // P6 spike (phase 1)
  • P2 identification // P3 + P6 impl (phase 2→3)