L’histoire des langages de programmation remonte à bien longtemps, et l’histoire des langages utilisés pour « faire des sites web », bien que plus jeune, est déjà chargée.
Ruby on Rails est le petit dernier de la famille. Je ne vous parlerais pas ici d’architecture MVC, et encore moins du duo qu’il forme avec le célèbre AJAX, autre « langage » hype, qu’il intègre à merveille, ni même de son incroyable capacité à « mashuper ». Je n’ai pas de légitimité pour le faire, et pour ne rien vous cacher, j’ai la flemme de faire un vrai travail de vulgarisation sur le sujet.
De toutes façons, si vous savez de quoi je parle dans le paragraphe qui précède, vous en savez au moins autant que moi, et probablement bien plus.
Ce qui me fascine, moi, dans cette technologie, c’est la façon dont elle est soutenue par une philosophie qui remet en question tout le process de création d’un site web. Alors que le choix de J2EE, .Net, PHP ou tout autre chose ne changeait pas, fondamentalement, le rôle du marketing, du client (pour une agence), ou de la stratégie (pour le client) ; Ruby on Rails – RoR, pour les amis – bouleverse tout.
RoR va vite, non pas en terme de performances pures, mais en termes de développement. De l’idée au concret, les délais se sont considérablement raccourcis. RoR plait aux jeunes, cette génération Y qui fonctionnent différemment, et dont la dernière étude de Berkeley a mis en évidence cette capacité cognitive nouvelle de l’ « exploration autonome ». Ruby est Open Source, car cela va de soi. RoR est sexy. Il est l’histoire d’une rencontre entre un Ruby japonais un peu poussiéreux, et d’une startup mythique du Web 2.0, 37signals.
Ruby est né du Web 2.0, et c’est une machine a faire du Web 2.0.
Essentiellement utilisé par les startups, il répond parfaitement à leurs attentes. Mais il ne vient pas seul, de mystérieuses philosophies l’accompagne, comme l’ « extrem programming » ou bien encore l’ « agile development ».
Ainsi armé, un produit développé en RoR peut évoluer très vite, se construire au fur et à mesure, en interaction avec la communauté qui l’utilise. Il permet de changer d’avis, et de mettre en pratique immédiatement ; d’essayer, de recommencer, d’améliorer, petit à petit, itération après itération : d’explorer la jungle du Web 2.0, à la recherche du succès. Aucune startup ne peut aujourd’hui se permettre de faire autrement. C’est d’ailleurs pour cela qu’elles restent perpétuellement en « beta ».
Extrême et Agile ne sont pas des concepts marketing, ce sont des méthodes de travail qui appellent à un renouvellement en profondeur de la façon dont on crée de la valeur dans le monde des technologies. Pour l’instant, cela ne concerne guère que le web, mais cela risque vite de déborder, voir même, quand la génération des « digital natives » sera sortie de l’adolescence, de se généraliser à n’importe quoi.
Wikipédia, grande prétresse du Web 2.0, définit ces deux religions. Les tables de la Loi y on été longuement affinés par la communauté des adeptes. Qu’y lit-on ?
On y définit la méthode Extrem par :
« une tentative de réconcilier l´humain avec la productivité ; un mécanisme pour faciliter le changement social ; une voie d’amélioration ; un style de développement… »
A quoi cela sert ? D’un point de vue pratique, cette méthode permet de réduire considérablement les coûts inhérents à un changement en cours de route. Car oui, inutile de mentir, être dans une startup, c’est comme traverser l’Atlantique au XVIIIe : c’est faisable, mais on n’est pas assuré d’arriver à bon port, et on peut être sûr de croiser une tempête ou deux en cours de route, qui vous obligeront à changer de route, pour les contourner, ou pour aller ailleurs.
D’un point de vue managérial, l’adoption d’une telle philosophie, ça change pas mal les choses, vous vous en doutez.
Agile, lui, se définit – toujours sur Wikipedia – comme une méthode. Fondé en 2001 par un comité composé des meilleurs spécialistes, ses principes se répandent à une vitesse incroyable. Ses « valeurs » sont :
« l’équipe ; l’application [ndlr : le but] ; la collaboration ; l’acceptation du changement ».
Pour qu’une bande de geeks adeptes des religions précitées puisse travailler efficacement, vous vous en doutez, il faut que le « client » travaille différemment. On n’interagit plus avec des gens qui exécutent, mais avec des gens qui créent. C’est différent.
Vous n’attendriez pas du type qui fait le design de votre site qu’il ne soit qu’un spécialiste de Photoshop, de Flash ou d’Illustrator ? Ben là, c’est pareil, le dev est un créa comme les autres.
Si vous n’êtes pas un dev, l’histoire s’arrête là, mais si vous faites du PHP, vous allez pouvoir observer de près à quoi ça ressemble, à la conférence Paris On Rails, le 1er décembre 2008 à la Cité des Science de la Villette.
A lire également :











