Aller au contenu principal

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