|
1 | 1 | graph TD |
2 | | - %% Définition des Styles (Code Couleur Sémantique) |
3 | 2 | classDef ui fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#01579b; |
4 | 3 | classDef core fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#1b5e20; |
5 | 4 | classDef engine fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#e65100; |
6 | 5 | classDef bcasl fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#4a148c; |
7 | 6 | classDef system fill:#ffebee,stroke:#b71c1c,stroke-width:2px,color:#b71c1c; |
8 | 7 | classDef storage fill:#ffffff,stroke:#616161,stroke-width:1px,stroke-dasharray: 5 5; |
9 | 8 |
|
10 | | - %% 1. COUCHE INTERFACE |
11 | | - subgraph UI ["🎨 Interface Utilisateur"] |
12 | | - GUI["<b>Gui.py</b><br/>Vue Principale"]:::ui |
13 | | - CLI["<b>Cli/</b><br/>Mode Terminal"]:::ui |
| 9 | + subgraph ENTRY["Entry points"] |
| 10 | + GUI["Ui/Gui"]:::ui |
| 11 | + CLI["Ui/Cli/app.py"]:::ui |
14 | 12 | end |
15 | 13 |
|
16 | | - %% 2. COUCHE INITIALISATION |
17 | | - subgraph INIT ["⚙️ Initialisation (WorkSpaceManager)"] |
18 | | - WSM["<b>WorkSpaceManager</b><br/>Orchestrateur Scan"]:::core |
19 | | - CFG["<b>Configs/</b><br/>Gestion ark.yml / Global"]:::core |
20 | | - DEPS["<b>deps_analyser/</b><br/>Analyse AST & Imports"]:::core |
| 14 | + subgraph CLI_FLOW["CLI helpers"] |
| 15 | + INIT["init_workspace"]:::core |
| 16 | + BUILD["build / lock rebuild"]:::core |
| 17 | + LIST["list / info / scaffold"]:::core |
21 | 18 | end |
22 | 19 |
|
23 | | - %% 3. LE COEUR (ÉTAT) |
24 | | - subgraph CONTEXT ["📦 Contexte & Vérité"] |
25 | | - BC_CTX["<b>BuildContext</b><br/>Objet d'état partagé"]:::core |
26 | | - LOCK["<b>Locking/</b><br/>Garant de reproductibilité"]:::core |
| 20 | + subgraph CONFIG["Configuration and context"] |
| 21 | + ARK["Core/Configs"]:::core |
| 22 | + LOCK["Core/Locking"]:::core |
| 23 | + CTX["BuildContext"]:::core |
| 24 | + FS[".ark/ workspace files"]:::storage |
27 | 25 | end |
28 | 26 |
|
29 | | - %% 4. COUCHE BCASL (INTERCEPTION PRE-BUILD) |
30 | | - subgraph BCASL_SYS ["🧩 Système BCASL (Plugins)"] |
31 | | - BCASL_L["<b>Loader</b><br/>Détection & Ordre"]:::bcasl |
32 | | - BCASL_E["<b>Executor</b><br/>Sandbox & Orchestration"]:::bcasl |
33 | | - BCASL_P["<b>Phases</b><br/>Cleanup, Lint, Obfuscation..."]:::bcasl |
| 27 | + subgraph PREBUILD["Pre-build pipeline"] |
| 28 | + BCASL["BCASL sync helper"]:::bcasl |
| 29 | + BCASL_EXEC["bcasl/executor.py"]:::bcasl |
34 | 30 | end |
35 | 31 |
|
36 | | - %% 5. COUCHE COMPILATION |
37 | | - subgraph ENGINE_SYS ["🚀 Moteur de Build (EngineRunner)"] |
38 | | - RUNNER["<b>EngineRunner</b><br/>Pipeline 1-2-3"]:::engine |
39 | | - AUTO["<b>Auto_Command_Builder</b><br/>Génération Flags via Mapping"]:::engine |
40 | | - MOTEURS["<b>Engines</b><br/>Nuitka / PyInstaller / cx_Freeze"]:::engine |
| 32 | + subgraph ENGINE["Compilation pipeline"] |
| 33 | + RUNNER["Core/Compiler/engine_runner.py"]:::engine |
| 34 | + DISCOVERY["Core/engine"]:::engine |
| 35 | + AUTO["Core/Auto_Command_Builder"]:::engine |
| 36 | + ENGINES["pyinstaller / nuitka / cx_freeze"]:::engine |
41 | 37 | end |
42 | 38 |
|
43 | | - %% 6. COUCHE SYSTEME |
44 | | - subgraph OS_SYS ["💻 Système d'Exploitation"] |
45 | | - SDM["<b>SysDependencyManager</b><br/>Elévation Native"]:::core |
46 | | - LINUX["<b>Linux</b> (pkexec)"]:::system |
47 | | - WIN["<b>Windows</b> (UAC)"]:::system |
48 | | - VENV["<b>VenvManager</b><br/>Isolation Python"]:::core |
| 39 | + subgraph SYSTEM["Environment and OS"] |
| 40 | + VENV["VenvManager"]:::system |
| 41 | + DEPS["SysDependencyManager"]:::system |
| 42 | + SECURE["process_security"]:::system |
49 | 43 | end |
50 | 44 |
|
51 | | - %% 7. PERSISTANCE |
52 | | - subgraph DATA ["📁 Stockage (.ark/)"] |
53 | | - ARK_YML["ark.yml"]:::storage |
54 | | - BCASL_YML["bcasl.yml"]:::storage |
55 | | - LOCK_YML["latest.lock.yml"]:::storage |
56 | | - end |
57 | | - |
58 | | - %% --- FLUX LOGIQUE --- |
59 | | - |
60 | | - %% Phase 1: Entrée & Config |
61 | | - GUI & CLI --> WSM |
62 | | - WSM --> CFG |
63 | | - CFG <--> ARK_YML |
64 | | - CFG --> BC_CTX |
| 45 | + GUI --> INIT |
| 46 | + GUI --> BUILD |
| 47 | + CLI --> INIT |
| 48 | + CLI --> BUILD |
| 49 | + CLI --> LIST |
65 | 50 |
|
66 | | - %% Phase 2: Analyse |
67 | | - WSM --> DEPS |
68 | | - DEPS --> BC_CTX |
| 51 | + INIT --> ARK |
| 52 | + INIT --> FS |
| 53 | + INIT --> CTX |
| 54 | + INIT --> VENV |
69 | 55 |
|
70 | | - %% Phase 3: Reproductibilité |
71 | | - BC_CTX <--> LOCK |
72 | | - LOCK <--> LOCK_YML |
| 56 | + BUILD --> ARK |
| 57 | + BUILD --> LOCK |
| 58 | + BUILD --> CTX |
| 59 | + LOCK --> FS |
| 60 | + LOCK --> CTX |
73 | 61 |
|
74 | | - %% Phase 4: Interception BCASL (Avant Compilation) |
75 | | - BC_CTX ==> BCASL_L |
76 | | - BCASL_L -- "Lit config" --> BCASL_YML |
77 | | - BCASL_L --> BCASL_E |
78 | | - BCASL_E --> BCASL_P |
79 | | - BCASL_P ==> RUNNER |
| 62 | + CTX --> BCASL |
| 63 | + BCASL --> BCASL_EXEC |
| 64 | + BCASL_EXEC --> RUNNER |
80 | 65 |
|
81 | | - %% Phase 5: Orchestration Compilation |
82 | | - RUNNER --> VENV |
83 | | - RUNNER --> SDM |
| 66 | + RUNNER --> DISCOVERY |
| 67 | + DISCOVERY --> ENGINES |
84 | 68 | RUNNER --> AUTO |
85 | | - AUTO -- "Mapping" --> MOTEURS |
86 | | - |
87 | | - %% Phase 6: Exécution & OS |
88 | | - SDM ==> LINUX & WIN |
89 | | - MOTEURS --> OS_SYS |
| 69 | + AUTO --> ENGINES |
| 70 | + RUNNER --> VENV |
| 71 | + RUNNER --> DEPS |
| 72 | + RUNNER --> SECURE |
90 | 73 |
|
91 | | - %% --- STYLISATION DES LIENS --- |
92 | | - linkStyle 0,1,2,3,4,5 stroke:#01579b,stroke-width:2px; |
93 | | - linkStyle 6,7,8,9 stroke:#1b5e20,stroke-width:2px; |
94 | | - linkStyle 10,11,12,13,14 stroke:#4a148c,stroke-width:3px; |
95 | | - linkStyle 15,16,17,18 stroke:#e65100,stroke-width:2px; |
96 | | - linkStyle 19,20 stroke:#b71c1c,stroke-width:2px; |
| 74 | + LOCK --> FS |
| 75 | + BUILD --> FS |
0 commit comments