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