OpenClassrooms devient une université américaine accréditée.
Découvrez ce que cela change pour vousTable des matiÚres
- Partie 1
Utilisez des API REST pour vos projets de code
- Partie 2
Formulez des requĂȘtes et envoyez des rĂ©ponses avec une API REST
- Partie 3
Concevez des API REST
Initiez-vous au fonctionnement des API
#DĂ©couvrez ce quâest une API
Câest dimanche. Vous vous rĂ©veillez tard, et mĂȘme si vous savez que vous devriez vous lever, vous voulez juste rester enroulĂ© bien au chaud dans votre couette et vous vous dites quâen ce mois de fĂ©vrier, partir profiter de la douceur du Portugal ne serait pas une mauvaise idĂ©e. Alors, vous ouvrez une application de comparateur de vols et voilĂ ! âšVous trouvez plusieurs offres de diffĂ©rentes compagnies aĂ©riennes pour Lisbonne ! Bon, lâavion, ce nâest pas trĂšs Ă©colo et entre nous les horaires ne sont pas top, alors vous tentez le train. Vous ouvrez une application pour rĂ©server un billet de train et pareil ! Vous trouvez plusieurs offres de trains pour Lisbonne en passant par lâEspagne. Et tout ça sans avoir Ă aller chercher lâinformation sur le site de chaque compagnie ferroviaire ou aĂ©rienne. Pas mal, non ?
Vous avez lâhabitude de voir toutes ces donnĂ©es dĂ©filer sans arrĂȘt sous vos yeux comme par magie, que ce soit sur les rĂ©seaux sociaux ou les applications de comparatifs en tout genre. De votre point de vue, câest assez simple : les informations arrivent au fur et Ă mesure sans effort ; sauf quâen coulisse, câest autre chose ! En effet, un gros travail est effectuĂ© pour rendre cela possible et pour que cela fonctionne, il nous faut lâun des outils les plus importants : une API.
API par ci, API par lĂ , OK OK, mais que signifie API, au juste ? đ€
API est une abbrĂ©viation et signifie Application Programming Interface (ou interface de programmation dâapplication, en français). Pour faire simple : câest un moyen de communication entre deux logiciels, que ce soit entre diffĂ©rents composants dâune application ou entre deux applications diffĂ©rentes.
OK OK OK... mais du coup, quel est le lien entre une API et le fait de scroller par exemple Instagram non stop jusque 2 h du matin, ou comparer des vols pour Lisbonne ? đ€
#Découvrez le fonctionnement des API
Eh bien, pour rĂ©pondre Ă cette question, vous devez connaĂźtre un peu plus le fonctionnement dâune API. Mais avant, revoyons ensemble les bases dâune communication serveur et client.
Prenons lâexemple d'Air France, une compagne aĂ©rienne française. Quelque part dans le monde, les serveurs d'Air France ont accĂšs Ă toutes les donnĂ©es que vous voulez voir pour un trajet Paris-Lisbonne : les diffĂ©rents avions, les tarifs, les statuts des vols, etc. Pour que vous puissiez y avoir accĂšs, votre navigateur (que lâon appelle le client) doit recevoir ces informations de quelquâun.
Ce quelquâun, câest le serveur. Lâapplication doit avoir une conversation avec le serveur.

Cela ressemble à ça :
Client : «âSalut serveur, est-ce que je pourrais avoir un avion pour Lisbonne le 10 dĂ©cembre ?» đ€
Serveur : «âVoilĂ , tous les transports disponibles vers Lisbonne le 10 dĂ©cembre!â» đ
Ou alors, si le serveur ne parvient pas à trouver les données, il pourrait répondre comme ceci :
Serveur : «âDĂ©solĂ©, en fait il nây a pas de vols disponibles le 10 dĂ©cembre.â» đ
Câest ce quâon appelle la communication entre client et serveur : le client formule une requĂȘte (ou une demande) pour obtenir une information et le serveur envoie une rĂ©ponse contenant les donnĂ©es demandĂ©es si cela est possible.
Et du coup, lâAPI, elle se place oĂč, dans ce schĂ©ma ? Et le rapport avec Air France ?
En web, un service web et une API sont tous les deux des moyens de communication. Un service web standard facilite seulement la communication entre deux machines via un rĂ©seau. Une API facilite lâinteraction entre deux applications diffĂ©rentes afin quâelles puissent communiquer entre elles : elle sert dâintermĂ©diaire. Le client va demander Ă lâAPI une information, celle-ci va aller chercher cette information dans la base de donnĂ©es puis la renvoyer au client dans un second temps.

