Journal d’itération
Repères utiles
2026-04-19 — Initialisation du wiki FastAPI
Structure créée
- création du dossier
FastAPI LLM Wiki - création des sous-dossiers
FoundationsetUse Cases - création des notes de pilotage principales
Décisions éditoriales
- le wiki est un guide pédagogique en français sur FastAPI
- le premier grand chapitre pratique ne s'appelle pas "section 1"
- il s'appelle API de base
- les chapitres pratiques doivent contenir du code obligatoire
- le premier grand chapitre s'appuie sur l'architecture du repo
task-organizer-API
Notes créées
2026-04-19 — Simplification de la structure et renforcement de API de base
Simplification
- suppression des dossiers
Glossaire/,Comparisons/etSources/ - maintien volontaire d'une structure légère centrée sur les notes utiles
- mise à jour de SCHEMA et FastAPI LLM Wiki pour refléter cette structure simplifiée
Renforcement du chapitre principal
- ajout de repères utiles avant de lire le code
- ajout de plus de détails de setup
- ajout de plus de code utile (
.gitignore,.env.example, configuration PostgreSQL plus complète) - amélioration du guidage sur les fichiers et leur rôle
- amélioration de la vérification avec
curl, cas 404 et vérification SQL
Orientation actuelle
- garder
API de basecomme socle principal du wiki - réserver le second grand bloc du wiki aux enrichissements de l'API
2026-04-19 — Initialisation du bloc Advanced FastAPI
Décision
API de baseest considéré comme suffisamment solide pour servir de socle- les améliorations restantes sur ce chapitre sont désormais optionnelles et non bloquantes
- le bloc 2 est officiellement nommé Advanced FastAPI
Travail réalisé
- inspection des dossiers
11-Register Userà33-Dockerdans la source FastAPI avancée - regroupement des thèmes avancés par familles pédagogiques
- création de la note Advanced FastAPI
- mise à jour de FastAPI LLM Wiki et du Plan directeur
Orientation retenue pour la suite
- commencer la montée en puissance par l'authentification
- continuer ensuite avec relations SQL, robustesse, tests et Docker
2026-04-19 — Rédaction du premier sous-chapitre Authentification avec FastAPI
Travail réalisé
- création de la note Authentification avec FastAPI
- transformation des sources
11-Register User,12-Login Useret13-Logout Useren tutoriel guidé - adaptation du domaine
sellerdes sources vers un domaine plus génériqueuser - conservation de la logique d'architecture tout en améliorant la pédagogie et le setup
Contenu ajouté dans le chapitre
- dépendances d'authentification
- variables d'environnement JWT
core/security.py- modèle
User - schémas utilisateur
UserService- récupération de l'utilisateur courant via dépendance
- routes
signup,token,me - protection des routes d'écriture sur les tâches
- explication claire du logout simple vs logout robuste avec blacklist Redis
Suite logique
- développer ensuite le chapitre sur les relations SQL et l'enrichissement du modèle
2026-04-19 — Rédaction du chapitre Relations SQL avec FastAPI
Travail réalisé
- création de la note Relations SQL avec FastAPI
- transformation des sources
14-SQL Relations,16-Delivery Partneret25-Many to Manyen tutoriel guidé - adaptation du domaine source vers la relation
User -> Task - ajout d'une progression claire : clé étrangère, relation ORM, ownership, filtrage par utilisateur
Contenu ajouté dans le chapitre
- mise à jour du modèle
Task - relation inverse côté
User - schémas
Taskadaptés àowner_id TaskServiceenrichi avecget_task_for_user()etget_tasks_for_user()- routes
/task/mine, lecture/écriture protégées par ownership - explication du choix
404vs403 - aperçu bonus du many-to-many
Suite logique
- continuer ensuite vers la gestion d'erreurs ou le middleware
2026-04-19 — Rédaction du chapitre Gestion d’erreurs avec FastAPI
Travail réalisé
- création de la note Gestion d’erreurs avec FastAPI
- transformation des sources
26-Error Handling/133-exceptions.pyet134-exceptions.pyen tutoriel guidé - adaptation de la logique source au projet construit dans
API de base,Authentification avec FastAPIetRelations SQL avec FastAPI
Contenu ajouté dans le chapitre
- création d’un
core/exceptions.py - hiérarchie d’exceptions métier
- handlers centralisés
- enregistrement des handlers dans
main.py - simplification de
services/user.py,services/task.pyetapi/dependencies.py - routes plus fines grâce à la centralisation des erreurs
- vérification guidée sur
409,401,404,400
Suite logique
- continuer ensuite sur le middleware avec la source
27-Middleware
2026-04-19 — Rédaction du chapitre Middleware avec FastAPI
Travail réalisé
- création de la note Middleware avec FastAPI
- transformation de la source
27-Middleware/135-main.pyen tutoriel guidé - adaptation de l’idée source vers une version plus propre avec
core/middleware.py
Contenu ajouté dans le chapitre
- middleware HTTP dédié dans
core/middleware.py - mesure du temps avec
perf_counter - génération d’un
request_id - ajout des headers
X-Request-IDetX-Process-Time - logging global des requêtes
- branchement dans
main.py - intégration optionnelle avec la gestion d’erreurs via
request.state
Suite logique
- continuer ensuite sur les tests avec les sources
29-pytestet30-API Testing
2026-04-19 — Rédaction du chapitre Tests avec FastAPI
Travail réalisé
- création de la note Tests avec FastAPI
- transformation des sources
29-pytestet30-API Testingen tutoriel guidé - adaptation des fixtures et des exemples de test au projet construit dans le wiki
Contenu ajouté dans le chapitre
- dépendances
pytest,pytest-asyncio,httpx,aiosqlite - dossier
tests/ tests/example.pytests/conftest.py- tests auth
- tests tâches
- overrides de dépendances FastAPI
- base SQLite mémoire pour les tests
Suite logique
- continuer ensuite sur Docker avec la source
33-Docker
2026-04-19 — Rédaction du chapitre Docker avec FastAPI
Travail réalisé
- création de la note Docker avec FastAPI
- transformation des sources
33-Docker/170-Dockerfile,172-compose.yamlet173-compose.yamlen tutoriel guidé - adaptation de la logique source à notre projet avec une version minimale
api + dbpuis une extensionredis + celery
Contenu ajouté dans le chapitre
- création de
.dockerignore - création de
Dockerfile - création de
docker-compose.yml - explication de l’override
POSTGRES_SERVER=db - healthcheck PostgreSQL
- vérification avec
docker build,docker compose up,docker compose ps,curlet logs - variante étendue avec Redis et Celery
Suite logique
- continuer ensuite sur les réponses personnalisées avec la source
19-Custom Response
2026-04-19 — Rédaction du chapitre Réponses personnalisées avec FastAPI
Travail réalisé
- création de la note Réponses personnalisées avec FastAPI
- transformation des sources
19-Custom Response/106-app.py,105-shipment.pyet105-track.htmlen tutoriel guidé - adaptation des exemples source au domaine de notre application de tâches
Contenu ajouté dans le chapitre
- ajout de
jinja2dans les dépendances utiles - création de
core/responses.py - création de
templates/task_detail.html - création de
exports/task-api-example.txt - ajout de routes
JSONResponse,FileResponse,RedirectResponse,TemplateResponseet réponse texte custom - vérifications avec
curl -i - explication de
response_modelvsresponse_class
Suite logique
- continuer ensuite sur les notifications et la communication utilisateur avec les sources
18-Send Mail,20-Email Confirmation,21-Password Resetet22-SMS
2026-04-19 — Rédaction du chapitre Notifications et communication utilisateur avec FastAPI
Travail réalisé
- création de la note Notifications et communication utilisateur avec FastAPI
- transformation des sources
18-Send Mail,20-Email Confirmation,21-Password Resetet22-SMSen tutoriel guidé - adaptation des flux source au domaine utilisateur de notre application de tâches
Contenu ajouté dans le chapitre
- ajout de
fastapi-mail,itsdangerousettwilio - création de
core/url_tokens.py - création de
services/notification.py - ajout de
email_verifiedsurUser - templates email HTML de vérification et reset
- routes de vérification email, demande de reset, confirmation de reset et SMS de test
- explication des
BackgroundTasks, des tokens d’URL signés et des bonnes pratiques de sécurité sur reset/password
Suite logique
- continuer ensuite sur Celery avec la source
24-Celery
2026-04-19 — Rédaction du chapitre Tâches asynchrones avec Celery et FastAPI
Travail réalisé
- création de la note Tâches asynchrones avec Celery et FastAPI
- transformation de la source
24-Celery/125-tasks.pyen tutoriel guidé - adaptation du pattern source à notre stack notification + Docker + Redis
Contenu ajouté dans le chapitre
- ajout de
celery[redis],redisetasgiref - création de
worker/tasks.py - app Celery connectée à Redis
- tâches
send_mail,send_email_templateetsend_sms - évolution de
services/notification.pypour utiliser.delay() - commande worker locale et Docker Compose
- explication de
async_to_sync()et de la séparation API / worker
Suite logique
- explorer ensuite le bloc frontend / React avec les sources
31-React JSet32-Frontend
2026-04-19 — Rédaction du chapitre Frontend React consommant l’API FastAPI
Travail réalisé
- création de la note Frontend React consommant l’API FastAPI
- transformation des sources
31-React JSet32-Frontenden tutoriel guidé - adaptation des patterns source vers une version plus simple en
Vite + React + TypeScript
Contenu ajouté dans le chapitre
- prérequis CORS côté
main.py - client API centralisé avec
axios AuthContextProtectedRoute- page de login
- page forgot password
- dashboard branché sur
/task/mine - formulaire de création de tâche avec invalidation React Query
- explication du lien entre token frontend et routes protégées FastAPI
Suite logique
- ouvrir ensuite une phase de raffinement avec un parcours de lecture et une FAQ pratique
2026-04-19 — Ouverture de la phase de raffinement
Travail réalisé
- création de la note Parcours de lecture
- création de la note FAQ, erreurs fréquentes et conseils pratiques
- ajout d’une première couche de navigation et d’aide au lecteur après la complétion du bloc principal de use cases
Contenu ajouté dans ces notes
- parcours recommandés selon le niveau et l’objectif
- parcours backend-first, produit réaliste, full-stack et déploiement
- questions fréquentes
- erreurs classiques
- réflexes de diagnostic et conseils pratiques
Suite logique
- renforcer maintenant la cohérence transversale et la navigation entre les gros chapitres
2026-04-19 — Consolidation transversale et polish pédagogique
Travail réalisé
- normalisation des sections
Relatedsur les gros chapitres majeurs - ajout systématique des liens vers Parcours de lecture et FAQ, erreurs fréquentes et conseils pratiques dans les notes qui en avaient besoin
- harmonisation de plusieurs sections
Pour aller plus loin - suppression d’un renvoi devenu obsolète dans Authentification avec FastAPI
- clarification de l’ordre de lecture recommandé dans Advanced FastAPI
- mise à jour de SCHEMA et du Template de tutoriel pour intégrer explicitement la couche de navigation / raffinement
Contenu renforcé
- transitions entre chapitres
- orientation du lecteur selon le niveau et l’objectif
- cohérence des renvois entre backend socle, bloc avancé, frontend bonus et notes de raffinement
- checklist du template enrichie avec le renvoi vers le parcours/FAQ quand pertinent
Suite logique
- continuer ensuite avec un polish plus fin, chapitre par chapitre, si l’on veut encore renforcer l’homogénéité éditoriale du wiki
2026-04-19 — Deuxième passe de polish éditorial chapitre par chapitre
Travail réalisé
- audit ciblé des notes de use cases pour repérer les sections
Pour aller plus loinencore incomplètes - ajout d’un vrai
Pour aller plus loinà Advanced FastAPI - harmonisation de l’ordre de lecture recommandé dans FastAPI LLM Wiki pour faire remonter plus tôt Parcours de lecture
- renforcement des
RelatedetPour aller plus loinsur les chapitres majeurs encore un peu en retrait
Contenu renforcé
- meilleure entrée lecteur depuis FastAPI LLM Wiki vers le parcours de lecture
- meilleure fermeture des chapitres sur des renvois cohérents
- meilleure homogénéité entre le gateway note Advanced FastAPI et les sous-chapitres concrets
- meilleure articulation entre socle, bloc avancé, frontend bonus et notes de support
Suite logique
- faire ensuite, si souhaité, une passe de réécriture micro-locale sur la formulation elle-même (densité, répétitions, fluidité)
2026-04-19 — Clôture éditoriale de la v1
Travail réalisé
- harmonisation finale des intros et sorties de chapitres
- standardisation des checklists de fin de chapitre
- clarification de l’ordre canonique de lecture dans FastAPI LLM Wiki et Parcours de lecture
- nettoyage des notes meta pour refléter un état terminé en v1, plus une roadmap ouverte
Contenu renforcé
- cohérence entre hub, socle, sous-chapitres avancés et notes de navigation
- lisibilité des derniers renvois lecteur
- clôture propre du périmètre éditorial retenu
Statut de clôture
- la v1 du wiki est considérée comme complète
- les enrichissements futurs relèvent désormais d’une v2 ou d’extensions optionnelles, pas de tâches restantes sur le périmètre actuel
2026-04-19 — Réorganisation physique des Use Cases
Travail réalisé
- création de deux sous-dossiers dans
Use Cases/ - déplacement de
[API de base](/docs/use-cases/api-de-base)dansUse Cases/API de base/ - déplacement du hub
[Advanced FastAPI](/docs/use-cases/advanced-fastapi)et de tous les autres chapitres avancés dansUse Cases/Advanced FastAPI/ - mise à jour de SCHEMA pour refléter cette arborescence plus lisible dans Obsidian
Intention
- séparer visuellement le socle du bloc avancé
- rendre la navigation latérale du vault plus claire
- conserver les wikilinks inchangés tout en améliorant l’organisation physique des fichiers