Tous les guides
IntermédiaireÀ votre rythmeGuide gratuitSection 32/95

APIs de données — Open Data et Kaggle

Pratiquez les fondations du développement : programmation, web, API, données et usages de l’IA. Des sections et exercices pour construire vos premiers projets.

💡

Contenu gratuit, accessible sans compte. Les outils et modèles évoluent : consultez le dossier actuel pour vérifier leurs versions. Modèles et sources

Section 11.2.12 : APIs de données — Open Data et Kaggle

🎯 Objectif pédagogique

Accéder à des sources de données publiques (APIs Open Data, Kaggle, data.gouv.fr) et les charger en Python. Vous serez capable de trouver, télécharger et exploiter des données réelles pour vos analyses — pas seulement des données fictives.


Le trésor des données ouvertes

Marc a utilisé des données fictives jusqu'ici. Mais la vraie data science travaille avec des données réelles. L'Open Data est un mouvement mondial : gouvernements, entreprises et organisations publient gratuitement des données.

Sources de données essentielles

SourceTypeURLSpécialité
data.gouv.frGouvernement FRdata.gouv.frDonnées publiques françaises
KaggleCommunautékaggle.com/datasetsCompétitions, ML datasets
INSEEStatistiquesinsee.fr/apiDémographie, économie
World BankInternationaldata.worldbank.orgÉconomie mondiale
OpenWeatherMapAPIopenweathermap.orgMétéo
GitHubListesawesome-public-datasetsAgrégateur

Charger des données depuis une URL

import pandas as pd

# CSV directement depuis une URL
url = "https://raw.githubusercontent.com/datasets/covid-19/main/data/countries-aggregated.csv"
df = pd.read_csv(url)
print(df.head())
print(f"Shape: \{df.shape\}")  # (ex: 87000, 5)

# Filtrer sur la France
france = df[df['Country'] == 'France']
print(france.tail())

API REST avec requests + pandas

import requests
import pandas as pd

# Exemple : API data.gouv.fr — rechercher des jeux de données sur l'emploi
response = requests.get(
    "https://www.data.gouv.fr/api/1/datasets/",
    params=\{"q": "emploi", "page_size": 5\}
)
data = response.json()

datasets = []
for d in data['data']:
    datasets.append(\{
        'title': d['title'],
        'organization': d.get('organization', \{\}).get('name', 'N/A'),
        'frequency': d.get('frequency', 'N/A'),
        'last_update': d.get('last_update', 'N/A')
    \})

df_datasets = pd.DataFrame(datasets)
print(df_datasets)

Kaggle — Télécharger des datasets

# Installer l'API Kaggle
pip install kaggle

# Configurer (créer un token sur kaggle.com → Account → API → New Token)
# Placer kaggle.json dans ~/.kaggle/
# Télécharger un dataset
import subprocess
subprocess.run(["kaggle", "datasets", "download", "-d", 
                "promptcloud/glassdoor-job-postings", "--unzip"])

# Charger en pandas
df = pd.read_csv("glassdoor_jobs.csv")
print(df.columns.tolist())
print(df.shape)

Formats de données courants

# CSV
df = pd.read_csv("data.csv")
df = pd.read_csv("data.csv", sep=";", encoding="utf-8")  # CSV français

# JSON
df = pd.read_json("data.json")
df = pd.read_json("https://api.example.com/data")

# Excel
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")

# Plusieurs fichiers à la fois
import glob
files = glob.glob("data/*.csv")
df = pd.concat([pd.read_csv(f) for f in files], ignore_index=True)

Exercice complet : analyse de données réelles

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# Charger un dataset réel (Stack Overflow Survey résumé)
url = "https://raw.githubusercontent.com/datasets/world-cities/master/data/world-cities.csv"
cities = pd.read_csv(url)

print(cities.head())
print(f"\n\{cities.shape[0]\} villes dans le monde")

# Top 10 pays par nombre de villes
top_countries = cities['country'].value_counts().head(10)

plt.figure(figsize=(10, 6))
sns.barplot(x=top_countries.values, y=top_countries.index, palette='viridis')
plt.title("Top 10 pays par nombre de villes")
plt.xlabel("Nombre de villes")
plt.tight_layout()
plt.show()

RGPD et données personnelles

Les données ouvertes sont anonymisées. Mais si vous travaillez avec des données contenant des informations personnelles (noms, emails), vous devez respecter le RGPD. Marc, en bon ex-financier, le sait : les amendes RGPD peuvent atteindre 4% du CA mondial.

🏋️ Exercice pratique (20 minutes)

  1. →Allez sur data.gouv.fr, cherchez "offres emploi"
  2. →Téléchargez un CSV d'offres d'emploi
  3. →Chargez-le avec pandas
  4. →Explorez : shape, colonnes, types, premières lignes
  5. →Créez un graphique montrant les métiers les plus demandés
Vérification rapide

Quel est l'avantage principal de l'Open Data pour un data scientist débutant ?

Vérification rapide

Comment charger un fichier CSV depuis une URL directement dans pandas ?

Votre progression

Cette progression est déclarative et conservée dans votre navigateur. L’attestation finale ne constitue pas un diplôme ni une évaluation indépendante.

Voir ma progression et mon attestation

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Un cas pratique IA dans votre boîte mail

Méthodes, ressources et nouveaux exercices. Gratuit, avec désinscription à tout moment.