Bravo Jean-Baptiste, c'est le genre de clarification dont il y a grand besoin en ce moment où beaucoup de gens (même en dehors de Rails) tatonnent autour de REST.
Le problème de Restful c'est sa nature lumineusement simple, mais dont la mise en pratique découvre beaucoup de non-dit. CRUD = REST est une simplification utile dans la démarche de compréhension mais on n'arrive a rient avant de la dépasser. Il peut être utile de prendre de la hauteur par rapport à notre petit monde de codeurs et d'assayer d'envisager ce pattern sous d'autre éclairages : Ceux qui, lorsqu'ils ne codent pas, font de la musique ou bien écrivent des vers (ou peignent ou cuisinent ;-) savent qu'on fait de belles choses lorsqu'on a assimilé des règles rigides et qu'on a découvert comment tricher utilement. L'avantage de la règle d'apparence naïve est qu'elle permet facilement de ne pas trop s'égarer et d'éviter la tentation de réinventer trop de roues. Mais comme elle est toute simple, ses limites sont également faciles à percevoir (CRUD et après je fais quoi ? Mais rien. Rien du tout !). Ainsi on se rend assez vite compte lorsqu'il faut vraiment s'aventurer en dehors du cadre. La solution n'est pas subtilement cachée dans une API absconce, il faut aller la trouver, c'est aussi simple que ça. Ca donne quoi alors en REST ? Mon expérience,c'est qu'on s'accroche d'abord le plus possible à la logique CRUD, avec la plupart du temps des ressources imbriquées sur DEUX niveaux seulement. Ca permet déjà pas mal de choses pour tout ce qui est de nature hiérachique. Et quand ça coince, on commence à abatardir le modèle en s'éloignant du REST pur pour flirter un peu avec un style RPC (i.e. d'autres méthodes que les 7 méthodes sacrées ;-) Et, comme le souligne Jean-Baptiste, l'API REST de notre appli n'a pas à se calquer servilement sur les modèles Rails (SGDB). Une relation entre deux ressources peut très bien être de nature belongs_to/has_many vue de l'exterieur et n'avoir aucun rapport avec ce qui se passe, dans l'appli, au niveau des modèles. L'énoooorme avantage de coller, tant que faire se peut, au modèle idéal c'est que, a mesure que ça devient une seconde nature, tous les autres aspects de l'appli sont naturellement conçus en pensant Restful et d'un coup tout s'enclique. Par Exemple, j'avais besoin d'une mécanique de Breadcrumbs souple et robuste pour la navigabilité de mon site qui présente beaucoup de cheminements possibles. Et bien, ça s'emboite à merveille avec Restful ! (publication du code à la rentrée). Dernière pensé donc, avant de coucher le pingouin jusqu'à l'année prochaise : REST = CRUD est la règle, il faut apprendre à ne PAS la respecter ;-) So you want to write a fu-u-gue ? Bonne fêtes à ceux qui s'attardent encore ici :-) Philippe. -- Web development is coming of age with Ruby on Rails blog.lachaise.org --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---
