Erreurs des Server Actions
Les Server Actions retournent des erreurs sous la forme { success: false; error: string }. Il n'y a pas de code d'erreur numérique — le message est suffisant pour le diagnostic.
Erreurs d'authentification
| Message | Cause | Action |
|---|
"Non authentifié" | Pas de session JWT valide | Rediriger vers /login |
Erreurs d'ownership
| Message | Cause |
|---|
"Compte introuvable" | accountId inexistant ou appartenant à un autre user |
"Institution introuvable" | institutionId inexistant ou appartenant à un autre user |
"Plan introuvable" | budgetPlanId inexistant ou appartenant à un autre user |
"Source introuvable" | BudgetIncomeSource inexistante ou appartenant à un autre user |
"Allocation introuvable" | BudgetAllocation inexistante ou appartenant à un autre user |
"Transaction introuvable" | Transaction inexistante ou compte appartenant à un autre user |
Ces messages sont intentionnellement génériques — ils ne révèlent pas si la ressource existe chez un autre utilisateur.
Erreurs de validation
| Message | Contexte |
|---|
"Le nom est requis" | updateProfile() — name vide ou whitespace |
"Le nouveau mot de passe doit faire au moins 8 caractères" | updatePassword() |
"Les mots de passe ne correspondent pas" | updatePassword() — confirm !== new |
"Mot de passe actuel incorrect" | updatePassword() — bcrypt mismatch |
"Compte sans mot de passe" | updatePassword() — compte sans passwordHash |
Erreurs d'import CSV
| Message | Cause |
|---|
"Aucun fichier fourni" | FormData sans champ file |
"Format CSV non reconnu" | format ne correspond à aucun parser connu |
Erreurs génériques
| Message | Cause |
|---|
"Erreur lors de la sauvegarde" | Exception Prisma lors d'un upsert budget |
"Erreur inconnue" | Exception non typée dans processImportCSV |
Erreurs HTTP NextAuth
Ces erreurs apparaissent dans l'URL /login?error=<code> après un échec d'authentification.
| Code | Signification |
|---|
CredentialsSignin | Email inconnu ou mot de passe incorrect |
SessionRequired | Route protégée accédée sans session |
Erreurs Prisma
Les violations de contraintes unique retournent un PrismaClientKnownRequestError avec le code P2002. Elles ne sont pas directement exposées à l'utilisateur — elles sont catchées et retransformées en message lisible par les Server Actions.
Exemple : créer deux fois la même institution (@@unique([userId, name])) sera catchée et retournée comme "Erreur lors de la sauvegarde".
Voir aussi