> banniere_carre_devoxx_fr_2015_128_128Devoxx France c’est un peu le Woodstock des développeurs. (entendu lors de la 1ère édition) Organisé par des développeurs pour les développeurs, ce grand rassemblement de passionnés offre bien plus que 3 jours de conférences : des moments intenses faits de rencontres, d’échanges, de discussions vives - ce qui se passe quand un développeur rencontre un autre développeur passionné - des partages de savoirs et des tas d’idées.

 

Un peu comme une thérapie de groupe…on parle de ce qui va, de ce qui ne va pas, ce qu’il faudrait faire, des entreprises, de la reconnaissance du métier de développeur, du peu de femmes, des modes de travail. Et puis aussi on y entend souvent des conférenciers-gourous qui tonnent sur scène le message tellement enthousiasmant : nous les développeurs nous avons du pouvoir. Le pouvoir de changer des choses, d’agir sur le monde (Cf. Keynote de Quentin Adam). Et c’est bon ça ! A Devoxx, nos journées sont remplies plus qu’à ras bord : on y apprend, on y découvre les nouvelles tendances de l’année, et on y philosophe. De ce grand moment, de communion disons-le, on ressort vidé, épuisé, exténué ! Mais avec des tas d’idées de projets. Tout parait possible et, après un hiver difficile, l’énergie est reboostée !

Bref un Devoxx et ça repart.

Cette année, Devoxx a fait encore plus grand, encore plus fort. Pour sa 4ème édition Devoxx a investi le gigantesque Palais des Congrès ! Une zone d’exposition, 11 salles, 1 salon.

Entre des conférences sur java et son écosystème, le développement Web, ses outils et ses techniques, mais aussi sur le DevOps, l’IoT, le BigData, les mobiles, l’agilité, les architectures, les nouvelles organisations d’entreprise…les participants ont le choix.

Trop peut-être.

Comme par le passé, plus encore, le choix d’une session s’avère difficile parmi toutes les alternatives offertes au même moment : suivre une des 8 conférences ou 3 ateliers, aller au café philoxx (nouveauté de cette année), discuter au gré des rencontres, déambuler entre les stands des entreprises (et récolter goodies et/ou quelques verres de bière).

Puis à l’heure de table à peine le sandwich ingurgité devoir quitter les quelques connaissances retrouvées par hasard pour suivre un des 8 quickies de la tranche horaire. Le jeudi soir enfin, le participant devra choisir entre profiter de la bonne ambiance de la soirée, savourer vin et fromage ou participer à l’un des 8 B.O.F.

Dur.

Le nombre de personnes croisées est assez considérable. Aussi, la probabilité de revoir quelqu’un avec qui vous avez pu discuter une 1ère fois est faible - surtout vu le planning chargé qui laisse peu de temps et nous fait regretter chaque seconde perdue - …mieux vaut se donner rendez-vous.

Et courir.

Oui, il arrive que les salles soient déjà pleines en avance. Donc quand on ne veut pas rater une présentation, on se précipite pour s’assurer une place. Une autre stratégie au contraire consiste à laisser l’agenda se remplir au hasard des possibilités qui restent. Cela peut donner de bonnes surprises et permettre de découvrir une techno que l’on n’avait pas retenu. Idéale pour ceux qui n’aiment pas faire de choix.

 

equipe

 

Retour non exhaustif des keynotes

 

Le futur de la robotique personnelle

Rodolphe Gelin a présenté la dimension sociale de la robotique à laquelle nous ne sommes pas très habitués. Des robots très mignons dont l’aspect suscite de la tendresse, conçus pour accompagner des personnes âgées dans leurs maisons pour assurer un suivi de prise de médicaments par exemple, aider a la lecture des journaux ou prévenir quelqu’un en cas de besoin. Il nous a rappelé que derrière la technologie et les programmes il y a toujours des personnes, les développeurs entre autres. On ne peut donc pas considérer la technologie comme un ennemi : elle ne se fabrique pas toute seule ; ce sont bien les humains qui la créent.

07929141-photo-nao-aldebaran

 

The end of server management : hosting have to become a commodity

Quentin Adam veut bousculer le monde de la Production et du DevOps. Il compare l’hébergement des applications avec le réseau électrique. Lorsque nous branchons nos appareils au réseau électrique, nous ne nous demandons pas si cela va fonctionner ou pas : cela marche toujours. Le réseau est maintenu par des techniciens dont c’est le métier et qui ne s’occupent pas des appareils qui viennent s’y brancher dessus après. Quentin propose d’arriver a quelque chose du même genre au niveau de la production.

