feat: ajout documentation PHPDoc et maj slides bloc 3
CI / Backend · PHPUnit + Pint (push) Failing after 1m20s
CI / Frontend · ESLint + Vitest (push) Successful in 10m27s
CI / Mobile · Jest (push) Failing after 4m47s

This commit is contained in:
Azmog
2026-09-03 10:07:32 +02:00
parent 867d744242
commit fec738df9f
3 changed files with 31 additions and 2 deletions
Binary file not shown.
@@ -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');
@@ -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();