BellePoule - Gestion de compétitions d'escrime

Posté par (page perso) . Édité par BAud, Nils Ratusznik, palm123, Xavier Claude, yPhil, ZeroHeure et Bruno Michel. Modéré par ZeroHeure. Licence CC by-sa
47
15
mai
2014
C et C++

S'il est un sport dont la gestion des compétitions ne peut se passer de l'outil informatique, c'est bien l'escrime :

Un événement typique rassemblant 140 tireurs engendrera, rien que pour le tour de poules, 1029 opérations mathématiques élémentaires (additions, soustractions, divisions) pour calculer un classement tenant compte du ratio victoires/défaites, des touches données et des touches reçues.

Titre de l'image

Petite difficulté supplémentaire, un match d'escrime est extrêmement rapide et n’excédera jamais plus de 3 minutes en poule. Ce petit millier d'opérations se doit donc d'être réalisé dans les plus brefs délais.

Les solutions logicielles répondant à ce besoin se comptent sur les doigts d'une main. Elle sont toutes fermées, à l'exclusion du système BellePoule dont le code source est publié sous licence GPLv3. C'est également la seule à offrir la dématérialisation des échanges avec les arbitres, par le biais d'un système de feuilles de match électroniques.

Sommaire

Le système

Le système s'articule autour du logiciel BellePoule tournant sur le PC (Linux/Windows) de l'organisateur.
À cet élément central, peuvent venir s'ajouter les smartphones des arbitres équipés de l'application Android SmartPoule. C'est grâce à cette application que les feuilles de match pourront être transmises aux arbitres et qu'en retour, les scores reviendront en temps réel sur l'ordinateur central, sans attendre la feuille papier.

On peut également y connecter un smartphone jouant le rôle de scanner de feuille de match pourvu qu'il soit équipé de l'application QuickPoule. L'organisateur pourra ouvrir instantanément la fiche correspondant au match en "flashant" simplement le QrCode sur la feuille de match.

Les communications entre tous ces acteurs sont chiffrées et seuls les équipements dûment authentifiés sont habilités à échanger des données par le réseau WIFI.

La procédure d'authentification a été conçue pour être la plus simple et la plus rapide possible tout en gardant un niveau de protection maximal. Le critère était de ne pas allonger la tâche de pointage des arbitres qui ne prend traditionnellement que quelques secondes. Pour ce faire, les paramètres du réseau WIFI ainsi que les clés de chiffrement/déchiffrement individuelles sont inscrites dans un QrCode spécifique à chaque arbitre. Un simple « flashage » par les applications Android (SmartPoule, QuickPoule) permet de se raccorder au réseau de la compétition, avec toutes les autorisations nécessaires.

La fiche de pointage d'un arbitreLa fiche de pointage d'un arbitre avec le QrCode pour le connecter au réseau de la compétition

BellePoule (le logiciel central)

La fiche de pointage d'un arbitre

C'est le logiciel qui gère la compétition :

  • import des fichiers des engagés ;
  • pointage des tireurs ;
  • pointage des arbitres ;
  • impression des listes de tireurs ;
  • configuration des formules (poules, tableaux, élimination directe, quota de qualification…) ;
  • impression des feuilles de match et transmission des feuilles de match électroniques ;
  • saisie des résultats et/ou récupération des résultats sous leur formes électroniques ;
  • calcul des classements ;
  • publication des résultats sur adresse FTP ;
  • export des résultats en PDF, HTML ;
  • impression des ticket repas pour les arbitres ;
  • impression du registre des paiements pour les arbitres.

Il prend en charge les compétitions individuelles aussi bien que les compétitions par équipes.

Plusieurs compétitions peuvent être gérées en parallèle sans confusion grâce à un astucieux système de code couleur répercuté sur toutes les impressions, les applications d'arbitrage et les onglets du logiciel central :

Les feuilles
La liste papier des tireurs avec son bandeau à la couleur de la compétition.

Titre de l'image
Un match de cette même compétition sur le smartphone d'un arbitre.

Les onglets
L'ensemble des compétitions sur le logiciel central avec chacune sa couleur.

SmartPoule (l'application d'arbitrage)

