Mix-IT 2014

Seulement deux semaines après m’être rendu à Devoxx France, j’ai eu l’opportunité d’assister à Mix-IT 2014, quatrième édition de l’événement, dont les places se sont vendues en moins de 48 heures.

Impressions générales

Logo Mix-ITContrairement à Devoxx, Mix-IT est beaucoup moins centré sur la technique et plus ouvert vers le monde extérieur, et ce depuis toujours puisqu’il s’agit d’une collaboration entre développeurs et agilistes. Cette année, l’ouverture était particulièrement accentuée avec l’intervention de nombreux aliens.

Sur la route du retour, je me suis dit que la part qui était donnée aux aliens était importante et peut-être trop. Et en y réfléchissant davantage je pense que mon impression est faussée par le fait que j’ai assisté à de nombreux ateliers. Et un atelier, ça passe très vite et ça prend plusieurs créneaux de conférences. Les aliens nous ont raconté des choses intéressantes. C’étaient des gens passionnés par leur domaine comme le sont sans doute l’ensemble des participants à Mix-It. La keynote la plus touchante était celle du représentant du JUG du Togo qui nous a fait prendre conscience à quel point leur passion était forte pour en arriver à organiser les sessions du JUG le samedi matin, à des heures de marche pour certains participants. Cela ne les empêche pas d’être une cinquantaine. Bravo à eux de se battre pour leur passion !

Nous avons passé beaucoup de temps tous ensemble dans le grand amphi, c’était très sympa en terme d’ambiance. Les organisateurs font en sorte que les participants interagissent entre eux (notamment avec la soirée sur la péniche), et c’est vraiment appréciable et enrichissant.

Choix des sessions

Après avoir assisté à de nombreuses conférences et peu d’ateliers à Devoxx, j’ai décidé de choisir les sessions plus pratiques pour cette édition de Mix-IT. J’ai participé à trois ateliers, et je me rends compte de la difficulté d’organiser de telles sessions. De mon côté j’avais tout préparé sur ma machine avant de venir de façon à être opérationnel dès le début de la session mais ce n’est pas le cas de tout le monde et le début des ateliers est souvent calamiteux, même si à chaque fois des clés USB étaient disponibles pour éviter le téléchargement. C’est d’ailleurs pendant ces phases-là que je réalise que de nombreux développeurs sont toujours sous Windows, et je me permets d’avoir une petite pensée pour eux parce qu’évidemment c’est à chaque fois eux qui ont des problèmes d’installation.

Prenez le contrôle d’un aéroport avec Akka

C’est l’atelier que j’ai le moins apprécié. C’est sans doute principalement parce que faire tourner l’environnement de développement sur les machines de tous les participants a été très compliqué. Plus de la moitié de l’atelier y a été consacrée. De mon côté, j’avais une machine opérationnelle mais je n’ai pas réussi à démarrer tout seul, j’avais besoin d’un petit coup de pouce pour commencer, mais les deux speakers étaient occupés à faire fonctionner SBT sur les machines des gens, et particulièrement de ceux qui sont sous Windows.

La partie intéressante de l’atelier s’est passée dans le dernier quart d’heure. J’ai à peu près compris comment fonctionne Akka. C’est allé très vite, et un des speakers a tout expliqué en live coding. Finalement, je pense que peu de gens ont vraiment codé sur leur machine et que beaucoup de temps a été perdu. Un simple live coding sur le projecteur aurait été sans doute plus efficace. Rétrospectivement, je pense que les speakers auraient peut-être simplement dû arrêter d’aider les gens à tout installer sur leur machine au bout d’une bonne demi-heure pour pouvoir se concentrer sur le cœur du sujet en regroupant les participants autour des environnements qui fonctionnent, mais c’est facile à dire une fois que c’est fini…

Je pense avoir maintenant une petite vue d’ensemble sur ce qu’Akka sait faire. Je pense voir en quoi c’est un outil puissant, mais c’est aussi visiblement un outil compliqué à mettre en œuvre. Il ne faut pas se lancer là-dedans si on n’en a pas besoin parce que ça ajoute une certaine complexité. Je pense également qu’il faut changer sa façon de penser pour coder efficacement avec Akka, et ça demande de l’exercice, parce que même si j’ai compris ce qu’on a fait, je ne pense pas être capable de le refaire.

L’atelier était très bien préparé puisqu’il y avait une application en Play Framework qui permettait d’avoir une visualisation graphique de ce qui se passe dans l’aéroport. En revanche, dommage pour moi, tout était codé en Scala. Heureusement qu’Akka peut s’utiliser en Java !

Natural Course of Refactoring – a refactoring work

Le refactoring est un sujet qui me tient à cœur. A chaque fois qu’il y a une session qui en parle, je suis partagé. Je risque de ne pas apprendre grand chose, et en même temps j’aime entendre parler de ça. A Agile Grenoble j’avais hésité à aller voir Sandro Mancuso, et j’avais bien fait d’assister à sa présentation parce qu’il avait fait une très brillante démonstration de refactoring en live coding. J’ai tenté de renouveler l’expérience avec cette session mais elle a été moins réussie. J’ai bien aimé la partie théorique, par contre la partie pratique n’était pas très active et surtout parlait des concepts basiques du refactoring en montrant du code étape après étape mais sans le faire en live.

