REST REST

REST est une manière de concevoir les API web où chaque élément reçoit sa propre adresse, sur laquelle on agit avec les mêmes quelques actions standard.

Également appelé API REST API RESTful service web REST

Définition

REST est un style de construction d'API, et une API est tout simplement la façon dont un programme demande une information à un autre. La règle de REST tient en une seule ligne. Chaque élément que le système garde reçoit sa propre adresse web, et on agit sur cette adresse avec les mêmes quelques actions standard que le web utilise déjà.

Imaginez la liste des patients d'un cabinet, où une adresse désigne tous les patients. La même adresse avec un numéro au bout désigne un patient précis, et c'est toute l'idée. Pour lire ce patient, le programme envoie une demande de lecture, et pour en ajouter un, une demande de création. Pour remplacer la fiche, il envoie une demande de remplacement, et pour la supprimer, une demande de suppression. Ces quatre verbes n'ont pas été inventés par le logiciel du cabinet, car ce sont les instructions ordinaires que tout navigateur envoie déjà.

Le gain, c'est que tout devient devinable. Un développeur qui a utilisé une API REST comprend en général la suivante sans manuel, et cela vous fait gagner de l'argent. Le raccordement d'un nouveau fournisseur prend moins de temps, et la personne qui reprendra votre système dans trois ans n'aura pas à apprendre un langage privé inventé par quelqu'un. C'est pour cette seule raison que la plupart des applications web que Linkysoft construit parlent REST.

REST a un point faible que l'on découvre souvent tard, car chaque adresse ne renvoie qu'un seul type de chose. Un écran qui montre un patient, ses dix dernières visites et ses factures impayées peut donc exiger trois ou quatre requêtes distinctes. Sur la connexion du bureau, personne ne le remarque, mais sur un téléphone avec une seule barre, c'est la différence entre un écran qui s'ouvre et un écran qui abandonne. Voilà pourquoi, quand nous construisons une application mobile, nous ajoutons une adresse supplémentaire qui renvoie tout l'écran en une seule réponse. Les adresses simples restent en place pour tout le reste.

Un dernier point avant de commander quoi que ce soit, car REST ne dit rien sur qui a le droit de demander. Chaque adresse est une porte, donc chaque porte doit vérifier elle-même l'identité et les droits de celui qui frappe. Oublier ce contrôle sur une seule adresse est l'une des causes les plus fréquentes de fuite de données. C'est pourquoi une revue de sécurité Linkysoft lit la liste des adresses ligne par ligne. Donc si vous payez pour une API, demandez cette liste et demandez qui l'a testée.

Questions sur REST

Que veut dire REST ?
Representational State Transfer. Le nom complet n'aide personne. Dans la pratique, cela veut dire que chaque élément a sa propre adresse web et qu'on agit dessus avec des actions standard.
REST et API, est-ce la même chose ?
Non. REST est un style de construction d'API, de loin le plus répandu. Il en existe d'autres, comme GraphQL et SOAP, et un même système peut en proposer plusieurs à la fois.
Pourquoi les développeurs préfèrent-ils REST ?
Parce qu'il est prévisible. Celui qui a utilisé une API REST devine en général la suivante, ce qui réduit le temps et le coût de chaque nouveau raccordement que vous payez.
Une API REST est-elle sûre par défaut ?
Non. REST ne dit rien des permissions. Chaque adresse doit vérifier elle-même qui demande et ce qu'il peut voir, et chacune doit être testée séparément.
Une API REST peut-elle être lente sur mobile ?
Oui. Un écran qui a besoin de quatre adresses fait quatre allers-retours. Avec un signal faible, cela s'additionne, donc les écrans chargés reçoivent souvent une adresse combinée à eux.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.