Introduction aux APIs

Dans cette page tu trouveras :

C’est quoi une API ?

 

Une API, ou Interface de Programmation d’Application, est un ensemble de définitions et de protocoles qui facilite la création et l’intégration des applications.

Plus simplement, on peut voir ça comme du code déjà créé que l’on va « contacter » via internet et qui nous renverra les informations dont notre programme a besoin : par exemple la météo du jour, la liste des personnages de Star Wars, une image de chien…   ça peut être tout et n’importe quoi !

Exemple

Dans l’exemple ci-contre, on contacte l’API « Yes No » via la requête https://yesno.wtf/api
On voit que l’on obtient une réponse…  tu peux voir comment lire les réponses d’une API dans la section « Lire la réponse de l’API »

Utiliser une API

Les requêtes

Utiliser une API, c’est faire des requêtes vers cette dernière.
Quand on « va » sur une url (en rentrant cette dernière dans la barre d’adresse et en appuyant sur Entrée), on effectue en fait une requête GET ! Une requête GET sert à récupérer des informations.
 
Dans notre cas, les APIs qu’on va utiliser se contentent toutes de requêtes GET, mais sache qu’il existe d’autres types de requêtes ! (POST, UPDATE…)

Et en Python ?

Tu trouveras ci-contre un exemple de requête GET en Python.
  • reponse = requests.get(url) permet de faire la requête et de récupérer son résultat dans une variable que l’on a appelée « reponse »
  • data = reponse.json() permet de récupérer le JSON sur cette réponse. Le JSON, c’est ce qui s’affiche lorsqu’on fait la requête dans notre navigateur !

Lire la réponse de l’API

 

Parcourir le JSON dans son navigateur

Si tu es sur Chrome, le JSON qui s’affiche dans ton navigateur est difficilement lisible…   tu peux sélectionner tout le JSON (Ctrl + A), le copier et le coller par exemple dans JSONBeautifier pour avoir une version plus facilement lisible – après avoir collé ton JSON dans la partie de gauche, il te suffit de cliquer sur « Beautify » et la version lisible s’affichera à droite !

Sur Firefox, pas besoin de tout ça ! Firefox propose de base un affichage lisible des JSON 😉

Une fois que tu es sur une version lisible, tu peux afficher le contenu d’un élément / réduire cet élément en cliquant sur la flèche à gauche. Cela te permet de facilement voir quel champ est compris dans quel autre champ !

Dans l’exemple ci-contre, le champ « names » contient plusieurs entrées, l’entrée 4 contient un champ « language« , qui lui-même contient un champ « name » (dont la valeur est « fr« ) !

Et en Python ?…

Supposons que, dans notre code, on ait récupéré le JSON renvoyé par l’API dans une variable « data« . Si l’on veut ensuite récupérer le contenu du champ « trucmuche » sur ce JSON, on écrira simplement data[« trucmuche »].

On peut enchaîner ces récupérations – par exemple, si j’écris ma_variable = data[« trucmuche »][« bidule »][« machin »], cela revient à dire :

« Récupérer la valeur de ‘machin‘ dans ‘bidule‘ dans ‘trucmuche‘ et stocker cette valeur dans ma_variable »

Tu peux également avoir des tableaux dans ton document JSON. Dans ce cas, tu accèdes à l’élément voulu de manière classique : data[0] pour accéder à l’élément 0 du tableau, par exemple.

À toi de jouer !

Si je vais sur https://restcountries.com/v3.1/name/france, j’obtiens le JSON ci-contre. En supposant que j’ai récupéré le JSON dans une variable que j’ai appelé « data », que dois-je écrire pour récupérer la valeur soulignée sur l’image ?

ma_variable = data[0][« name »][« common »]

Retour en haut