mardi 24 avril 2012

Retour de Devoxx France : première journée

J'ai eu l'occasion de participer à LA grosse conf Java en France, et franchement c'était que du bon.

Les rencontres

Un des trucs les plus plaisant à Devoxx a été les rencontres que j'ai pu faire et les discussions que j'ai pu avoir avec les speakers et participants. Un exemple : c'est pas tous les jours qu'on a l'occasion de discuter avec un développeur de Montain View qui bosse sur Android (Romain Guy en l'occurrence). Ce n'est pas non plus tous les jours qu'on a l'occasion de développer avec un développeur d'exception (David Gageot).

Je vais donc maintenant essayer de vous faire un petit compte rendu de ces trois jours qui furent très riches!

Premier jour

Première étape : le café, et les discussions avec les têtes connues et moins connues.
Pour ma part je suis arrivé à 8h tous les matins, ce qui m'a permis de prendre le temps de discuter, les confs ne commençant qu'à 9h30.

La première journée est un peu particulière, elle est principalement consacrée à des "Universités" et des "Hands-on Labs" qui sont des sessions de 3 heures avec pour les Labs de la manip sur son ordi. Ça laisse donc le temps de rentrer un peu plus dans le détail du sujet, et un peu moins le survoler.

Les 3 A pour Java EE 6

Cette session était donc consacrée à Java EE6. Elle s'est déroulée sous forme de TP permettant de mettre en pratique les nouveautés JEE6. Le TP s'appuyait sur le projet exemple initié par Antonio Goncalves.
J'ai profité de cette session pour tester NetBeans, et franchement, pour faire du JEE, c'est juste excellent. On était 2 sous NetBeans sur 40 personnes environ. Ceux qui utilisaient Eclipse ont commencé à avoir un environnement de dev fonctionnel au bout d'un peu plus d'1h, alors que j'avais quasiment fini. J'avais tout de même anticipé en préparant l'environnement la veille. L'absence d'internet sur place rendant toute installation compliquée.
J'ai donc pu mettre en pratique CDI et JAX RS, et j'ai plutôt été agréablement surpris. On va peut être pouvoir enfin se passer de Spring :). Les speakers étaient très disponibles et plutôt sympas (ce qui était le cas pour tout les speakers, je ne vais donc pas le répéter :) ).

Après cette session, une petite pause déjeuner. J'ai pu manger à ma faim, et sans être exceptionnel (ça vaut pas les galettes saucisses du breizhcamp), c'était plutôt bon, merci donc aux organisateurs. Encore une occasion de discuter et partager avec plein de monde.

Hackergarten Paris

Ne trouvant pas de sujet qui m'intéresse particulièrement, je décide d'aller au Hackergarten. J'ai donc pu découvrir ce que c'est que cette chose imprononçable. C'est en fait l'occasion de contribuer à un projet open-source. La session commence par un inventaire des projets open-source représentés (par un contributeur). Voici ce qui est ressorti de l'inventaire (du moins ceux dont je me souviens) :
  • Maven
  • Groovy
  • Jenkins
  • Infinitest
  • Je sais plus mais y en avait d'autre :)
Il y avait donc du lourd, j'ai décidé de contribuer à Infinitest. Ce projet se concrétise par un plugin Eclipse et un plugin Intellij permettant d'avoir un état des tests unitaires en permanence dans l'IDE. Dans Eclipse, à chaque build (autant dire tout le temps), le plugin analyse les deltas afin de lancer les tests potentiellement impactés par la modification.
Nous nous somme retrouvés à deux pour contribuer à Infinitest encadrés par David Gageot qui est le Leader du projet. Pendant que David nous présente le code, j'installe l'environnement de dev. David nous présente également une idée de fonctionnalité à réaliser. Actuellement le plugin analyse les dépendances entre classes afin de sélectionner les tests à exécuter, mais si un test est impacté par une modification de fichier plat, il n'est pas exécuté. Sans rentrer dans les détails, cette session c'est traduite par une pull request dans github, c'était donc plutôt concret. Cela m'a permis de découvrir le développement de plugin Eclipse, et toute la difficulté pour réaliser des tests automatisés dans ce genre d'environnement.



Les tools in action

La journée s'est terminée pour ma part par trois tools in action, ce format est un format intense : 30 minutes pour présenter un sujet.

Le premier était sur Selenium Grid, qui permet de mettre en place un pool de browser qui serviront ensuite aux tests automatisés avec Selenium. Malgré toutes les difficultés qu'a pu rencontrer Mathilde Lemee pour les démos, cela donne une bonne idée du fonctionnement de l'outil et donne envie de tester.

Le suivant était sur AndroidAnnotations : sur scène deux speakers (Pierre-Yves Ricau et Alexandre Thomas). AndroidAnnotations est un framework dont le but est de simplifier les développements Android en utilisant massivement les annotations. Les 30 minutes ont quasiment été entièrement utilisées à du live-coding, ça aurait pu être un exercice casse gueule, mais les deux speakers ont préparé leur truc et tout se déroule sans encombre. Résultat : faut que j'essaye, et j'ai bien envie de contribuer au projet.

La tout dernière session fue consacrée aux lambdas en actions avec la beta du JDK8. Ce que j'ai retenu : enfin une évolution majeure du langage Java. Une conséquence marrante des Lambdas est la quasi introduction du polymorphisme (les interface peuvent maintenant avoir des implémentations par défaut pour les méthodes).

L'article sur la deuxième journée arrivera un peu plus tard :)

Les photos ont été récupérées sur les albums de Claude