💻 Développement

fastapi-guide

Développement d'APIs performantes avec FastAPI, Pydantic, async/await, OpenAPI et système de dépendances.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- fastapi-guide --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } fastapi-guide -Launch"

🚀 Déjà installé ?

claude "/fastapi-guide"

Ou tapez /fastapi-guide dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

FastAPIPydanticAPI Pythonasync Python APIuvicorn

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/fastapi-guide ~/.claude/skills/

Source : dev-skills/fastapi-guide

📖 Manuel

Guide FastAPI

Workflow

  1. Analyser le besoin — Identifier le type d'API (REST, WebSocket, microservice) et définir l'architecture : structure modulaire avec routers, couche de services, repositories pour l'accès aux données, et stratégie d'authentification.
  1. Structurer le projet — Organiser en modules avec app/ contenant main.py, routers/ pour les endpoints groupés par domaine, schemas/ pour les modèles Pydantic, models/ pour les modèles ORM, services/ pour la logique métier, et dependencies/ pour les injections.
  1. Définir les schémas Pydantic — Créer les modèles de validation avec Pydantic v2 (BaseModel, Field, validator), séparer les schémas en Create, Update, Response et InDB. Utiliser les types stricts, les exemples OpenAPI, et les validateurs custom.
  1. Implémenter les routes — Développer les endpoints avec les décorateurs @router.get/post/put/delete, typer les paramètres de path, query et body, configurer les status codes, les response models, et les tags pour la documentation OpenAPI automatique.
  1. Configurer le système de dépendances — Utiliser Depends() pour l'injection de dépendances : connexion base de données, session utilisateur, permissions, pagination. Créer des dépendances chaînées et des dépendances avec yield pour la gestion des ressources.
  1. Implémenter l'async et les performances — Utiliser async def pour les opérations I/O (base de données, HTTP externe), configurer SQLAlchemy async avec AsyncSession, implémenter le background tasks avec BackgroundTasks, et gérer le connection pooling.
  1. Sécuriser l'API — Implémenter OAuth2 avec OAuth2PasswordBearer, JWT pour l'authentification, les scopes pour les permissions granulaires, le rate limiting avec slowapi, et la validation CORS. Documenter la sécurité dans OpenAPI.
  1. Tester et déployer — Écrire des tests avec pytest et httpx.AsyncClient, utiliser les fixtures pour la base de données de test, configurer le déploiement avec Uvicorn + Gunicorn, Docker multi-stage, et les health checks.

Règles