keynote

 

Il faut établir un standard qui permettra de livrer en Prod par un mécanisme industriel et sortir de cette méthode artisanale actuelle, qui nous amène toujours à douter de son bon fonctionnement . Le travail du développeur devrait se terminer au moment où il fait son push ; Après ce sont les techniciens de la Prod qui s’occupent de monitorer et surveiller la plateforme pour qu’elle soit toujours up. Nous avons bien aimé cette idée et la comparaison choisie. Quentin nous dit que les développeurs doivent prendre conscience que leur travail est essentiel (il permet de faire de l’argent) et que leurs logiciels changent le monde.

Peut-être un peu too much, mais sympa. Si vous voulez voir les slides, elles sont ici.

 

Keynote Java : the next 20 years, Brian Goetz

Nous voulons être Brian Goetz quand nous serons grandes. Architecte et leader, participant aux spécifications de java, il profite des 20 ans que java fête cette année pour annoncer ce qui nous attend, les nouveaux concepts. Et des sages conseils.

brian

tweet_brian

 

Les déjeuners… et un Quickie Artistique !

 

Le vendredi midi, on attrape le sandwich et on l’avale sur le pouce pour aller écouter le quickie de David Wursteisen, Stratégie de mise en place de revues de code : salle comble, impossible de rentrer ! Incroyable, cette année même pour un quickie, on peut être refusé à l’entrée ! Heureusement il y a la place dans la salle de notre Duchess Dessinatrice :

Savoir faire le deuil de son code, Ellène Siber Dijoux

une_vide_de-dev En plus d’être une développeuse professionnelle et engagée pour les Duchesses, Ellène est une artiste ! Elle manie la plume et le crayon avec talent pour nous restituer en dessin des moments de la vie de développeur. Voir le portrait d’Ellène. C’est simple, son quickie était poilant ! Derrière son pupitre, ses dessins projetés à l’écran, Ellène nous racontait l’histoire d’un développeur qui doit faire face à la séparation d’avec…son code. Fin de projet ou changement d’équipe, nouveau départ, nous avons tous eu à faire à cette situation pas forcément facile à gérer. Et c’est bien là l’art d’Ellène : savoir retranscrire en quelques dessins et quelques bulles de texte, des situations qui nous parlent avec humour et finesse. De quoi prendre un peu de recul sur nous-même et sur le milieu de l’entreprise. Drôle et pertinent, quelle chance d’avoir assisté à ce quickie ! Pour voir ses slides c’est par ici .

Dahlia regrette de n’avoir pu assister aussi au quickie d’Alexis Kinsella sur GTFS ce qui marche, ce qui marche pas (format auquel nous nous étions confrontées lors du dev de notre appli MoovSimply et l’intégration de 700M0 de données). Mais son quickie tombait en plein à l’heure des sandwich…et le pratique panier repas n’est pas autorisé dans les salles !

5 conférences sympas

 

Les monoïdes démystifiés, en Java et avec des verres de bière, Cyrille Martraire

Voilà LA conférence pour comprendre que 3 verres emboités (sans la bière) forment un monoïde. (Ben oui, quoi…On a bien notre ensemble fermé sur son opération - l’emboîtement, qui est associatif - qui possède un élément neutre, vous savez, le verre qui peut pas contenir de bière). C’est avec plein d’énergie (comme à son habitude) que Cyrille nous montre, d’une que nous connaissons déjà les monoïdes, et de deux, tel M. Jourdain et sa prose, que nous les pratiquons sans le savoir . Par exemple : les entiers et l’addition, les listes avec la concaténation, les String, ….

daliah_monoides Et bien évidemment, le plus important, il nous explique leur intérêt et ce que cela peut apporter concrètement dans notre quotidien de développeur : simplifier au maximum le code, “gagner la bataille de la complexité du code” ! Effectivement, il est courant de gérer 3 cas particuliers en informatique : le 0, le 1 et le beaucoup (c’est-à-dire l’absence, le singulier et le pluriel). Ces 3 cas peuvent être regroupés dans une structure unique, un monoïde : l’élément neutre est l’absence, le singulier est une implémentation et enfin le pluriel est géré grâce à l’opération. Ainsi 3 cas sont ramenés à 1 seul cas, encapsulés dans notre monoïde, et la complexité est simplifiée. En java par exemple, munis d’une implémentation de référence, d’un pattern NullObject et du Composite nous aurons notre monoïde.

