🔗web

API REST : comprendre et utiliser les API web

30 mars 2026 5 min de lecture

Qu'est-ce qu'une API REST ? Le pont entre les applications

Imagine que tu veux afficher la météo dans ton application Python. Plutôt que de créer ta propre station météo, tu peux demander les données à un service spécialisé, comme Météo-France. C'est exactement le rôle d'une API (Application Programming Interface) : une interface qui permet à deux logiciels de communiquer entre eux. REST (Representational State Transfer) est un style d'architecture, un ensemble de règles qui rend cette communication sur le web simple, standardisée et efficace. Une API RESTful utilise les principes du web que tu connais déjà (URL, requêtes HTTP) pour échanger des données, le plus souvent au format JSON.

Les principes fondamentaux d'une API RESTful

Pour être qualifiée de "RESTful", une API doit respecter quelques contraintes clés. Ne t'inquiète pas, elles sont logiques !

1. Une architecture client-serveur sans état (stateless)

Chaque requête que ton client (ton script Python) envoie au serveur doit contenir toutes les informations nécessaires pour être comprise. Le serveur ne garde pas en mémoire l'état de la conversation précédente. C'est comme envoyer une lettre : tu dois remettre l'adresse à chaque fois.

2. Une interface uniforme : les verbes HTTP

C'est le cœur de REST. On utilise les méthodes HTTP standard pour effectuer des actions sur des ressources, identifiées par des URL (ou endpoints).

  • GET : Récupérer des données (lire). Ex: GET /api/livres
  • POST : Créer une nouvelle ressource. Ex: POST /api/livres (avec les données du livre)
  • PUT/PATCH : Mettre à jour une ressource existante.
  • DELETE : Supprimer une ressource. Ex: DELETE /api/livres/42

3. Les ressources et leurs représentations (JSON)

Une ressource peut être n'importe quoi : un utilisateur, un article, une ville. L'API ne t'envoie pas l'objet lui-même, mais une représentation, le plus souvent en JSON, un format léger et facile à lire pour les machines et les humains.

Faire ton premier appel API en Python avec requests

Passons à la pratique ! En NSI, on utilise souvent la librairie requests. Commence par l'installer : pip install requests.

Prenons l'exemple de JSONPlaceholder, une API gratuite pour s'entraîner. On va récupérer une liste de "posts" (articles).

Astuce NSI : Toujours consulter la documentation de l'API pour connaître les URL (endpoints) disponibles et les paramètres acceptés.
import requests

# 1. Faire une requête GET
response = requests.get('https://jsonplaceholder.typicode.com/posts')

# 2. Vérifier si la requête a réussi (code 200)
if response.status_code == 200:
    # 3. Convertir la réponse JSON en dictionnaire Python
    posts = response.json()
    
    # 4. Parcourir et afficher les données
    for post in posts[:3]:  # On affiche seulement les 3 premiers
        print(f"Titre: {post['title']}")
        print(f"Corps: {post['body'][:50]}...")  # Aperçu du texte
        print("---")
else:
    print(f"Erreur ! Code : {response.status_code}")

Tu viens d'interagir avec une API REST ! La variable posts est maintenant une liste de dictionnaires Python que tu peux manipuler.

Aller plus loin : paramètres, authentification et projets NSI

Envoyer des paramètres dans une requête

Pour filtrer les résultats, tu peux ajouter des paramètres. Par exemple, pour récupérer seulement les posts de l'utilisateur n°1 :

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)

Comprendre l'authentification (clés API)

Les API publiques comme celle de la NASA ou d'OpenWeather nécessitent une clé API, une sorte de mot de passe que tu dois fournir, souvent dans les en-têtes (headers) de la requête.

headers = {'Authorization': 'Bearer MA_CLE_SECRETE'}
response = requests.get('https://api.monservice.com/data', headers=headers)

Idées de projets pour ton portfolio NSI

  • Météo en Terminal : Utilise l'API OpenWeather pour afficher la météo d'une ville saisie par l'utilisateur.
  • Générateur de citations : Connecte-toi à une API de citations aléatoires et affiche-en une par jour.
  • Tableau de bord de crypto-monnaies : Agrège les prix depuis CoinGecko API pour suivre tes actifs favoris.

Conclusion : les API, une compétence indispensable

Maîtriser les concepts des API REST est une compétence fondamentale, non seulement pour l'épreuve de NSI, mais pour ton avenir en informatique. Cela te permet de t'appuyer sur des services existants pour créer des applications bien plus riches et puissantes sans tout réinventer. Alors, choisis une API publique qui t'intéresse, plonge dans sa documentation et commence à coder !

📚 Pour aller plus loin

Questions fréquentes

Quelle est la différence entre une API et une bibliothèque (library) ?

Une bibliothèque est un code que tu installes et exécutes directement dans ton programme (comme `math` ou `random`). Une API est un service distant auquel tu envoies des requêtes via le réseau pour obtenir des données ou déclencher des actions. L'API s'exécute sur un serveur externe.

Pourquoi mon code Python renvoie une erreur 401 ou 403 ?

Le code 401 "Unauthorized" signifie que tu n'es pas authentifié (tu n'as pas fourni de clé API ou elle est absente). Le code 403 "Forbidden" signifie que tu es authentifié, mais que tu n'as pas les droits pour accéder à cette ressource. Vérifie la documentation de l'API pour savoir comment fournir ta clé correctement (généralement dans les en-têtes).

Le format JSON est-il obligatoire pour les API REST ?

Non, une API REST peut renvoyer d'autres formats (XML, HTML, texte brut...). Cependant, JSON est devenu le standard de facto car il est léger, lisible et s'intègre parfaitement avec JavaScript et Python. C'est aujourd'hui le format le plus répandu et celui que tu rencontreras le plus souvent.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
API RESTweb developpement NSI
Pixel