4.2 · Web API : Flask & FastAPI

Niveau 4 · Spécialisations (Web, Data, IA, Automatisation)

4.2Web API : Flask & FastAPI

Objectif : créer des API REST légères et performantes (FastAPI moderne et asynchrone).
Temps estimé : 15 min

Toutes les applications modernes communiquent via des API : une application mobile, un site en React ou un autre service interrogent un serveur qui renvoie des données en JSON. Flask (minimaliste, pédagogique) et FastAPI (moderne, rapide, asynchrone) sont les outils Python de référence pour créer ces API REST.

Vous découvrez les routes, les méthodes HTTP (GET, POST…) et le format JSON. FastAPI ajoute la validation automatique des données et une documentation interactive générée toute seule — un confort remarquable. C'est la brique qui connecte votre back-end au reste du monde.

Vocabulaire de la section

API REST
Interface qui expose des données/actions via des URL et les méthodes HTTP, en échangeant du JSON.
Flask
Micro-framework web Python, minimaliste et flexible : on ajoute ce dont on a besoin. Excellent pour apprendre.
FastAPI
Framework moderne, très rapide, basé sur les type hints : validation auto des données et doc interactive générée.
Route / endpoint
Association entre une URL (/produits) et la fonction qui répond, décorée par @app.get(...) / @app.route(...).
Méthode HTTP
GET (lire), POST (créer), PUT (modifier), DELETE (supprimer) : les verbes des échanges web.
Vérifiez votre compréhension

Qu'expose une API REST créée avec Flask ou FastAPI ?

Web API : Flask & FastAPI
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos FastAPI / Flask API REST Python (recherche FR)
Cliquer pour voir les résultats à jour ↗

En pratique — Créer une petite API REST

  1. Installez FastAPI et uvicorn (pip install fastapi uvicorn). Créez une route GET « / » qui renvoie {"message": "Bonjour"}.
  2. Lancez le serveur (uvicorn main:app --reload) et ouvrez /docs : admirez la documentation interactive générée automatiquement.
  3. Ajoutez une route GET /produits qui renvoie une liste de produits (des dictionnaires) en JSON.
  4. Créez une route POST qui reçoit un produit (validé par un modèle Pydantic) et l'ajoute : testez directement depuis /docs.
Vous avez créé une API REST qui renvoie et reçoit du JSON, avec une documentation interactive : la porte d'entrée du web moderne.

Points clés à retenir

  • Une API REST expose des données en JSON via des URL et les méthodes HTTP.
  • Flask = minimaliste et pédagogique ; FastAPI = moderne, rapide, asynchrone.
  • Une route associe une URL à une fonction (@app.get(...)).
  • FastAPI valide les données et génère une doc interactive (/docs) automatiquement.

Questions fréquentes

Qu'est-ce que le JSON et pourquoi est-il partout ?

JSON (JavaScript Object Notation) est un format texte structuré en clés/valeurs, léger et lisible, compris par tous les langages. C'est le format standard d'échange des API : Python le manipule comme des dictionnaires et des listes, ce qui le rend très naturel.

Pourquoi FastAPI est-il « asynchrone » et est-ce important ?

L'asynchrone (async/await, voir 5.2) permet de traiter de nombreuses requêtes simultanées sans bloquer, en attendant efficacement les opérations lentes (base de données, réseau). Pour une API qui reçoit beaucoup d'appels, c'est un gain de performance majeur — d'où la popularité de FastAPI.

Autres ressources