Archive for the ‘meeting’ Category

Retour sur le BarCamp Java à Paris du 30 Septembre 2008

Jeudi, octobre 2nd, 2008

Mardi dernier, à 18h30 avait lieu dans les locaux d’Octo un Barcamp sur Java.
J’arrive un peu en retard, 18h40, et rien n’a vraiment commencé, les participants, qui s’étaient au préalable inscrit sur le site du BarCamp Java Paris, arrivent peu à peu.
Je reconnais des visages, des connaissances que j’ai rencontrés aux XP Days France 2008, parmi eux Gregory qui m’apprend l’existence du site StackOverFlow, créé par des gourous de .NET (argh) qui permet de poser une question technique, un peu à la Yahoo answers, mais orienté développeur (tous langages, ouf !); avec un fort accent sur la communauté : on gagne des points quand on répond bien et souvent, ce qui permet de modérer ensuite les questions des autres, etc… allez voit ce site, c’est super bien fait, j’ai déjà posé ma question cet après midi sur Hibernate et j’ai eu une réponse en 45 minutes !
On était bien une quarantaine quand l’organisateur, Luc Bizeul, prend la parole et nous invite à nous présenter (prénom, nom, 3 tags)
La plupart des personnes présentes étaient intéressées par Spring, la SOA, JEE.
Après ces présentations, Luc nous a invités à remplir chacun un post it avec un thème que l’on aimerait aborder pendant ce BarCamp.
Les post-it remplis, et triés par thème si les sujets étaient récurrents, on voit apparaître beaucoup de TDD, Usine logiciel, communauté Java Paris, les licences Open Source, et un peu moins d’autres (j’ai oublié…).
Une fois ces regroupements faits, Luc demande pour chacun des thèmes qui est intéressé; et selon le nombre de personnes intéressées, il attribue une salle pour chaque sujet (4 salles sur 2 sessions, donc 8 sujets ont été choisis).
Je choisis la salle TDD, et on a défini TDD, les avantages, qui en fait (sur une quinzaine de personnes on était 2 ou 3 à en faire !) comment l’appliquer sur JSF (apparemment un dénommé Wicket existerait pour çà) aussi sur GWT (pas satisfaisant non plus, à creuser..).
Un pointeur intéressant a été évoqué le livre de Kent Beck sur la TDD : Test Driven Development: By Example.
Et là il était 20h, et je ne pouvais pas rester … dommage…
Dommage car les sujets évoqués étaient intéressants, pas plus techniques que cela, surtout orientés agilité; de plus, on a beaucoup à partager avec les personnes présentes sur ce genre d’événement !
J’étais le seul consultant de Valtech à ce BarCamp; et oui, la majorité d’entre eux préparaient les Valtech Days 2008 qui auront lieu les 21 et 22 Octobre !

Retour sur le bar camp Rails du 17 Mai , à la Cantine (Paris)

Mercredi, mai 21st, 2008

Intéressé depuis quelque temps par le monde de Ruby et Ruby on Rails, j’ai décidé de m’inscrire au BarCamp Rails ce Samedi 17 Mai à Paris
A partir de 10h, les organisateurs ont mettent en place un tableau où les pesonnes désirant exposer leur travail ou découverte s’inscrivent.
(il y a 5 espaces disponibles à La Cantine, apparemment il faisait chaud à l’étage!; et les créneaux horaires durent de 1 à 2 heures)
Ensuite, après avoir présenté brièvement Silicon Sentier et d’autres sponsors, les organisateurs ont passé le micro à chacun des participants (une centaine quand même !) afin qu’ils se présentent : prénom + tags (j’ai choisi les tags développeur Java J2EE, d’autres tags comme “fille” ou “windows” étaient plus originaux !)
Les personnes s’étant inscrites sur le tableau démarrèrent dès 10h30.
Il y en avait pour tout le monde : débutant comme expérimenté ! (présentation ruby on rails, ruby en entreprise, facebook on rails !, etc…)
Voici mon choix pour la journée :

10:30 : présentation de l’intégration google maps dans rails avec geokit; par Sébastien Gruhier

Apres une présentation du projet, nous avons procédé à la génération d’une api key chez google maps, afin de pouvoir utiliser l’API (je crois que l’on a droit à 10000 requêtes par jour, à vérifier).
Nous avons ensuite créé un site rails, en ayant pris soin auparavant d’installer les gems de geokit et d’un module d’authentification.
Ensuite nous avons testé l’API par une console Rails, et enfin nous avons codé nos premiers fcihiers Rails avec des cartes.
L’API geokit permet de faire des travaux de geolocalisation (par IP) et de récupération de coordonnées, mais elle ne permet pas de générer des cartes gogole maps (en fait lors de la session nousa vons du coder du javascript pour cécupérer des cartes…)
Pour ceux qui craignent le Javascript, passez votre chemin donc, et dirigez vous plutôt vers un wrapper (comme YM4R sur rubyforge wrapper javascript)

