01 — VISION : le concept en détail


1. L’objectif

Construire un boîtier passif qui s’associe à une première carte mère — devenue carte maîtresse (control-plane / cerveau) — et qui permet d’ajouter des cartes mères auxiliaires : cartes mères de smartphones (ARM64) et de PC (amd64). Les deux familles forment deux clusters distincts — PCs reliés par câble USB4/Thunderbolt ou switch Ethernet (sharding LLM), smartphones en WiFi (nœuds SLM individuels) — pilotés par le même cerveau et réunis au besoin par un routeur central, extensible par plugins USB.

Trois contraintes validées dans le cahier des charges :

  1. 10+ ports serveurs, 6+ ports clés (logiciels / LLM), WiFi et Bluetooth en modules optionnels.
  2. Contrôle des cartes mères sans aucun bouton physique (power / reboot / format / install par scripts).
  3. Clés USB contenant des LLM portables qui exploitent la RAM des nœuds.

2. Architecture en 3 couches

┌────────────────────────────────────────────────────────────────────┐
│ COUCHE 1 · BOÎTIER = CERVEAU (control-plane)                       │
│   SBC (Zero 3E, Pi 4/5, Orange Pi…) · Debian ARM64 · ≥ 8 Go        │
│   ├─ k3s server (taint NoSchedule, aucun workload)                 │
│   ├─ PORT SERVEURS (base 5, plugins ×5) → 1 carte mère par port    │
│   ├─ PORT CLÉS (base 3, plugins ×3) → logiciels + LLM portables    │
│   ├─ (OPTIONNEL) DONGLE WIFI + BLUETOOTH (plugins ×1)              │
│   ├─ CONTRÔLE SANS CONTACT (adb/fastboot/SSH/WoL/PMM)              │
│   └─ MicroSD : etcd + état du cluster                              │
├────────────────────────────────────────────────────────────────────┤
│ COUCHE 2 · NŒUDS DE CALCUL                                         │
│   Nœuds ARM64 (smartphones)   → Debian ARM64 + k3s agent           │
│   Nœuds amd64 (PC)            → Proxmox VE (VMs) + k3s agent       │
│                                  ou Debian amd64 + k3s agent       │
├────────────────────────────────────────────────────────────────────┤
│ COUCHE 3 · RÉSEAU                                                 │
│   LAN local (switch) + Tailscale · une IP fixe par nœud            │
└────────────────────────────────────────────────────────────────────┘

Les 2 idées fortes

Bonus : un tel port expose aussi le bootloader (UART) → on peut débloquer, flasher, formater un téléphone même écran mort ou PIN verrouillé.


3. Architecture modulaire des ports (base + plugins)

Socle minimal + plugins empilables sur un bus d’extension (USB 3.0 + 5V + I2C d’identification) :

FamilleBase+1 plugin+2 pluginsPlugin
Serveurs (USB-C, 1 par carte mère)51015PLUG-SRV-5
Clés logiciels/LLM (USB-A)369PLUG-KEY-3
WiFi (dongle, optionnel)012PLUG-WIFI-1
Bluetooth (dongle, optionnel)012PLUG-BT-1

Total base : 8 ports (5 serveurs + 3 clés). WiFi/BT ne sont PAS dans la base. Extensible sans limite : chaque PLUG-SRV-5 ajoute 5 serveurs. hub-scan.sh lit l’ID I2C de chaque plugin et compte les ports réels tout seul.

Pourquoi USB-C host (pas gadget) ? Un SoC ARM n’a qu’un seul contrôleur USB OTG : il ne peut pas se faire passer pour 10 périphériques devant 10 cartes mères. Les 10 ports sont donc host-mode via un hub USB 3.0 — détail technique, mais qui explique toute la conception des ports.


4. Le choix du cerveau (SBC)

Exigence unique et non négociable : Ethernet Gigabit. L’etcd du control-plane a besoin d’un réseau stable, pas de WiFi.

SBCCPURAMEthernetWiFi/BT à bordVerdict
Radxa Zero 3ERK3566 quad A551–8 Go✅ 1 GbERecommandée (compatible USBridge)
Radxa Zero 3WRK3566 quad A551–8 Go✅ WiFi 6⚠️ Pas en control-plane
Raspberry Pi 4BBCM2711 quad A721–8 Go✅ 1 GbE⚠️ BT✅ Solide, documenté
Raspberry Pi 5BCM2712 quad A764–16 Go✅ 1 GbE⚠️ BT✅ Plus rapide
Orange Pi 3ERK3566 quad A554–8 Go✅ 1 GbE✅ Alternative directe
Orange Pi 5RK3588S octa8–32 Go✅ 2.5 GbE✅ Puissante
Rock 3A / 3BRK3568/RK35662–8 Go✅ 1 GbE⚠️
LePotatoAmlogic S905X2 Go✅ 1 GbE⚠️ Budget, RAM limitée

8 Go de RAM minimum pour un control-plane confortable (etcd + API).

Pourquoi pas un Arduino ? Microcontrôleur sans MMU ni Linux → incapable de faire tourner k3s/etcd. Rôle possible : capteur/relais satellite USB. Pourquoi pas une carte smartphone ? 1 seul port USB, pas d’Ethernet, bootloader verrouillé. Elle reste un nœud de calcul, jamais le cerveau.

Variante Winux (interface Windows-like sur x86) : si le boîtier doit tourner sous Winux (Ubuntu x86-64, cf. winux.is), le cerveau devient forcément du x86-64 : LattePanda 3 Delta (carte nue) ou carte mère PC récupérée (mini-PC) + dock passif USB4 — toujours en custom case. Variante légère sans Winux : Armbian minimal + Raspberry Pi 5 8 Go (dashboard web remplace l’interface Windows-like, rouvre la porte à l’ARM). Les 4 cas sont détaillés dans la page Matériel.


5. Design du boîtier (physique)

Le boîtier contrôleur est une small enclos alu noir (~230×170×60 mm) avec :


6. Les 3 rails d’alimentation (indispensables)

┌─ Rail 1 · Contrôleur : 5V/3A propre + UPS (jamais impacté) ──────────┐
┌─ Rail 2 · Ports serveurs : 5V/20A, polyfuse par port (1 court-circuit = 1 port) ┐
┌─ Rail 3 · PCs : alimentation ATX séparée ─────────────────────────────┐

Pourquoi : 10 phones × 2 A = 20 A sur un rail → chutes de tension, surtensions de charge qui réinitialisent le contrôleur (etcd corrompu), un court-circuit qui ferait tomber tout le boîtier. Toujours séparer.


7. Le port HDMI : attention, c’est une SORTIE

Le Zero 3E a une sortie Micro-HDMI (1080p60) → port HDMI du boîtier pour monitoring local (dashboard en kiosque sur un écran de rack).

RôlePort HDMI contrôleurCapteur USB HDMI (port serveur)
Afficher le dashboard sur un écran local
Voir l’écran d’une carte mère (KVM)

⚠️ SORTIE uniquement. Regarder l’écran d’une carte mère = un capteur USB HDMI (dongle UVC, comme l’USBridge) branché sur un port serveur.


8. Ce qui suit

Le matériel (quoi acheter, coûts, conso) → Matériel. Tester en 2 semaines avec ~144 000 FCFA → MVP.

Détails techniques de conception : Architecture et Matériel.