juin
2009
Comme la vie dans les conférences est agitée et que la connexion wifi fluctue (victime de la double IP par personne : le laptop et le smartphone…), la suite du premier jour est postée depuis le keynote du troisième jour.
L’après-midi a commencé avec une présentation Flex BlazeDS, Spring et Hibernate par James Ward dont j’avais vu des comptes rendus élogieux de la performance au Paris JUG. J’ai été un peu déçu par le présentation, hautement commerciale sur la première demi-heure puis un peu de code et 30 secondes de Spring-Hibernate sur la fin….
Ensuite, j’ai suivi une présentation sur la sécurité des RIA. Avec le déplacement d’une partie de la logique coté client, nous exposons nos application à un certain nombre d’attaques. Le speaker a fait la démonstration en utilisant une application de type Paypal écrite en GWT. Après un login rapide en utilisant la désormais classique injection SQL que l’on ne devrait plus trouver dans nos applications, il nous a montré le code de l’application qui n’était pas obfusqué. Vous pouvez paramêtrer GWT pour obfusquer votre code, mais de toutes façons des outils permettent de faire le contraire. Ensuite en utilisant simplement Firebug, il a modifié les paramètres d’une requêtes XHR juste après le contrôle et avant l’envoi. Si la vérification n’est pas refaite coté serveur, vous avez une faille. Le deuxième exemple marquant a été l’activation d’onglet d’administration et/ou de debug simplement en deux ligne de javascript. Il faut donc compiler séparément le code basic des parties admin et debug.
La journée s’est poursuivie par deux sessions courtes (trop courtes) sur les tests. La première a parlé du « Testing Zen » et notamment du Fuzz testing ou tests d’ordre aléatoire avec génération aléatoire de données, et les bases de données en mémoire pour les tests. La couverture de code par les tests a été aussi abordée mais le sujet est plus connu. La seconde session portait sur Benerator qui est un outils de génération de données. Il est très configurable et il existe maintenant un plugin pour Eclipse et Maven. Cet outil, sous license GPL ou commerciale, permet de générer des bases semblables aux bases de production pour faire des tests de charge mais il présente aussi l’avantage de pouvoir anonymiser les données ou introduire des « worst cases » que l’on ne trouve normalement pas dans les bases de production.
Pour clore la journée, il y avait deux séances plénières avec deux speakers de renom : Neal Ford et Ivar Jacobson. Neal Ford nous a mis en garde contre l’évolution de notre métier en nous comparant aux forgerons qui avaient un avenir radieux au début du siècle précédent et sont très rares de nos jours. Ivar Jacobson nous a présenté une série de conseils pleins de bon sens sur l’organisation et la gestion de nos projets, regroupés sous les appellations « smart » et « not smart ».
Enfin comme les journées de conférences ne sont jamais finies, il y avait le BOF des JUG Leaders où nous en avons profité pour mettre des visages sur les noms que l’on voit dans la mailing liste et échanger des conseils. Les discussions se poursuivant jusque tard la nuit dans un des bars de Zurich.