Mode multi-salles
La mise à jour se propage entre SimServers via le réseau multi-salles.
Les SimServers et dispositifs KerSim fonctionnent en réseau fermé, sans accès internet. Le système de mise à jour est conçu pour que n’importe quel formateur puisse mettre à jour tout son parc en branchant une clé USB.
Le SimServer est le hub de distribution : une fois la mise à jour chargée sur un SimServer, elle se propage automatiquement à tout l’écosystème local.
kersim.fr Clé USB SimServer 1┌──────────────┐ ┌───────────┐ ┌──────────────────┐│ Télécharger │───▶│ .ksupdate │───▶│ Détecte, valide, ││ le package │ │ │ │ applique │└──────────────┘ └───────────┘ └───┬──────┬───┬────┘ │ │ │ ▼ ▼ ▼ PWA ESP32s SimServers SimPilot (OTA) pairs| Couche | Contenu | Mécanisme |
|---|---|---|
| SimServer | Application SimServer (Docker), configs | Package .ksupdate → SimServer |
| PWAs | SimPilot, SimCam, SimStudio, SimView, SimPhone | Automatique — servies par SimServer |
| Firmware ESP32 | Binaires par dispositif | OTA WiFi depuis SimServer |
| Scénarios | Fichiers JSON | Synchronisation ESP-NOW/WiFi |
| Modèles IA | Fichiers .onnx / .rknn | Copie dans le volume Docker, rechargement du moteur IA |
| Python | Dépendances serveur | Wheels embarquées dans le .ksupdate |
C’est le canal recommandé, le plus simple et le plus fiable.
Télécharger le package .ksupdate depuis kersim.fr/updates sur n’importe quel ordinateur connecté à internet
Copier le fichier .ksupdate sur une clé USB
Brancher la clé USB dans le SimServer (ou la SimBox)
Appliquer : SimServer détecte automatiquement la mise à jour et affiche « Mise à jour v2.4.0 disponible — Appliquer ? ». Un clic suffit.
Pour une mise à jour rapide sans clé USB :
kersim.fr/updates.ksupdateQuand la tablette du formateur a accès à internet (domicile, bureau) :
Une fois la mise à jour sur un SimServer, la distribution est automatique :
| Cible | Mécanisme | Action du formateur |
|---|---|---|
| PWAs | Mise à jour instantanée au prochain chargement (Service Worker) | Aucune |
| Firmware ESP32 | OTA via WiFi au boot des dispositifs (partition A/B) | Aucune |
| Scénarios | Synchronisés au démarrage de la simulation | Aucune |
| Autres SimServers | Proposé via Ethernet en mode multi-salles | Un clic par SimServer |
| Modèles IA | Copiés dans le volume Docker, rechargés par le moteur IA | Aucune (redémarrage service) |
.ksupdateLe format .ksupdate est un fichier ZIP standard (Content-Type application/zip) contenant tous les composants. Le format ZIP est utilisé pour passer les proxies et filtres hospitaliers sans problème.
| Propriété | Détail |
|---|---|
| Format | ZIP standard (renommable en .zip si filtre) |
| Contenu | Docker image (zstd), PWAs, firmware ESP32, scénarios JSON, modèles IA, wheels Python, migrations |
| Signature | Ed25519 — empêche corruption et injection |
| Intégrité | Hash SHA-256 par composant dans manifest.json |
| Manifest | Versions source/cible, plateformes supportées, changelog bilingue |
kersim-2.4.0.ksupdate├── manifest.json ← Version, checksums, changelog├── manifest.json.sig ← Signature Ed25519├── docker/ ← Image Docker (docker save | zstd)├── www/ ← PWAs buildées (pilot, cam, view, studio, phone)├── python/wheels/ ← Dépendances Python├── firmware/ ← Binaires ESP32 (dinamap.bin, dae.bin, scope.bin)├── models/ ← Modèles IA (optionnel)├── scenarios/ ← Scénarios JSON (optionnel)└── migrations/ ← Scripts de migration configLe système garantit qu’une mise à jour échouée ne bloque jamais un SimServer ni un dispositif :
idle → validating → snapshotting → applying → verifying → completed ↘ validation_failed ↘ rolled_backLe SimServer expose une API pour piloter les mises à jour depuis le dashboard :
| Endpoint | Description |
|---|---|
GET /api/updates/status | Version courante, état, mise à jour en attente |
GET /api/updates/history | Journal des mises à jour appliquées |
POST /api/updates/apply | Déclencher l’application d’un .ksupdate détecté |
POST /api/updates/rollback | Rollback manuel vers la version précédente |
GET /api/updates/firmware | Versions firmware et état OTA par dispositif |
POST /api/updates/upload | Transférer un .ksupdate via HTTP (canal PWA) |
GET /api/firmware/{type}/version | Version firmware disponible (endpoint OTA ESP32) |
GET /api/firmware/{type}/binary | Téléchargement binaire firmware (endpoint OTA ESP32) |
/updatesLe dashboard SimStudio inclut une page dédiée /updates :
Mode multi-salles
La mise à jour se propage entre SimServers via le réseau multi-salles.
Réseau & HTTPS
Architecture réseau et certificats TLS du SimServer isolé.