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”)JSONLes 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}/docscurl (ligne de commande)
GETJSON -> dict) est naturellePOSTEnvoyer 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