2. Pourquoi avoir ajouté « REST » ?

Précédemment, nous avons définit le terme « API ». Le problème, c’est que cette définition est encore trop vague.

Même si nous savons qu’une API est un intermédiaire permettant à deux parties d’une application de communiquer, vous vous doutez bien qu’il existe une infinité de façon pour deux logiciel d’échanger des informations. Parmi toutes ces possibilités, il y a en pourtant une qui ressort par rapport aux autres : ce sont les API REST.

En fait, les API REST s’adaptent parfaitement aux besoins des applications web modernes, et peuvent également être utilisé par des applications mobiles. Et comme le développement web a la cote depuis un certains temps, ce sont les API de type REST qui ressortent le plus.

C’est donc elles que nous allons étudier dans ce cours.

Heu… attend tu vas un peu vite là. Pourquoi est-ce que les API REST sont plus adaptés pour le web que d’autres API ? 🤔

Très bonne question, ce point mérite bien quelques explications supplémentaires.

En fait, les API REST sont basées sur le protocole HTTP (qui signifie au passage « Hypertext Transfer Protocol« ). Or, comme vous le savez sûrement, le protocole HTTP est au cœur du web !

Lorsque votre serveur et votre navigateur vont communiquer, ils le feront via le protocole HTTP. Pour faire simple :

  • Une API définit la façon de communiquer : On parle avec les mains ? Ou avec des mots ?
  • Le protocole HTTP est le langage utilisé : Ok, on va parler avec des mots… mais en Italien !

Une fois que vous avez réuni ces deux éléments, à savoir API et HTTP, vous savez exactement comment communiquer et échanger des informations. On obtient une API REST :

Une API REST est un type d’API basé sur le protocole HTTP.

Alors bien sûr, ces explications sont volontairement simplifiées, mais l’essentiel est là.

De plus, en choisissant le protocole HTTP, vous vous basez sur le style de communication du web !

Je ne vous présente même pas les autres types d’API, car les API REST sont le standard actuellement pour construire vos applications web et mobiles. Il n’y a aucune raison de ne pas commencer par là. Aussi, nous avons déjà pas mal de nouveaux concepts qui nous attendent, il serait malvenus d’ajouter des sources de confusion supplémentaires.

Même si cela n’est pas forcément utile, je vous donne quand même le terme exact qui se cache derrière REST : « REpresentational State Transfer« . On ne sait jamais, ça vous servira peut-être un jour.