Aller au contenu

SimView — Viewer & Station de débriefing

SimView est une PWA d’affichage qui permet de visionner les flux caméra de SimServer sur n’importe quel écran connecté au réseau WiFi ou Ethernet. Elle se distingue de SimPilot (contrôle formateur) et de SimCam (source caméra) par son rôle purement réceptif et configurable.

Flux vidéo live

Réception WebRTC via go2rtc depuis SimServer. Latence inférieure à 500 ms. Multi-caméra avec choix de layout.

Replay débriefing

Lecture HLS des enregistrements avec navigation par marqueurs. Boutons physiques optionnels pour le formateur.

Overlay configurable

Constantes vitales affichées en surimpression (CSS). Position, visibilité et style configurables par viewer.

Écrans illimités

Chaque écran connecté au réseau peut afficher une vue différente. Aucun câble HDMI vers la SimBox nécessaire.

La SimBox dispose de 2-3 sorties HDMI physiques (câbles limités à 15 m). SimView lève cette contrainte en transformant chaque écran du réseau en afficheur autonome.

Avant (HDMI uniquement)Avec SimView
2-3 écrans maxNombre illimité
Câbles HDMI (distance limitée)WiFi ou Ethernet, n’importe où
Configuration rigideChaque viewer a sa propre configuration
Pas de station de débriefing dédiéeBoîtier RPi avec boutons physiques
  1. Connectez-vous au réseau WiFi de SimServer (KerSim-KIT1)
  2. Ouvrez https://studio01.local/viewer/ dans un navigateur
  3. Choisissez une vue (Salle de simulation, Débriefing, Formateur)
  4. Passez en plein écran (F11 ou bouton)

SimView propose trois vues par défaut dont les noms sont modifiables :

VueUsage typiqueContenu affiché
Salle de simulationÉcran dans la salle de simulationCaméra principale + overlay constantes vitales
DébriefingSalle de débriefing (groupe)Replay HLS multi-caméra + timeline marqueurs
FormateurBureau du formateurPiP multi-caméras, toutes les informations
  • Sélection caméra(s) : choisir quelles sources afficher
  • Layout : single, côte à côte, PiP (coin), quadrillage (2×2)
  • Volume : augmenter, diminuer
  • Mute : couper/remettre le son
  • Affichage : on / off
  • Position : bas-gauche, bas-droite, haut-gauche, haut-droite
  • Plein écran automatique (mode kiosk)
  • Auto-hide : les contrôles disparaissent après 5 secondes d’inactivité et réapparaissent au toucher ou mouvement de souris

En mode débriefing, SimView lit les enregistrements de SimServer (HLS) avec navigation par marqueurs :

ActionRaccourci clavierBouton physique (station)
Play / PauseEspace
Marqueur précédent
Marqueur suivant
Mute / UnmuteM🔇
Volume -🔉
Volume +🔊
┌─────────────────┐ ┌──────────────────────┐
│ SimServer │ │ SimView │
│ (Docker) │ WiFi/ │ (navigateur/dongle) │
│ FastAPI │◄─Eth──►│ │
│ WebSocket+MQTT │ │ WebRTC (go2rtc) │ ──► HDMI écran
│ go2rtc │ │ Overlay (CSS) │
│ │ │ Contrôle son │
└─────────────────┘ └──────────────────────┘
  • Vidéo live : WebRTC via go2rtc (latence < 500 ms)
  • Vidéo replay : HLS depuis SimServer (enregistrements)
  • Constantes vitales : SocketIO temps réel
  • Overlay : rendu côté client en CSS (pas d’incrustation serveur)

SimView peut aussi être déployé comme boîtier dédié (Plateforme E) basé sur un Raspberry Pi :

SimView Lite

Gratuit — PWA seule, fonctionne dans n’importe quel navigateur. Aucun hardware nécessaire.

SimView Dongle

~40 EUR — RPi 3B d’occasion + boîtier 3D + alimentation. Se branche en HDMI sur l’écran.

SimView Station

~50 EUR — RPi 3B + boîtier 3D + 6 boutons physiques (play, marqueurs, volume, mute).

SimView Pro

~100 EUR — RPi 4 + boîtier 3D + écran tactile 5” pour le formateur.

Le boîtier se connecte au réseau WiFi de SimServer. Simple et sans fil.

[SimServer] ── WiFi AP ──► [SimView RPi] ── HDMI ──► Écran

La station de débriefing utilise 6 boutons GPIO connectés au Raspberry Pi. Un script Python traduit les appuis en événements clavier interceptés par la PWA.

BoutonFonctionGPIO
Play / PauseGPIO 17
Marqueur précédentGPIO 27
Marqueur suivantGPIO 22
🔇MuteGPIO 23
🔉Volume -GPIO 24
🔊Volume +GPIO 25
ComposantTechnologie
FrameworkVue.js 3 + TypeScript
CSSTailwind CSS 4
ÉtatPinia
i18nvue-i18n v10 (français / anglais)
Vidéo liveWebRTC via go2rtc
Vidéo replayHLS.js
CommunicationSocketIO
PWAVitePWA (installable)
Fenêtre de terminal
cd viewer && npm install # Installer les dépendances
cd viewer && npm run dev # Serveur dev (localhost:5175)
cd viewer && npm run build # Build production (dist/)
cd viewer && npm test # Tests unitaires
cd viewer && npm run test:coverage # Couverture (seuil 80%)

SimView complète les trois applications web de KerSim :

ApplicationRôleDirection du flux
SimPilotPilotage par le formateurFormateur → SimServer → Dispositifs
SimCamSource caméra (smartphone)Smartphone → SimServer
SimViewAffichage sur écranSimServer → Écran(s)