Objectifs pédagogiques
- Concevoir une API REST maintenable avec DRF (Serializers, ViewSets, Routers).
- Sécuriser l’API : Auth Session/Token/JWT, permissions, throttling.
- Filtrer, rechercher, paginer et trier efficacement.
- Générer et publier une documentation OpenAPI (Swagger/Redoc).
- Écrire des tests d’API utiles pour la CI (pytest/httpx).
Public & prérequis
Public : développeurs Python/Django, Tech Leads, intégrateurs data. Prérequis : bases Django (modèles, vues, URLs) et notions HTTP/REST.
Matin — Fondamentaux DRF
- Architecture DRF, Request/Response, Serializers (ModelSerializer).
- ViewSets, Routers, gestion des erreurs, réponses JSON.
Après‑midi — Atelier CollectBI
- CRUD TemplateCollecte et Contribution.
- Tests rapides via pytest + APIClient.
Matin — Authentification
- Session, Token, JWT (SimpleJWT), rotation, blacklist.
- Permissions globales et objet, throttling par scope.
Après‑midi — Atelier CollectBI
- Endpoints
/api/token,/api/token/refresh. - Rôles contributeur vs admin sur Contribution.
Matin — Filtres & Recherche
django-filter,FilterSet, opérateurs (gte/lte).search_fields,ordering_fields, pagination.
Après‑midi — Atelier CollectBI
- Filtres par période, statut, modèle sur Déclaration.
- Pagination PageNumber par défaut.
Matin — Documentation
- OpenAPI avec drf-spectacular, exemples, tags.
- Swagger UI et Redoc, export
openapi.json.
Après‑midi — Tests d’API
- pytest + httpx, tests d’auth, permissions, filtres, schéma.
- Intégration CI locale.
Matin — Industrialisation
- Performances :
select_related/prefetch_related, cache. - Uploads médias, webhooks, versioning et dépréciation.
Après‑midi — Démo finale
- Publication docs :
/api/schema,/api/docs,/api/redoc. - Démo bout‑à‑bout CollectBI + export collection Postman.
Méthodes & évaluation
- Théorie le matin, ateliers l’après‑midi.
- Études de cas CollectBI, exercices guidés.
- Évaluation continue, attestation finale.
Débouchés métiers
- Développeur API / Backend Python
- Consultant intégration / data
- Tech Lead Django / DRF