14:30 : présentation jruby par Nicolas Mérouze

nous avons installé jruby bin (.zip ou tar gz).
A l’attaque, en lançant le script bat jruby.bat (ou jruby.sh)on peut d’ores et déjà installer des gems avec
jruby -S gem install un_gem_ruby
Plus généralement,
jruby -S "commande ruby"
Nicolas nous a montré beaucoup d’exemples sur Ruby qui utilise Java (normal il travaille sur un projet qui utilise des librairies java), peu dans l’inverse (dommage); sur le web, j’ai pu remarquer cet article qui permet de découvrir Jruby pour intégrer du Ruby dans Java

16:30 présentation faille sécurité ruby/ecommerce par Webpulser

Pendant cette session les participants ont pu échanger sur leurx expériences Ruby, ensuite l’équipe technique de Webpulser ont fait un petit tour des failles de sécurité en Ruby :
*Injection SQL : en donnant un ‘ à la fin d’une requete GET ,des attaquants pourraient terminer une clause SQL, ==> on utilise le ? à la printf de C pour échapper les caracteres spéciaux
*XSS en donnant du javascript dans l’url; on évite çà avec <%h= %> qui échappe le html
etc…

Sans parler de l’organisation qui était vraiment pro, un accueil chaleureux, bref, ce BarCampRails parisien vallait vraiment le détour !

XP Day France 2008 : Day 2

Mardi, mai 6th, 2008

I began this second day with a presentation of Rspec, Behaviour Driven Development and Selenium Grid, by Jean Michel Garnier. He told us about the history of software testing, Test Driven Development and Behaviour Driven Development.
So what is TDD against BDD ? Quite the something, from a technical point of view; but in fact it diminishes the distance between the client and the software engineer.
BDD is about writing sentences to describe tests.
A story (from Dan North point of view) (As … I want … To …)is divided into scenarios ( Given … When … Then …).
The thing is, the people who write specs “could” write Rspec classes, but the syntax is still a bit technical …
Then Jean Michel told us about Autotest, a framework to automatically run tests when you modify a source code; Rcov a software to measure code coverage of your tests (gem install rcov ; rake spec:rcov and finally Heckle, a framework that modifies your source code to … check that your tests are useful !

Next, I’ve seen a presentation of the origins of Agile methods; introducing the Agile Manifesto, agile principles,agile methods like Scrum (3 actors : product owner, scrum master and the team; product backlog to prioritize stories, sprint backlog to split stories in different tasks, and the sprint; and eXtreme Programmingwith its values simplicity, respect, courage, etc…)
The orator also remind the audience about older, predictive methods like cascade and V…

I’ve also attended a session proposed by Guillaume Carré, from Xebia presenting unit tests and Easymocks, where the audience was able to distinguish stubs from mocks, mocks being more faithful to the real behaviour of the class.
Easymock uses interfaces to create mocks, so you get all the mock coding job done !(but you have to describe the behaviour of your mock object).
The orator also talked about Mockito, from ThoughtWorks, which gets the description of the mock object according to the method called on this mock; you still describe the behaviour of the mock, but this time you verify the value returned at the end of your test, not before (which makes test code more readable than Easymock).

To finish the day, Jean François Helie, from Octo coded in front of us a blog engine, based on hibernate, maven, Spring, and Spring MVC but … using a test driven approach.
Jean François used Java 5 annotations to describe JUnits tests and once the tests were done, coded the application classes.
He first wrote code for the DAO classes, using Hibernate entity beans annotations (it looks so good persistence without XML).
Then he decided to lighten the test class code with Spring 2.5, using annotations to autowire bean dependencies (yeah annotations look good)
Once the model was written, he continued to the service, writing the test first, of course, but also using mock objects to be able to distinguish errors from the model to errors from the service class; for that he used Easymock linked with Junitils4 with annotations.
Finally, he wrote the controller, always writing the test class first, using Spring MVC framework (specifying the url mapping in the controller class)
The demonstration was quite impressive, I really enjoyed that one! (it reminded me that Java is still on !)

My colleagues from Valtech were not on holidays this second day, they presented Test Driven Requirements, using Fitnesse; continuous integration with Hudson (getting very popular now) and contracting Agile projects.

These XP day(s) were a great experience, I really hope I’ll be there next year !