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
Et 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Ā Ā»
Ć 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 »]
