Notes et transcriptions du cours Débutez avec les API REST proposé par esri France disponible sur la plateforme Openclassrooms.
Si on souhaite développer une application permettant de louer simplement un vélo, ou bien de déposer un avis sur un restaurant, pour qu'elle soit vraiment utile, on aura besoin d'un service de géolocalisation. Vous avez donc deux options, vous pouvez :
API est l’abréviation de Application Programming Interface. C'est une interface de programmation, c'est-à-dire un ensemble de classes, de fonctions et de méthodes qui servent de façade à un logiciel. D'autres logiciels pourront donc accéder aux services de ce logiciel grâce à cette interface.
L’API permet de faciliter la communication entre 2 services, comme par exemple votre application et un service de géolocalisation. L’API permet à ces 2 entités d’échanger des données sans en connaître les détails de mise en œuvre.
L’API permet donc un immense gain de temps pour les développeurs et un gain d’argent pour les entreprises. L’API permet l’ouverture d’un produit au monde extérieur !
La majorité des logiciels utilisent les API : Facebook, Twitter, Snapchat, Shazam, Netflix, ArcGIS sont des logiciels qui mettent à disposition des API et qui se basent sur les API d'autres services…
Pour fonctionner, une API a besoin d’un serveur et d’un client :
C'est l'utilisateur de l'API. On parle plus couramment d'architecture client-serveur.
Le client initie l’échange avec le serveur. Il peut ainsi demander l’exécution d’un service. Par exemple, je veux récupérer des informations à partir de la saisie d’un mot dans un moteur de recherche. Le client envoie donc des requêtes au serveur et attend une réponse en retour.
Le serveur détient les données traite les requêtes du client pour fournir le service. En général la finalisation de la mise en forme sera réalisée par le client.
Le serveur est à l’écoute des requêtes du client. Le serveur peut répondre à plusieurs clients en même temps.
En résumé, le client envoie une requête au serveur qui renvoie une réponse au client en lien avec la requête !
Généralement, le client et le serveur sont sur 2 machines différentes, mais il est possible que les 2 soient sur la même machine.
Le client communique avec le serveur via un protocole appelé protocole client-serveur. Un protocole est un ensemble de règles de communication entre des objets connectés. Par exemple, les protocoles Bluetooth, POP (messagerie mail), HTTP (web)…
En résumé, un fournisseur de service (serveur) met à disposition des développeurs une interface codifiée, qui leur permet d’obtenir des informations à partir de requêtes.
Dès lors que vous souhaitez exécuter ou utiliser un service web, il est conseillé d’utiliser une API. Par exemple, si vous développez une application qui a pour but de connaître l’état du trafic routier, il est conseillé d’utiliser l’API de Waze pour éviter de tout redévelopper par vous-même. D'autres entreprises se sont cassé la tête à construire de superbes services accessibles via leur API, utilisez-les !
Pour la grande majorité des API disponibles sur le net, il vous sera demandé de vous inscrire au préalable afin d’obtenir une clé ou token permettant d’accéder aux données, aussi appelés ressources. Cette clé peut être un identifiant/mot de passe, une suite de caractères ou une suite de nombres.
Pour récapituler, une API est une interface d'un logiciel qui permet d'accéder aux données d'autres services. Pour utiliser une API, le client (votre application, par exemple) doit envoyer une requête au serveur (le fournisseur du service, celui qui a construit l'API). Le serveur répondra donc avec les données demandées, si elles sont accessibles et si le client a bien le droit d'y accéder. La communication entre les deux se fait avec un protocole, comme par exemple HTTP.
Maintenant que vous savez à quoi servent les API et comment elles fonctionnent dans l'ensemble, vous allez découvrir dans le prochain chapitre le type d'API le plus utilisée sur le web, l'API REST !