Samedi 7 Mars avait lieu la 2ème édition du RailsCampParis, cette fois ci dans les locaux de Sun, avenue de Iéna (souvenez l’an dernier c’était à La Cantine)
Une bonne soixantaine de personnes était présente pour le démarrage de cette journée, à 10h30; l’accueil était très bien rodé, avec contrôle de l’identité des visiteurs, attribution d’un autocollant avec nom/prénom tags, pour faciliter les échanges entre participants, et café / petit déj copieux
Après une bref intro et la présentation des sponsors, les personnes présentes se sont présentées, avec 3 tags (j’avais choisi JRuby, Rails, TDD)
Dispersé sur 8 salles, les sujets ont commencé à émerger : beaucoup de merb, un peu de TDD/BDD, de la perf, de la scalabilité, bref, la journée s’annonce bien !
Je me suis rendu aux sessions :
« plugins préférés dans Rails »
, les participants ont alors évoqué leurs plugins rails préférés et leurs utilisations ; on retiendra attachment_fu : pour l’upload des fichiers ou encore PaperClip, Restful Authentification pour l’authentification.
Quand aux plugins de test, en remplacement on retrouve RSpec, utilisé conjointement avec factory girl et shoulda (autre syntaxe que celle de RSpec de base); TestUnit peut s’utiliser avec Machinist, shoulda et faker (?)
Bien entendu, Cucumber a été évoqué, car RSpec reste finalement trop technique pour un fonctionnel.
Un petit retour sur Factory Girl a été fait : factory girl permet de remplacer intelligemment les fixtures en YAML par des bouts de code (en Ruby); on utilise factory girls pour créer les objets à tester; que l’on persiste ou non (du coup un mock) dans la base… très intéressant !
présentation de Merb (par Cyril Mougel)
- ORM agnostique (Active Record, Data Mapper, etc…),
- Javascript agnostique (JQuery, MooTools, etc…)
- Comme Rails 2.2, compatible Rack
- 3 briques : merb-core, merb-more (le reste d’ActionPack), merb-plugins (ne sort pas simultanément avec les 2 autres, paquets de communication avec d’autres briques comme ActiveRecord, etc..)
- mot clef « provides » permet de stipuler les formats de rendu des vue (.xml, .html, .json, etc..à plutot que « format= » en Rails
- merb slices : déploiement d’une unique fonctionnalité (route au final) de l’application
présentation de rails 3.0
Nicolas Mérouze est d’abord revenu sur un historique des fonctionnalités apparues dans rails et merb au cours des versions, pour en arriver au futur Rails 3; puis a exposé la vision des « poupées russes », qui rappelait beaucoup certains concepts SOA de réutilisation du métier, des modèles à travers des services de plus haut niveau…
Après avoir introduit
Enfin, je me suis rendu à la table ronde Rack, où les différents participants ont évoqué ce qu’est Rack : une application « middleware » entre le serveur web et le framework Ruby. Pourquoi utiliser Rack ? par exemple pour gérer les routes en Ruby plutôt que dans un virtual host Apache (ainsi que que les accès à la page 404 ou autres); et ainsi garder la même conf quelque soit le serveur web en frontal, pratique aussi si on a pas les droits sur la conf Apache ! Aussi, Rack permet de faire du routing entre différentes applications web Ruby.
Après j’ai dû partir, dommage, une session devait aborder en plus approfondi le thème des tests en Ruby… En tout cas l’organisation était parfaite, le « timeboxing » de 1h pour chaque session se prêtait très bien à l’événement, les pizzas, les boissons, les croissants, le tee shirt, vraiment, une excellente organisation ! J’ai de plus le sentiment que la communauté Rails se préoccupe de plus en plus de la qualité, les débats (ou trolls!) entre TestUnit et RSpec prouvent que les développeurs Rubyistes en sont soucieux et c’est tant mieux !!
C’est moi qui ai présenté Merb et DataMapper. J’ai mis en ligne les slides :
http://blog.shingara.fr/railscampparis-2-jy-etais-et-cetait-sympa.html