24 novembre 2008 à 9:10
AJAX n’est pas un langage :)
Il y aura d’autres billets “sponsorisés” comme celui-ci ?
24 novembre 2008 à 9:20
Bonjour Fabrice,
Quelques remarques :
- Ton billet donne l’impression que Ruby On Rails est une sorte de “silver bullet” pour le développement web et les startups. Je crois que la réalité est tout autre. RoR est une superbe technologie, mais comme tout elle à ses qualités et ses limites. Clairement, RoR est adapté à certains contextes mais pas tous. Je pense notamment que si le parallèle RoR/PHP est très bon (ils couvrent tous les deux le même espace), il est beaucoup plus difficile de comparer RoR à Java/.Net qui sont deux plateformes beaucoup plus vastes. Puis il y à la question récurrente de la performance (sur laquelle je ne me prononce pas mais qui reste omniprésente dans les groupes de discussions), avec notamment de nouveaux frameworks pour Ruby qui se placent sur ce créneaux (comme Merb : http://merbivore.com/) ; ou du coût de la scalabilité. RoR est scalable, aucun doute la dessus, mais les coûts d’infrastructure peuvent être plus important que pour d’autres plateformes. Il faut donc balancer cela avec les couts de développement inférieur. Enfin, un point très important : il est aujourd’hui extrêmement difficile de trouver des développeurs Ruby en france.
- le raccourci Ruby On Rails — agile est peut être un peu extrème. RoR n’a rien inventé de ce coté la, il n’a fait que porter sous Ruby des pratiques qui, même si elles sont minoritaires, existent depuis longtemps sous d’autres plateformes. Certes Ruby propose un cadre très intéressant, mais il ne garanti rien. Par exemple, on peut tout à fait développer un site Ruby sans aucun test unitaire.
Pour conclure, je pense qu’il est important de reconnaitre RoR comme une très belle technologie qui simplifie beaucoup d’aspects pour le développement web. Mais comme toute technologie, elle n’est pas parfaite et ne peux pas s’adapter à tout ! Il faut donc en être conscient, rester ouverts aux alternatives, et bien se rendre compte qu’il est tout à fait possible d’être agile et très productif avec d’autres plateformes pour peu qu’on se donne le mal de chercher les outils qui le permettent!
24 novembre 2008 à 9:41
@David: nous ne faisons pas de billets “sponsorisés”, uniquement des billets sur des sujets qui nous intéressent. Mais si un sujet intéressant vient à nous être proposé, c’est une autre histoire.
24 novembre 2008 à 9:51
@david oui, oui, je crois avoir mis des guillemet, non ? Rha, fuck… heuresement que j’ai pas évoqué Java ou de machine virtuelle ;)
Sinon, oui, j’avoue, j’ai touché 1 millions de dollars pour ce billet, et je connais les initiateurs de la communauté Ruby en France (Richard, j’attends la valise avec les billets, comme d’hab, petites coupures, avec des numéros QUI NE SE SUIVENT PAS cette fois ci) ;) Je fréquente également de nombreux Rubymen sur mon lieu de travail, et la pression est énorme… Mettez-vous à ma place, c’est pas facile.
@Julien A mon sens, la silver bullet, c’est plutot l’extrem programming et les methodes agiles, Ruby ne fait que proposer un cadre parfait pour les mettre en application. Là dessus, on est bien d’accord. Je ne prétends pas du tout que Ruby les a inventé, juste qu’il crée un écosystème favorisant la mise en pratique de ces methodes. Le fait qu’il soit essentiellement utilisé chez des startups facilite cela aussi, tant sur le plan du management, que sur sa capacité a être utilisé conjointement avec des méthode “extrem” et “agile”. C’est, ceci dit, ce qui rend cette communauté de dev si intéressante : ils baignent pour la plupart dans ces nouvelles méthodes de travail et de management, et celles-ci sont appelées à un développement fulgurant dans les années et décennies qui viennent.
24 novembre 2008 à 12:10
A noter que Ruby On Rails a inspiré de “nouveaux” frameworks PHP comme Jelix http://cli.gs/jelix par exemple. On ne retrouve pas toute la force du langage Ruby, mais on a tout comme pour Rails une approche MVC, de la pré-génération de code par script, une intégration poussée avec JQuery…
L’avenir de Ruby passera peut être également par des initiatives originales comme celles de SUN avec JRuby http://cli.gs/jruby.
Au delà des technos, il y a des concepts dont on ne peut que se réjouir de les voir intégrés à droite et à gauche. Car sur le terrain, il y a tellement de contraintes différentes qu’on ne peut hélas penser s’arrêter sur une techno sans jauger ses avantages et ses inconvénients en contexte (même pour une startup, la question de la disponibilité et du coût de la main d’oeuvre ne peut pas toujours être écartée).
Sinon, j’aurais bien aimé aller à Paris on Rails, mais ça n’est pas possible professionnellement parlant. Un petit compte rendu est prévu sur ReadWriteWeb FR ???
24 novembre 2008 à 12:58
@Yannick
C’est assez technique comme conf, et j’ai peur de ne pas avoir le niveau pour faire un bon compte rendu. Ceci dit, je suis sur que d’autres s’en chargerons très bien, je les invite à nous signaler leur compte rendu dans les commentaires de ce billet :)
24 novembre 2008 à 15:03
J’adore! Décalé et fauteur (voir fouteur :-) ) de troubles…
C’est bien dans la veine de Ruby et surtout de Rails dont je rappelle que l’inventeur avait quand même osé se pointait à une conf. Rails avec un T-shirt noir marqué “FUCK YOU!” en gros à l’adresse de ceux qui lui reprochaient d’avoir des opinions trop arrêtées sur ce que Rails devait être.
24 novembre 2008 à 15:05
@Fabrice: comme d’habitude ta mallette de billets t’attendra à Paris on Rails, glissée sous ton siège (le n° 42) :-)
@Yannick: les présentations et les enregistrements audio seront mis en ligne peu après la conférence
24 novembre 2008 à 16:10
Des posts type “fan boys” dans ReadWriteWeb… France.
Bien je vais rester sur la version anglaise qui risque pas de se lancer dans ce genre.
“Ruby est né du Web 2.0, et c’est une machine a faire du Web 2.0.”
Ruby est né en 1993. Ruby et ROR sont deux choses différentes.
24 novembre 2008 à 16:14
@francois
Tu crois ? Pas de post de fan boys sur RWW ?
pas sur…
http://www.readwriteweb.com/archives/17_christmas_gift_ideas_for_ge.php
http://www.readwriteweb.com/archives/palantir_facebook_visualization.php
rien que cette semaine ;)
25 novembre 2008 à 14:54
C’est réussi comme billet. Ca capture très bien la mythologie et la hype du coding très particulière et geek qui entoure RoR et les petits branleurs du social media qui l’utilisent. C’est un snapshot sociologique plus qu’un article universitaire sur Ruby, sa vie, son oeuvre #francois #julien :) Du bon RWW!
25 novembre 2008 à 14:55
Par contre j’avoue que le link du dernier fait vraiment publi-rédac de prestigitateur ;)
25 novembre 2008 à 14:55
paragraphe…
25 novembre 2008 à 22:01
@Romain et Fabrice : bon ok mon commentaire était un peu agressif mais si c’est effectivement la passion qui vous anime c’est le principal :)
Bonne continuation.
25 novembre 2008 à 22:06
:)