Une API (pour Application Programming Interface) est une interface Web, qui est connectée à une liste de ressources sur un thème précis.
Grâce à un API, on peut accéder à des milliers de ressources sur Internet de façon super simple et rapide, avec du code ;)
Il existe des API pour TOUT ET N'IMPORTE QUOI !! Une API qui te donne une image de chat au pif ? Une API qui te répond "Oui" ou "Non", et "Peut-être" toutes les 10000 fois ? Une API qui recense tous les Pokémons, leurs évolutions, leurs attaques et leurs stats ? Oui oui, tout ça existe :)
Dans cette partie du site, tu pourras apprendre à te servir de 4 APIs :
Tu te rendras vite compte que toutes les APIs fonctionnent quasiment de la même façon ! Du coup, si tu sais te servir d'une ou deux d'entre elles, tu pourras très facilement te servir de n'importe quelle API existant (et il y en a des milliers, donc tu auras le choix) :)
Sur cette page, tu verras donc les principales informations importantes sur une API, et tu pourras ensuite aller t'entraîner sur une des 4 citées juste au dessus. Enjoy !
Les points d'accès (aussi appelés Endpoints) sont un concept commun à toutes les API du monde. C'est très important !
Comme dit en début de page, une API c'est une interface pour une liste de ressources. Ça peut être une liste très courte (comme sur l'API Yes Or No, on a 3 ressources en tout), ou une liste gigantesque (comme sur l'API OMDb, qui contient des infos sur des dizaines de milliers de films).
Pour simplifier l'accès aux ressources (parce que ça serait quand même long de chercher à la main parmi 500,000,000 d'images de chats), on a inventé les points d'accès. Ce sont des liens de l'API qui contiennent un accès à une liste réduite de ressources, ciblées autour d'un thème ou d'une particularité commune aux ressources de ce point d'accès.
Par exemple, sur SWAPI, l'API Star Wars, les points d'accès correspondent aux différentes ressources listées sur l'API.
Un point d'accès qui liste les films, un autre qui liste les personnages, etc...
Comme une API est une base de données accessible via une interface Web, ces points d'accès sont tout simplement des liens classiques sur lesquels on va faire des requêtes... Qu'on va expliquer juste en dessous ! ;)
Ici, on va expliquer très brièvement ce qu'est une requête.
En gros, c'est le moyen, depuis ton code, de demander à l'API de t'envoyer les ressources d'un point d'accès. On appelle ça une requête :)
Une fois la requête reçue par l'API, cette dernière va regarder ce qu'on a demandé, et nous envoyer une réponse correspondante !
Une fois qu'on a fait une requête, on va recevoir une réponse correspondant à la requête.
Ce qu'il faut savoir, c'est que 99% du temps, les APIs vont formatter leur réponse avec une méthode bien précise : le JSON.
C'est un moyen très efficace pour ranger les données dans des tableaux, tout simplement ! Et les tableaux, on connaît bien normalement ;)
Sur cet exemple, pris sur SWAPI, on voit le format d'une réponse JSON renvoyée par l'API.
Ça fonctionne exactement comme un tableau, sauf que chaque élément a un nom.
Voici un petit exemple de code pour récupérer la case "name" du JSON.
Pour finir, on va rapidement voir quelques petites particularités des requêtes. Chaque API peut demander des paramètres supplémentaires lors d'une requête, ou bien un moyen de s'authentifier, et on va voir tout ça !
Une clé d'authentification (très souvent appelée Token) sert à se connecter à une API quand celle ci requiert un compte pour l'utilisation.
Par exemple, sur l'API de Fortnite, on doit créer un compte sur le site pour obtenir un token, sans lequel on ne peut pas faire de requête sur l'API.
Un token, ça ressemble à peu près à ça :
Une suite de caractères un peu qui correspond à ton compte sur le site de l'API ! C'est un peu comme un mot de passe pour se connecter à l'API ;)
Enfin, parfois, pour préciser une requête, ou pour envoyer son token, il est possible qu'une API nous demande de renseigner des paramètres.
Par exemple, sur l'image ci-contre, on peut voir tous les paramètres qu'on peut choisir de renseigner pour faire notre requête !
C'est la liste des paramètres de l'API OMDb, on est obligé de renseigner l'ID ou le nom du film qu'on veut chercher, puis on a le droit de demander également toutes sortes d'informations !
Par exemple, le paramètre "y" permet de préciser l'année du film qu'on cherche ;)