Les API permettent la communication entre de nombreux composants diffĂ©rents de votre application, mais aussi entre des composants de votre application et dâautres dĂ©veloppeurs. Elles agissent ainsi comme un intermĂ©diaire qui transmet des messages Ă travers un systĂšme de requĂȘtes et de rĂ©ponses.
Reprenons notre exemple avec Air France. âïž
On crĂ©e une application de comparateur de vols que lâon va lâappeler VolScanner. Celle-ci ne peut pas accĂ©der directement aux informations d'Air France ou de toute autre compagnie aĂ©rienne. En effet, lâapplication nâa pas accĂšs Ă leurs base de donnĂ©es... Mais si Air France a une API Ă qui on peut demander des informations et qui partage certaines donnĂ©es de la base de donnĂ©es avec dâautres applications, alors VolScanner peut demander des informations Ă lâAPI d'Air France. LâAPI lui renvoie alors des donnĂ©es que VolScanner peut partager !
Ainsi, VolScanner peut comparer les prix entre les diffĂ©rentes compagnies qui ont mis en place un vol le 10 dĂ©cembre pour Lisbonne. Ă vous les dĂ©licieuses pasteis de nata ! âš
Les API peuvent communiquer :
dâun logiciel Ă un logiciel ;
dâun client Ă un serveur ;
ou dâun logiciel Ă des dĂ©veloppeurs.
Je suis certaine que vous avez dĂ©jĂ vu un exemple dâutilisation dâune API pour communiquer entre logiciels et dĂ©veloppeurs : sur certains sites, vous pouvez utiliser votre compte Google ou Facebook pour vous identifier sans avoir Ă crĂ©er un identifiant et un mot de passe.
Câest parce que Google et Facebook ont construit des API que dâautres dĂ©veloppeurs peuvent utiliser dans leurs propres sites Internet pour sâoccuper de lâinscription et de la connexion des utilisateurs Ă leur place.

