Code/docs/planification-temporelle.dot
Stéphan Peccini 302ab4524d
docs(evolution): spécifications FabNum v2 — brainstorming complet
12 points d'évolution identifiés couvrant :
- Recentrage moteur + API + rôles (abandon Streamlit)
- Gestion rigoureuse des sources et modèle de données structuré
- Amorçage et qualification du corpus existant
- Refonte des fiches par templates (niveau × usage)
- Migration DOT → base de données graphe
- Validation du modèle de niveaux
- Services, sécurisation, profils de visibilité
- Multi-sectoriel, ressources transversales, géo fine
- Stocks et projection temporelle

Inclut : macro-planification (4 phases + horizon), MVP,
diagrammes d'architecture (globale, DAF, DAT, temporelle).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:52:41 +02:00

93 lines
3.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

digraph planification_temporelle {
rankdir=LR;
fontname="Arial";
node [fontname="Arial", fontsize=11, style=filled, shape=record];
edge [fontname="Arial", fontsize=9];
label="FabNum — Planification temporelle\n\n";
labelloc=t;
fontsize=16;
// Phases
subgraph cluster_phase1 {
label="Phase 1 — Fondations";
style=filled;
color="#E3F2FD";
fontsize=13;
fontcolor="#1565C0";
P7 [label="P7\nValidation\nniveaux|Revue littérature\nSCOR, ISO 28000\nOpen Supply Hub", fillcolor="#BBDEFB"];
P6spike [label="P6 spike\nTest bases\ndonnées|Neo4j Community\nPostgreSQL+AGE\nArangoDB\n(Docker/serveur)", fillcolor="#BBDEFB"];
}
subgraph cluster_phase2 {
label="Phase 2 — Modèle & Stockage";
style=filled;
color="#E8F5E9";
fontsize=13;
fontcolor="#2E7D32";
P3 [label="P3\nModèle de\ndonnées|Essentielles / Info\nTiers confiance\nArbitrage\nHistorisation\nIndice fiabilité", fillcolor="#C8E6C9"];
P6impl [label="P6 impl\nStockage|Base retenue\nInstallation native\nBackup", fillcolor="#C8E6C9"];
}
subgraph cluster_phase3 {
label="Phase 3 — Données & Sources";
style=filled;
color="#FFF3E0";
fontsize=13;
fontcolor="#E65100";
P2 [label="P2\nGestion\nsources|Identification\nCatégorisation\nVeille (huginn)\nVérification citations", fillcolor="#FFE0B2"];
P4 [label="P4\nAmorçage|3 minerais\n1 composant\n1 produit final\nQualification\n+ audit exhaustivité", fillcolor="#FFE0B2"];
}
subgraph cluster_phase4 {
label="Phase 4 — Fiches & API";
style=filled;
color="#F3E5F5";
fontsize=13;
fontcolor="#6A1B9A";
P5 [label="P5\nTemplates\nfiches|Niveau × usage\nExpertise\nSynthèse\nAPI/JSON", fillcolor="#E1BEE7"];
P1 [label="P1\nAPI REST\n+ rôles|Admin / Expert / Service\nAuth + tokens\nAPI-first", fillcolor="#E1BEE7"];
P8 [label="P8\nServices\nsécu profils|Personnalisation client\nProfils visibilité\nRate limiting\nRGPD / stateless", fillcolor="#E1BEE7"];
}
subgraph cluster_horizon {
label="Horizon";
style=filled;
color="#EFEBE9";
fontsize=13;
fontcolor="#4E342E";
P10 [label="P10\nÉnergie / Eau|Attributs opération\nSourçage parcellaire\nCroisements risques", fillcolor="#D7CCC8"];
P11 [label="P11\nGéo fine|Région / site\nWRI Aqueduct\nAlertes climatiques", fillcolor="#D7CCC8"];
P9 [label="P9\nMulti-\nsectoriel|Graphes par secteur\nConnexes inter-secteurs\nMinerais partagés", fillcolor="#D7CCC8"];
}
// MVP
MVP [label="MVP\nJalon interne|Moteur requêtable\nDonnées sourcées\nIndice fiabilité\nRétro-analyse", shape=doubleoctagon, fillcolor="#FFF9C4", style="filled,bold"];
// Dépendances principales
P7 -> P3 [label="niveaux\nvalidés", color="#2E7D32", penwidth=2];
P6spike -> P6impl [label="techno\nretenue", color="#2E7D32", penwidth=2];
P3 -> P6impl [label="schéma", color="#2E7D32"];
P6impl -> P4 [label="base\nprête", color="#E65100", penwidth=2];
P2 -> P4 [label="sources\ncatégorisées", color="#E65100"];
P4 -> P5 [label="données\nqualifiées", color="#6A1B9A"];
P5 -> P1 [label="fiches\ngénérables", color="#6A1B9A"];
P1 -> P8 [label="API\nfonctionnelle", color="#6A1B9A"];
// Parallélisations
P7 -> P6spike [style=dashed, color="#1565C0", label="parallèle", constraint=false];
P3 -> P2 [style=dashed, color="#E65100", label="P2 démarre\nen parallèle", constraint=false];
// MVP
P4 -> MVP [style=bold, color="#F9A825", penwidth=2, label="MVP atteint"];
// Horizon (dépendances faibles)
P8 -> P10 [style=dotted, color="#795548"];
P8 -> P11 [style=dotted, color="#795548"];
P8 -> P9 [style=dotted, color="#795548"];
}