Monoids A force de pratique, on arrive à reconnaître des monoïdes partout dans le code…déjà que Cyrille voit des *DD partout. En tout cas là, clairement le vocabulaire DDD étant très proche des monoïdes, autant apprendre aussi le DDD et faire d’une pierre 2 coups nous dit-il. C’est vraiment très utile aussi en terme de scalabilité et de performance. Si nous avons énormément de volume de données, il faudra décomposer en morceaux d’abord, attention à être être associatif pour pouvoir paralléliser, puis rassembler les morceaux (le reduce). Objectif réussi : on sort de là en ayant quelques idées d’amélioration de son code et en ayant très envie d’une bière fraîche ! Vous pouvez voir les slides ici

Java 8 in Anger, Trisha Gee

Salle comble pour une super conférence avec du live coding ! Trisha réalise une application pour publier des tweets avec des websockets; et tout fonctionne du premier coup, même pas d’effet démo !

trisha_coding

 

 

Au fur et à mesure, elle en profite pour montrer les outils d’IntelliJ permettant de refactorer le code à la java 8, très utiles pour ceux qui ne sont pas encore à l’aise. Elle a une telle maîtrise que tout paraît simple. Le code est récupérable sur son github pour faire l’exercice. Vous pouvez consulter les slides ici.

 

Conférence : Proxy 2.0

Remi Forax, le gourou de la JVM et de ses fonctionnalités cachées nous a présenté sa librairie de proxy dynamique en remplacement de celle incluse dans java, depuis la version 1.3. En effet, l’implémentation de l’API java.lang.reflect.Proxy fournie avec le JDK présente de grave défauts :

  • elle n’est pas optimisable par la JVM, d’où une extrême lenteur à l’execution
  • elle génère des logs illisibles et inutiles
  • elle est périmée (par exemple, les méthodes par défaut ne sont pas prise en compte)

Alors, comment fait-il ?

C’est simple :

  • à base d’InvokeDynamic et en ajoutant un niveau d’abstraction, il permet à la JVM d’optimiser les appels (inlining),
  • en rendant son code réellement anonyme au sens de la JVM (grâce à une fonctionnalité que lui seul connait…mais chuuuut! …cf sun.misc.Unsafe ;-) ), il expose des StackTrace limpides et évite le ClassLoader. Et qui dit pas de ClassLoader, dit pas de problème…

Après quelques rappels subliminaux nous sortons convaincus :

Jettons nos proxies, utilisons celui de Rémi Forax qui est disponible ici.

Lire l’interview de Duchess ici

Des tablettes d’écriture aux tablettes pour écrire, Clarisse Herrenschmidt, Betty Moreau

Place à une conférence qui explore l’humain et la société au travers de l’écriture co-animée par Clarisse Herrenschmidt chercheur Linguiste, Philologue, Anthropologue et Sémiologue au CNRS et Betty Moreau coach en formation RH. On y parle de l’histoire de l’écriture, de la différence entre écriture cursive versus en script, du fonctionnement du cerveau et de la mémoire et de la révolution informatique - récente et rapide - qui modifie radicalement nos comportements. Les écritures les plus anciennes ont été découvertes sur des tablettes appartenant à des sociétés mésopotamiennes : il s’agit de nombres pour noter des quantité, des pratiques comptables (petit parallèle avec l’informatique…qui se qualifie par des écritures de nombre). L’écriture - faire passer le langage de l’invisible au visible - est intrinsèquement liée à la langue et à la culture. L’analyse sous-jacente est différente si l’on écrit en français, en chinois, en hébreu ou en arabe. Jusqu’à un temps très proche, nous pratiquions tous essentiellement l’écriture cursive. Pour réaliser le geste graphique, nous devons être bien installés, le stylo dans la main, concentrés. L’acte d’écrire nous implique physiquement et psychologiquement. Il ne permet aucune autre activité en parallèle.

 

ecritures Aujourd’hui nous écrivons de plus en plus à l’aide d’un outil numérique sur un clavier. C’est plus rapide et demande moins de précision (sans compter l’aide du correcteur orthographique). Or le cerveau se conditionne, se lasse. Les conférencières s’interrogent :

  • Quelles sont les parties du cerveau sollicitées pour l’écriture ?
  • Y a-t-il une différence selon que nous écrivons en cursif ou en script ?

