SimplétudeApp API REST

Backend Symfony 7 — Gestion des cours de soutien scolaire. Toutes les données passent par cette API sécurisée par JWT.

⚡ Symfony 7 🔒 JWT Auth 🗄️ Doctrine ORM 📦 OpenAPI 3.0 🇫🇷 Simpletude
v2.0 · Nouvelle architecture domaine · Authentification JWT stateless · Routes sur /api/*
🔐 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
📖 Ouvrir la documentation Swagger complète