30 mai 2015

Un Devoxx France...et ça repart.

La version complète de ce retour sur Devoxx France 2015 se trouve sur le site des Duchess France
Devoxx 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 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.

devoxx
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.


Quelques retours

En ce vendredi midi, j'avais attrapé mon sandwich, l'avait avalé sur le pouce pour aller écouter le quickie de David Wurstensein, 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 !
J'accélère le pas alors, comprenant la situation terrifiante : moi qui hésitait entre 3 quickies, je pouvais rester en carafe. Heureusement, je trouvais place dans la salle suivante.

Quickie : Savoir faire le deuil de son codeEllène Dijoux Siber 

DSC_0135_cropEn plus d'être une développeuse professionnelle et de son engagement 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éveloppeurs (Cf. son blog : http://uneviededev.com/).
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 !
J'aurais tant aimé pouvoir assister aussi au quickie d'Alexis Kinsella sur GTFS (format auquel nous nous étions confronté il y a 2 ans pour notre appli MoovSimply). Mais son quickie tombait en plein à l'heure des sandwich et faut prendre des forces quand même!
Je ne crois pas que les Quickie aient été filmés. Nous pouvons toujours nous rabattre sur les slides.

FP influence helps craft better OO codeOu 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, ….
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.
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 : je sors de là en ayant quelques idées d'amélioration de mon code et j'ai surtout très envie de boire une bière....pourvu que...Ah bah non, pas possible là. La session suivante commence bientôt et la salle est déjà pleine. Vite !

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'exécution
- 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 en fil rouge, nous sortons de là convaincus : jetons nos proxies, utilisons celui de Rémin Forax.
https://github.com/forax/proxy2



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.
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.

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. Et attention, 3 supers talks !
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.
Sameh nous fait une présentation des objets connectés: ceux d'aujourd'hui de pus 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 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

Il est 21h30. J'ai trop envie d'une bière, juste avant d'y aller. Je remonte la piste des verres que j'aperçois dans les mains de participants. Je demande mon chemin, j'arrive au stand. Trop tard. Plus de bière. Allez, courage je vais 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ée: 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. C'est pas grave, j'aurais 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 BernardVincent MassolAntonio GoncalvesArnaud HéritierGuillaume Laforge, enregistrent leur podcast en public.
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,... DSC_0141 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 : 

  • Alourdi : de nos supers goodies (T-Shirt StackOverflow et le pistolet nerf d'une société grenobloise qui fait de l'API streaming...), 
  • Heureux : d'avoir vécus tous ces instants riches intellectuellement et émotionnellement 
  • Frustré : de toutes ces conférences manquées
  • Confiant : par l'effervescence de cette communauté de développeurs. Entraide, échanges, nous ne sommes pas seuls.
  • Fier : d'être développeur

Ma petite liste de conférence que j'espère voir sur Parleys :

Aucun commentaire:

Enregistrer un commentaire