Welcome LunchFABERNOVEL TALKS : Rencontrez Dominique Piotet, CE...
Events

Hackday de fin d’année, vive le code d’hiver

Si l’on constate un certain essouflement pour les chocolats gras et la dinde sèche de Noël, les hackdays de FABERNOVEL TECHNOLOGIES, eux, ne souffrent d’aucune désaffection. Bien au contraire ! Toujours plus de participants (hello Applidium!), toujours plus d’idées, toujours plus d’envies de créer, d’inventer, d’imaginer et de tester. Pour cette fin d’année, les équipes se font des cadeaux. Calendrier de l’Avent, objets connectés, musique illimitée, technologies émergentes… et le fil rouge dans tout ça ? Concrétiser le digital, remettre de la matière, donner du corps à la volatilité numérique. Comme si chacun voulait rendre le Père Noël un peu plus réel.

 

Calendrier de l’Avent, gardons notre âme d’enfant

Comme le dit le dicton : « Celui qui n'a pas Noël dans le coeur ne le trouvera jamais au pied d'un arbre ». Cette année, c’est sur la mezzanine de FABERNOVEL TECHNOLOGIES que les membres du hackday auront un avant goût de Noël, qu’ils croient ou non au père Noël d’ailleurs. Chaque jour de décembre, ils se verront attribuer au hasard un cadeau dans une des cases du calendrier de l’Avent réalisé par une des neufs équipes du hackday de décembre.

Mais comment ça un cadeau ? Et les chocolats alors ? Bah c’est à dire qu’on est plus « crack » en informatique que pro du rouleau à pâtisserie… Alors le concept, très simple en théorie uniquement, est de concevoir un bot qui envoie à chaque collaborateur un message comportant une case à ouvrir par jour et par personne. De  vrais cadeaux se trouvent dans chaque case du calendrier installé sur la mezzanine et le Santa Claus Bot désigne chaque jour trois personnes pour les retirer. De plus, ce bot distribue également des cadeaux virtuels : un GIF de Noël, une vidéo, ou encore une musique, il suffit de le lui demander gentiment.

Pour la partie technique, c’est Claudia, Sophie, Vincent, Alex et Antoine qui s’y sont collés. Pour ce qui est de la fabrication et de l’installation du calendrier, l’équipe en entier a participé avec les deux chefs de projet Carole et Fanny. Tous les profils confondus ont su faire appel à leur fibre artistique - développeurs back, front et project manager - pour mettre en œuvre un calendrier de l’Avent comportant 80 cases. À un après-midi de la fin du hackday, le projet est réalisé à 80 %. Pari réussi pour l’équipe qui souhaitait le clôturer en 2 jours chrono.

Pour les technologies utilisées, les membres de l’équipe ont créé le bot avec Node JS, un outil permettant de développer des applications en utilisant du JavaScript. Pour le reste tout a été question de mise en commun d’idées et d’éveil du génie collectif et dans la bonne ambiance bien sûr ! Un projet qui leur a valu la troisième place du classement, ex aequo avec le projet eXtreme Feedback Devices.

 

CISUM, exporter ses préférences musicales

Quand on a un compte Deezer et qu’on est lassé de s’entendre dire que l’interface de Spotify « est beaucoup mieux, tu devrais y venir ! », trois solutions s’offrent à soi.

1. On se drape dans sa dignité et on refuse de céder à la pression.

2. On reconnaît que Spotify vaut le coup et on fait son deuil de ses playlists amoureusement créées sur Deezer.

3. On fait comme Alexandre, et on exporte toutes ses playlists Deezer pour les écouter sur Spotify !

Aujourd’hui, la valeur ajoutée d’une plateforme de streaming se trouve dans l’appropriation que l’on fait de « sa » musique, celle que l’on aime et que l’on souhaite retrouver notamment dans ses playlists. Or l’effet de cette appropriation ne subsiste que tant que l’on se maintient sur une plateforme musicale donnée. On ne peut pas switcher d’une plateforme à une autre tout en conservant ses sélections. Or, pour les aficionados, une playlist personnelle, c’est important.

C’est bien pourquoi l’équipe, composée de 4 développeurs et de 3 designers (Alexandre, Housnati, Esther, Maxime, Nicholas, Damien et Hugo d’Applidium), a cherché à développer une plateforme qui permette de se réapproprier, pas tant le fichier en lui-même, mais ses préférences et ce, quel que soit le service de streaming. En l’occurrence,  il est assez aisé de dialoguer au travers des API mises à disposition. Dès lors, pour les gros audiophiles, la solution permet de combler les lacunes des catalogues.

Comme souvent pour un hackday, le temps est une contrainte majeure et la sélection des outils en dépend. Pour le design, le choix s’est porté sur Figma, un outil collaboratif qui permet d’avancer rapidement dans un temps relativement court et de partager directement aux développeurs l’ensemble des éléments utiles (tailles de composants, tailles de typographie, assets…).

Pour le développement, l’équipe a choisi Scala. Pour la persistance des données, MongoDB, et pour la partie front, React. Ceci, encore une fois, pour que chacun puisse progresser sans attendre les résultats des autres (deux jours on vous dit, deux!).

Pour l’heure, les développeurs ont bien avancé sur l’identification des playlists et se sont hissés à la deuxième place de ce classement.

Auront-ils le temps de travailler sur la bascule d’une plateforme à une autre ? Le décompte est lancé. Quant à l’interface, le prototype offre déjà des possibilités de synchronisation et de mise à jour.

 

