The lie of the API

Quelques réponses sur un billet qui a beau­coup circulé : The lie of the API.

Ça flatte beau­coup la mouvance HATEOAS mais je n’ac­croche pas. Même avec des clients très smart, impos­sible de faire un même site pour les visites « navi­ga­teur » et les accès « API ».

Le logi­ciel client de l’API ne sera jamais assez intel­li­gent pour comprendre autant le contexte que l’hu­main derrière son navi­ga­teur, et jamais assez souple pour gérer des chan­ge­ments non prévus.

Donc partons de notre biblio­thèque qui expose des collec­tions avec des conte­nus, chacun reliés à des auteurs.

Et si demain je change mes repré­sen­ta­tions pour ne plus mettre les bio des auteurs dans la fiche du livre direc­te­ment ? Certes tech­nique­ment il est possible de faire un robot qui sache récu­pé­rer cette bio sur la fiche de l’au­teur, mais quelle est la proba­bi­lité que les robots actuels gèrent le chan­ge­ment ?

Et si demain le site web est changé pour que le point d’en­trée premier soit l’au­teur ? Le logi­ciel saura-t-il recher­cher un livre dont il ne connait pas l’adresse ?

Et si demain je change le système de clas­si­fi­ca­tion des livres pour passer de BISAC à la CLIL française ? Quelle proba­bi­lité que le robot et l’ap­pli­ca­tif derrière gère ça de façon trans­pa­rente ?

La partie desti­née au robot (qu’on nomme géné­ra­le­ment « API ») n’a simple­ment pas les mêmes besoins que la partie desti­née aux humains (qu’on nomme souvent « web »). On peut faire conci­lier les deux au début, mais ça va casser au fur et à mesure des évolu­tions de la partie desti­née aux humains.

Tout ça pour quoi ? La satis­fac­tion intel­lec­tuelle du déve­lop­peur qui se dit qu’il corres­pond au schéma idéal du web. La valeur ajou­tée ne me semble pas justi­fier le risque.

C’est d’au­tant plus vrai qu’en réalité les clients qui codent des robots hyper­me­dia corrects il n’y en a pas tant que ça. Rapi­de­ment des tiers vont coder des robots en faisant de l’in­gé­nie­rie inverse sur les adresses, les iden­ti­fiants, la struc­ture, les données. Ça sera peut être de leur faute, mais ça va casser si vous faites des chan­ge­ments en vous repo­sant unique­ment sur le côté hyper­me­dia.

D’où la ques­tion : Souhai­tez-vous que ça fonc­tionne ou avoir raison ?


Publié

dans

par

Étiquettes :

Commentaires

2 réponses à “The lie of the API”

  1. Avatar de karl

    troll bait. :)

    Mais il n’y a pas de réponses à ton billet car il démarre sur une fausse caractérisation.

    « Le logiciel client de l’API ne sera jamais assez intelligent pour comprendre autant le contexte que l’humain derrière son navigateur, et jamais assez souple pour gérer des changements non prévus. »

    Je reformule pour montrer.

    « Le tracteur ne sera jamais assez intelligent pour comprendre autant le contexte que le conducteur derrière son véhicule, et jamais assez souple souple pour gérer la glace imprévue sur la route. »

    Ce qui est un beau cheval blanc d’Henri IV. ;) Ce n’est pas ce qui est proposé dans une API hypermedia quelconque que ce soit d’ailleurs sous forme JSON ou sous forme HTML. :) Mais j’ai déjà écrit un billet sur le sujet avec un élément important dans le billet sur la notion de besoin de marché (aka interopérabilité) entre les APIs.

    :)

    1. Avatar de Éric
      Éric

      Tu m’embêtes parce que tu ne réponds pas aux cas concrets donnés plus bas. Là je ne peux rien faire avec ton commentaire, et je ne comprends rien à ta reformulation. Le pire c’est que tu dis que tu as un billet qui peut aider à réfléchir mais tu n’en donnes pas l’URL et ton blog refuse les moteurs de recherche. Bref, tu veux dire quoi ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *