Skip to main content

Troubleshooting

Démarrage​

POSTGRES_PASSWORD is required​

Error: POSTGRES_PASSWORD is required

Cause : la variable n'est pas définie dans .env.

Solution :

cp .env.example .env
# Éditez .env et renseignez POSTGRES_PASSWORD

AUTH_SECRET is required​

Cause : AUTH_SECRET n'est pas défini.

Solution :

npm run generate-secret
# Copiez la valeur dans .env

L'app démarre mais affiche une erreur de connexion DB​

Cause : l'app démarre avant que PostgreSQL soit prêt.

Solution : Docker Compose attend le healthcheck pg_isready avant de démarrer l'app. Si cela persiste :

docker compose down
docker compose up

Port 4000 déjà utilisé​

Solution :

# Trouver le processus
lsof -i :4000
# Ou changer le port dans docker-compose.yml
ports:
- "4001:4000"

Authentification​

Redirection infinie vers /login​

Cause : AUTH_URL ne correspond pas à l'URL réelle de l'application.

Solution : vérifiez que AUTH_URL dans .env correspond exactement à l'URL du navigateur (protocole + domaine + port).

# Dev local
AUTH_URL=http://localhost:4000

# Production
AUTH_URL=https://patrimo.votre-domaine.com

CredentialsSignin à la connexion​

Cause : email ou mot de passe incorrect.

Solution : vérifiez que l'utilisateur existe en base. Réinitialisez le mot de passe :

npm run hash-password nouveau_mot_de_passe
# Mettre à jour la colonne passwordHash en base

Import CSV​

Format CSV non reconnu​

Cause : le fichier exporté n'est pas dans un format supporté.

Solution : vérifiez que vous exportez depuis la bonne section de votre banque. Voir Import CSV pour les instructions par banque.


0 transactions importées sans erreur​

Cause : toutes les transactions sont déjà présentes (doublons détectés via importHash).

Solution : c'est le comportement attendu — l'import est idempotent. Si vous attendez de nouvelles transactions, vérifiez la période couverte par votre export CSV.


Les soldes ne s'affichent pas après import​

Cause : certains formats (Trade Republic) n'incluent pas de snapshots de solde dans le CSV.

Solution : saisissez le solde manuellement via Saisir un solde sur le Dashboard.


Base de données​

Prisma Client is not generated​

Error: @prisma/client did not initialize yet

Solution :

npx prisma generate

Migration échouée​

Error: Migration failed

Solution :

# Vérifier l'état des migrations
npx prisma migrate status

# En dev — reset complet (⚠️ perd toutes les données)
npm run db:reset

P2002 — Unique constraint violation​

Cause : tentative de créer un doublon (institution avec le même nom, snapshot sur une date déjà existante…).

Solution : vérifiez les règles d'unicité concernées. Pour les snapshots, c'est normal — l'upsert gère ce cas automatiquement.


Build et CI​

Build Docusaurus échoue avec broken anchors​

Cause : un lien pointe vers une ancre qui n'existe pas (souvent dû aux [DB]/[APP] dans les titres de règles).

Solution : retirez l'ancre du lien ou utilisez l'ancre générée exacte.


Tests Jest échouent sur les montants Decimal​

Cause : comparaison JavaScript === sur des objets Decimal Prisma.

Solution : utilisez Number(decimal) pour les assertions ou les matchers Jest dédiés.


Voir aussi​