blog/api-rest-passtonpermis

Concevoir une API REST robuste pour PasTonPermis

12 mai 20264 min
APINode.jsRESTJWTPostgreSQL
───

PasTonPermis est une plateforme qui connecte élèves, auto-écoles et inspecteurs. L'API est le cœur du système, et sa conception a dû anticiper plusieurs contraintes.

Architecture générale

L'API suit les principes RESTful classiques avec une couche d'authentification JWT et un système de rôles (admin, école, élève, inspecteur). Chaque ressource est accessible via des endpoints dédiés :

GET    /api/v1/students       — Liste des élèves
POST   /api/v1/students       — Inscription
GET    /api/v1/lessons        — Planning des leçons
POST   /api/v1/lessons        — Créer une leçon
PUT    /api/v1/progress/:id   — Mettre à jour le suivi

Gestion des rôles et permissions

Le système utilise un middleware d'autorisation qui vérifie le rôle JWT avant chaque requête protégée. Les endpoints sont segmentés par niveau d'accès :

  • Admin — accès total (création de comptes écoles, configuration)
  • École — gestion de ses élèves et plannings
  • Élève — consultation de ses leçons et progression
  • Inspecteur — validation des étapes et examens

Performance et caching

Les endpoints de recherche et listing utilisent Redis pour le cache (TTL configurable). Les créneaux de planning sont pré-générés pour réduire les temps de réponse sur les requêtes les plus fréquentes.

Documentation automatique

L'API est documentée avec OpenAPI/Swagger. La spec est générée automatiquement depuis les validateurs de routes, ce qui garantit qu'elle reste toujours à jour.