- 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>
243 lines
26 KiB
Markdown
243 lines
26 KiB
Markdown
# FabNum — Planification macro
|
||
|
||
Vues synthétiques dérivées de [EVOLUTIONS.md](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)
|
||
```
|