Programme de la matinée

Le programme de la matinée a été intense, et très riche. Les locaux étaient faciles à trouver, nous avons étés très bien accueillis, puis nous sommes passés aux choses sérieuses :

  • Présentation de Ruby
  • Débuter avec RoR IntroductionFramework MVCPrincipe DRYComposantsConfiguration minimale et règles de déductionRakeEnvironnementsDBsGénérateursTests
  • Les modules de RoR Active RecordAction MailerAction Web ServiceAjax on Rails
  • Conclusion
  • Démonstration

Comme vous pouvez le constater, un programme bien dense pour une bien courte matinée.

Présentation de Ruby

Une courte introduction à Ruby, qui est tout de même la base de Rails. Du coup, quelques incompréhensions par la suite dans les divers exemples, mais il faut bien réussir à tout faire tenir dans le délai imparti...
Dommage tout de même de ne pas plus insister sur ces bases, d'autant que le langage présente tout de même certaines syntaxes particulières par rapport à Java ou PHP.

Débuter avec RoR

Cette présentation fut beaucoup plus complète que la précédente (ça tombe bien, c'était tout de même le thème de la conférence).

Tout les principes de RoR ont étés détaillés : la structure d'une application RoR, le framework avec une approche MVC très facile à apréhender, conventions plutôt que configuration, DRY (Don't Repeat Yourself) qui prône la réutilisation maximum du code, les différentes bases de données supportées, les outils mis à disposition pour les tests tant unitaires que fonctionnels, etc.

Les modules de RoR

C'est là que nous avons abordé ce qui distingue vraiment Rails des autres langages : ses différents modules, et plus particulièrement ActiveRecord.

Active Record est le nerf de la guerre, ce qui rend RoR magique...
Il suffit de plancher sur la conception de sa base de données, de la créer, puis de taper une simple commande. Rails va alors se charger de nous générer des formulaires gérant le CRUD (Create, Read, Update, Delete). En moins de temps qu'il n'en faut pour le dire, on se retrouve avec ne application fonctionnelle.
Rails va de plus se charger de créer les objets correspondant à vos tables ainsi qu'un tas de méthodes pour les manipuler plus facilement.

La validation des données devient également d'une simplicité enfantine, puisqu'une simple ligne permet de s'assurer que les données saisies rentrent dans le cadre défini, Rails gère le reste tout seul.

Le seul inconvénient pour le moment est que Rails ne gère pas les procédures stockées.

Action Mailer quant à lui permet de gérer l'envoi automatique de mail, ainsi que la réception et le traitement automatique. Il devient facile de déclencher une action lors de la réception d'un mail.

Action Web Service permet quand à lui de gérer les sevices web. Il supporte les protocoles SOAP et XML-RPC.
Encore une fois, dommage de ne pas avoir eu plus de temps à consacrer à cette partie, mais n'oublions pas que cette conférence n'était qu'un survol des possibilités de Rails, et non pas une formation ;-)

Au tour d'Ajax on Rails.
Vous vous en doutez, le but est d'intégrer Ajax dans Rails. L'idée est ici de ne coder qu'en Ruby, Rails se charge de faire l'interface avec Prototype.js pour générer le code qui va bien.

Conclusion

La conclusion a été l'occasion de récapituler ce que nous avons vu avant, ainsi que de nous présenter sommairement les divers outils avec lesquels développer pour RoR : InstantRails, RadRails, Capistrano, les différents serveurs, etc.
Ce fut également un moment d'échange où nous avons pu poser les questions qui nous étaient venues à l'esprit pendant la présentation.

Démonstration

Un gros bravo pour cette partie !

L'intervenant à sous nos yeux réalisé une micro-application (une todo-list) avec Rails, ce qui a permis à tous de se rendre compte de la simplicité d'utilisation et de développement.

Certes, ce n'était qu'une petite application, mais l'utilité d'Active Record a largement été démontrée, ainsi que la simplicité d'utilisation du modèle MVC.
Ainsi, rien de plus simple que de modifier le formulaire pour passer d'un affichage anglais de la date à un affichage français.

Nous avons également eu le temps de voir comment gérer les évolutions de nos bases, comment gérer un retour à l'état précédent, la manière dont fonctionnent les tests, ...

Bref, ce fut le complément idéal à la présentation, la mise en application de tout ce qui nous avait été dit. Une grande réussite !

Conclusion

Je tiens à remercier Valtech Training pour son accueil ainsi que pour la qualité de la conférence.
J'espère que cela aura permis de convaincre les différents participants au moins de se pencher sur la technologie, si ce n'est de l'adopter.

Si vous souhaitez partager votre expérience, ou vous initier à la technologie, vous pouvez nous rejoindre sur le forum Ruby / RoR, ou aller voir nos ressources (cours, FAQ, livres, conférences).