Par contre la partie théorique parlait un peu de la philosophie du refactoring. Quand faut-il en faire ? Quand ne faut-il pas toucher ? C’est toujours intéressant d’entendre des gens parler de ça, dans la mesure où j’ai souvent envie de faire du refactoring mais pas le temps pour tout faire. Ça aide un peu à choisir les points qui méritent vraiment d’être retravaillés.

Application Web Moderne en Java. The CodeStory Way

Atelier présenté par David Gageot et Jean-Laurent de Morlhon. L’idée était de présenter sous forme de mise en pratique le serveur web Fluent HTTP développé principalement par eux-mêmes.

Je connaissais l’existence de ce projet depuis un certain temps mais je n’avais jamais pris le temps d’aller voir ce qu’il avait dans le ventre. Et je n’ai franchement pas été déçu. C’est un serveur web à haute productivité, qui embarque nativement un nombre impressionnant de briques couramment utilisées. Il sérialise tout seul les objets en JSON, il a un mécanisme de routes à la JAX-RS, il embarque un moteur de template, sait travailler avec tout un tas de formats tels que coffee script, markdown ou less, et plein d’autres choses. L’ensemble des fonctionnalités est décrit sur la page du projet.

L’atelier était très bien préparé, et proposait de faire un tour de l’ensemble des fonctionnalités proposées par l’outil. J’ai passé un très bon moment et j’ai appris plein de choses. Ce serveur m’a vraiment inspiré et je vais essayer de prendre du temps pour créer un petit projet qui l’utilise.

AngularJS from scratch

Même si je n’ai jamais eu l’opportunité de l’utiliser dans un projet de la vrai vie, je connais et j’ai joué à plusieurs reprises avec AngularJS. Les démonstrations de ce framework web sont époustouflantes. Écrire une application web se résume avec AngularJS à écrire le code métier en Javascript et décrire les vues en HTML. Tout le code intermédiaire s’est tout simplement évaporé !

D’un premier abord, AngularJS a un aspect complètement magique. Puis, au fur et à mesure qu’on apprend à s’en servir, on finit par comprendre la logique et l’aspect magique s’estompe peu à peu (et en fait c’est plutôt rassurant parce que l’informatique reste quelque chose de bête et méchant).

Le but de cet atelier est d’expliquer comment fonctionne AngularJS en le réécrivant (en partie bien entendu) en partant de rien. L’idée n’est pas de supporter l’ensemble des fonctionnalités mais simplement de faire fonctionner des cas simples de binding de données bidirectionnel, principe fondamental sur lequel repose AngularJS.

Les slides et l’ensemble des tests à faire passer pendant l’atelier sont disponibles ici. Pour avoir une idée de ce qu’on a codé pendant l’atelier, je vous invite à lire cet article de David Gageot qui y a aussi participé.

J’ai vraiment apprécié cette session, cela m’a permis de comprendre comment fonctionne AngularJS et donc de mieux l’utiliser. Merci à Olivier Uber et Matthieu Lux, c’était très pédagogique.

La culture du programmeur

Jean-Laurent de Morlhon a fait une belle présentation (que je n’avais pas pu voir à Devoxx) sur le programmeur et le monde dans lequel il vit. C’est toujours intéressant de prendre du recul sur notre métier, surtout quand c’est un développeur qui parle en bien du métier de développeur. D’ailleurs, je me trompe, nous sommes des programmeurs et pas des développeurs. Mais le terme de programmeur est assez peu utilisé, peut-être parce qu’il ne nous permet pas vraiment de briller en société.

Scaling up Twitter systems

Cette conférence a été ma grosse déception de Mix-IT. Le sujet de la scallabilité chez Twitter a été abordé que très superficiellement, et encore c’était plus du point de vue génie logiciel que de l’architecture. La conférence s’est terminée en moins de 30 minutes, et j’en aurai pas retenu grand chose, si ce n’est que chez Twitter ils tendent à rassembler tout leur code dans le moins de dépôts possibles, ils ont leur propre système de build et ils ont migré de Ruby on Rails vers Java pour des raisons de montée en charge. Leur architecture est découpé en micro-services.

Android Bashing : apprendre des erreurs des grands

Je n’avais pas bien lu la description de la conférence, et le sujet n’était pas vraiment ce que j’avais compris. Le titre m’avait fait penser que ça concernerait les erreurs qui ont été faites dans Android, mais en fait ça ne concernait en rien le système Android. Ca parlait plutôt des erreurs qu’ont fait de gros éditeurs d’applications Android, et c’était quand même intéressant. De gros éditeurs comme Yahoo, Facebook et particulièrement Microsoft en ont pris pour leur grade. Je n’ai jamais travaillé sur la plate-forme Android, mais en fait ce n’était pas nécessaire pour comprendre.  C’est toujours intéressant de voir que des petites erreurs ont eu des conséquences très graves pour certaines applications. La plupart du temps, c’était un non respect des recommandations de base émises par Google. Décidément, les bonnes pratiques c’est vraiment important dans tous les domaines !

Conclusion

J’ai passé deux belles journées très enrichissantes à cette édition de Mix-It. Entre Devoxx et Mix-It, je reviens avec une ribambelle de nouvelles idées qu’il va falloir que j’expérimente avant de les oublier. Merci encore une fois à mon employeur de m’avoir permis d’assister à cet événement. Merci également à l’équipe d’organisation qui a fait un travail formidable qui conduit à un événement réussi.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.