Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

article.md 4.8KB

title: Critique du livre RESTful Web Services slug: critique-du-livre-restful-web-services date: 2007-08-30 11:20:14 type: post vignette: images/logos/restful_web_services.png contextual_title1: ★ Django-ROA, pour une architecture orientée ressources contextual_url1: 20090526-django-roa-pour-une-architecture-orientee-ressources contextual_title2: ★ De l'OpenData au LinkedData : exemple de nosdonnees.fr contextual_url2: 20101130-de-lopendata-au-linkeddata-exemple-de-nosdonneesfr contextual_title3: ★ Le Web Sémantique ou l'importance des données liées contextual_url3: 20081117-le-web-semantique-ou-limportance-des-donnees-liees

Il y a désormais deux livres qui ont vraiment influé sur ma façon de concevoir une application. Le premier est Getting Real dont je n'ai jamais fait la critique mais qui est vraiment à lire et à relire (et à offrir à vos collègues de travail s'ils ont encore suffisamment de curiosité pour évoluer). Le second est RESTful Web Services dont j'ai déjà parlé dans mon billet sur l'architecture orientée ressource et que j'ai maintenant terminé.

Contrairement à mes autres critiques de livres, celle-ci va être très courte. C'est dans le cas présent un bon signe, ce livre est tout simplement LA référence si vous voulez comprendre et implémenter REST. Et la bonne nouvelle c'est qu'il sort bientôt en français (merci Sebmox) donc vous pourrez vraiment tout comprendre, veinards ;-).

Bon quelques critiques négatives pour faire sérieux quand même :

  • Pour un livre dont le mantra est « Web Services for the Real World », il est dommage d'avoir recours à HTML5 dans les exemples pour palier aux insuffisances des navigateurs actuels (pour les PUT et DELETE) qui n'est pas prêt d'être utilisable... J'aurais préféré une bonne pratique fixée une bonne fois pour toute, heureusement que les exemples de la fin compensent cette faiblesse.
  • Il y a parfois des redites (ou alors je l'ai lu trop vite !) mais elles sont peut-être utiles pour quelqu'un qui découvre véritablement REST. La partie pour convaincre est néanmoins très intéressante.

Voila, ce sont les seuls bémols que j'ai pu trouver à cet ouvrage qui est la référence à avoir dans sa bibliothèque si vous souhaitez développer des applications web au cours des 5 prochaines années. Sympa comme investissement non ? :-)

La cerise sur le gâteau, c'est si vous êtes développeur Rails ou Django car des exemples concrets vous permettent d'utiliser l'architecture orientée ressource avec votre framework de prédilection.

Pour terminer et en guise de pense-bête, voici la liste des étapes à retenir pour passer des besoins à leur implémentation :

  • Évaluer les données
  • Découper les données en ressources

Pour chaque type de ressource :

  • Nommer la ressource avec une URI
  • Déterminer les verbes utilisables de l'interface uniforme
  • Définir les représentations acceptées de la part du client
  • Définir les représentation servies au client
  • Intégrer cette ressource au ressources existantes, en utilisant les liens et les formulaires
  • Traiter le cheminement usuel : qu'est ce qui est supposé se produire ?
  • Traiter les erreurs : que faire lorsque ça ne va pas ?

Ces étapes ont intégré mes étapes de conception d'une application web et pour l'instant ça marche plutôt bien. Selon l'application, il faut bien sûr ajouter la notion de permissions utilisateur, je l'introduis généralement au moment de la détermination des verbes de l'interface uniforme.

Finalement pour un billet qui devait faire 3 lignes, je me suis laissé emporté par mon engouement et je finirais donc très sobrement : bonne lecture !

Vous pouvez consulter l'ensemble de mes critiques de livres.