• 12 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 6/2/21

Comprenez ce que sont des API et un service web

Log in or subscribe for free to enjoy all this course has to offer!

Les services web et les API sont des éléments essentiels aux applications web. N’importe quel site sur lequel vous naviguez est un service web, et il fournit une API pour communiquer avec.

Mais qu’est-ce que c’est exactement ?

Qu'est-ce qu'un service web ?

Un service web est un programme s'exécutant sur un serveur accessible depuis Internet et fournissant un service.

Par exemple, Google est un service web qui vous permet de rechercher des sites web. Une application météo communique avec un service web qui fournit la météo. Un réseau social est un service web qui permet de retrouver ses amis et de communiquer avec.

Le but d’un service web est donc de fournir un service à celui qui le demande. Et pour ce faire, il met à disposition une API

Qu’est-ce qu’une API ?

Une API, ou Application Programming Interface, est une interface de communication. Il en existe différents types, mais celle qui nous intéresse est celle qui permet de communiquer avec les services web.

L’API correspond à l’ensemble des demandes que l’on peut faire à un service web. Ces demandes sont appelées des requêtes.

Par exemple, demander la météo actuelle est une requête. Faire une demande d’ami sur un réseau social est une requête. Ou encore, envoyer un message via une application de messagerie est une requête.

Mais à quoi ressemble une requête ?

C'est une question intéressante, mais aussi complexe. En effet, il a bien fallu se mettre d'accord sur le langage à utiliser pour communiquer via les API. Mais voilà, un service d'envoi de mails ne fait pas du tout le même travail qu'un service nous renvoyant les pages d'un site Internet. Il semble donc évident que la manière de communiquer ne sera pas la même pour ces deux services. Des protocoles de communication ont donc été mis en place afin de standardiser la communication entre services faisant la même chose.

Les requêtes sont des données qui respectent le protocole de communication et qui sont envoyées au serveur.

Nous avons donc un protocole pour l'envoi de mail (SMTP), la réception de mail (IMAP), les requêtes liées à des ressources web (HTTP), aux transferts de fichiers (FTP), etc.

Le protocole qui va nous intéresser est le protocole nous permettant de communiquer avec l’API d’un site Internet : le protocole HTTP. Grâce à lui, nous allons pouvoir récupérer et sauvegarder des données sur un service web, ce qui nous permettra de dynamiser le contenu de nos pages web.

Qu'est-ce que le protocole HTTP ?

HTTP signifie HyperText Transfer Protocol. C'est un protocole qui permet de communiquer avec un site Internet. Il va permettre de charger des pages HTML, des styles CSS, des polices de caractères, des images, etc. Mais ce n'est pas tout, le protocole HTTP  nous permet aussi d'envoyer des formulaires et de récupérer et d'envoyer toutes sortes de données depuis ou vers un serveur implémentant ce protocole grâce à son API !

Nous n'allons pas entrer dans le détail du format des requêtes HTTP, car de nombreuses références le font déjà très bien. Tout ce que vous avez besoin de savoir c’est que plusieurs informations se trouvent dans une requête HTTP :

  • La méthode. Il s’agit de l’action que l’on souhaite faire : récupérer une ressource, la supprimer, etc… Voici les méthodes HTTP les plus courantes :

    • GET : permet de récupérer des ressources, comme par exemple le temps actuel sur un service de météo ;

    • POST : permet de créer ou modifier une ressource, comme la création d'un nouvel utilisateur sur votre application ;

    • PUT : permet de modifier une ressource, comme le nom de l'utilisateur que vous venez de créer avec POST ;

    • DELETE : Permet de supprimer une ressource, comme un commentaire dans un fil de discussion. 

  • L’URL. C’est l’adresse sur le service web que vous souhaitez atteindre. Un peu comme un identifiant unique afin que le web service comprenne ce que vous voulez

  • Les données. Lorsqu’on fait une requête pour enregistrer des données (par exemple un formulaire) il faut pouvoir envoyer ces données au service web.

Une fois votre requête envoyée et traitée par le service web, celui-ci va vous répondre avec, entre autres, les informations suivantes :

  • Les données. Les données que vous avez demandées : une page HTML, etc…

  • Le code HTTP. Il s’agit d’un code numérique qui vous indique comment s’est déroulée la requête. Voici les plus courants :

    • 200 : indique que tout s’est bien passé

    • 400 : indique que votre requête n’est pas conforme à ce qui est attendu

    • 401 : indique que vous devez être authentifié pour faire cette requête

    • 403 : indique que vous êtes bien authentifié mais que vous n’êtes pas autorisé à faire cette requête

    • 404 : indique que la ressource demandée n’existe pas

    • 500 : indique une erreur avec le service web

    • Voici une liste exhaustive des codes HTTPs

En résumé

Dans ce chapitre, vous avez appris :

  • Qu’un service web est une application sur internet qui répond à un besoin : Google qui permet de faire des recherches, Facebook qui permet de garder contact avec ses amis, etc... ;

  • Qu’une API est une interface de communication entre un service web et le navigateur;

  • Qu’un protocole de communication permet de définir comment communiquer avec un service. Comme la définition des normes, que tout le monde peut utiliser.

  • Que le protocole HTTP est le protocole de communication utilisé par les services web.

Avec ce que vous venez d'apprendre, vous êtes maintenant en mesure de communiquer avec un service web. Il ne vous reste plus qu'à savoir comment on fait ça en JavaScript, et c'est justement ce que nous allons voir dans le chapitre suivant !

Example of certificate of achievement
Example of certificate of achievement