Hackath'Yon

Durant la semaine de l’Innovation Week du 1er au 10 octobre 2015, l’agglomération de La Roche Sur Yon, Oryon, ERDF Vendée et le Sydev ont organisé un hackathon sur 2 jours. Deux thématiques ont été présentées concernant la maîtrise de l’énergie.

Je m’y étais inscrit ainsi que quelques collègues de l’association Code2Be. Voici comment s’est déroulé ce premier Hackath’Yon.

Vendredi soir

Tout d’abord, après un accueil sympa enchaîné par la présentation des données par ERDF, nous avons constitué les équipes. La mienne était constituée de Sébastien, Chris et Yoann (The Yellow Tree).

Première étape, choisir un nom d’équipe.

En panne d’inspiration, nous nous sommes rabattus sur “les Happsters”. Si ce nom n’est pas transcendant, il a au moins le mérite d’amuser nos interlocuteurs du week-end. En gros, hypsters + app = happsters !

Deuxième étape: le choix de l’idée et de la thématique.

Nous avons décidé de créer une application mobile de gestion de l’énergie d’un bâtiment en 2025, et participer au défi #1 (SyDev).

Voici l’idée de notre application:

Proposer à un utilisateur lambda de maîtriser son budget énergie simplement.

Etant donné l’évolution prévisible du coût de l’énergie électrique et de sa fluctuation, nous avons estimé qu’il allait devenir très compliqué de maîtriser son budget électricité. Traditionnellement, nous avons l’habitude de nous préoccuper de la facture électrique que lors de sa réception (c’est à dire à la fin du mois !).

Nous avons donc imaginé des interfaces très simplifiées dans le but de guider l’utilisateur dans sa gestion énergétique. Un indicateur principal sous forme de jauge pour lui indiquer en temps réel la tendance de sa consommation: va-t-il respecter son budget, le diminuer ou le dépasser ?

L’application devra être en mesure de fournir des conseils et des actions correctives pouvant aider l’utilisateur à redresser la tendance dans but de diminuer sa facture. Bref, l’idée est trouvée et partagée par toute l’équipe.

Prochaine étape: l’organisation.

D’abord, nous avons fait le point sur toutes les fonctionnalités auxquelles nous avions pensé afin de structurer tout ça et de créer des wireframes pour visualiser au mieux la future application. Une fois que les vues principales étaient définies et que la direction qu’on voulait donner à l’application ait été validée, nous avons décidé de nous séparer en 2 équipes: une pour développer l’interface de l’application, l’autre pour s’occuper de structurer les données.

Une dernière chose à faire avant de travailler séparément: nous nous sommes mis d’accord sur les données utiles à l’application ainsi qu’au protocole de communication entre la partie BackEnd et la partie FrontEnd.

Nous avons écrit une liste d’APIs basiques qui peut ressembler à ça:

GET /indicateur {} {success: true, value: 23}
GET /postes {} {success: true, postes: []}

Chris et Yoann ont donc travaillé sur le BackEnd en commençant à développer les APIs nécessaires pour alimenter l’application. La solution technique utilisée est basée sur Slim PHP (pour le routing) et Propel (pour l’ORM). A priori, mettre en place un environnement de développement commun a été difficile à mettre en place à cause de l’infrastructure réseau du lieu (politique de sécurité, accès à des serveurs sécurisés externes) et l’hétérogénéité des systèmes de nos équipiers.

Pour la partie FrontEnd, c’est avec Sébastien que nous avons d’abord travaillé sur les wireframes pour détailler un peu plus chacunes des vues. C’est une étape importante qui nous permet de faire le point sur l’ensemble des données dont nous avons besoin. Durant cette étape, nous avons décidé de faire l’impasse sur les détails de consommation et de production d’énergie dans le but de fournir à l’utilisateur des indicateurs clairs et sommaires pour lui permettre de se concentrer uniquement sur les décisions correctives, ou pour le rassurer sur son budget. Notre objectif pour ce Hackathon était de fournir une application “clé en main” (ou presque) en 48H. Il nous a donc fallu faire des choix aussi bien sur l’application que sur les webservices.

5h après le démarrage, l’état de l’application est bien avancé, j’ai utilisé un template Bootstrap Material pour l’UI Design, la structure de fichiers d’un ancien projet BackboneJS et j’ai créé l’application pour Android avec Cordova.

Samedi

La journée du Samedi a été plus difficile. L’équipe de BackEnd a été bloquée par les problèmes de réseaux, et avec Sébastien, nous avons commencé à travailler sur le Pitch, thème récurrent lors des interventions de nos mentors (bien que cela allait à l’encontre de notre idée du hackathon, nous avons joué le jeu et passé du temps sur la présentation du projet). L’application n’a donc pas beaucoup avancé.

C’est donc le samedi soir que j’ai continué et presque fini d’intégrer les vues de l’application. Une première version de l’appli complète est donc livrée dimanche vers 3H du matin et prête a être branchée sur les APIs quelques heures plus tard.

Dimanche

Le Dimanche matin, nous faisons le point. Nous nous rendons compte que nous n’aurons pas l’API de disponible par le réseau bien que Chris et Yoann aient continué le développement en local. La plupart des APIs sont créées mais ne sont finalement pas accessibles.

Nous prenons alors la décision de simuler l’ensemble des données dans l’application. J’utilise alors un jeu de données aléatoires pour animer toutes les vues de l’application. Vers 11h tout est prêt sauf la présentation.

Chris et Sébastien travaillent jusqu’à la dernière minute pour préparer les supports de présentation du projet. Et Antoine, le graphiste de The Yellow Tree nous livre le logo de l’application nouvellement nommée BudgElec.

Logo Title Text 1 Logo Title Text 1 Logo Title Text 1 Logo Title Text 1 Logo Title Text 1 Logo Title Text 1

Il est 15h, c’est l’heure des pitchs. Tout se passe bien, le jury semble réceptif à notre présentation.

Conclusion

Jeudi 5 octobre, nous obtenons le 1er prix du Sydev pour ce 1er hackathon vendéen. Ce fut une expérience plaisante avec quelques points à améliorer néanmoins le travail de notre équipe, en seulement 48h, a été apprécié à sa juste valeur.

Je remercie encore Yoann, Chris et Sébastien ainsi que les autres participants et organisateurs du Hackath’Yon pour cette expérience très intéressante.