Bobine V4.0.1
La version 4.0.1 Stable de Bobine prolonge la 4.0 : l'horloge de lecture pilotée par le serveur, introduite pour la vidéo du canal Réseau, gouverne désormais aussi la piste audio du mode coach, la radio et les cours /cinema lancés par ordre. L'objectif reste une télécommande et une interconnexion ultra-réactives : les écrans démarrent ensemble, restent calés sans saccade, et répondent en quelques millisecondes.
Téléchargement des Binaires Officiels (Version 4.0.1)
| Plateforme & Environnement | Format | Architecture | Téléchargement Direct |
|---|---|---|---|
.apk | ARM64 | Télécharger Bobine-4.0.1.apk | |
.exe | x86-64 | Télécharger Bobine-Setup-4.0.1.exe | |
.deb | x86-64 | Dépôt APT apt.bobine.fit bobine_4.0.1_amd64.deb | |
.dmg | Apple Silicon | Télécharger Bobine-4.0.1.dmg | |
| Binaire natif | x86-64 (Linux) | Télécharger bobine-assistant | |
| Script automatisé | x86-64 | curl -sSL https://bobine.fit/install.sh | bash | |
| Binaires & Sources | Multi-OS | Voir les Releases GitHub |
CE QUI CHANGE
Audio coach (/coach, /kiosk en mode coach)
- Avant : la position de la piste venait du kiosque « primaire » (rapport, tick à 4 Hz) ; les écrans miroirs se recalaient par
seek; chaque écran envoyait la fin de piste, si bien que deux écrans pouvaient sauter deux pistes d'un coup en mode automatique. - Maintenant : seconde horloge serveur (
audio_clock), la position avance sans écran connecté ; la fin de piste est idempotente (elle porte l'index de la piste terminée) ; le serveur enchaîne lui-même une piste dépassée (durée + 2 s), en respectant le mode automatique ou manuel — l'enchaînement automatique fonctionne désormais même sans écran. La minuterie d'affichage du coach est calculée depuis l'ancre d'horloge, plus d'un incrément local recalé à chaque tick.
Radio (/radio)
- Avant : le serveur ne diffusait la position que si le poste primaire l'avait rapportée dans les 5 dernières secondes (la radio « se taisait » côté serveur si ce poste s'arrêtait) ; les postes miroirs se recalaient par
seek; chaque page envoyait la fin de piste, ce qui pouvait sauter une piste et fausser la règle « toutes les N musiques ». - Maintenant : horloge de piste côté serveur, heartbeat à 1 Hz indépendant d'un poste ; fin de piste idempotente par
track_id(le doublon est ignoré avant d'être compté) ; filet de sécurité serveur qui passe par le même chemin que la commande (rappels inclus) ; postes miroirs suivis par ajustement de vitesse. Le poste primaire garde son lecteur Web Audio et son fondu enchaîné inchangés.
/cinema
- Avant : chaque page jouait localement, sans aucune correction après le démarrage ; deux écrans
/cinemad'un même canal dérivaient l'un par rapport à l'autre. - Maintenant : un cours lancé par ordre (depuis
/gridou le tableau de bord) possède une horloge serveur par canal ; les pages qui jouent ce cours s'y calent (démarrage et dérive). Un cours choisi à la main par un adhérent reste totalement indépendant, et toute prise en main locale (pause, seek, barre de progression, autre cours, retour au menu) quitte le suivi ; un nouvel ordre explicite reprend la main.
Fondations communes
- Suiveur d'horloge unique pour la vidéo, l'audio, la radio et
/cinema: démarrage à l'instant publié, correction par vitesse (±5 %), un seulseekau-delà de 2 s, ordres explicites appliqués sans délai de grâce, jamais de relance d'un média terminé. - Mesure d'horloge
time_syncpartagée entre les connexions de lecture et de radio.
RÉACTIVITÉ MESURÉE
Mesures sur un navigateur et un backend réels (en local ; sur un réseau Wi-Fi s'ajoute la latence de ce réseau) :
| Commande | Latence mesurée |
|---|---|
| Pause | 1 ms |
| Play | 2 à 4 ms |
| Seek | 6 à 8 ms |
| Quatre seeks +10 s enchaînés à 300 ms | 5 à 7 ms chacun |
| Chargement d'un cours | ≈ 150 ms |
| Audio coach : démarrage / pause / play | 2 / 1-2 / 1-2 ms |
| Radio : pause / play | 1-2 / 1-2 ms |
/cinema lancé par ordre : démarrage | ≈ 40 ms |
Le démarrage synchronisé (400 ms au chargement, 150 ms pour play/seek) n'est appliqué qu'à partir de deux écrans de diffusion sur le canal ; avec un seul écran, la réponse est immédiate.
Débit réseau
Un message de position pèse environ 1 ko pour un cours seul et 15 ko avec une playlist de 40 cours. À 1 Hz pour 6 écrans, le pire cas représente environ 0,74 Mbit/s (contre ≈ 2,95 Mbit/s à 4 Hz avant la 4.0).
DÉCISIONS ASSUMÉES
- Rôle « primaire/miroir » conservé : il reste utile à la radio (le poste primaire est la source audio, avec son fondu enchaîné) et au suivi d'assiduité. Pour la vidéo, il ne pilote plus la position.
- Contenu des messages de position non allégé : les mesures ci-dessus montrent un gain marginal pour une complexité de compatibilité réelle (anciens navigateurs gardés en cache).
MISE À JOUR & LIMITES CONNUES
- Mise à jour : en place depuis la 4.0.0 (Réglages → Mises à jour, ou
apt upgrade). Aucune migration. - Compatibilité : un ancien navigateur resté ouvert continue de recevoir les évènements.
- Validation matérielle : comme pour la 4.0.0, les essais sur matériel réel (Windows, macOS, Wayland natif, Wyse, tablette Android sur hub HDMI) restent à confirmer ; les mesures de latence ci-dessus sont locales.
- Radio : le suivi d'horloge ne concerne que les postes miroirs ; le poste primaire joue son propre flux (fondu enchaîné).