Titre de l'image
C'est une application Android dédiée à l'arbitrage des matchs d'escrime. Elle offre les fonctions de base comme un chronomètre vibreur, des compteurs de scores et les trois cartons pour sanctionner les fautes.

Ce qui la rend particulièrement intéressante est qu'elle a été conçue pour être interopérable avec le système BellePoule pour l'échange de feuilles de match électroniques. L'arbitre reçoit les matchs à arbitrer directement sur son smartphone et les scores qu'il rentre sont retournés en temps réel sur l'ordinateur central.

Cela offre de multiples avantages :

  1. les temps morts entre les matchs sont réduits ;
  2. la saisie des scores n'est plus utile sur l'ordinateur central ;
  3. les erreurs de transcription sont réduites ;
  4. la publication des résultats "live" sur les sites web est mise à jour, touche par touche.

QuickPoule (le scanner des QrCodes des feuilles de match)

Titre de l'image

Cette application Android est à l'usage de l'organisateur pour lui permettre d'identifier instantanément les feuilles de match qui lui reviennent. Comme on l'a vu précédemment, un tournoi rassemblant quelques dizaines de tireurs peut amener à gérer plusieurs centaines de matchs au cours de la journée. Pour éviter la problématique de l'aiguille et de la botte de paille, tous les matchs sont imprimés avec un identifiant unique sous la forme d'un QrCode. QuickPoule permet de les « flasher » pour demander au logiciel central d'ouvrir la fiche correspondante dans la bonne compétition, afin de procéder à la saisie dans les plus brefs délais.

Appel à contributions

Traduction

Le logiciel est traduit actuellement en 10 langues. Il n'y a pas de raison de s'y limiter. Quelques-unes restent également à compléter. Une plate-forme de traduction est mise à disposition sur Launchpad. Elle est synchronisée avec le code et son usage est simple. Moins de 300 termes sont à traduire par langue et ne prennent, par expérience, que peu de temps (quelques heures).

Tests

La V4 n'est pas encore validée. C'est le gros travail qui reste à faire. Il faut se lâcher et ne rien laisser passer. Les bugs sont à remonter également sur Launchpad.

La série des versions stables (V3) et celles des versions instables (V4) sont toutes deux disponibles sur la page de téléchargement pour :

  • Windows : installeur exécutable ;
  • Linux : paquet Debian (à télécharger ou à installer directement par apt, synaptic…).

Portage sur Mac

