Aller au contenu

Architecture — Vue d'ensemble

L’écosystème KerSim repose sur trois applications et des nodes de simulation (dispositifs biomédicaux ESP32) qui communiquent ensemble via un réseau WiFi unifié.

SimServer + SimStudio

Concentrateur central sur machine Linux + Docker (ARM ou x86). SimServer (backend) + SimStudio (dashboard régie). Production vidéo, enregistrement, débriefing, coordination. En savoir plus →

SimPilot (Pad Formateur)

PWA Vue.js installable sur tablette. Pilotage des scénarios, contrôle des paramètres vitaux, débriefing avec timeline. En savoir plus →

SimCam (Caméra)

PWA légère pour smartphone ou tablette. Transforme n’importe quel appareil en caméra de simulation — zéro coût, zéro installation.

graph TB
subgraph wifi["Réseau WiFi unifié"]
Studio["SimServer + SimStudio<br/>Docker + ESP32-S3 USB"]
SimPilot["SimPilot (Pad Formateur)<br/>Tablette"]
SimCam["SimCam (Caméra)<br/>Smartphone PWA"]
Nodes["Nodes ESP32<br/>DAE, Dinamap, Scope..."]
Studio <-->|WebSocket| SimPilot
Studio <-->|ESP-NOW via USB bridge| Nodes
SimPilot <-->|ESP-NOW via Coordinateur| Nodes
SimCam -->|WebRTC| Studio
end
style Studio fill:#4a90d9,color:#fff
style SimPilot fill:#50b87a,color:#fff
style SimCam fill:#e8a838,color:#fff
style Nodes fill:#d94a4a,color:#fff

L’écosystème supporte deux modes selon l’équipement disponible.

Pad Formateur + Nodes — sans SimServer, sans vidéo.

graph LR
SimPilot["SimPilot"] <-->|WebSocket| Coord["Coordinateur ESP32"] <-->|ESP-NOW| Nodes["Nodes"]
  • Un coordinateur ESP32-S3 (intégré à un Dinamap, Scope ou DAE) crée le WiFi AP
  • Le formateur pilote les scénarios et paramètres vitaux depuis la tablette
  • Débriefing par les données uniquement (timeline, paramètres)
  • Cas d’usage : formation de terrain, démonstration rapide

Chaque appareil s’autoconnaît sur le réseau. Une action dans une application se propage automatiquement aux autres.

SensExemples d’actions propagées
SimServer → SimPilotÉtat du scénario, paramètres vitaux mis à jour, indicateur d’enregistrement
SimServer → NodesCommande start/stop, override de paramètre vital, événement
SimServer → SimCamDémarrage/arrêt capture, configuration qualité
SimPilot → SimServerLancement de scénario, modification de paramètre, ajout de marqueur
SimPilot → NodesCommande de scénario, override de paramètre vital
Nodes → SimServerParamètres vitaux, changement d’état, événements
Nodes → SimPilotParamètres vitaux, état des dispositifs
graph LR
Formateur["Formateur (SimPilot)"] -->|WebSocket| Hub["SimServer / Coordinateur"] -->|"ESP-NOW (< 10 ms)"| Nodes["Nodes (DAE, Dinamap, Scope...)"]
graph LR
Cam["Caméras (USB, IP PoE, SimCam)"] --> Studio["SimServer (FFmpeg / GStreamer)"]
Studio --> Mixage["Mixage + Overlay"]
Mixage --> HDMI["Sorties vidéo"]
Mixage --> Disk["Enregistrement (disque)"]
graph LR
Disk["Enregistrements"] --> Lecteur["Lecteur multi-flux synchronisé"]
Lecteur --> Markers["Marqueurs + courbes paramètres vitaux"]
Markers --> HLS["HLS (navigateur)"]
ComposantRôleCommunication
NodesSimulation physique (appareils biomédicaux)ESP-NOW
CoordinateurBridge réseau (mode simple)WiFi AP + ESP-NOW + WebSocket
SimServerConcentrateur de tous les fluxDocker + WebSocket + MQTT + ESP-NOW (USB bridge)
SimPilotInterface formateurWebSocket (SimServer ou Coordinateur)
SimCamCaméra smartphoneWebRTC → SimServer
SaaSGestion administrative (optionnel)HTTPS REST API
  1. Offline-first : chaque composant fonctionne sans connexion cloud
  2. Latence minimale : ESP-NOW < 10 ms, WebSocket < 50 ms
  3. Modularité : chaque composant est indépendant et remplaçable
  4. Docker-first : SimServer tourne dans des conteneurs sur n’importe quelle machine Linux
  5. Auto-découverte : tous les appareils s’annoncent et se configurent automatiquement
  6. Standards ouverts : ESP-NOW, WebSocket, MQTT, ONVIF, HLS, REST, WebRTC

Pour les organismes avec plusieurs salles, le SimHub joue le rôle de concentrateur multi-sites : supervision centralisée, multiplexing vidéo et diffusion entre salles. Voir SimHub.