Atelier du SSPHub
#1
Insee
09/04/2025
Une Application programming interface ou « interface de programmation d’application ») est une interface logicielle qui permet de « connecter » un logiciel ou un service à un autre logiciel ou service afin d’échanger des données et des fonctionnalités.
Python
, scikit-learn
, Docker
, etc. sont des APIsGET
, POST
, etc.) (ex : rues contenant “comédie”)JSON
Les requêtes prennent la forme d’URI:
\[ \quad \underbrace{\text{https://api-adresse.data.gouv.fr}}_{\text{API root}}/\underbrace{\text{search}}_{\text{API endpoint}} \]
\[ \quad /?\underbrace{\text{q=88+avenue+verdier}}_{\text{main parameter}}\&\underbrace{\text{postcode=92120}}_{\text{additional parameter}} \]
Auxquelles vont s’ajouter des headers (explication à venir)
GET
: récupérer des données depuis un serveur web (lecture d’une base de données…)POST
: envoyer des données au serveur (formulaires de mise à jour de données, etc.)Python
communique avec internet via le package requests
(requests.get
et requests.post
)Codes à retenir
Ceux à retenir sont : 200 (succès), 400 (requête mal structurée), 401 (authentification nonréussie), 403 (accès interdit), 404 (ressource demandée n’existe pas), 503 (le serveur n’est pas en capacité de répondre)
${URL_ROOT}/docs
curl
(ligne de commande)GET
JSON
-> dict
) est naturellePOST
Envoyer des données utiles à l’API
Plus complexe mais Requests
est flexible
La doctrine générale
getpass
(application interactive uniquement)Les ateliers du SSPHub
Comment connaître les paramètres d’une API ?
Postman