Je ne pensais pas en faire un mais comme j’en ai vu quelques uns émerger sur Twitter ce matin, au final, pourquoi pas. Pendant que c’est encore chaud, je vais vous parler un peu de la journée d’hier que j’ai passé à Mix-IT 2012
Contexte
Mix-IT (à prononcer Mixitte / Mixitté / Mixayti selon votre goût) est une conférence organisée à Lyon par le LyonJUG et le CARA (Agilites Rhône-Alpes). J’avais déjà participé à l’édition 2011 que j’avais déjà beaucoup apprécié. Pas de raison donc de rater l’édition 2012.
Cette fois-ci, Mix-IT a eu lieu dans les locaux de SupInfo Lyon. Au passage, un grand bravo pour le Wifi qui a tenu le coup avec une excellente connexion en permanence toute la journée. Vu qu’il n’y avait pas de 2G / 3G dans le bâtiment, tout le monde était dessus et je pense que l’on a tous vécu la conférence où le wifi s’écroule parce que 30 pélos se connectent en même temps. Petite attention mais grosse satisfaction!
Au niveau des chiffres:
- 400 personnes
- + ou – 25 sessions
- 5 salles
- 30€ tcc
- 5 thèmes (Agility Techy Trendy Gamy Weby)
… et 1 super équipe d’orga puisque tout s’est bien déroulé dans la journée, pas de « bouchons » (répartition de la distribution des repas à midi) et pas de retards dans les sessions.
Voilà pour le contexte, je vais maintenant parler des sessions que j’ai vu.
Disclaimer
Le choix était parfois difficile entre de nombreuses sessions intéressantes et je dois avouer que j’ai parfois fait le mauvais choix (j’ai un profil plutôt technique et le reste passe un peu à la trappe). Mais ça, c’est de ma faute :).
Keynotes
Début de la journée avec les Keynotes. La salle de la keynote étant trop petite pour contenir les 400 participants, la keynote était retransmise dans 2 autres salles. Etant un peu en retard, j’ai donc vu la retransmission. Organisation impec, son + vidéo ok.
Première keynote avec Martin Gömer (de chez Google France) qui au lieu de faire la « keynote d’entrée un peu philosophique » a choisi de nous parler directement de Chrome Beta pour Android pendant 30 minutes. Une présentation de produit pure et dure qui n’avait donc rien à voir avec la choucroute. Seule chose que j’ai apprécié, il s’est excusé pour la qualité très mauvaise du navigateur des versions Android 2.x. C’était la moindre des choses :).
Deuxième keynote avec Claire Blondel, un profil non technique (ingénieur qualité), qui venait parler des problèmes qu’on les développeurs avec le contrôles (ex. les code review). Bon perso, ce genre de discours, c’est pas du tout ma tasse de thé. Il faut échouer pour apprendre, c’est dans la culture ricaine mais pas dans la française, oui oui oui mais j’ai l’impression d’avoir entendu 100x ce genre de talk « inspirationnel » à-la-TED. Là encore, c’est vraiment les goûts et les couleurs, j’ai vu certains personnes qui ont vraiment adoré ce genre de talk.
Play 2.0
J’ai commencé ma journée avec Play 2.0:
Le sujet m’intéressait puisque j’avais vraiment apprécié Play 1 (même si je n’ai pas assez eu de temps pour vraiment l’utiliser depuis cette découverte). Play 2 arrive avec sa dose de nouveautés donc certains choix qui ont lancé pas mal de polémiques (Scala anyone?) mais selon ses créateurs, c’est pour préparer l’avenir avec de nouvelles fondations plus solides (Scala, Akka, SBT, Closure Compiler).
Début de session, premier sondage dans la salle pour savoir qui a déjà utilisé Play 1. Trois quarts des mains se lèvent, je pense donc que je n’étais pas le seul à vouloir connaître les nouveautés. Pourtant une grosse moitié de la session a été passée à revenir sur des concepts déjà présents dans Play 1 (REST, compilation à la volée, Routes, etc.) afin d’aboutir sur un Hello World bien classique. Au passage, j’ai pu voir de mes yeux le temps de rechargement d’une application Play 2 (celui qui fait grincer les dents des devs Play 1) et effectivement, c’est pas autant qu’un redémarrage de Tomcat mais cela n’a rien à voir avec la v1.
Bref, avec autant de temps passé sur le Hello World, le tour d’horizon a été assez trop rapide. Akka a été survolé, SBT a été mentionné, les modules / la persistance n’ont pas été évoqués. Avec un peu plus de préparation et un adaptation au public, je pense que cela aurait pu être abordé en 1h.
Play 2, cela fait rêver sur certains points (tenue en charge énorme, websockets, temps réel & co) mais cela commence à sortir un peu de la « réalité » de ce que font la plupart des développeurs dans leur travail quotidien (lève la main si tu traites des flux de réseaux sociaux temps réel dans les applications de ton client). Bref, je crois que je resterai sur Play 1 qui est suffisamment mature / puissant pour le genre de choses que je veux faire.
DevOps @ Kelkoo
J’avais le choix avec Backbone et je suis finalement allé voir cette session, ce que je n’ai pas regretté! Présentation impeccable sur l’organisation de Kelkoo pour la préparation de nouvelles machines, de mises à jour, de gestion du déploiement… Avec quelques centaines de machines et le rachat par Yahoo il y a quelques années, ils ont du adapter une organisation assez « artisanale » pour une automatisation des tâches afin de ne pas avoir à aller demander aux « ops » de préparer une machine de dev par exemple.
Au menu donc, préparation de l’OS (CentOS) avec Cobbler, préparation de package RPM avec Maven, YUM comme repository pour conserver les RPM, scripting sur la machine avec Puppet et création des fichiers de configuration Puppet avec un outil maison nommé Gepetto.
Grâce à ce back-office Gepetto, un collaborateur Kelkoo (pas forcement un dev) peut indiquer la configuration qu’il souhaite grâce à des rôles (dev/prod, DNS,…) et des dépendances (java, tomcat, …). Gepetto crée les fichiers de configuration Puppet qui sont ensuite joués sur la machine. Le gestionnaire de packet de Linux se débrouille pour aller chercher les dépendances (et les transitives) sur le repository YUM.
Bref, l’ensemble de la chaîne est automatisée, ce qui quand même bien un des buts de l’informatique, automatiser des tâches manuelles un peu « stupides » (suivre un manuel d’installation par exemple). Une belle réussite et un talk très clair.
Lightning Talks
Pendant les semaines qui ont précédé Mix-IT, il était possible de proposer des Lightning Talks (sessions de 5 minutes) et de voter pour ses préférés. Les 10 premiers ont été présentés entre 13 et 14h:
http://www.mix-it.fr/lightnings
Une grande diversité dans ces talks et des sujets intéressants. Et en +, le timing a été respecté :).
Software Development Workflow @ Google
Alors là, c’est de ma faute, j’ai vu les mots-clé « Software », « Development », « Google » dans le nom d’une session et du coup je suis allé voir. Ce que je n’avais pas vu, c’est que c’était sur le track agilité et que effectivement, cela parlait bien d’agilité. Un bon vieux récap sur comment fonctionne l’agilité et comment cela a été adapté chez Google (pas de stand up meeting par exemple). Au bout du compte, 1h pour conclure sur « faîtes de l’agilité mais adaptez les techniques à vos besoins ». Ok, merci.
Dommage car en même temps, il y avait d’après ce que j’ai entendu, des sessions très intéressantes sur Node.js et BigData/Hadoop.
Selenium WebDriver, TestNG et Selenium Grid
Ayant un passé très axé Flex, je n’ai pas eu beaucoup l’occasion de faire du « web ». Je connaissais donc les outils comme Selenium uniquement de nom et rapidement comment ils fonctionnaient.
La session était animée par Mathilde Lemée (https://twitter.com/#!/MathildeLemee) et couvrait Selenium + certains outils pour rendre son utilisation + rapide / pratique. Une présentation comme je les aime avec des exemples, du code, et la preuve par a+b que les outils présentés apportent de vrais bénéfices. Donc un retour rapide sur le fonctionnement global de Selenium, les features apportées par TestNG par rapport à jUnit (groupes, multiplication des tests / nombre de threads pour du test de charge, …) et démonstration de Selenium Grid pour répartir la charge des tests sur plusieurs machine (et pour pouvoir tester sur une multitude d’OS différents).
Après la présentation des outils, de nombreux conseils pour débutants et expérimentés comme par exemple de pas utiliser Selenium IDE qui semble être excellent à première vue mais impossible à maintenir par la suite. Voilà donc une erreur que je ne ferai pas :).
Bref, présentation très claire et une cela qui m’a donné envie d’essayer directement en arrivant chez moi, bravo :).
ZeroMQ is magic from the future
Pour finir la journée, je me suis dit que j’allais prendre une bonne grosse session geek. C’était donc ZeroMQ par Pieter Hintjens:
Pour résumer, j’ai pas compris grand chose et je pense que ce genre de techno très bas niveau (niveau Transport) ne concerne pas vraiment le type de dev que je fais.
Keynote de fin par Pamela Fox
Je connaissais le nom de Pamela Fox par sa présence sur la mailing-list de Google Maps à l’époque où elle travaillait pour Google (celle qui annonçait que l’on ne pouvait pas avoir de fichier crossdomain.xml sur les serveurs de tuiles GMaps pour les applications Flash :)). Elle avait donc fait le déplacement depuis San Francisco pour une session sur PhoneGap (dont j’ai entendu beaucoup de bien) et la keynote de fin.
Un message plus « philosophique » (j’espère que le Googler du matin en prendra de la graine) sur la condition du développeur et l’apprentissage du développement, voir même l’apprentissage en général en ligne. Très intéressant, avec un message très positif
Conclusion
Voilà donc pour ma journée à Mix-IT 2012. Dans l’ensemble, une excellente journée, une ambiance très « familiale » et beaucoup de discussions très intéressantes et encore plus à l’after-party dans Lyon.
Les organisateurs ont annoncé qu’il y aurait bien un Mix-IT 2013 en Avril prochain, ne ratez donc pas cette occasion si vous n’avez pas pu venir pour la 2012. En tout cas, bravo à toute l’équipe ! :)