- 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>
26 KiB
26 KiB
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)