diff --git a/CESIZen_Soutenance_Bloc3.pptx b/CESIZen_Soutenance_Bloc3.pptx index ae38a24..4f550fd 100644 Binary files a/CESIZen_Soutenance_Bloc3.pptx and b/CESIZen_Soutenance_Bloc3.pptx differ diff --git a/backend/app/Http/Controllers/AuthController.php b/backend/app/Http/Controllers/AuthController.php index dda877d..233cb66 100644 --- a/backend/app/Http/Controllers/AuthController.php +++ b/backend/app/Http/Controllers/AuthController.php @@ -12,6 +12,15 @@ use Tymon\JWTAuth\Facades\JWTAuth; class AuthController extends Controller { + /** + * Inscription d'un nouvel utilisateur. + * + * Assigne automatiquement le rôle "membre", enregistre le consentement RGPD, + * crée un tracker par défaut et génère le token JWT. + * + * @param RegisterRequest $request + * @return JsonResponse + */ public function register(RegisterRequest $request): JsonResponse { $role = Role::where('nom', 'membre')->first(); @@ -40,6 +49,15 @@ class AuthController extends Controller ], 201); } + /** + * Authentification d'un utilisateur existant. + * + * Vérifie les identifiants, le statut actif du compte et génère un token JWT. + * Renvoie une erreur 403 si le compte est désactivé/anonymisé. + * + * @param LoginRequest $request + * @return JsonResponse + */ public function login(LoginRequest $request): JsonResponse { $credentials = $request->only('email', 'password'); diff --git a/backend/app/Http/Controllers/ProfilController.php b/backend/app/Http/Controllers/ProfilController.php index c88419d..204c7bd 100644 --- a/backend/app/Http/Controllers/ProfilController.php +++ b/backend/app/Http/Controllers/ProfilController.php @@ -59,7 +59,12 @@ class ProfilController extends Controller ]); } - // RGPD — Article 20 : droit à la portabilité des données + /** + * RGPD — Article 20 : droit à la portabilité des données. + * Exporte toutes les données liées à l'utilisateur au format JSON. + * + * @return JsonResponse + */ public function export(): JsonResponse { $utilisateur = auth()->user(); @@ -93,7 +98,13 @@ class ProfilController extends Controller ->header('Content-Disposition', 'attachment; filename="cesizen-export-'.$utilisateur->id.'.json"'); } - // RGPD — Article 17 : alternative à la suppression définitive — anonymisation + /** + * RGPD — Article 17 : droit à l'effacement. + * Alternative à la suppression définitive : anonymise le compte pour conserver + * les statistiques globales sans conserver d'informations personnellement identifiables. + * + * @return JsonResponse + */ public function anonymiser(): JsonResponse { $utilisateur = auth()->user();