- 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>
148 lines
7.4 KiB
Plaintext
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];
|
|
}
|
|
}
|