Bon je vais parler de "mon" système de live result comme ça si quelqu'un veut y participer qu'il n'hésite pas !
Tout a commencé pour les WOC 2011, où sur le peu de temps libre j'ai essayé de mettre en place un système de "live result". Nous partions de scripts PHP un peu old school qui généraient des pages HTML. Pour ces WOC, "ResultService", qui gérait le chronométrage faisait un dump (en gros ils supprimaient et ré importaient une base de données toutes les X secondes (30 de tête). Ce système a vite montré ses limites, mise en page basique, peu de style, interface utilisateur pas terrible. Puis le serveur dédié physique n'a pas suivi (ils ne pouvaient plus répondre à toutes les connexions...).
De là avec Joona, un finlandais bénévole des WOC 2011 nous avons totalement repensé le système :
Avoir des données sur notre serveur (des fichiers JSON) , puis les clients (les navigateurs des utilisateurs) chargent une fois le HTML (le contenant : mise en page, scripts) et toutes les X secondes charge le JSON (les données). Cela libère de la charge serveur. De l'interface utilisateur (JqGrid) est pas mal même s'il y a toujours des optimisations à faire (j'avais eu de nombreux retour).
L'avantage de cette interface est que la ré actualisation est transparente... le temps apparaît directement s'il existe. Il n'y a pas de refresh de la page.
Après il y a eu la période EYOC 2012.. configuration différente, faible connexion internet mais le principe reste le même :
Les données sont générés en csv par OE, un script génère les JSON nécessaire, puis ces JSON sont chargés par les clients.
Autre évolution qui pourrait venir : l'utilisation d'un Raspberry comme serveur... avec tout de configuré dessus.
Ne souhaitant plus aider la FFCO je recherche des personnes interessées pour leur expliquer le fonctionnement.