dimanche 10 avril 2011

MixIT

J'ai assisté cette semaine à la conférence Mix-IT coorganisée par le LyonJUG et le Club Agile Rhône Alpes, tout naturellement autour des dernières technologies Java et de l'Agilité.

Arrivée dans les locaux de l'Epitech Lyon vers 8:15 ; les étudiants me dirigent vers l'amphi où se tiendra la keynote. Blabla ds organisateurs, applaudissements... On retiendra qu'il faut faire attention en traversant la route pour aler au batiment où se tiendront les différentes sessions. Suit une présentation d'Objet Direct, le principal sponsor de l'événement... Je n'ai pas pris de CV... Mainenant, présentation de Nicolas Martignolle, connu pour être le blogger derrière Le Touilleur Express. Il parle de la beauté du métier de développeur. J'ai envie de pleurer mais je ne sais pas si c'est l'émotion ou le manque de sommeil.

On passe au petit déjeuner (CAFÉ) et à la récupération du badge. Puis attente. C'est le moment où j'arrète la narration temps réel pour quelque-chose de plus direct. Voici un résumé des sessions auxquelles j'ai assisté.

Comment j'ai mis ma suite de test au régime en 5 minutes par jour


Tout le monde doit en être convaincu : écrire des tests joués lors du build, c'est bien. Cependant, la durée du build augemente fatalement avec le nombre de fonctionnalités et de tests associés jusqu'au point où il devient impossible de le jouer quotidiennement. Plutôt que de désactiver l'exécution des tests, le speaker donne plusieurs pistes :

  • Utiliser Maven 3 et ses capacités de multi-threading

  • Supprimer les testes inutiles, redondants et le code mort

  • Limiter les tests IHM et end to end pour privilégier les test unitaires rapides

  • Mocker et utiliser des ressources en mémoire si possible.


On est dans le bon sens mais la piqure de rappel est importante.. On sent que le speaker maîtrise son sujet.

Grails


Grails est la contraction de Groovy et Rails. Il s'agit d'un framework permettant le déploiement rapide d'applications web. Le principe est d'avoir un squelette d'application normalisé et un serveur tomcat démarré pour les tests en une seule commande. Ça a vraiement l'air efficace, ce qui donne envie de l'essayer.

  • Point positif : la compatibilité avec l'écosystème Java.

  • Point négatif : les performances qui tombent même en dessous d'un combo Ruby on Rails + JRuby. Les évangélistes diront que c'est suffisamment rapide. Des sites web à gros trafic utilisent tout de même Grails.


Clojure


Clojure c'est du lourd : il s'agit d'un langage fonctionnel pour la JVM. J'essaie de m'y mettre avec un peu de peine. À chaque fois que je suis un tutoriel, j'ai du mal avec les particularités sémantiques et je suis vite largué. Le speaker est développeur du plugin Eclipse Clojure. Il connait très bien le sujet. À l'issue de la session, je suis à nouveau largué et je ne pense pas être le seul. Les gens se demandent ce qu'on peu faire avec. Réponse : le langage est généraliste. Ah bon... Personnellement, je trouve la syntaxe très élégante et je compte bien persévérer pour apréhender le paradigme de la programmation fonctionnelle.

NoSQL


Qu'on se le dise, NoSQL signifie Not Only SQL. Le speaker se focalise sur Hadoop, qu'il présente comme une base orientée colonnes et Cassandra, qu'il présente comme une base clé-valeur (!). Je trouve que le speaker ne sait pas trop sur quel pied danser entre présentation technique ou plus globale. On retiendra que pour fonctionner efficacement de façon distribuée, ces bases font une entorse au principe ACID. Je resterai avec mes interrogations, notemment sur les performances de Hadoop en lecture...

DevOps


J'ai entendu ça et là des choses sur le mouvement DevOps. En se moment, nous faisons beaucoup de soutien à la production au travail et ce serqit bien d'améliorer l'exploitation du projet. Je pense que l'idée forte développée au cours de cette session est qu'il faut considérer les exploitants comme des utilisateurs à part entière de l'application. Dans la mouvance Lean, une fonctionnalité ne devrait être considérée comme terminée que lorsqu'elle est déployée en production. Pour le soutien, les développeurs et les exploitants devraient avoir les mêmes outils et accès aux mêmes informations. Pour cela, il faudrait déjà simplement que les acteurs des deux mondes commencent à se parler. Le speaker est intéressant. Il semble très impliqué dans le mouvement DevOps. Il lance évidemment quelques trolls contre les développeurs, ce qui donne lieu à quelques débats très animés (alors JMX, c'est le bien ou non ?).

C'était une gentille journée que ce Mix-IT ! Merci aux organisateurs. Je n'ai pas nommé les speakers mais je vous invite à aller voir sur le site du Mix-IT pour de plus amples informations.