Intranet Prépavogt Alumni

Documentation interne · Django 5.1 · DRF · React · PostgreSQL · Cloudinary · Resend

v0.7.0 PROD

API Reference

Tous les endpoints REST de l'annuaire Prépavogt Alumni — consultez aussi Swagger UI pour l'exploration interactive.

Authentification

/api/auth/
POST /api/auth/login/ Connexion (retourne access + refresh JWT)
POST /api/auth/refresh/ Rafraîchir le token access
POST /api/auth/logout/ Déconnexion (blacklist du refresh token)
GET /api/auth/activate/?token= Vérifier token + données pré-remplies
POST /api/auth/activate/ Activer compte (mot de passe + consentement)
GET /api/auth/me/ Profil de l'utilisateur connecté
POST /api/auth/password-reset/ Demander un lien de réinitialisation
POST /api/auth/password-reset/confirm/ Confirmer le nouveau mot de passe

Annuaire Alumni

/api/alumni/
GET /api/alumni/ Annuaire public (consentement + visible)
GET /api/alumni/me/ Mon propre profil complet
PATCH /api/alumni/me/ Modifier mon profil
GET /api/alumni/{uuid}/ Fiche d'un alumni
POST /api/alumni/consent/ Donner son consentement (crée AlumniProfile)
DELETE /api/alumni/consent/withdraw/ Retirer son consentement (supprime AlumniProfile)

Actualités

/api/news/
GET /api/news/ Liste des articles publiés (membres connectés)
GET /api/news/{slug}/ Détail d'un article par slug
GET /api/news/admin/ Admin: liste tous les articles (staff)
POST /api/news/admin/create/ Admin: créer un article (staff)
PATCH /api/news/admin/{slug}/ Admin: modifier un article (staff)
DELETE /api/news/admin/{slug}/delete/ Admin: supprimer un article (staff)
POST /api/news/upload-image/ Admin: upload image inline (staff)
POST /api/news/subscribe/ Abonnement newsletter
DELETE /api/news/unsubscribe/ Désabonnement newsletter

Administration (staff uniquement)

/api/auth/ + /api/news/admin/
GET /api/auth/contacts/ Admin: base de contacts (staff, search, filtres)
POST /api/auth/contacts/upload/ Admin: import CSV contacts (staff)
POST /api/auth/send-invitation/ Admin: envoyer invitation (staff)
GET /api/auth/analytics/ Admin: analytics trafic (staff)

Règles RGPD importantes

  • L'annuaire /api/alumni/ ne retourne que les profils avec consent_given=True et is_visible=True.
  • L'activation via POST /api/auth/activate/ crée le compte ; si consent_given=False, aucun AlumniProfile n'est créé.
  • La ContactBase n'est jamais exposée via l'API publique — admin uniquement.
  • Les tokens d'activation expirent après 72 heures.