🔐 Flux d'authentification
Inscription en 3 étapes ou connexion directe pour récupérer votre token JWT
1
Inscription
POST /api/auth/register
2
Vérification code
POST /api/auth/register/verify
3
Activation compte
POST /api/auth/register/activate
→
Connexion
POST /api/auth/login
✓
Token JWT
Header: Bearer <token>
🚀 Tester en 2 minutes
Ouvrez Swagger UI, cliquez Authorize et collez votre token JWT — toutes les routes deviennent accessibles.
# 1. Se connecter
POST /api/auth/login
{ "email": "...", "password": "..." }
# 2. Copier le token reçu
{ "token": "eyJ0eXAiOiJKV1QiLCJhb..." }
# 3. L'envoyer dans les requêtes suivantes
Authorization: Bearer eyJ0eXAiOiJKV1...
📡 Domaines de l'API
Cliquez sur Swagger UI pour tester chaque route interactivement
Authentification
Inscription 3 étapes, connexion JWT, profil connecté, mot de passe oublié.
- POST/api/auth/login
- POST/api/auth/register
- GET/api/auth/me
- POST/api/auth/forgot-password
Profil utilisateur
Lecture et mise à jour du profil, partie professeur (bio, rayon).
- GET/api/profile
- PATCH/api/profile
- PATCH/api/profile/teacher
Cours & Pointages
Demandes de cours (parents), feuilles de présence (profs), validations en cascade.
- POST/api/lesson-requests
- GET/api/lesson-requests
- POST/api/timesheets
- PATCH/api/timesheets/{id}/validate
Professeurs
Candidatures, liste publique, disponibilités hebdomadaires et exceptions ponctuelles.
- GET/api/teachers
- POST/api/teacher/application
- POST/api/availability/weekly
- GET/api/availability/teacher/{uuid}
Contrats
Consultation, signature, validation admin. Workflow : en attente → actif → résilié.
- GET/api/contracts
- GET/api/contracts/has-valid
- GET/api/contracts/{uuid}/signature
- PATCH/api/admin/contracts/{uuid}/approve
Uploads & Documents
Photo de profil, signature de contrat, documents personnels et pièces de candidature.
- POST/api/upload/profile-photo
- POST/api/upload/signature/{uuid}
- POST/api/documents
- GET/api/documents/{id}/download
Référentiels
Matières (liste + CRUD admin). Newsletter — inscription depuis le site vitrine.
- GET/api/subjects
- POST/api/admin/subjects
- POST/api/newsletter/subscribe
- POST/api/contact
Administration
Gestion des utilisateurs (CRUD, rôles, statut), tableau de bord, stats globales.
- GET/api/admin/users
- POST/api/admin/users
- PATCH/api/admin/users/{uuid}/roles
- GET/api/admin/dashboard/stats