Code/docs/FabNum v2/modele-niveaux-cas-possibles.dot
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

148 lines
7.4 KiB
Plaintext

digraph modele_niveaux {
rankdir=LR;
fontname="Arial";
fontsize=16;
label="FabNum — Modèle de niveaux : tous les cas possibles\n(1 produit final, 1 composant, toutes les variantes amont)\n";
labelloc=t;
splines=true;
nodesep=0.4;
ranksep=1.0;
node [fontname="Arial", fontsize=10, style="filled,rounded", shape=box, penwidth=1.5];
edge [fontname="Arial", fontsize=9, penwidth=1.2];
// ==================== COLONNES (same rank) ====================
// Colonne 1 : Matière première
MPA [label="Silicium\n(MP)", fillcolor="#ffcccc", penwidth=2];
MPB [label="Cobalt\n(MP)", fillcolor="#ffcccc", penwidth=2];
MPC [label="Mica\n(MP)", fillcolor="#ffcccc", penwidth=2];
MPD1 [label="Nickel\n(MP)", fillcolor="#ffcccc", penwidth=2];
MPD2 [label="Cobalt\n(MP)", fillcolor="#ffcccc", penwidth=2];
MPD3 [label="Manganèse\n(MP)", fillcolor="#ffcccc", penwidth=2];
MPE [label="Néon\n(MP connexe)", fillcolor="#E0E0E0", penwidth=2];
{ rank=same; MPA; MPB; MPC; MPD1; MPD2; MPD3; MPE; }
// Colonne 2 : Extraction
ExtrA [label="Extraction\nSilicium", fillcolor="#ffd699"];
ExtrB [label="Extraction\nCobalt", fillcolor="#ffd699"];
ExtrC [label="Extraction\nMica", fillcolor="#ffd699"];
ExtrD1 [label="Extraction\nNickel", fillcolor="#ffd699"];
ExtrD2 [label="Extraction\nCobalt", fillcolor="#ffd699"];
ExtrD3 [label="Extraction\nManganèse", fillcolor="#ffd699"];
SkipExtrE [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
{ rank=same; ExtrA; ExtrB; ExtrC; ExtrD1; ExtrD2; ExtrD3; SkipExtrE; }
// Colonne 3 : Transformation
TransfA [label="Transformation\nPolysilicium", fillcolor="#ffd699"];
TransfB [label="Transformation\nCobalt raffiné", fillcolor="#ffd699"];
SkipTransfC [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
TransfD1 [label="Transformation\nNickel raffiné", fillcolor="#ffd699"];
TransfD2 [label="Transformation\nCobalt raffiné", fillcolor="#ffd699"];
TransfD3 [label="Transformation\nMn raffiné", fillcolor="#ffd699"];
TransfE [label="Transformation\nDistillation air", fillcolor="#CFD8DC"];
{ rank=same; TransfA; TransfB; SkipTransfC; TransfD1; TransfD2; TransfD3; TransfE; }
// Colonne 3.5 : Composé (uniquement cas D)
SkipCompA [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
SkipCompB [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
SkipCompC [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
Compose [label="Composé\nNMC\n\nDouble ICS :\nMP→Composé\nComposé→Composant", fillcolor="#F8BBD0", penwidth=2.5, style="filled,rounded,bold"];
SkipCompE [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
{ rank=same; SkipCompA; SkipCompB; SkipCompC; Compose; SkipCompE; }
// Colonne 4 : Semi-produit
SPA [label="Semi-produit\nWafer", fillcolor="#E1BEE7", style="filled,rounded,dashed"];
SkipSPB [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
SkipSPC [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
SkipSPD [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
SkipSPE [label="—", shape=point, width=0.1, fillcolor="#FFFFFF", color="#FFFFFF"];
{ rank=same; SPA; SkipSPB; SkipSPC; SkipSPD; SkipSPE; }
// Colonne 5 : Fabrication
FabA [label="Fabrication\nProcesseur", fillcolor="#ffd699"];
FabB [label="Fabrication\nBatterie", fillcolor="#ffd699"];
FabC [label="Fabrication\nCondensateur", fillcolor="#ffd699"];
FabD [label="Fabrication\nBatterie", fillcolor="#ffd699"];
FabE [label="Fabrication\n(consommé)", fillcolor="#CFD8DC"];
{ rank=same; FabA; FabB; FabC; FabD; FabE; }
// Colonne 6 : Composant
Composant [label="Composant\n(Batterie, Processeur...)\n\nN1", fillcolor="#b3ffe0", penwidth=2.5];
// Colonne 7 : Assemblage
Assemblage [label="Assemblage\n\nN10", fillcolor="#ffd699"];
// Colonne 8 : Produit Final
PF [label="Produit Final\n(Smartphone)\n\nN0", fillcolor="#a0d6ff", penwidth=2.5];
{ rank=same; Composant; }
{ rank=same; Assemblage; }
{ rank=same; PF; }
// ==================== LIENS CAS A (Silicium — chaîne complète) ====================
MPA -> ExtrA [color="#6A1B9A"];
ExtrA -> TransfA [color="#6A1B9A"];
TransfA -> SkipCompA [color="#6A1B9A", arrowhead=none];
SkipCompA -> SPA [color="#6A1B9A"];
SPA -> FabA [color="#6A1B9A"];
FabA -> Composant [color="#6A1B9A"];
// ==================== LIENS CAS B (Cobalt — sans semi-produit) ====================
MPB -> ExtrB [color="#2E7D32"];
ExtrB -> TransfB [color="#2E7D32"];
TransfB -> SkipCompB [color="#2E7D32", arrowhead=none];
SkipCompB -> SkipSPB [color="#2E7D32", arrowhead=none];
SkipSPB -> FabB [color="#2E7D32"];
FabB -> Composant [color="#2E7D32"];
// ==================== LIENS CAS C (Mica — sans transformation) ====================
MPC -> ExtrC [color="#E65100"];
ExtrC -> SkipTransfC [color="#E65100", arrowhead=none];
SkipTransfC -> SkipCompC [color="#E65100", arrowhead=none];
SkipCompC -> SkipSPC [color="#E65100", arrowhead=none];
SkipSPC -> FabC [color="#E65100"];
FabC -> Composant [color="#E65100"];
// ==================== LIENS CAS D (NMC — combinaison) ====================
MPD1 -> ExtrD1 [color="#C62828"];
MPD2 -> ExtrD2 [color="#C62828"];
MPD3 -> ExtrD3 [color="#C62828"];
ExtrD1 -> TransfD1 [color="#C62828"];
ExtrD2 -> TransfD2 [color="#C62828"];
ExtrD3 -> TransfD3 [color="#C62828"];
TransfD1 -> Compose [color="#C62828"];
TransfD2 -> Compose [color="#C62828"];
TransfD3 -> Compose [color="#C62828"];
Compose -> SkipSPD [color="#C62828", arrowhead=none];
SkipSPD -> FabD [color="#C62828"];
FabD -> Composant [color="#C62828"];
// ==================== LIENS CAS E (Néon — connexe) ====================
MPE -> SkipExtrE [color="#37474F", style=dashed, arrowhead=none];
SkipExtrE -> TransfE [color="#37474F", style=dashed];
TransfE -> SkipCompE [color="#37474F", style=dashed, arrowhead=none];
SkipCompE -> SkipSPE [color="#37474F", style=dashed, arrowhead=none];
SkipSPE -> FabE [color="#37474F", style=dashed];
FabE -> Composant [color="#37474F", style=dashed];
// ==================== LIENS COMMUNS ====================
Composant -> Assemblage [color="#333333", penwidth=2];
Assemblage -> PF [color="#333333", penwidth=2];
// ==================== LÉGENDE ====================
subgraph cluster_legende {
label="Légende";
style=filled; color="#FAFAFA"; fontsize=11;
labeljust=l;
L1 [label="Cas A — Chaîne complète (Silicium)", fillcolor="#E1BEE7", fontsize=9, shape=box];
L2 [label="Cas B — Sans semi-produit (Cobalt)", fillcolor="#C8E6C9", fontsize=9, shape=box];
L3 [label="Cas C — Sans transformation (Mica)", fillcolor="#FFE0B2", fontsize=9, shape=box];
L4 [label="Cas D — Combinaison MP → Composé (NMC)", fillcolor="#F8BBD0", fontsize=9, shape=box];
L5 [label="Cas E — Connexe, sans extraction (Néon)", fillcolor="#CFD8DC", fontsize=9, shape=box];
L6 [label="Étapes optionnelles : trait pointillé ou —", shape=note, fillcolor="#FFFDE7", fontsize=9];
L1 -> L2 -> L3 -> L4 -> L5 -> L6 [style=invis];
}
}