Lucie in the sky with Ruby

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 :

  1. Internet, cause de tous les maux ...

15 commentaires pour cet article

  1. David, biologeek

    AJAX n’est pas un langage :)

    Il y aura d’autres billets “spon­so­ri­sés” comme celui-ci ?

  2. Julien

    Bonjour Fabrice,

    Quelques remarques : 

    - Ton billet donne l’impression que Ruby On Rails est une sorte de “sil­ver bul­let” pour le déve­lop­pe­ment web et les star­tups. Je crois que la réa­lité est tout autre. RoR est une superbe tech­no­lo­gie, mais comme tout elle à ses qua­li­tés et ses limites. Clairement, RoR est adapté à cer­tains contextes mais pas tous. Je pense notam­ment que si le paral­lèle RoR/PHP est très bon (ils couvrent tous les deux le même espace), il est beau­coup plus dif­fi­cile de com­pa­rer RoR à Java/.Net qui sont deux pla­te­formes beau­coup plus vastes. Puis il y à la ques­tion récur­rente de la per­for­mance (sur laquelle je ne me pro­nonce pas mais qui reste omni­pré­sente dans les groupes de dis­cus­sions), avec notam­ment de nou­veaux fra­me­works pour Ruby qui se placent sur ce cré­neaux (comme Merb : http://merbivore.com/) ; ou du coût de la sca­la­bi­lité. RoR est sca­lable, aucun doute la des­sus, mais les coûts d’infrastructure peuvent être plus impor­tant que pour d’autres pla­te­formes. Il faut donc balan­cer cela avec les couts de déve­lop­pe­ment infé­rieur. Enfin, un point très impor­tant : il est aujourd’hui extrê­me­ment dif­fi­cile de trou­ver des déve­lop­peurs Ruby en france.

    - le rac­courci 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 por­ter sous Ruby des pra­tiques qui, même si elles sont mino­ri­taires, existent depuis long­temps sous d’autres pla­te­formes. Certes Ruby pro­pose un cadre très inté­res­sant, mais il ne garanti rien. Par exemple, on peut tout à fait déve­lop­per un site Ruby sans aucun test unitaire.

    Pour conclure, je pense qu’il est impor­tant de recon­naitre RoR comme une très belle tech­no­lo­gie qui sim­pli­fie beau­coup d’aspects pour le déve­lop­pe­ment web. Mais comme toute tech­no­lo­gie, elle n’est pas par­faite et ne peux pas s’adapter à tout ! Il faut donc en être conscient, res­ter ouverts aux alter­na­tives, et bien se rendre compte qu’il est tout à fait pos­sible d’être agile et très pro­duc­tif avec d’autres pla­te­formes pour peu qu’on se donne le mal de cher­cher les outils qui le permettent!

  3. Romain Péchard

    @David: nous ne fai­sons pas de billets “spon­so­ri­sés”, unique­ment des billets sur des sujets qui nous inté­ressent. Mais si un sujet inté­res­sant vient à nous être pro­posé, c’est une autre histoire.

  4. Fabrice Epelboin

    @david oui, oui, je crois avoir mis des guille­met, non ? Rha, fuck… heu­re­se­ment que j’ai pas évoqué Java ou de machine virtuelle ;)

    Sinon, oui, j’avoue, j’ai tou­ché 1 mil­lions de dol­lars pour ce billet, et je connais les ini­tia­teurs de la com­mu­nauté Ruby en France (Richard, j’attends la valise avec les billets, comme d’hab, petites cou­pures, avec des numé­ros QUI NE SE SUIVENT PAS cette fois ci) ;) Je fréquente égale­ment de nom­breux Rubymen sur mon lieu de tra­vail, et la pres­sion est énorme… Mettez-vous à ma place, c’est pas facile.

    @Julien A mon sens, la sil­ver bul­let, c’est plu­tot l’extrem pro­gram­ming et les methodes agiles, Ruby ne fait que pro­po­ser un cadre par­fait pour les mettre en appli­ca­tion. Là des­sus, on est bien d’accord. Je ne pré­tends pas du tout que Ruby les a inventé, juste qu’il crée un écosys­tème favo­ri­sant la mise en pra­tique de ces methodes. Le fait qu’il soit essen­tiel­le­ment uti­lisé chez des star­tups faci­lite cela aussi, tant sur le plan du mana­ge­ment, que sur sa capa­cité a être uti­lisé conjoin­te­ment avec des méthode “extrem” et “agile”. C’est, ceci dit, ce qui rend cette com­mu­nauté de dev si inté­res­sante : ils baignent pour la plu­part dans ces nou­velles méthodes de tra­vail et de mana­ge­ment, et celles-ci sont appe­lées à un déve­lop­pe­ment ful­gu­rant dans les années et décen­nies qui viennent.

  5. Yannick Dupuis

    A noter que Ruby On Rails a ins­piré de “nou­veaux” fra­me­works PHP comme Jelix http://cli.gs/jelix par exemple. On ne retrouve pas toute la force du lan­gage Ruby, mais on a tout comme pour Rails une approche MVC, de la pré-génération de code par script, une inté­gra­tion pous­sée avec JQuery…
    L’avenir de Ruby pas­sera peut être égale­ment par des ini­tia­tives ori­gi­nales comme celles de SUN avec JRuby http://cli.gs/jruby.
    Au delà des tech­nos, 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 ter­rain, il y a tel­le­ment de contraintes dif­fé­rentes qu’on ne peut hélas pen­ser s’arrêter sur une techno sans jau­ger ses avan­tages et ses incon­vé­nients en contexte (même pour une star­tup, la ques­tion de la dis­po­ni­bi­lité et du coût de la main d’oeuvre ne peut pas toujours être écar­tée).
    Sinon, j’aurais bien aimé aller à Paris on Rails, mais ça n’est pas pos­sible pro­fes­sion­nel­le­ment par­lant. Un petit compte rendu est prévu sur ReadWriteWeb FR ???

  6. Fabrice Epelboin

    @Yannick
    C’est assez tech­nique 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 char­ge­rons très bien, je les invite à nous signa­ler leur compte rendu dans les com­men­taires de ce billet :)

  7. Laurent Julliard

    J’adore! Décalé et fau­teur (voir fou­teur :-) ) de troubles…
    C’est bien dans la veine de Ruby et sur­tout de Rails dont je rap­pelle que l’inventeur avait quand même osé se poin­tait à une conf. Rails avec un T-shirt noir marqué “FUCK YOU!” en gros à l’adresse de ceux qui lui repro­chaient d’avoir des opi­nions trop arrê­tées sur ce que Rails devait être.

  8. Richard Piacentini

    @Fabrice: comme d’habitude ta mal­lette de billets t’attendra à Paris on Rails, glis­sée sous ton siège (le n° 42) :-)

    @Yannick: les pré­sen­ta­tions et les enre­gis­tre­ments audio seront mis en ligne peu après la conférence

  9. francois

    Des posts type “fan boys” dans ReadWriteWeb… France.

    Bien je vais res­ter sur la ver­sion anglaise qui risque pas de se lan­cer 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.

  10. Fabrice Epelboin

    @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 ;)

  11. Simon

    C’est réussi comme billet. Ca cap­ture très bien la mytho­lo­gie et la hype du coding très par­ti­cu­lière et geek qui entoure RoR et les petits bran­leurs du social media qui l’utilisent. C’est un snap­shot socio­lo­gique plus qu’un article uni­ver­si­taire sur Ruby, sa vie, son oeuvre #fran­cois #julien :) Du bon RWW!

  12. Simon

    Par contre j’avoue que le link du der­nier fait vrai­ment publi-rédac de prestigitateur ;)

  13. Simon

    para­graphe…

  14. David, biologeek

    @Romain et Fabrice : bon ok mon com­men­taire était un peu agres­sif mais si c’est effec­ti­ve­ment la pas­sion qui vous anime c’est le principal :)

    Bonne conti­nua­tion.

  15. Fabrice Epelboin

    :)

Réagissez !

Ils nous soutiennent

feedback2.0

hébergement infogérance BearstechLa Cantine

 

  • A propos
  • Best of
  • Buzzing
  • Tags

ReadWriteWeb est un blog dédié aux technologies internet qui en couvre l’actualité et se distingue par ses notes d’analyse et de prospective ainsi que par l’accent mis sur les usages et leur impact sur les média, la société et la communication.

ReadWriteWeb est classé parmi les blogs les plus influents de la planète par Technorati et Wikio.

ReadWriteWeb est publié en anglais, en français, en coréen, en portugais et en chinois. Ses articles sont publiés dans la rubrique technologie du New York Times.


eBooks

Lawrence Lessig
Culture Libre



Pierre Bellanger
La Radio IP



Nous y serons