Aller au contenu principal

Setup environnement de développement

Pré-requis

OutilVersion minimale
Node.js22.x
npm10.x
PostgreSQL16 (local ou Docker)
Git

Installation

1. Cloner et installer les dépendances

git clone <url-du-repo> patrimo
cd patrimo
npm install

2. Configurer les variables d'environnement

cp .env.example .env.local

Renseignez au minimum DATABASE_URL et AUTH_SECRET (voir Variables d'environnement).

# Générer AUTH_SECRET
npm run generate-secret

3. Appliquer le schéma Prisma

npm run db:migrate # crée/met à jour la DB en dev
# ou, plus rapide en dev initial :
npx prisma db push # synchronise sans migration versionnée

4. Lancer le serveur de développement

npm run dev # → http://localhost:4000

Commandes utiles

CommandeAction
npm run devServeur Next.js en hot-reload (port 4000)
npm testJest unit tests
npm run test:watchJest en mode watch
npm run test:coverageJest avec rapport de couverture
npm run test:e2ePlaywright E2E
npm run test:e2e:uiPlaywright avec UI interactive
npm run type-checkTypeScript tsc --noEmit
npm run db:migratePrisma migrate dev
npm run db:studioPrisma Studio (GUI base de données)
npm run db:resetReset complet de la base (⚠️ destructif)
npm run docs:devSite de doc Docusaurus en hot-reload
npm run docs:buildBuild statique de la doc
npm run hash-password <pwd>Générer un hash bcrypt
npm run generate-secretGénérer une clé AUTH_SECRET

Avec Docker Compose (alternative)

Si vous préférez ne pas installer PostgreSQL localement :

cp .env.example .env
# éditer POSTGRES_PASSWORD et AUTH_SECRET
docker compose up

L'app tourne sur http://localhost:4000 avec hot-reload sur le code source monté en volume.

Lancer les tests E2E

# Seeder l'utilisateur de test
npm run seed:test

# Lancer Playwright
npm run test:e2e

Les E2E utilisent TEST_USER_EMAIL=admin@patrimo.local / TEST_USER_PASSWORD=admin.

Voir aussi