17 septembre 2012

JugSummerCamp 2012

Sauf à avoir déconnecté Twitter pendant 3 jours vous n'avez pas pu passer à côté : vendredi avait lieu la troisième édition du JugSummerCamp.

Le camp commence dès le jeudi soir, au gite que les organisateur ont loués pour les speakers. L'occasion de se retrouver autour d'une bonne table, de mieux faire connaissance, et de passer un bon moment avant d'attaquer la journée de conférence. L'occasion aussi, après quelques verres, de se faire coller un gage pour le keynote du lendemain :  caser "catadioptre" et "funiculaire" dans le discours d'ouverture :-/

Le vendredi matin, on rejoint l'équipe Serli au commande de cette conférence qui peaufine les derniers détails. On retrouve de nombreuses têtes connues, habituées de ce rendez-vous devenu incontournable. Après un café (lyophilisé) on attaque une grosse journée par la keynote de bienvenue.

J'ai eu l'honneur d'ouvrir ce JugSummerCamp 2012. L'exercice "keynote" est particulièrement délicat si on veut faire un sujet sérieux, et je suis resté sec pendant un bon moment, jusqu'à tomber sur ce tweet. C'était donc décidé, les cast-codeurs seront bien présents au JugSummerCamp, pour une session de "muppet-show" 


Pas trop de fond dans ma présentation donc, mais au moins on a bien rigolé et le public a apprécié ce moment de détente avant d'attaquer des sujets plus sérieux.

J'ai suivi la session d'Alexis Moussine-Pouchkine et Martin Görner sur le développement d'une application Google AppEngine en HTML5. En deux fois 30 minutes, et en choisissant quelques sujets précis utilisés dans cette application, ils ont réussi à donner une idée précise du développement et de l'animation en HTML5. Accessoirement, on pouvait gagner une place à Devoxx en se servant de leur application ;)

Nicolas Martignole présentait ensuite une présentation sans play (enfin, presque). Il s'agissait pour lui de présenter la société ZapTravel qu'il a rejoint, les enjeux techniques à relever pour affronter un marché très concurrentiel, et les options qu'ils avaient retenus. On sent qu'il s'éclate sur ce boulot, tant mieux !

Mathieu Ancelin enchainait avec un Quickie Play! permettant à la salle de jouer à une space battle. Développé en Play/Akka/Canvas ce petit exercice de style était l'occasion de mettre en pratique ces technos et de nous en faire un retour.

Un passage par l'excellent buffet, délaissant les quickies à venir pour tenter de chopper le wifi - capricieux cette année - nécessaire pour ma session Cloud de début d'après-midi. Pour une fois (sic) je suis content d'être chez Orange, ce qui m'a permis de chopper le wifi de l'opérateur.

Ma session consistait à montrer en quoi le Cloud est une libération pour les développeur pleins d'idées. J'ai donc suggéré à la salle de "niquer Google" en développant un moteur de recherche concurrent. Partant from scratch, en live-coding (avec une anti-sèche) j'ai donc crée une application hébergée sur CloudBees, un index WebSolr, marié les deux dans une IHM générée sur un générateur de template de site. Le but était de montrer que ces offres Cloud permettent de tester une idée en grandeur nature en quelques heures, sans contraintes ni coûts significatifs, et de la laisser murir ou de l'abandonner rapidement. Autrement dit, l'agilité dont rêvent les grosse boites, crispées sur leurs demandes de budgets. 

David Gageot proposait dans la session suivante un pur live-refactoring 100% code dont il a le secret. Mes quelques lignes de code paraissaient bien ridicules à côté, et il ne s'est pas privé de lancer quelques gentilles piques. Le but de David était de nous montrer la démarche et l'esprit général pour attaquer du code legacy : construire une suite de test systématique plutôt que de chercher à valider la spec (dont on ne sait pas si elle est à jour), chercher les symétries, faire confiance à l'IDE pour tous les refactoring simples afin d'éviter les surprises. En 30 minutes, le code immonde du début est recomposé de manière compréhensible et bien structurée, avec un peu de délégation via Lombok parce que c'est super pratique :)

Laurent Huet proposant ensuite une session "hardware" avec la programmation sur BeagleBone. Petit soucis, la carte a cramé juste avant de partir à la Rochelle, l'occasion de montrer que le warning du slide #3 "attention aux tensions" n'est pas inutile. Qu'à cela ne tienne, Laurent à réussi à équiper une raspberry Pi pour faire tournée sa démo, et allumer une LED depuis sa console bash devant un public émerveillé, ou effrayé (selon) devant la possibilité de faire interagir du soft avec du hard. Beaucoup étaient venus avec des idées de pilotage de leurs volets-roulants / aquarium / etc et sont repartis avec des idées un peu plus réalistes :) Quoi qu'il en soit, un sujet très sympa, que je n'avais pas pu suivre au BreizhCamp, et qui change des présentations de frameworks ultra-abstraits.

Dernier sujet, une présentation de Programmatoo Audrey Neveu et Ludovic Borie. Pourquoi attendre la Fac pour découvrir la programmation ? Ici on prend des enfants qui savent tout juste lire (ou pas, selon les outils) et on leur met entre les mains des outils adaptés. Les résultats sont étonnants, comme toujours avec les gosses. Les outils sont nombreux, et on ne parlait ici que de ceux qui était francisés. N'hésitez pas à les contacter pour organiser un Coding gouter :)

La journée se termine autour d'une bière, puis d'un bar (le poisson), puis d'une autre bière... pour finir dans une ambiance night-club avant de retourner au gite et de se rendre compte ... qu'on a pas le code de la porte. David a donc mis en place un refactoring complet de la porte et trouvé le code en testant toutes les combinaisons impliquant les touches les plus usées ! Comme quoi, faut toujours avoir un David sur soi.

A bientôt pour tout ceux que je n'ai pas pu saluer, un énorme MERCI aux organisateurs, et rendez-vous l'an prochain (avec les vrais castcodeurs cette fois) !