Skip to content

Rencontrez FastAPI : Vitesse et Documentation

Découverte de FastAPI : Rapidité et Documentation

Section titled “Découverte de FastAPI : Rapidité et Documentation”

Bienvenue dans la voie rapide ! FastAPI est un framework web moderne et performant pour construire des API avec Python, basé sur les annotations de type standard de Python. Il est conçu pour être facile à utiliser, rapide à coder et prêt pour la production. Deux de ses avantages majeurs sont :

  • Vitesse : C’est l’un des frameworks Python les plus rapides disponibles, au même niveau que Node.js et Go (grâce à Starlette et Pydantic).
  • Expérience développeur : Il réduit drastiquement les bugs et augmente la vitesse de développement en offrant un excellent support d’éditeur (complétion partout).

Avant de commencer, assurez-vous d’avoir Python 3.8 ou une version ultérieure installée. FastAPI s’appuie sur les fonctionnalités modernes de Python, en particulier les annotations de type, pour opérer sa magie.

Pour commencer à construire, nous devons installer FastAPI et un serveur ASGI pour exécuter notre code. Le serveur standard utilisé est Uvicorn. Vous pouvez les installer via pip :

Terminal window
pip install fastapi "uvicorn[standard]"

Écrivons le fichier le plus simple possible pour voir FastAPI en action. Créez un fichier nommé main.py et ajoutez le code suivant :

from fastapi import FastAPI
# Crée une instance FastAPI
app = FastAPI()
# Définit un décorateur d'opération de chemin
@app.get("/")
async def root():
# Retourne une réponse JSON
return {"message": "Hello World"}

Voici ce qui se passe :

  • app = FastAPI() : Crée l’instance principale de l’application.
  • @app.get("/") : Indique à FastAPI que la fonction ci-dessous gère les requêtes GET envoyées au chemin /.
  • async def root() : C’est la fonction qui s’exécute. FastAPI supporte entièrement le code asynchrone (async/await).

Pour exécuter l’application, nous utilisons le serveur Uvicorn que nous avons installé précédemment. Ouvrez votre terminal dans le dossier contenant main.py et exécutez :

Terminal window
uvicorn main:app --reload

Détail de la commande :

  • main : Fait référence au fichier main.py.
  • app : Fait référence à l’objet créé dans main.py avec la ligne app = FastAPI().
  • --reload : Fait redémarrer le serveur automatiquement après les modifications de code (parfait pour le développement).

C’est là que FastAPI brille vraiment. Sans écrire une seule ligne de code supplémentaire, FastAPI a généré pour vous une documentation d’API interactive. Il inspecte votre code et utilise des standards comme OpenAPI et JSON Schema.

Pendant que votre serveur est en cours d’exécution, ouvrez votre navigateur et accédez à http://127.0.0.1:8000/docs. Vous verrez l’interface Swagger UI, un tableau de bord interactif où vous pouvez consulter vos endpoints et même exécuter des requêtes directement depuis le navigateur.

Alternativement, vous pouvez visiter http://127.0.0.1:8000/redoc pour voir l’interface ReDoc, une autre belle façon de visualiser votre documentation d’API.