Et du coup, comment câest possible techniquement ? đ€
Les API crĂ©ent des mĂ©thodes standardisĂ©es et rĂ©utilisables qui permettent aux dĂ©veloppeurs dâaccĂ©der Ă des donnĂ©es spĂ©cifiques lors de la construction dâapplications.
Prenons un exemple. Quand vous sortez manger, le menu du restaurant offre une grande quantitĂ© dâoptions dĂ©jĂ prĂ©dĂ©terminĂ©es. Cela vous simplifie la tĂąche car vous savez ce que vous pouvez commander, et donc obtenir plus rapidement votre plat. Cela donne Ă©galement une meilleure comprĂ©hension de ce que vous voulez pour le chef. Au final, vous nâavez quâĂ demander Ă la serveuse (API) un plat du menu quâelle transmettra en cuisine, la cuisine prĂ©pare votre plat, le remet Ă la serveuse qui vous le ramĂšne. đ
#Observez comment utiliser les API en tant que développeur
En tant que dĂ©veloppeur, vous serez certainement amenĂ© Ă utiliser diverses API dans votre vie professionnelle ou pour vos projets personnels. Il existe deux types principaux : les API privĂ©es et les API publiques. Voyons ensemble de quoi il s'agit ! đ”đ»ââïž
#Les API privées
Les API privĂ©es garantissent que les personnes en dehors de votre entreprise ou de votre application nâont pas accĂšs aux donnĂ©es disponibles de votre base de donnĂ©es. Par exemple, si les dĂ©veloppeurs d'OpenClassrooms voulaient construire une application interne pour que les RH puissent gĂ©rer et analyser des informations de recrutement, il y aurait de nombreuses donnĂ©es que les salariĂ©s voudraient voir, crĂ©er, et modifier. Pour que les utilisateurs puissent interagir avec les donnĂ©es, les dĂ©veloppeurs dâOpenClassrooms pourraient crĂ©er une API pour que les RH puissent accĂ©der aux donnĂ©es de recrutement Ă travers leur application, sans pour autant donner ces accĂšs aux utilisateurs de la plateforme comme vous et moi.
Une API peut ĂȘtre utilisĂ©e comme un tampon ou une couche intermĂ©diaire entre la base de donnĂ©es et la personne qui veut accĂ©der ou manipuler les donnĂ©es. Une requĂȘte directe et non contrĂŽlĂ©e sur une base de donnĂ©es pourrait engendrer le chaosâ! đ€Ż
Et si quelquâun supprimait accidentellement un cours ou modifiait quelque chose quâil nâaurait pas dĂ» toucherâ? La base de donnĂ©es est la fondation de toutes les donnĂ©es au sein dâune application, donc il ne faut surtout pas quâelle soit facilement accessible ou manipulable par nâimporte qui. Question de sĂ©curitĂ© ! đ„
Une API permet un niveau de sĂ©curitĂ© supplĂ©mentaire pour mieux gĂ©rer lâaccĂšs et les modifications des donnĂ©es, en attribuant ce quâon appelle des droits aux personnes qui en ont besoin. Ainsi, on sâassure de contrĂŽler les utilisateurs qui auront ou non accĂšs Ă la base de donnĂ©es.
Ainsi, moi seule peux modifier mes informations personnelles sur mon profil OpenClassrooms.
Une API privĂ©e permet uniquement aux utilisateurs autorisĂ©s au sein de votre entreprise ou de votre application d'utiliser lâAPI qui peut accĂ©der Ă la base de donnĂ©es.
#Les API publiques
Contrairement aux API privĂ©es, les API que lâon appelle publiques sont utilisables par dâautres personnes, quâelles soient sur votre application ou non. Elles permettent aux dĂ©veloppeurs de rĂ©colter les donnĂ©es dâune autre application pour amĂ©liorer ou enrichir leurs propres projets sans autorisation stricte. Il existe de nombreuses maniĂšres dâutiliser des donnĂ©es provenant dâAPI tierces (ou externes), mais en voici quelques-unes :
Imaginons que vous vouliez construire un site web qui rĂ©pertorie les conditions mĂ©tĂ©o des stations de ski. PlutĂŽt que de collecter vos propres donnĂ©es mĂ©tĂ©orologiques, vous pouvez utiliser une API de mĂ©tĂ©o et y trouver vos donnĂ©esâ! đ€
Si vous ĂȘtes auteur-compositeur-interprĂšte et que vous voulez crĂ©er un site web pour que vos fans puissent Ă©couter votre musique, au lieu de construire votre propre lecteur de musique en streaming, vous pouvez utiliser lâAPI de Spotify et Ă©couter votre musique directement sur votre site webâ! đ”
Vous voulez crĂ©er une page de fans pour votre sĂ©rie tĂ©lĂ© favorite (Kaamelot, bien sĂ»r), en rĂ©unissant tous les comptes Instagram des diffĂ©rents acteurs sur un seul site web â devinez quoi, il existe une API Instagram pour vous aider Ă le faireâ! đ
Il existe Ă©galement certaines API Ă mi-chemin entre une API publique et privĂ©e. Cela peut se produire quand diffĂ©rentes requĂȘtes de lâAPI sont possibles uniquement en fonction du niveau dâaccĂšs dont vous disposez. đ Nous y reviendrons plus tard lorsque nous traiterons de lâauthentification. đ
Il existe des milliers dâAPI publiques que les dĂ©veloppeurs peuvent utiliser de diffĂ©rentes façons pour amĂ©liorer leurs projets. Vous trouverez ici une liste de ces API disponibles publiquement que vous pouvez utiliserâ!
#En résumé
Les API permettent de communiquer des données.
Elles permettent la communication entre diffĂ©rents composants de votre application et entre votre application et dâautres dĂ©veloppeurs, par lâutilisation de requĂȘtes et de rĂ©ponses.
Elles donnent un moyen dâaccĂšs aux donnĂ©es de façon rĂ©utilisable et standardisĂ©e.
Les développeurs peuvent utiliser des API publiques et privées.
Les API publiques sont utilisables par tous sans restriction.
Les API privées sont utilisables seulement par ceux qui ont un accÚs et y sont autorisés.
Pourquoi utiliser une API REST en particulier et pas une simple API ? REST possĂšde de nombreux avantages. Regardons ensemble dans le chapitre suivant !
- Formations jusquâĂ 100 % financĂ©es
- Date de début flexible
- Projets professionnalisants
- Mentorat individuel