avril
2012
C’est la première fois que j’assiste à une conférence Java sur 3 jours et même si je n’ai pas de critères de comparaison, j’ai trouvé cette expérience plutôt instructive et sympathique. En revanche, c’était plus fatiguant que je ne le pensai, ceci explique pourquoi je ne vous fait un retour que maintenant…
Coté organisation
En un mot : Super !
- Une rapide vérification de la carte d’identité pour retirer mon badge.
- Un vestiaire pour stocker mes affaires encombrantes et récupérer mes goodies. Il y avait un kit de survie !
- Des viennoiseries, café, jus d’orange le matin, sandwich et salades le midi. Il manquait selon moi un peu de sucre pour attaquer l’après-midi ! Du coup, je faisai un rapide tour sur le stand de google ou de sfeir pour récupérer quelques friandises.
- Certes, il n’y avait pas de wifi pour les participants mais cela ne m’a pas vraiment dérangé.
- Les conférences où je suis allé étaient plus ou moins pleine mais j’ai toujours pû m’asseoir; c’était bien dimensionné.
- Les keynotes regroupaient tous le monde dans une salle qui le reste du temps était divisée en 3 parties. Du coup, avec un millier de participants, c’était plutôt impressionnant.
-
Et le mur de tweet donnait le ton !
Mur de tweet Devoxx France 2012
Coté relationnel
C’était l’occasion de rencontrer d’autres membres de DVP, des blogueurs plus ou moins connus …
J’ai trouvé que c’était plus facile d’échanger avec d’autres participants juste après une conférence, cela faisait déjà au moins un point de discussion pour commencer.
Coté contenu
Bien que ce soit un salon pour développeur Java, il y avait une grande diversité de sujets pour tous les goûts, ce qui a, je pense, contribué à équilibrer la charge !
Pour ma part, je me suis concocté un petit programme :
Mercredi 18 avril
- [University] De Runnable et synchronized à parallel() et atomically()
par José Paumard
Entre autre, j’ai retenu les même choses que Lunatix. - [University] Guide de survie en théorie des langages
par Alexandre Bertails
Le fond était intéressant (Les bases philosophiques, notion de vérité et de sens, définition des termes), la forme un peu moins (les slides un peut petit, un format informel qui ressemble plus au BOF qu’au format habituel des University).
Entre autre, j’ai retenu :- Un langage n’est jamais bon pour tout.
- La POO n’est pas à opposer à la programmation fonctionnelle. On peut faire les deux ensemble.
- A la remarque qu’avec Scala, on peut écrire de différentes façons. Selon lui, les différentes façons expriment des choses différentes. Son exemple écrit de deux manières différentes. La version avec le pattern visitor est plus extensible.
- La réification, c’est la conservation des génériques au runtime. Un petit rappel bien utilise car une des conférences suivantes à fait état de cette fonctionnalité dans un futur jdk.
- [Tools in Action] Réduire la pression sur l’allocation mémoire : le prochain pas dans l’optimisation des performances de la JVM
par Benoit Perroud et Olivier Lamy
Entre autre, j’ai retenu :- le projet Apache Direct Memory qui permet d’utiliser de la mémoire non managé par le garbage collector.
- la disponibilité d’un serveur qui permet de sauver/récupérer des données au format json.
- les slides en ligne
- [Tools in Action] Chouchoutez votre code JavaScript
par Romain Linsolas
Entre autre, j’ai retenu :- les différents outils dont on dispose pour faire des tests de code Javascript (Underscore.js, Jasmine, Sonar).
- les différentes possibilité d’exécution de ces tests. Heureusement que cela ne se limite pas à Maven (la possibilité utilisée dans la démo) car selon moi, l’intersection entre les utilisateurs de Maven et ceux de JS doit plutôt être petite.
- les différents moteurs JS utilisés par les outils. Heureusement que certains utilisent le moteur JS d’un navigateur (avec gestion du DOM) si on envisage le JS uniquement pour l’ihm. Sinon, les autres doivent principalement servir pour ceux qui font du code métier en JS (node JS …)
- les slides et le code en ligne
- [Tools in Action] JDK 8 demo: lambdas in Action
par Guillaume Tardif
Entre autre, j’ai retenu :- l’expressivité des lambdas et à quels points ils vont simplifier java
- l’enrichissement des apis de collections
- le target typing qui permet d’associer une lambda à une interface à une méthode
- les Virtual Extension Methods qui permettent « d’introduire » du code dans les interfaces, un héritage multiple (?) où le développeur devra lever l’ambiguïté de l’héritage en diamant.
- qu’il faudra attendre la sortie du jdk8 et sa prise en compte par eclipse qui ne comprend pas encore la nouvelle syntaxe
- [BOFs] Tribulation d’un développeur Java dans le Cloud
par Tugdual Grall
Je connaissais déjà le cloud de Google mais c’était intéressant de voir le retour du développeur de ResultTri.
Entre autre, j’ai retenu :- Il a remarqué les limitations des requêtes concernant le modèle NoSQL
- Il faut mieux utiliser les scripts d’import/export pour charger/décharger son datastore que de le faire au niveau applicatif (explose la consommation)
- Il a souscrit au mode de paiement pour s’affranchir des quotas gratuits.
- Depuis mes essais, la plateforme s’est enrichie. On peut désormais disposer d’une base SQL (CloudSQL).
- Une API de recherche full texte sera bientôt disponible.
- Il faut optimiser le plus possible (notamment utiliser le cache) sous peine d’atteindre vite les quotas ou exploser son budget (encore heureux qu’on puisse mettre un plafond).
- Il faut paramétrer le fichier robot.txt et les paramètres dans Google Webmasters Tools sous peine que le google bot augmente considérablement votre trafic et votre facturation (le comble !).
- Les petits problèmes CSS entre Twitter Bootstrap et Google Maps.
Jeudi 19 avril
- [Keynote] Bienvenue à Devoxx France
par Antonio Goncalves, Zouheir Cadi, José Paumard, Nicolas Martignole
Merci à eux d’organiser un Devoxx en France ! - [Keynote] Fier d’être développeur
par Pierre Pezziardi
Co-fondateur d’OCTO et à l’origine de l’université du SI, sa keynote était agréable à entendre. J’ai d’ailleurs commencé son livre « Lean Management », qui me fait penser au livre Le But de Eliyahu M. Goldratt mais appliqué à une DSI. - [Keynote] This could be Heaven or this could be Hell
par Ben Evans et Martijn Verburg
Deux futurs extrêmes ! Une keynote humouristique mais je me demande encore qui des deux, est l’ange et le démon ? - [Quickies] C’est si simple GIT !
par Ulrich Vachon
Je veux bien que les courtes 15 minutes ont été amputées par un problème technique mais tout ce qu’il démontre, c’est que c’est simple pour lui. Il enchaîne les commandes GIT sous Linux en jouant plusieurs rôles à la fois. Le format du quicky n’était peut être pas le mieux adapté car une présentation préalable de GIT aurait été la bienvenue. - [Quickies] Musée des horreurs du FBI (Fausse Bonne Idée)
par Emmanuel Feller
Une présentation humoristique qui m’a rappelé toutes les horreurs qui se passent dans la vrai vie. - [Conference] Manipulation de bytecode : démocratisons la magie noire
par Julien Ponge et Frederic Le mouel
Entre autre, j’ai retenu :- La grande qualité des slides et des démos sympas
- La manipulation du bytecode par AspectJ en greffant des aspects
- La manipulation du bytecode par Byteman via un moteur de règles
- [Conference] Nouveau look pour une nouvelle vie: Spring, JQuery et HTML5
par Julien Dubois
Entre autre, j’ai retenu :- Des slides avec de jolies photos
- L’application Tatami belle et efficace réalisée en peu de temps
- Une présentation html5 efficace où il se concentre sur les nouveautés les plus intéressantes pour les entreprises
- Une utilisation de Bootstrap et de JQuery pour faire des appels REST sur le backend codé avec Spring MVC
- Une utilisation de Cassandra et d’un système de cache pour améliorer les performances
- Des tests de montée en charge JMeter pour illustrer l’efficacité
- Les vannes qui taclent Play et Scala !
- [Conference] Programmation concurrente en Java dans la pratique
par Alex Snaps
Entre autre, j’ai retenu :- L’approche didactique qui consiste à montrer l’évolution d’un code pour le rendre plus efficace à chaque étape.
- Les vrais exemples tirés d’Hibernate.
- L’utilisation de plusieurs verrous spécifiques VS le verrou de l’instance (synchronize au niveau des méthodes) pour limiter le confinement.
- [Conference] Google Web Toolkit à l’épreuve du feu
par Sami Jaber
Entre autre, j’ai retenu :- Une démonstration d’une application GWT importante en production.
- Les apports de l’Open Source dans la résolution rapide de bugs.
- Une utilisation intensive du push serveur d’abord avec GWT Event service puis avec Atmosphere
- [Conference] BigData et Hadoop au secours de téraoctets de logs inexploitables chez l’un des plus grands sites marchands du web européen
par Pablo Lopez
Entre autre, j’ai retenu :- Voyages SNCF : Start-up créée il y a 10 ans. 3 Milliards de CA/an. 1 Million de visiteur/jour dont 200 000 acheteurs.
- 500 serveurs sur lesquels tournent 4 à 5 JVMs et 7GB de logs par serveur et par jour.
- Mise en place d’une architecture pour exploiter les logs :
Flume pour récupérer les logs des différentes machines, un cluster Hadoop (hdfs, map/reduce) pour les centraliser, un cluster MongoDB pour transformer les données bruts en document JSON, une application Play pour les exports. - Les APIs de MongoDB sont mieux que celles de HBase.
- Les slides et un premier retour sont disponibles.
- [Conference] Pour un développement durable
par Frédéric Dubois
Entre autre, j’ai retenu :- Une présentation dans la veine de la keynote de Pierre où on défend l’idée que développer n’est pas sale, qu’il faut valoriser l’expérience des développeurs.
- Un présentateur qui a mis les formes : de belles photos sur ses slides et des expressions dignes d’un politicien!
Vendredi 19 avril
- [Keynote] Trends in mobile application development
par Greg Truty
Parfait comme première présentation car si on arrive en retard, on ne loupe rien ! Bref, ennuyeux mais les organisateurs n’ont aucun contrôle sur les slots réservés au partenaires. - [Keynote] Portrait du développeur en « The Artist »
par Patrick Chanezon
Dommage que ce soit si court ! Il parait qu’il a fait cette présentation sur 1h30 dans un JUG. Si quelqu’un à un lien vers cette vidéo, je serai intéressé.
En attendant, les slides de son film muet !
Il nous a également parlé de Cloud Foundry, la (première ?) plateforme de cloud open-source ! Cela me plaît bien comme approche si c’est l’avenir… - [Keynote] Abstraction Distractions
par Neal Ford
Un speaker qu’on ne présente plus !
Excellente présentation qu’on savoure différemment suivant son niveau d’anglais. - [Quickies] Faire du code centré sur l’humain
par Yannick Grenzinger
Une courte présentation sur les modèles mentaux et sur la manière de designer son code.
Il cite « Clean Code » de Robert C. Martin et « The design for everyday things » de Donald Norman. - [Quickies] (R)évolutionnez vos bases de données avec Liquibase !
par Florent Biville
Une courte présentation où on apprend qu’il existe des outils (Liquibase) pour gérer l’évolution des bdd et pour gérer les différentes version des scripts SQL. - [Conference] sizeOf en Java — parce que la taille… ça compte!
par Alex Snaps
J’avais prévu d’y aller mais je me suis attardé sur une session de Code Story : - [Code Story] Coder à Devoxx France, une application en direct, en 2 jours
par David Gageot, Jean-laurent De morlhon, Sebastian Le merdy, Eric Le merdy
Entre autre, j’ai retenu :- que ce sont des développeurs comme nous. Quand ils sont confrontés à une difficulté où qu’ils ne se rappellent pas bien une syntaxe particulière, un coup de Google et hop, c’est réglé. Cela montre bien qu’il est conte-productif de bloquer Internet au développeur web ! (Si, si, je connais des boites qui le font)
- que leur approche en binôme est très intéressante, notamment ici pour commenter ce qui est fait.
- qu’on peut écrire un test pour marquer une erreur rencontrée, écrire rapidement un code qui la corrige. On pourra ainsi refactorer plus tard en vérifiant si le test réussi toujours.
- que l’intégration continue avec Jenkins permet de livrer rapidement. On peut ainsi committer sur une branche de tests, lancer les tests et s’ils réussissent, les déployer sur la branche de production.
- que Less est un pré-processing de css qui permet également de structurer ses styles en suivant l’arborescence du DOM de sa page web.
- que Guava améliore l’écriture de blocs de code Java pénibles.
- qu’on apprend beaucoup à observer les autres.
- que les sources sont disponibles
- [Conference] 55 fonctionnalités de Java 7 dont vous n’avez (probablement) pas encore entendu parler
par David Delabassee
Entre autre, j’ai retenu :- Les différentes fonctionnalités ajoutées à Java 7 très bien présentées.
- La principale à retenir est probablement NIO2. Dommage qu’il ait fallu attendre aussi longtemps pour des choses si simples.
- Les nouvelles fonctionnalités relatives aux fichiers comme l’obtention du MimeType dépendent des capacités de l’OS. Sous windows, ça va être encore basé uniquement avec les extensions de fichiers ???
- Il y avait depuis le début une évolution de Java tous les deux ans. Entre le 6 et le 7, il a fallu attendre 5 ans. Espérons que le rythme initial va reprendre et qu’on aura Java 8 fin 2013.
- Il n’y aura plus d’évolution de Java 6 à la fin de l’année. Il est temps de passer à Java 7 !
- [Conference] Recherche d’information (RI) : Fondements et illustration avec Apache Lucene
par Majirus Fansi
Entre autre, j’ai retenu :- Une introduction à la recherche d’information très accessible
- Différents modèles : booléens, vectoriels et probabilistes
- Des algorithmes de construction d’index inversés et de calcul du niveau de pertinence des documents
- Une démonstration de Lucene à travers une application web de recherche textuelle
- [Conference] Google App Engine: la complexité inversement proportionnelle a la scalabilité
par Ludovic Champenois et Didier Girard
Entre autre, j’ai retenu :- Cette présentation fait suite au défi du labs « Le président est … »
- Une solution est disponible ligne. Je vous invite à la consulter à 20h le 6 mai pour voir si ça tient bien la charge !!! Marrant que le speaker de Google tempérait les encouragements de Didier à y aller !!! Craignait-il que ça plante pour la présentation et que ça donne une mauvaise image ?
- Didier a également parlé de son application ABonEntendeur déployé sur GAE.
- L’infrastructure Cloud de Google est également utilisée par eux (Dog Food).
- GAE permet au développeur de mettre directement son application en production
- GAE nécessite cependant d’optimiser son application pour ne pas exploser les quotas et notamment d’utiliser le cache.
- GAE semble très adapté pour les applications temporaires, saisonnières.
- J’aurai tendance à dire qu’un point important est la dépendance vis à vis de leur infrastructure et qu’en utilisant les standards qu’ils proposent en parallèle de leurs solutions propriétaires, on est moins dépendant. Mais là, ils nous apprennent par exemple qu’il faut mieux utiliser leur service d’URL car il est plus optimisé !
- GAE propose un premier abonnement à 9$/mois + (variable suivant quotas) et un second abonnement entreprise à 500$/mois + (variable suivant quotas) pour avoir plus d’applications, un support client direct, …
- GAE permet de monétiser son site avec des solutions de paiement autre que Google CheckOut.
- [Conference] OOM m’a tuer : paramétrage de la Heap et du Garbage Collector sous forte charge
par Renaud Bruyeron et Frank Pavageau
Vous aurez deviné qu’OOM, c’est OutOfMemory et c’est ce qui m’a attiré vers cette présentation.
Entre autre, j’ai retenu :- que la JVM a plus de 600 paramètres à régler !
- qu’il faut mesurer avant de modifier pour avoir des références
- qu’il faut mesurer après pour voir les impacts
- que leur paramètrage est spécifique à leur application et qu’on ne peut pas le généraliser; c’est leur démarche qu’il faut donc retenir !
Je dois m’arrêter ici, je ne peux pas assister aux dernières présentations de la journée sinon je vais louper le dernier train du jour.
Voici mon retour sur Devoxx France 2012. Ce n’était pas évident de fabriquer mon programme car comme on dit, choisir, c’est renoncer. Savoir que je pourrai voir celles que j’ai manqué sur Parleys est du coup rassurant.
Avec le recul, je me dis que vu que les conférences étaient filmées, j’aurai peut-être dù assiter à plus de sessions « Code Story » qui elles n’étaient pas filmées. Certes, assister aux conférences permet de poser des questions mais ce n’est interactif qu’à la fin.
Et vous, vos impressions ?
[…] Mes impressions sur Devoxx France 2012 par benwit (21/04/2012 22:00) C’est la première fois que j’assiste à une conférence Java sur 3 jours et même si je n’ai pas de critères de comparaison, j’ai trouvé cette expérience plutôt instructive et sympathique. En revanche, c’était plus fatiguant que je ne le pensai, ceci explique pourquoi je ne vous fait un retour que maintenant… Coté organisation En un mot : Super ! Une rapide vérification de la carte d’identité pour retirer mon badge. Un vestiaire pour stocker […] […]
Quand j’ai écrit, j’avais en tête première en date de naissance.
Mais comme je n’en suis pas certain, c’est pour cela que j’ai ajouté un pont d’interrogation. Si certain ont des références, ils peuvent les donner.
D’ailleurs, je ne pense pas que le speaker l’ai dit. C’est juste qu’il semblait très enthousiaste de cette solution vis a vis des cloud fermés de google, amazon, micosoft que c’est l’impression que ça m’a donné.
Ce qui est certain en revanche, c’est la première que j’ai découvert et grâce à ton intervention, je viens d’en découvrir deux de plus.
Tu les utilises ?
Tu veux dire première en terme d’adoption ou sa date de naissance ?
Moi j’ai aussi entendu parler de OpenShift et Stratos
En googlant à l’instant j’ai trouvé cet article : http://jimdowney.net/2011/06/22/pathways-to-an-open-source-cloud/