Introduction
La plateforme data.gouv.fr est le portail officiel français de l'open data. Elle met à disposition des milliers de jeux de données accessibles via des fichiers et des API REST.
Ce tutoriel est conçu pour répondre précisément à l'intention de recherche : tuto utilisation des API data.gouv.
Qu'est-ce que data.gouv.fr ?
- Données ministérielles
- Données des collectivités territoriales
- Données publiques (transport, énergie, santé, économie, etc.)
Les formats disponibles incluent : CSV, JSON, XLSX, GeoJSON, SHP et services API.
Trouver une API sur data.gouv.fr
- Rechercher un jeu de données
- Ouvrir la fiche du dataset
- Consulter l'onglet Ressources
- Identifier une URL JSON ou un endpoint API
API catalogue data.gouv.fr (CKAN)
L'API CKAN permet d'interroger le catalogue des datasets.
Endpoint de base
https://www.data.gouv.fr/api/1/datasets/
Exemple JavaScript (Fetch API)
<script>
fetch('https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=5')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => console.error(error));
</script>
Exemple Python (requests)
import requests
url = 'https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=5'
response = requests.get(url)
data = response.json()
print(data)
Exemple PHP (cURL)
<?php
$url = 'https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=5';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
?>
Exemple en ligne de commande (curl)
curl "https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=5"
Exemple HTML5 + Bootstrap (noir, blanc, rouge #900)
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Demo API data.gouv</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body { background:#000; color:#fff; }
.brand-red { color:#900; }
.card { background:#111; border:1px solid #900; }
</style>
</head>
<body>
<div class="container py-5">
<h1 class="brand-red">API data.gouv.fr</h1>
<button id="loadData" class="btn btn-danger">Charger les datasets</button>
<div id="results" class="row mt-4"></div>
</div>
<script>
document.getElementById('loadData').addEventListener('click', () => {
fetch('https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=6')
.then(r => r.json())
.then(data => {
const results = document.getElementById('results');
results.innerHTML = '';
data.data.forEach(ds => {
results.innerHTML += `
<div class="col-md-4 mb-3">
<div class="card p-3">
<h5 class="brand-red">${ds.title}</h5>
<p>${ds.description || ''}</p>
</div>
</div>
`;
});
});
});
</script>
</body>
</html>
Pagination et filtres
Paramètres courants :
- page
- page_size
- q (recherche)
- organization
https://www.data.gouv.fr/api/1/datasets/?q=transport&page_size=10
Authentification
La majorité des API data.gouv.fr sont publiques et ne nécessitent pas de clé API. Certaines API partenaires peuvent demander un token ou un header Authorization.
Bonnes pratiques développeur
- Mettre en cache les réponses
- Respecter les limites de requêtes
- Gérer les erreurs HTTP
- Valider les formats (JSON, CSV)
- Ne pas surcharger les endpoints
Cas d'usage courants
- Tableaux de bord open data
- Applications métiers
- Analyse statistique
- Visualisation de données
Conclusion
Les API data.gouv.fr sont une ressource stratégique pour exploiter l'open data français. Ce tutoriel fournit une base solide pour intégrer rapidement les données publiques dans vos applications full stack.
FAQ - Tuto utilisation des API data.gouv
Comment utiliser les API data.gouv.fr ?
En identifiant un dataset et en consommant son endpoint JSON via HTTP.
Faut-il une clé API data.gouv ?
Non, la majorité des API sont publiques.
Quels langages sont compatibles ?
Tous : JavaScript, Python, PHP, Java, C#, etc.
Aucun commentaire pour cet article.