Je remarque, celà fait quelques posts déjà que je commence à dériver des sujets dont j’ai l’habitude de parler.Il faut dire que le contexte du mois de janvier a été particulièrement tendu et celà à cause du projet sur lequel je travaille beaucoup en ce moment: ROFL pour Ruby on rails Open Framework for eLearning.
Derrière ce nom de code un peu particulier (je dis pas unique en son genre, en tant que pseudo geek débutant, j’ai plutôt l’habitude de ce genre d’acronymes), se cache un chantier assez pharaonesque, celui d’offrir aux futurs ISI une plateforme complète d’apprentissage. La particularité de ce projet est que l’on utilise Ruby On Rails (Langage Ruby et Framework Rails).
J’avoue une petit chose, cette année scolaire, on nous avait annoncé qu’il y aurait des projets .NET. Tout heureux à cette idée, je ne m’attendais pas à l’annonce qui sera faite quelques mois plus tard: pas de .NET finalement, aucun enseignant ne voulait être responsable. Bon… Par contre parmis les nouveautés, il y avait ce fameux projet en Ruby On Rails (RoR pour les intimes). Manque de bol, une autre équipe avait les mêmes motivations que nous pour ce projet. L’attribution aura été décidée au tirage au sort (ils sont partis avec un projet KDE qui devait être réalisés en C++ mais ils ont optés pour du Python… pourquoi pas). Et depuis octobre dernier, je travaille donc sur l’élaboration de ce projet.
Les habitués vous le dirons: avec RoR, je vous créé un blog en 10 minutes. Au début j’avais du mal à y croire, mais la première démo avait fini par me convaincre: je veux faire du Ruby.
Malheureusement pour mon équipe et moi, apprendre un nouveau langage et un nouveau framework sur le tas et concevoir en même temps ça n’est pas aussi simple que ça, même avec Ruby. Nos premières erreurs avaient été de surestimer notre efficacité et notre capacité à nous organiser dans un environnement totalement inconnu et encore très jeune. La première des difficultés a été de trouver des références. Ruby On Rails étant encore trop méconnu du monde de l’entreprise, rechercher des informations fiables (et surtout récentes) est un challenge que l’on relève encore aujourd’hui. Heureusement pour nous, nous avions vite trouvé un tutoriel à la fois complet et faisant le tour du framework en quelques exemples clairs et simple. D’ailleurs, c’est un petit peu ma bible en ce moment, je l’ai fait relié :p. Le pire c’est que je l’ai trouvé en tapant « ruby on rails leopard »… et oui… un des meilleurs (si ce n’est LE meilleur) tutoriel Rails est fait pour les macs (mais peut être facilement être adaptés aux autre OS).
Enfin… c’est vrai qu’on a beaucoup galéré, et qu’on galère encore pas mal aujourd’hui. Mais je commence à maîtriser maintenant la partie la plus intéressante de RoR: le Test Driven Development (Développement Orienté par les Tests). L’idée c’est qu’au lieu de partir directement dans le codage, puis créer des scénarios de tests pour valider le code déjà écrit, on fait l’inverse: on écrit d’abord toute une batterie de tests, puis on écrit le code pour valider ces tests. Pour vous donner une idée des avantages de cette pratique, voici le lien Wikipédia qui expliquera ça mieux que moi. Et j’avoue que je suis assez épaté du résultat. Par contre, pour ceux qui n’avaient jamais expérimenté ça avant, il se peut que les vielles habitudes reprennent le dessus.
Il est clair que ce projet, malgrès sa difficulté, m’apporte beaucoup d’enseignements: les services REST, une implémentation complète du design pattern MVC, les TDD, le reporting, etc… Je sais pas si j’aurais le temps mais j’aurais voulu voir aussi AJAX un peu plus en profondeur…
Alors maintenant, est-ce que je peux créer un blog en 10 minutes? Peut être, peut être…