Alors que les parties du cerveau engagées sont les mêmes, des études montrent une mémoire moins bonne chez les enfants en phase d’apprentissage n’apprenant que l’écriture en script. (Pour des enfants en CE1, on note même une corrélation entre leur bon niveau en math et le fait d’avoir bien su écrire à 4 ans.) Ainsi notre manière d’utiliser le corps, nos sens impactent le fonctionnement du cerveau. Un parallèle est fait avec les nouveaux instruments de musiques, numériques : certains impliquent le corps pour produire un son (souffler, gratter une corde, …) d’autres tel le synthé ne requiert que l’appui sur un bouton pour obtenir des sons de timbre et de hauteur différentes. Alors que les sociétés archaïques étaient fondées sur le passé, qu’à partir du christianisme la pensée a été tournée vers l’avenir (la vie après la mort), la notion de temps disparaît dans notre société actuelle. Notre époque accorde peu de place pour la mémoire. Se gardant bien de porter un jugement, les conférencières nous invitent à nous interroger sur cette révolution informatique qui a bousculé si radicalement nos modes de vie, nous sommes en plein dedans, et la nouvelle société qui va en découler.

Vous pouvez consulter les slides ici.

CDI, la perle de Java EE ! par Antonio Goncalves

Aurea, Katia et Blandine ont assisté à ce live-coding d’Antonio. Il a expliqué CDI au travers de la réalisation d’un exemple. Il a fait un talk très sympa; comme toujours il est à l’aise devant son public, un public fidèle, et pro. Pour son exemple il a utilisé un outil qui crée une application web super rapidement, deux commandes et voilà! Certains dans la salle espéraient le voir planter sa démonstration ! xD Eh bien ce ne sera pas cette fois là, démo réussie ou quasi (sauf le dernier exemple que, par manque de temps, il n’a pas pu faire marcher.). Vous pouvez consulter les slides ici.

 

 

La soirée Meet & Greet du Jeudi

 

Le jeudi soir est un moment particulier à Dexoxx : à la fois une soirée (ouverte à tous, y compris ceux qui n’ont pas de pass’ Devoxx), l’occasion de discuter tout en dégustant vin et fromage et la possibilité de participer à des B.O.F. pour rencontrer d’autres développeurs autour d’une même thématique. Il y en a 22 au total, répartis sur 3 tranches d’1 heure. Je profite de ce moment de détente, du beau buffet proposé et discute avec des personnes venues exprès.

Mais c’est déjà l’heure du BOF Duchess

le BOF Duchess

Pour être dans la continuité de Devoxx, le BOF des Duchess a proposé des lightening talks.

C’est Aurea Muñoz Hernandez qui ouvre le bal pour nous parler de fluent Api.

 

auri_bof Prendre du temps pour écrire une bonne api fluent est important. Le but : avoir des façades sémantiques pour exprimer le plus clairement possible l’api. Bien évidemment, les méthodes trop longues qui font trop de choses (vous savez : CheckValidityForProductAndAddProductOrder ) sont à proscrire. Alors comment faire ? Il faut séparer les responsabilités. Une méthode égale une action. Bien sûr, avoir une connaissance fonctionnelle est nécessaire pour réussir à simplifier. Quelques exemples : le Building Pattern, Fluentlenium, la librairie d’assertions de tests AssertJ, fluent de codeStory.

Puis nous avons une superbe Introduction à l’IoT avec Sameh Ben Fredj

sameh_bof Sameh nous fait une présentation des objets connectés : ceux d’aujourd’hui de plus en plus présents, les enjeux, ce qui nous attend très bientôt, enfin tout de suite. Aujourd’hui, chaque objet sert à une chose précise et est traité unitairement : donner des infos pour la santé, pour le sport….Mais l’objectif c’est de faire communiquer tous ces objets ; on verra même apparaître des groupes d’objets connectés entre eux, des actions pourront être prises en fonction d’informations provenant de plusieurs sources, de groupes d’objets. Son enthousiasme est très communicatif, et on visualise très bien le monde de demain. Nul doute que l’assemblée présente ne regardera plus jamais l’Internet des objets de la même manière à la fin de ce talk.

Heureusement pour ceux qui ne l’avait pas vue, Aurore Zhe Li a refait son talk sur Three.js

aurore_bof Aurore nous montre comment utiliser la librairie pour créer des scènes 3D dans le navigateur. Cela a l’air vraiment simple : créer une sphère, lui donner comme texture un planisphère, puis rajouter les reliefs, mettre les nuages : et voilà notre planète Terre. C’est en travaillant pour un laboratoire de recherche qu’elle l’a utilisé pour représenter la trajectoire de satellites autour de la terre. Elle nous montre le résultat : c’est vraiment bluffant !

le BOF Craftsmanship

Des duchess se dispersent, il est 21h30 et Dahlia a trop envie d’une bière juste avant de rentrer. Elle remonte la piste des verres qu’elle aperçoit dans les mains de participants. Elle demande son chemin, elle arrive au stand.