eXtreme Feedback Devices : rematérialiser le digital

La troisième place du classement, ex aequo avec le projet Calendrier de l’Avent, a été attribuée aux membres de eXtreme Feedback Devices pour leur ténacité et leur inventivité.

Les outils de développement émettent des notifications (lorsqu’un code ne passe pas les tests par exemple).
Il est intéressant, d’une part, que cette notification soit rendue visible sur un objet bien placé dans l’openspace. Cela permet d’être très facilement et immédiatement alerté des informations les plus importantes sans avoir besoin de consulter un outil web.
D’autre part, pour pimenter cet exercice qui n’est pas, nous le reconnaissons, une totale nouveauté, l’équipe a cherché à rendre cette fonctionnalité plus modulaire. Elle s’est donc fixé comme objectif de créer une architecture réutilisable sans contrainte afin de permettre à quiconque de choisir son ou ses propres objets, en fonction des notifications souhaitées, ainsi que la forme de l’objet et le type d’affichage (un caméléon par exemple, passant du rouge au vert en fonction des tests).

Pour ce projet, Applidium s’est joint à l’équipe en nous envoyant une talentueuse designer, Marie et un non moins talentueux développeur mobile, Thibault. Associés à Christopher, Guillaume, Elie, et Aurélien, ils ont choisi d’utiliser le mini ordinateur Raspberry Pi, originellement exploité pour des projets éducatifs Open Source.  Peu coûteux et doté d’une forte communauté, le mini pc a permis de tester très vite l’idée.
Côté « tuyauterie », pour l’infrastructure des objets connectés, ils ont utilisé le middleware Kaa, qui facilite la connexion des objets à une application serveur. L’exercice tenait autant dans l’exploration des capacités du middleware que dans la facilitation de l’intégration de l’application.

Restait la récupération des données, avec Scala et Akka Streams.  

Tous ont sélectionné soit des technologies qu’ils ne connaissaient pas ou peu, soit des phases d’apprentissage qui ajoutent à la difficulté dans des temps très courts. L’organisation était rodée, les responsabilités bien déléguées et les points de recadrage réguliers. Bravo à eux. A l’heure actuelle, l’ensemble des composants fonctionne parfaitement ! Le meilleur pour la fin en somme !  

Tester la monade IO de scalaz-effect

Poursuivi par une équipe de 5 personnes expertes de Scala, Étienne, Mayleen, David, Daniel et Denis, l’objectif du projet est d’explorer la monade IO de scalaz-effect 8 et d’investiguer ses capacités à remplacer l’utilisation de Future, sur laquelle les ingénieurs n’ont que trop peu de contrôle. La monade IO offrirait un contrôle plus fin et les mécanismes d’arrêt qui manquent à Future.

A ce jour, la librairie n’est pas encore disponible et reste à l’état de pull request sur le repository de Scalaz. Au demeurant, l’équipe veut la tester dès maintenant, et ainsi évaluer sa pertinence au regard de projets à venir.

La plus grosse difficulté constatée repose sur le fait que, par l’effet du choix d’une technologie, l’essentiel du code en Scala utilise Future. Or il n’existe pas de moyen simple de passer d’une IO de scalaz-effect à une Future. Il faudrait pour cela créer un interprète dédié, une tâche complexe qui ne peut évidemment pas être réalisée en deux jours. Selon les membres de l’équipe, c’est un aspect crucial, qui facilitera l’adoption de IO.

Pour les tests, les 5 explorateurs ont exécuté du code créé pour l’occasion sur les deux librairies et implémenté un code basé sur ReactiveMongo permettant de récupérer tous les éléments renvoyés par la base de données en utilisant la monade IO. Comme prévu, l’expérimentation a bien permis de démontrer que l’opération peut être annulée à tout moment, libérant ainsi la base donnée.

Maintenant, l’équipe est en mesure de rendre compte des différences entre Future et IO de façon très objective et d’apporter éventuellement aux squads de nouvelles ouvertures, vers d’autres technologies plus adéquates en fonction des projets. Dit autrement, l’équipe a fait œuvre de défrichage, préparant le terrain pour l’avenir.

Suite à ce Hackday, des membres de l'équipe ont pu proposer des corrections et améliorations au créateur de la librairie. Daniel a fait 2 pull requests : une pour ajouter l'interprète qui manque, et une autre pour corriger un bug que l’équipe a identifié lors des tests. Nous espérons que cette expérimentation a permis d'améliorer la librairie.

Au total ce sont donc neuf projets et neuf équipes qui se sont ardemment affrontées en ce jour de hackday. Des projets toujours plus palpitants : Automatisation PR qui nous permettrait de réduire le temps que nous passons sur les revues, Cumulus, un projet Open Source de Cloud personnel.

La première place a été attribuée au projet Campagne de recrutement qui s’est constitué de 2 ateliers de Design Thinking afin de trouver des solutions pour attirer les talents et fluidifier le processus de recrutement classique. Ce projet a été complété par Recrutement Front composé de Charlotte et Nicolas qui ont travaillé dans l’objectif de simplifier l'évaluation des développeurs front. Enfin, le projet Fabière, très attendu ! En effet, nous avons fabriqué notre propre bière qui sera prête pour dégustation dans 3 mois.

Un grand merci à notre jury constitué cette fois-ci de 2 designers et 1 delivery manager, lesquels ont connu quelques sueurs froides au moment d’évaluer les purs projets techniques !

<>