Aller au contenu principal

Catalogue des erreurs

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

MessageCauseAction
"Non authentifié"Pas de session JWT valideRediriger vers /login

Erreurs d'ownership

MessageCause
"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

MessageContexte
"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

MessageCause
"Aucun fichier fourni"FormData sans champ file
"Format CSV non reconnu"format ne correspond à aucun parser connu

Erreurs génériques

MessageCause
"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.

CodeSignification
CredentialsSigninEmail inconnu ou mot de passe incorrect
SessionRequiredRoute 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