SAVINGSFinancial gain :Save €1,500 to €3,000 / year per studio (Zero software royalties)
NO SUBSCRIPTIONSoftware cost :€0 / month · Open-source, zero recurring fees, no vendor lock-in
OPEN SOURCEFull transparency :Public source code on GitHub: auditable by anyone, zero black box
MAC & MAC MINIStudio appliance :Perfect control unit: near-total silence, dual HDMI screens & auto-launch
APPLE SILICONM4 to M6 chips :Apple Silicon tuning: instant 4K playback with zero heat build-up
VERIFIED MINI PCSAccessible hardware :Verified refurbished mini PC (HP EliteDesk, industrial fanless) from €161
VERIFIED GUIDEAmazon purchases :Every hardware guide product is hand-verified: real ASIN, checked price, authentic photo
ALREADY OWN A LAPTOPZero repurchase :No purchase needed: close your existing laptop in clamshell mode and plug in a simple hub
GRAPHICS ACCELERATIONSmooth playback :Hardware-accelerated engine: buttery smooth 4K & 2K 60 fps playback
100% OFFLINEOutage proof :Operates without Internet: resilient against fiber cuts and ISP outages
TOUCH KIOSKSelf-service :Member touchscreen with live class countdown and easy selection
DUAL SCREENSMulti-display :Simultaneous feeds: main workout screen + gym floor TVs
24/7 GYM RADIOBackground music :Continuous music flow with seamless crossfade and automated voice alerts
CUSTOM CONTENTCatalog freedom :100% Agnostic: play your own workouts (Cycling, HIIT, Yoga, Pilates)
MULTI-OSCross-platform :Windows 10/11, macOS, Linux, Android tablets and iPadOS exploration
NATIVE ANDROIDDedicated app :Available on touchscreen tablets to control your fitness studio seamlessly
LINUX APT REPONative updates :GPG-signed .deb package on apt.bobine.fit: native Linux updates via apt update
SIMPLE REMOTEEasy control :Choice of 2.4 GHz wireless clicker or local smartphone QR web app
PRIVACY & GDPRData sovereignty :100% Local: zero analytics, zero cameras, your data stays in your club
BLACKOUT RECOVERYElectrical resilience :Autonomous auto-recovery and instant playout resume after power outage
1-CLICK BACKUPUniversal export :Export and restore your entire schedule and video catalog in a single ZIP
ECO-FRIENDLYLow power draw :From 6 Watts in fanless configuration: silent, cost-effective and eco-friendly
← Back to releases
V4.0.1

Bobine V4.0.1

Bobine

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 & EnvironnementFormatArchitectureTéléchargement Direct
Android.apkARM64Télécharger Bobine-4.0.1.apk
Windows 11.exex86-64Télécharger Bobine-Setup-4.0.1.exe
Debian Ubuntu Linux Mint.debx86-64Dépôt APT apt.bobine.fit
bobine_4.0.1_amd64.deb
Apple.dmgApple SiliconTélécharger Bobine-4.0.1.dmg
TauriBinaire natifx86-64 (Linux)Télécharger bobine-assistant
Debian ApplianceScript automatiséx86-64curl -sSL https://bobine.fit/install.sh | bash
GitHubBinaires & SourcesMulti-OSVoir 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 /cinema d'un même canal dérivaient l'un par rapport à l'autre.
  • Maintenant : un cours lancé par ordre (depuis /grid ou 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 seul seek au-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_sync partagé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) :

CommandeLatence mesurée
Pause1 ms
Play2 à 4 ms
Seek6 à 8 ms
Quatre seeks +10 s enchaînés à 300 ms5 à 7 ms chacun
Chargement d'un cours≈ 150 ms
Audio coach : démarrage / pause / play2 / 1-2 / 1-2 ms
Radio : pause / play1-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é).