NTBA est le moteur de scoring temps réel qui fait tourner tous les déploiements Flinko. Derrière l'interface simple qu'utilisent les arbitres sur leurs tablettes se cache une architecture technique pensée pour une seule chose : ne jamais planter pendant un match.
Pourquoi le temps réel est critique
Dans un système de scoring sportif, le temps réel ne signifie pas "rapide" — il signifie "instantané et fiable". Quand un arbitre appuie sur le bouton pour valider un point, le score doit se mettre à jour sur l'écran LED, sur le flux broadcast et sur l'interface web en moins de 50 millisecondes. Et ça doit fonctionner pendant 8 heures d'affilée, sans coupure, même si le WiFi est instable.
L'architecture technique
Le moteur repose sur Python Flask avec Flask-SocketIO pour la communication temps réel bidirectionnelle. Chaque court a son propre canal Socket.IO, ce qui permet de gérer jusqu'à 3 courts simultanés sans interférence. Le tout est conteneurisé avec Docker et déployé via Docker Compose pour garantir la reproductibilité.
Stack technique NTBA
Python Flask
Backend & API
Socket.IO
Temps réel
Docker
Déploiement
Formats de match et flexibilité
Le moteur supporte plusieurs formats de match FFT : Format 1 (3 sets standard avec jeu décisif à 6-6), Format 2 (2 sets + super tie-break), Format 4 (NO-AD + super tie-break). Chaque court peut avoir des règles différentes, modifiables en cours de tournoi sans redémarrer le système.
Tests terrain : la seule validation qui compte
On ne livre pas un prototype. Chaque fonctionnalité est testée en conditions réelles de tournoi avant d'être considérée comme stable. Les bugs découverts en match sont traités avec la priorité maximale — un système de scoring qui plante pendant une finale, c'est inacceptable. Cette culture de la fiabilité terrain guide chaque décision technique.
Fiabilité avant features
Chaque ligne de code est écrite pour fonctionner sous pression, en conditions réelles