Trop tard. Plus de bière.

Allez, courage !!! Elle va rejoindre les craftsmen.

Le BOF a choisi le format discussion libre. Un premier sujet est choisi parmi plusieurs propositions : Quels sont les fondamentaux du Craftsmanship, le minimum requis. Tout le monde peut participer, soumettre sa définition, rebondir sur une idée. Puis une seconde thématique est proposé : Quand et comment organiser une revue de code. Le groupe se scinde en 2. A un moment, quelqu’un pose la question: - est -ce que tout le monde a eu un mentor ? Oh que oui ! Et me voilà partie dans mes pensée : “Si tu l’injecte par le constructeur, tu vois, ta classe devient testable “, me disait -il. J’avais eu la chance de travailler un peu avec lui.

Bon, stop.

“Cette séance n’a pas été très productive en ce qui me concerne en cette fin de journée.” dit Dahlia à la sortie

C’est pas grave !!  car on aura d’autres occasions : le Meetup Craftsmanship organise un rendez-vous par mois sous différents formats (open, kata, speach court, jeu même).

La fin

 

Parce qu’il faut bien une fin. Mais quelle fin ;) Le vendredi à 17h40 Les Cast Codeurs Emmanuel Bernard, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Guillaume Laforge, enregistrent leur podcast en public.

 

cast_codeurs La salle est comble, bien évidemment. Chacun sirote sa bière fraîche en écoutant ces CastCodeurs fous faire leur show. On rigole beaucoup dans la salle. Attention, le moment doit être compréhensible pour les auditeurs. D’abord une séquence Souvenirs : c’était il y a 20 ans. Les débuts de java, Matrix le film, le minitel, le Pentium, l’Internet avec un modem 56 kbit/s, le Bi-Bop, etc,… Ah là là, on était un petit nombre dans la salle à avoir connu tout ça ! Puis un bilan de Devoxx, les chiffres, les kilomètres parcourus, les thématiques, le café philoxx - les Castcodeurs ont été rejoins par Clarisse Herrenschmidt ainsi que Jean Lassègue philosophe. Ils sont fascinés par notre décontraction - inconnu pour le milieu universitaire - c’est une chance selon eux. Antonio nous confiera que le Devoxx’ blues sévit bien pour les organisateurs….

Nous aussi Antonio !

Petit pincement au coeur.

Devoxx France, c’est fini.

Mais nous repartons après avoir glané un max d’instants riches intellectuellement et émotionnellement.

Le bilan

 

Une édition éclectique, bien organisée, pleins de goodies dont un superbe T-Shirt StackOverflow et le pistolet nerf d’une société grenobloise qui fait de l’API streaming. Suggestion Quickies/Ignites : imposer 30 minutes de pause-déjeuner…afin de manger et de se vider la tête avant le démarrage des quickies. Ces formats légers sont très agréables, parfaits pour profiter d’une bonne digestion. Limiter la quantité de talks en parallèle ? De cette profusion peut naître aussi un sentiment de frustration. Nous pouvons comprendre cependant le besoin de toucher un maximum de public, peut-être faut-il ajuster le niveau du curseur.

5 raisons pour y assister en 2016

1) Apprendre

A Devoxx, on apprend. Vous allez découvrir des choses que vous n’utilisez pas au quotidien, ou même en discutant au couloir. Et puis, quelques présentation sympas pourront inspirer vos prochaines présentations !

aprendre

2) Networking

Devoxx est l’occasion de retrouver et discuter avec des anciens collègues, voir ou rencontrer de nouvelles personnes. C’est toujours intéressant !

Devoxx Networking

3) Rencontrer des entreprises intéressantes

Si vous pensez à changer de travail, plein d’exposants intéressants pourront vous séduire, l’occasion de parler avec des consultants qui travaillent dans des SSII ou éditeurs sympas.

boites

4) Casser les statistiques

5% de femmes. Donc si vous êtes une femme, l’année prochaine M U S T GO ! Nous devons remonter la barre des participantes !!

filles_devoxx

5) S’inspirer pour présenter un sujet l’année prochaine !

C’est toujours géniale de s’inspirer des autres pour se lancer pour l’année suivante. Vous pouvez y constater que parmi les présentations on y trouve de tous les niveaux (débutant, intermédiaire, avancée) et les sujets sont vastes. Cela laisse beaucoup d’espace pour penser à un sujet, et puis dans tous les cas c’est au comité de sélection de décider si le sujet a sa place ou pas !

risque_presenter

 

Et pour les amoureux des conférences 100% English RDV Devoxx Anvers 2015 !