Prise en main
Un tutoriel complet et pas à pas pour démarrer avec FastAPI-fastkit. Ce guide vous mènera de l'installation à l'exécution de votre première API en 15 minutes environ.
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Python 3.12 ou supérieur installé sur votre système
- Une connaissance de base de Python (variables, fonctions, classes)
- L'accès au terminal / à la ligne de commande
- Un éditeur de texte ou un IDE (VS Code, PyCharm, etc.)
Étape 1 : Installation
Commençons par installer FastAPI-fastkit. Nous recommandons d'utiliser un environnement virtuel pour isoler vos projets.
Option A : avec pip (traditionnel)
Option B : avec UV (recommandé — plus rapide)
UV est un gestionnaire de paquets Python rapide. Si vous n'avez pas UV installé :
Option C : avec un environnement virtuel
Vérifier l'installation
Vérifiez que FastAPI-fastkit est correctement installé :
Étape 2 : Créer votre premier projet
Créons maintenant votre premier projet FastAPI avec la commande interactive init :
$ fastkit init
Enter the project name: my-first-api
Enter the author name: Your Name
Enter the author email: your.email@example.com
Enter the project description: My first FastAPI project
Project Information
┌──────────────┬─────────────────────────┐
│ Project Name │ my-first-api │
│ Author │ Your Name │
│ Author Email │ your.email@example.com │
│ Description │ My first FastAPI project│
└──────────────┴─────────────────────────┘
Available Stacks and Dependencies:
MINIMAL Stack
┌──────────────┬───────────────────┐
│ Dependency 1 │ fastapi │
│ Dependency 2 │ uvicorn │
│ Dependency 3 │ pydantic │
│ Dependency 4 │ pydantic-settings │
└──────────────┴───────────────────┘
STANDARD Stack
┌──────────────┬───────────────────┐
│ Dependency 1 │ fastapi │
│ Dependency 2 │ uvicorn │
│ Dependency 3 │ sqlalchemy │
│ Dependency 4 │ alembic │
│ Dependency 5 │ pytest │
│ Dependency 6 │ pydantic │
│ Dependency 7 │ pydantic-settings │
└──────────────┴───────────────────┘
Select stack (minimal, standard, full): minimal
Available Package Managers:
Package Managers
┌────────┬────────────────────────────────────────────┐
│ PIP │ Standard Python package manager │
│ UV │ Fast Python package manager │
│ PDM │ Modern Python dependency management │
│ POETRY │ Python dependency management and packaging │
└────────┴────────────────────────────────────────────┘
Select package manager (pip, uv, pdm, poetry) [uv]: uv
Do you want to proceed with project creation? [y/N]: y
Creating virtual environment...
Installing dependencies...
✨ FastAPI project 'my-first-api' has been created successfully!
Sélection de la pile
Nous avons choisi MINIMAL pour ce tutoriel afin de garder les choses simples. Pour de vrais projets, envisagez STANDARD (inclut la prise en charge des bases de données) ou FULL (inclut les tâches en arrière-plan).
Étape 3 : Aller dans votre projet
Déplacez-vous dans le répertoire du projet nouvellement créé :
$ cd my-first-api
$ ls -la
total 32
drwxr-xr-x 8 user user 256 Dec 7 10:30 .
drwxr-xr-x 3 user user 96 Dec 7 10:30 ..
drwxr-xr-x 5 user user 160 Dec 7 10:30 .venv
-rw-r--r-- 1 user user 156 Dec 7 10:30 README.md
-rw-r--r-- 1 user user 243 Dec 7 10:30 requirements.txt
drwxr-xr-x 3 user user 96 Dec 7 10:30 scripts
-rw-r--r-- 1 user user 1245 Dec 7 10:30 setup.py
drwxr-xr-x 8 user user 256 Dec 7 10:30 src
drwxr-xr-x 3 user user 96 Dec 7 10:30 tests
Étape 4 : Activer l'environnement virtuel
Votre projet est livré avec un environnement virtuel préconfiguré. Activez-le :
Notez que votre invite de terminal affiche désormais (my-first-api), ce qui indique que l'environnement virtuel est actif.
Étape 5 : Démarrer le serveur de développement
Voici la partie excitante — démarrons votre serveur FastAPI :
🎉 Félicitations ! Votre serveur FastAPI tourne désormais.
Étape 6 : Tester votre API
Testons votre API de plusieurs manières :
Méthode 1 : navigateur
Ouvrez votre navigateur web et visitez :
- Point d'extrémité principal de l'API : http://127.0.0.1:8000
Vous devriez voir :
Méthode 2 : documentation interactive de l'API
Visitez la documentation d'API générée automatiquement :
- Swagger UI : http://127.0.0.1:8000/docs
- ReDoc : http://127.0.0.1:8000/redoc
Swagger UI est particulièrement utile — vous pouvez :
- Voir tous les points d'extrémité disponibles
- Tester les points d'extrémité directement dans votre navigateur
- Consulter les schémas de requête / réponse
- Télécharger les spécifications OpenAPI
Méthode 3 : ligne de commande
Ouvrez un nouveau terminal (gardez le serveur en marche) et testez avec curl :
$ curl http://127.0.0.1:8000
{"message":"Hello World"}
$ curl http://127.0.0.1:8000/api/v1/items/
[]
$ curl -X POST "http://127.0.0.1:8000/api/v1/items/" \
-H "Content-Type: application/json" \
-d '{"title": "My First Item", "description": "This is a test item"}'
{
"id": 1,
"title": "My First Item",
"description": "This is a test item"
}
Étape 7 : Comprendre la structure de votre projet
Explorons ce que FastAPI-fastkit a généré pour vous :
$ tree src
src/
├── __init__.py
├── main.py # Point d'entrée de l'application FastAPI
├── core/
│ ├── __init__.py
│ └── config.py # Configuration de l'application
├── api/
│ ├── __init__.py
│ ├── api.py # Routeur API principal
│ └── routes/
│ ├── __init__.py
│ └── items.py # Points d'extrémité de l'API des items
├── crud/
│ ├── __init__.py
│ └── items.py # Logique métier des items
├── schemas/
│ ├── __init__.py
│ └── items.py # Schémas de validation des données
└── mocks/
├── __init__.py
└── mock_items.json # Données d'exemple
Fichiers clés expliqués
src/main.py — le cœur de votre application :
from fastapi import FastAPI
from src.api.api import api_router
from src.core.config import settings
app = FastAPI(
title=settings.PROJECT_NAME,
version=settings.VERSION,
openapi_url=f"{settings.API_V1_STR}/openapi.json"
)
app.include_router(api_router, prefix=settings.API_V1_STR)
@app.get("/")
def read_root():
return {"message": "Hello World"}
src/core/config.py — paramètres de l'application :
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
PROJECT_NAME: str = "my-first-api"
VERSION: str = "1.0.0"
API_V1_STR: str = "/api/v1"
class Config:
env_file = ".env"
settings = Settings()
src/api/routes/items.py — points d'extrémité d'API :
from typing import List
from fastapi import APIRouter, HTTPException
from src.schemas.items import Item, ItemCreate, ItemUpdate
from src.crud.items import items_crud
router = APIRouter()
@router.get("/", response_model=List[Item])
def read_items():
"""Get all items"""
return items_crud.get_all()
@router.post("/", response_model=Item)
def create_item(item: ItemCreate):
"""Create a new item"""
return items_crud.create(item)
Étape 8 : Ajouter votre première route personnalisée
Ajoutons une nouvelle route d'API pour pratiquer ce que vous avez appris :
$ fastkit addroute users my-first-api
Adding New Route
┌──────────────────┬──────────────────────────────────────────┐
│ Project │ my-first-api │
│ Route Name │ users │
│ Target Directory │ ~/my-first-api │
└──────────────────┴──────────────────────────────────────────┘
Do you want to add route 'users' to project 'my-first-api'? [Y/n]: y
✨ Successfully added new route 'users' to project 'my-first-api'
Le serveur va redémarrer automatiquement et vous disposez maintenant de nouveaux points d'extrémité :
GET /api/v1/users/— récupérer tous les utilisateursPOST /api/v1/users/— créer un nouvel utilisateurGET /api/v1/users/{user_id}— récupérer un utilisateur précis- Et plus encore…
Tester votre nouvelle route
$ curl -X POST "http://127.0.0.1:8000/api/v1/users/" \
-H "Content-Type: application/json" \
-d '{"title": "John Doe", "description": "Software Developer"}'
{
"id": 1,
"title": "John Doe",
"description": "Software Developer"
}
$ curl http://127.0.0.1:8000/api/v1/users/
[
{
"id": 1,
"title": "John Doe",
"description": "Software Developer"
}
]
Étape 9 : Explorer et modifier le code
Faisons une petite modification pour comprendre comment fonctionne le code.
Modifier le message d'accueil
Ouvrez src/main.py dans votre éditeur de texte et modifiez le point d'extrémité racine :
Enregistrez le fichier. Grâce au rechargement automatique, votre serveur redémarre automatiquement.
Tester la modification
Ajouter un nouveau point d'extrémité
Ajoutons un point d'extrémité simple à src/main.py :
Tester le nouveau point d'extrémité
Étape 10 : Lancer les tests
Votre projet est livré avec des tests préconfigurés. Lançons-les :
$ python -m pytest
======================== test session starts ========================
collected 5 items
tests/test_items.py::test_create_item PASSED
tests/test_items.py::test_read_items PASSED
tests/test_items.py::test_read_item PASSED
tests/test_items.py::test_update_item PASSED
tests/test_items.py::test_delete_item PASSED
======================== 5 passed in 0.45s ========================
Comprendre les concepts clés
1. Structure de l'application FastAPI
FastAPI-fastkit suit une architecture modulaire :
main.py: point d'entrée de l'application et points d'extrémité globauxapi/: organisation des routes d'APIcore/: configuration et paramètres de l'applicationcrud/: logique métier et opérations sur les donnéesschemas/: validation et sérialisation des donnéestests/: tests automatisés
2. Gestion des dépendances
Votre projet utilise une gestion moderne des dépendances Python :
- Environnement virtuel : environnement Python isolé
- requirements.txt : liste toutes les dépendances
- Installation automatique : dépendances installées lors de la création du projet
3. Serveur de développement
FastAPI-fastkit utilise Uvicorn comme serveur ASGI :
- Rechargement automatique : redémarre automatiquement lors des changements de code
- Démarrage rapide : itération de développement rapide
- Prêt pour la production : même serveur que celui utilisé en production
4. Documentation d'API
FastAPI génère automatiquement :
- Spécification OpenAPI : documentation d'API conforme aux standards de l'industrie
- Swagger UI : interface de test interactive
- ReDoc : vue alternative de la documentation
Étapes suivantes
Félicitations ! Vous avez :
✅ Installé FastAPI-fastkit ✅ Créé votre premier projet ✅ Démarré le serveur de développement ✅ Testé vos points d'extrémité d'API ✅ Ajouté une nouvelle route ✅ Modifié du code existant ✅ Lancé les tests
Continuer à apprendre
- Votre premier projet : construire une API de blog complète avec des fonctionnalités avancées
- Ajouter des routes : apprendre à créer des points d'extrémité d'API complexes
- Utiliser les modèles : explorer les modèles de projet prêts à l'emploi
Expérimenter davantage
Essayez ces défis :
- Ajouter de la validation : modifier les schémas pour ajouter des règles de validation des données
- Réponses personnalisées : changer les formats de réponse dans les routes
- Variables d'environnement : utiliser des fichiers
.envpour la configuration - Ajouter un middleware : implémenter CORS ou l'authentification
- Intégration de base de données : passer à la pile STANDARD pour la prise en charge des bases de données
Problèmes courants et solutions
Le serveur ne démarre pas :
- Vérifiez que vous êtes dans le répertoire du projet
- Assurez-vous que l'environnement virtuel est activé
- Vérifiez l'absence d'erreurs de syntaxe dans votre code
Erreurs d'import :
- Assurez-vous que tous les fichiers
__init__.pyexistent - Vérifiez que vos chemins d'import sont corrects
- Vérifiez que vous utilisez l'environnement virtuel
Port déjà utilisé :
Bonnes pratiques que vous avez apprises
- Environnements virtuels : toujours utiliser des environnements isolés
- Structure de projet : suivre une architecture modulaire organisée
- Rechargement automatique : utiliser le serveur de développement pour une itération rapide
- Documentation d'API : exploiter la génération automatique de documentation
- Tests : exécuter les tests régulièrement pendant le développement
Astuces de développement
- Gardez le serveur de développement en marche pendant que vous codez
- Utilisez la documentation interactive (
/docs) pour tester vos API - Consultez le terminal pour des messages d'erreur utiles
- Committez votre code dans un système de contrôle de version régulièrement
Vous êtes maintenant prêt à construire de superbes API avec FastAPI-fastkit ! 🚀