Votick

08 janvier

 Présentation

Site web : www.votick.com

Aujourd’hui, les votes dans les assemblées ou lors d’évènements sont réalisés à l’aide de boitiers radio. Cette technologie est plutôt couteuse pour l’organisation : il faut louer autant de boitiers que de participants et surtout s’offrir les services d’un technicien qui vient installer le système au préalable et qui récupère le matériel à l’issue de la session.

Notre client est venu nous contacter avec une idée toute simple : utiliser les téléphones mobiles de l’audience en lieu et place de ces boitiers radios.

Le système se veut polyvalent en permettant l’usage de deux canaux : les SMS et le web. Cela signifie qu’une personne avec un téléphone plus ancien pourra participer en envoyant des SMS alors qu’une personne ayant un smartphone pourra se connecter à Internet et utiliser une interface de vote adaptée à sa taille d’écran pour participer.

Utiliser une application web permet également bien plus de possibilités pour le traitement des résultats, le suivi des participants ainsi que les prestations avant, pendant et après la session. Le client souhaite ainsi permettre à l’utilisateur de créer sa session, comprenant un ensemble de questions (ouverte, à choix multiple, Likert) et l’afficher tout simplement en plein écran sous forme de diapositives successives. Une compatibilité avec PowerPoint a toujours été souhaitée et un plugin personnalisé sera développé pour permettre cela.

Acteurs du projet

En plus du client, ce projet a regroupé plusieurs talents d’horizon différents pour mener cette mission :

  • Des développeurs web chez Reaklab puis Kernl, pour la partie WordPress ;
  • Un développeur C# pour la réalisation du plugin PowerPoint ;
  • Un analyste-programmeur pour la partie SMS ;
  • L’équipe de JellyCube pour la réalisation du clip vidéo.

Environnement de travail

Comme avec la majorité de nos projets, nous souhaitons travailler en étroite collaboration avec notre client. De manière itérative, nous implémentons des fonctionnalités et le client nous fait un retour sur celles-ci. En plus des traditionnels e-mails, nous avons donc mis en place :

  • Un serveur de développement et un serveur de production ;
  • Un dépôt de code source Git administré à l’aide de Gitlab ;
  • Un outil de gestion de projet, Redmine, servant à la fois de wiki et de bug-tracker ;

Le site de Votick est réalisé à l’aide de WordPress et de plusieurs plugins personnalisés.

Points techniques

Ce projet étant un peu particulier quant à sa structure, voici un schéma simplifié global permettant de présenter les différents éléments et de définir les différents éléments qui seront détaillés plus loin.

votick_global
Schéma général de Votick

La gestion SMS

Cette partie est géographiquement distante du reste du projet. Un ingénieur réseau a réalisé des passerelles SMS qui, pour faire simple, sont constituées d’une carte SIM et lisent/écrivent dans une base de données locales les SMS. Le système est bidirectionnel : les SMS reçus sont recopiés dans la base de données et une nouvelle entrée dans la base de données fabrique un SMS qui sera envoyé.

La transmission de ces données jusqu’au site de Votick est assurée par un système de réplication MySQL. C’est un lien robuste qui permet de s’assurer que les deux bases de données sont des copies parfaites. Si jamais une coupure réseau devait se produire, les données seront synchronisées dès le rétablissement de la connexion.

L’intégation à PowerPoint

Le très célèbre logiciel de présentation peut être étendu grâce à des plugins. Votick dispose du sien, qui permet d’une part de récupérer automatiquement les questions qui ont été créées via le manager, mais surtout d’autre part d’ouvrir et de fermer les fenêtres de votes grâce à un bouton. À l’issue du vote, les résultats sont récupérés dynamiquement et affichés durant la présentation.

Pour permettre la communication entre le plugin PowerPoint et le système Votick, nous avons créé un plugin WordPress offrant une API REST. Nous avons ainsi des méthodes permettant de récupérer des données (sessions, questions, réponses) mais aussi de définir certains marqueurs (lancement du chronomètre d’ouverture des votes, etc).

Évolutions de Votick

Le futur de ce projet sera surtout l’intégration des WebSockets. Cette technologie, aujourd’hui supportée par la majorité des navigateurs — y compris mobiles —, permet d’avoir une communication bidirectionnelle quasiment instantanée entre le participant et le serveur.

Galerie photo