Installation

Mise en place de l'environnement de développement local pour Pulse my Promo.

Installation

Prérequis

  • Node.js LTS (v20 ou supérieur)
  • Corepack activé (corepack enable)
  • Docker et Docker Compose

Le gestionnaire de paquets est pnpm exclusivement. Ne pas utiliser npm ni yarn.

1. Cloner et installer les dépendances

git clone <url-du-depot>
cd PROJET-myPromo
pnpm install

2. Services Docker (base de données et stockage)

Démarrer PostgreSQL, Adminer et Garage (S3 local) :

docker compose up -d postgres adminer garage s3ui
ServiceURL localePort
PostgreSQL 17localhost:5543255432
Adminer (UI BDD)http://localhost:80818081
Garage — API S3http://localhost:39003900
Garage — Admin APIhttp://localhost:39033903
S3 UIhttp://localhost:80908090

3. Configuration

Copier .env.example en .env et renseigner les valeurs. Ne jamais committer de secret.

cp app/mypromo/.env.example app/mypromo/.env

Variables essentielles (extrait) :

DATABASE_URL=postgresql://pulse:<mot-de-passe>@localhost:55432/pulse_my_promo?schema=public
BETTER_AUTH_SECRET=<min-32-caractères>
YOUSIGN_API_KEY=<votre-clé>
PAPPERS_API_TOKEN=<votre-token>
# … cf. app/mypromo/.env.example pour la liste complète

Toutes les variables sont validées au démarrage par un plugin Nitro : le serveur refuse de démarrer si la configuration est incomplète.

4. Migration de la base de données

pnpm -C app/mypromo run db:migrate:deploy

En développement, pour créer une nouvelle migration après modification du schéma Prisma :

pnpm -C app/mypromo run db:migrate

Pour régénérer le client Prisma sans migration :

pnpm -C app/mypromo run db:generate

Pour ouvrir Prisma Studio (interface visuelle BDD) :

pnpm -C app/mypromo run db:studio

5. Données de seed

La commande seed:dev peuple la base (profils dev|demo|test). Les comptes seedés utilisent le mot de passe ChangeMe123!.

pnpm -C app/mypromo run seed:dev
# ou selon le profil souhaité :
pnpm -C app/mypromo run seed:demo
pnpm -C app/mypromo run seed:test
Identifiants de développement local uniquement — ne jamais les utiliser ni les reporter en environnement exposé.

6. Démarrer le serveur de développement

pnpm -C app/mypromo run dev

L'application est accessible sur http://localhost:3000.

7. Commandes qualité

pnpm run check                       # gate complet (racine) : lint + typecheck + format:check + tests
pnpm -C app/mypromo run check        # lint + typecheck + tests (sans format:check)
pnpm -C app/mypromo run lint:fix     # corrections ESLint automatiques
pnpm -C app/mypromo run test:unit    # tests unitaires (Vitest)
pnpm -C app/mypromo run test:integration  # tests d'intégration (Vitest)
pnpm -C app/mypromo run test:e2e     # tests end-to-end (Playwright)

Avant le premier lancement des tests E2E, installer les binaires Playwright :

pnpm -C app/mypromo exec playwright install chromium