← COCKPIT
[CD]
SYMBIOTE.CODE
CODE DISASSEMBLER — Analyseur statique de code source
SYMBIOTE.CODE — zones de l'interface
1
2
3
4
5
6
7
1
Header — Titre STATIC ANALYZER, sous-titre, nom de l'organe
2
Zoom HUD — Niveaux MACRO / MESO / MICRO (molette ou clic)
3
Editor Toolbar — +FICHIER, OPEN, EDIT, RUN, indicateur de fichier
4
Canvas — Memory Map — Hex dump 4096 octets, segments colorés par classification
5
Canvas — Call Graph — Graphe d'appels (cyan=normal, rouge=dépendances critiques)
6
Canvas — AST Section — Arbre syntaxique abstrait, histogramme de profondeur
7
Botbar & Status — LED heartbeat, ligne d'état, registre MODULES/HEALTHY/DUPLICATE/DEAD/DEP.CRIT
VUE D'ENSEMBLE
SYMBIOTE.CODE est l'organe de traçabilité du code source du cockpit 0DATA. Il fonctionne comme un désassembleur — un instrument qui décompose, inspecte et cartographie la structure interne d'un programme.

Ici, le « programme » est votre base de code : chaque module est un segment mémoire avec une adresse, une taille, et une classification (HEALTHY, DUPLICATE, DEAD_CODE, DEPENDENCY). Les relations entre modules forment un call graph, et l'AST (Abstract Syntax Tree) révèle la structure fine de chaque module.
ZONES DE L'INTERFACE
① HEADER & ZOOM HUD — En-tête et navigation par niveaux de zoom
L'en-tête affiche le titre STATIC ANALYZER et le sous-titre CODE DISASSEMBLER · HEX DUMP · CALL GRAPH · AST.
Le HUD en haut à droite propose trois niveaux de zoom : MACRO — Vue d'ensemble des modules, hex dump compact, histogramme AST.
MESO — Labels de modules, call graph complet, AST partiel (profondeur 4).
MICRO — Bytes individuels, crosshair avec adresse, AST complet, métriques détaillées.
→ IT : Navigation drill-down dans la base de code. MACRO = vue projet, MESO = vue module, MICRO = vue fonction/ligne.
② EDITOR TOOLBAR — Barre d'outils d'édition de code
File indicator — Affiche le fichier courant avec un point lumineux vert.
+ FICHIER — Crée un nouveau fichier (modal avec nom + template optionnel).
OPEN — Ouvre un fichier existant (liste via API backend ou localStorage).
EDIT — Affiche/Cache le panneau d'édition (slide-in depuis la droite).
RUN — Exécute le code courant (API backend ou fallback JS local).
[ DOC ] — Lien vers cette documentation.
→ IT : Équivalent d'un IDE intégré. Édition, création, ouverture, sauvegarde et exécution de code. Les fichiers sont persistés dans localStorage et peuvent être synchronisés avec un backend (API /exec).
③ CANVAS — MEMORY MAP (Carte mémoire / Hex dump)
Espace central : visualisation de l'empreinte mémoire du code
L'espace central principal affiche une carte mémoire de 4096 octets (0x0000–0x0FFF) : — Chaque module occupe une plage d'adresses contiguës
— Les cellules sont colorées selon la classification : mint (HEALTHY), gold (DUPLICATE), cyan (DEAD_CODE), red (DEPENDENCY)
— Colonne d'adresses à gauche, règle de calibration en haut
— Séparateurs de banques mémoire tous les 256 octets
— Marquage de début de segment (barre verticale)
— Labels des modules (MESO/MICRO)
— Contenu hexadécimal des bytes (MICRO uniquement)
→ IT : Visualisation de l'empreinte mémoire d'une base de code. Chaque module = un fichier/une librairie. Taille = lignes de code (LOC). Classification = santé du code (code mort, dupliqué, dépendances critiques).
④ CANVAS — CALL GRAPH (Graphe d'appels entre modules)
Superposé à la carte mémoire : relations entre modules
Superposé à la carte mémoire, le call graph montre les relations entre modules : — Arêtes en cyan (trait plein) = appels normaux (CALL)
— Arêtes en rouge (tirets) = dépendances critiques (DEPENDENCY)
— Routage orthogonal Manhattan
— Chevrons indiquant la direction de l'appel
— Graduations de poids (nombre d'appels) sur chaque arête
— Noeuds avec coins en équerre, labels (MESO/MICRO)
— Métriques détaillées IN/OUT/LOC/ADDR au niveau MICRO
→ IT : Analyse de dépendances entre modules. Détection de dépendances cycliques (DEPENDENCY en rouge), modules isolés (inDeg=0), code non appelé (outDeg=0). Équivalent d'un outil comme Dependency-Cruiser ou Madge.
⑤ CANVAS — AST SECTION (Arbre syntaxique abstrait)
Panneau droit : structure interne du module focalisé
Panneau droit montrant l'AST du module focalisé : — Niveau MACRO : histogramme de profondeur (barres mint, nombre de noeuds par niveau)
— Niveaux MESO/MICRO : arbre complet avec rails d'ascendance (pointillés), connecteurs en L, marqueurs carrés 4×4, labels type:valeur
— Noeuds classés par couleur (HEALTHY, DUPLICATE, DEAD_CODE)
— Code mort : hachures diagonales sur les noeuds dead
— Troncature automatique avec compteur [+N] au-delà de la profondeur maximale
→ IT : Visualisation de l'AST comme dans un compilateur. Permet de voir la structure du code, la profondeur d'imbrication, et d'identifier le code mort (branches jamais atteintes). Équivalent d'un AST explorer.
⑥ CODE EDITOR PANEL — Panneau d'édition de code
IDE intégré coulissant + modales de gestion de fichiers
Panneau coulissant (580px) depuis la droite :
En-tête : nom du fichier courant + bouton de fermeture
Éditeur : textarea pleine hauteur avec caret mint, sélection mint
Placeholder : instructions (Ctrl+S sauver, Ctrl+Enter exécuter)
Panneau de sortie (180px) : console avec catégories ok (mint), err (rouge), info (dim)
Bouton CLEAR pour vider la console
— Auto-sauvegarde après 1.5s d'inactivité

Modales :
CRÉER UN FICHIER — Nom du fichier + template optionnel
OUVRIR UN FICHIER — Liste des fichiers (API backend + localStorage), extension, taille, badge [local]
→ IT : IDE intégré minimaliste. Édition de code avec exécution distante (API /exec) ou fallback local (eval JavaScript, ouverture HTML). Supporte .py .sh .js .html .txt. Gestionnaire de fichiers avec fusion backend/localStorage.
⑦ BOTBAR & STATUS — Barre de statut, registres et effets visuels
Dashboard temps réel de santé du code
Botbar (bas de l'écran) :
— LED pulsante (●) — heartbeat visuel
— Ligne de statut : IDLE · MACRO/MESO/MICRO
— Adresse mémoire sous le curseur : ADDR: 0x...

Overlay (surimpressions canvas) :
Crosshair (MICRO) : réticule plein écran suivant la souris
Registre de statut (bas-gauche) : MODULES, HEALTHY, DUPLICATE, DEAD, DEP.CRIT avec compteurs
Indicateur de zoom (bas-droite) : trois carrés M/M/M, celui actif est rempli

Effets visuels :
Scan line — Ligne horizontale animée (4s) balayant l'écran
Noise overlay — Bruit fractal SVG (opacité 3%) simulant le grain d'un instrument de laboratoire
→ IT : Dashboard temps réel de santé du code. Compteurs de modules par classification = métriques de qualité logicielle (code coverage, duplication rate, dead code percentage, critical dependencies count). Ambiance « instrument de laboratoire ».
CORRESPONDANCE IT
MÉTAPHORE LABORATOIRERÉALITÉ IT
DésassembleurAnalyseur statique de code source
Carte mémoire (hex dump)Vue globale de la base de code
Segment mémoire / ModuleFichier source ou librairie
Adresse mémoire (0x0000–0x0FFF)Position relative dans le projet
Taille du segment (LOC × 4)Lignes de code × complexité
Bytes hexadécimauxTokens / instructions du code source
Banque mémoire (256 octets)Répertoire / namespace
Call graph (cyan plein)Graphe d'appels normaux entre modules
Call graph (rouge tirets)Dépendances cycliques ou critiques
Poids d'appel (graduations)Fréquence d'appel (callCount)
AST (Abstract Syntax Tree)Structure syntaxique du code (arbre de parsing)
Profondeur ASTNiveau d'imbrication (complexité cyclomatique)
HEALTHY (mint)Code sain, bien structuré, actif
DUPLICATE (gold)Code dupliqué (DRY violations)
DEAD_CODE (cyan pâle)Code mort, jamais exécuté, branches inaccessibles
DEPENDENCY (rouge)Dépendance critique, fort couplage, cycles
Éditeur de code (slide panel)IDE intégré avec exécution distante
Console de sortie (ok/err/info)Logs de build / CI (stdout, stderr)
Scan line + noise overlayInterface « instrument de laboratoire »
Registre de statut (compteurs)Dashboard de métriques de qualité logicielle
CAS D'USAGE
1. AUDIT DE CODE LEGACY — « Qu'est-ce qui est vivant ? »
Un développeur arrive sur un projet legacy de 12 modules. Il ouvre SYMBIOTE.CODE et voit immédiatement : 5 modules HEALTHY, 2 DUPLICATE (ir_gen et linker — probablement copiés-collés), 2 DEAD_CODE (optimizer et cfg_reader — jamais appelés, outDeg=0), 2 DEPENDENCY (io_driver et net_stack — couplage fort avec dépendances circulaires). Le call graph montre des flèches rouges entre io_driver et net_stack : cycle de dépendance identifié.
Action : [ZOOM MACRO] → inspecter les DEP.CRIT → [ZOOM MESO] → analyser le call graph → [ZOOM MICRO] → vérifier l'AST du module problématique
2. REFACTORING — « Que supprimer sans risque ? »
Avant un grand refactoring, l'équipe veut nettoyer le code mort. SYMBIOTE.CODE montre cfg_reader (145 LOC, inDeg=0, outDeg=0) et optimizer (623 LOC, outDeg=0). Les deux modules sont en cyan DEAD_CODE. Dans l'AST, les branches marquées dead (hachurées) confirment que ces fonctions ne sont jamais atteintes. Suppression sans risque validée.
Action : [FOCUS] → sélectionner cfg_reader → [AST MICRO] → vérifier dead branches → [EDITOR] → archiver le code avant suppression
3. ONBOARDING — « Comment le code est-il structuré ? »
Un nouveau développeur doit comprendre l'architecture du projet. Il ouvre SYMBIOTE.CODE et voit immédiatement : parser est le plus gros module (487 LOC, inDeg=3 — très sollicité), codegen est le coeur de la chaîne (3 appels entrants, 1 sortant vers optimizer mort). L'AST montre la structure interne de parser : TokenStream et Parser sont les deux classes principales, avec parse() qui boucle sur lex(). Le développeur a une carte mentale en 30 secondes.
Action : [ZOOM MESO] → lire les labels → [FOCUS] sur le module → [AST] → parcourir l'arbre → [CALL GRAPH] → suivre les dépendances
4. DÉTECTION DE DUPLICATION — « DRY ou pas DRY ? »
Pendant une revue de code, ir_gen et linker apparaissent tous deux en gold (DUPLICATE). En zoomant au niveau MICRO, les bytes hex des deux modules montrent des motifs similaires. Le call graph confirme : les deux modules ont des signatures d'appels quasi identiques (même inDeg/outDeg). L'équipe décide de fusionner les deux modules en un seul.
Action : [ZOOM MICRO] → comparer les bytes hex → [CALL GRAPH] → vérifier les signatures → [EDITOR] → créer le module fusionné
RACCOURCIS
CONTRÔLEACTION
Molette sourisChanger de niveau de zoom (MACRO → MESO → MICRO)
Flèche Haut / DroiteZoom avant (niveau supérieur)
Flèche Bas / GaucheZoom arrière (niveau inférieur)
Clic (canvas)Cycler le module focalisé (MAJ de l'AST)
FFocus sur le module suivant
Ctrl+SSauvegarder le fichier dans l'éditeur
Ctrl+EnterExécuter le code dans l'éditeur
EscFermer le panneau d'édition / Fermer les modales
Entrée (modal OPEN)Rafraîchir la liste des fichiers
[ LANCER SYMBIOTE.CODE ] [ RETOUR COCKPIT ] [ INDEX DOCS ]
Documentation SYMBIOTE.CODE · 0DATA Biotech Infrastructure · Mise à jour Août 2026
Organe : Désassembleur · Code : [CD] · Cockpit : ORG → SYMBIOTE.CODE