Tout est prêt pour. Seuls restent les binaires d'installation à générer (difficile à faire sans Mac). Un petit coup de main serait vraiment apprécié. Il n'y a pas de dépendance vers une architecture particulière. Le code est écrit en C++ et n'a nécessité aucune adaptation particulière pour être porté de Windows à Linux (merci GTK).

  • # Affichage résultat

    Posté par (page perso) . Évalué à 9.

    Tu n'as pas une copie d'écran de l'affichage écran pour les joueurs ?

    J'ai assisté à quelques compétition et c'est vrai que cela a l'air un bordel à gérer tous ces résultats… Du coup, j'ai souvent vu plusieurs écran donnant les résultats en temps réel.

    En tout cas bravo pour le système.

    • [^] # Re: Affichage résultat

      Posté par (page perso) . Évalué à 2.

      Ce sont les mêmes écrans que ceux qui sont sur le PC des organisateurs. Dans ce cas les affichages déportés sont pilotés par des PC dédiés avec le même logiciel BellePoule qui récupère les données de la compétition par l'API http.

      Maintenant, les habitudes font que c'est l'affichage papier qui est le plus souvent pratiqué (exemple)

  • # Les noms et les couleurs, ça se discute

    Posté par (page perso) . Évalué à 4.

    Belle poule, c'est pas déjà le nom d'un logiciel de gestion de compétitions de concours de beauté féminins ?

  • # Autre sport

    Posté par (page perso) . Évalué à 1.

    Intéressant ça.

    Est-ce que BellePoule pourrait être utilisé pour gérer une saison de badminton (double (mixte ou pas)/simple) ?

    Born to Kill EndUser !

  • # sécurité

    Posté par . Évalué à 3.

    Bon, je ne suis pas un grand sportif, et j'aime encore moins regarder des gens pratiquer… ( quoique… l'escalade à la rigueur, pour la pratique comme pour regarder, ou l'escrime artistique…. mais ce n'est pas le sujet que je veux aborder ) donc je ne suis pas concerné au premier point.

    Par contre, un point m'a paru particulièrement ingénieux au niveau de l'identification: utiliser des flash-codes pour réduire la pénibilité de gérer des méthodes d'identifications via wi-fi.
    Par contre, je me dis qu'il y a un certain nombre de risques: si une personne parviens à flasher la même image, y a t-il une sécurité qui bloque l'un des identifiés partageant la même identité, ou mieux, l'ensemble?

    Autre point, pour l'identification, quel type de méthodes ont été utilisées? J'imagine un mécanisme de clés privées/publiques, un peu comme ssh, je me trompe?
    Si c'est le cas, quelle lib à été utilisée?

    Tel que je l'imagine, je suis tenté de supposer que le flash-code contiens une clé privée dont l'alter-ego publique est stockée dans un ~/.ssh/authorized_keys mais ça, ça aurait plutôt été une solution pour un script shell, pas une application C++?

    • [^] # Re: sécurité

      Posté par (page perso) . Évalué à 4.

      Oui, toute la sécurité repose sur l'accès au flash-code. Celui-ci ne doit en aucun cas être visible des smartphones autres que celui de l'arbitre à qui il est destiné.
      C'est une contrainte tout à fait acceptable et facilement gérable dans ce genre de contexte. Maintenant, on n'est jamais trop prudent, et c'est vrai qu'une sécurité supplémentaire bloquant les authentifications d'un arbitre déjà enregistré ne serait pas un luxe (merci pour le tuyau).

      La méthode utilisée est un chiffrement symétrique donc sans clé publique. Un chiffrement asymétrique est ici complètement inutile puisque les deux interlocuteurs sont physiquement présent l'un en face de l'autre. C'est donc la clé privée (une différente pour chaque arbitre) qui est inscrite dans le flash-code. L'algorithme est de l'AES-256 (lib openssl).

    • [^] # Re: sécurité

      Posté par (page perso) . Évalué à 4.

      Bon, je ne suis pas un grand sportif, et j'aime encore moins regarder des gens pratiquer…

      Il est donc temps d'avoir des enfants ;-)

  • # Bel le Poule

    Posté par . Évalué à 2.

    Il est normal l'espacement des lettres dans le logo ? Je pense que le deuxième l est trop près du e, ça fait « bel le poule ».

  • # Belle Poule

    Posté par . Évalué à 3.

    T'as d'beaux jeux, tu sais ?

  • # tant de calculs ?

    Posté par (page perso) . Évalué à 4.

    S'il est un sport dont la gestion des compétitions ne peut se passer de l'outil informatique, c'est bien l'escrime

    Ils faisaient comment avant ? (parce que c'est pas un sport jeune je crois) Les règles se sont complexifiés ces dernières années ? ou les compétitions duraient des heures le temps de faire les calculs ?

    • [^] # Re: tant de calculs ?

      Posté par (page perso) . Évalué à 1.

      Ce temps d'avant n'est pas si éloigné puisque l'introduction de l'informatique remonte à la moitié des années 90. C'était donc crayon papier et surtout une bonne gomme.

      Plusieurs personnes étaient à la manœuvre.

      Les ratios victoires/défaites n'étaient pas calculés, mais récupérés dans des tables indexées par la taille des poules et le nombre de victoires (à l'image des tables trigonométriques et logarithmiques).

      Les feuilles de poules/match étaient pré-imprimées vides. Il fallait donc les remplir à la main.

      Les inscriptions se font en ligne de nos jours. Il ne reste plus qu'à pointer les tireurs le jour de la compétition. A l'époque elles étaient faite soit par courrier postal soit par fax.

      Un vrai cauchemar en fait. Je suis convaincu qu'on ne trouverait plus personne pour le faire maintenant.

    • [^] # Re: tant de calculs ?

      Posté par (page perso) . Évalué à 4.

      J'ai fait de l'escrime quand j'étais plus jeune (ça remonte à plus de 10 ans), c'était fait à la main et les compétitions avait plusieurs heures de retard sur le planning.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.