Aller au contenu

Lancer le projet

Serveur de développement

pnpm run start:dev

Démarre NestJS en mode watch (rechargement à chaud) en chargeant .env. Par défaut le serveur écoute sur http://127.0.0.1:3000.

Préfixe global

Toutes les routes HTTP sont préfixées par /api (app.setGlobalPrefix('api')), à l'exception du service de fichiers /_storage/.... La documentation Swagger, elle, est servie sur /docs.

Scripts npm utiles

Script Effet
pnpm run start:dev Serveur de dev en watch (alias : pnpm run dev).
pnpm run start:debug Serveur de dev avec inspecteur attaché.
pnpm run build Compilation NestJS vers dist/.
pnpm run start:prod Exécute le build compilé (node dist/main).
pnpm run lint ESLint avec --fix.
pnpm run check:lint ESLint sans correction (utilisé en CI).
pnpm run format Prettier en écriture.
pnpm run check:format Prettier en vérification (utilisé en CI).
pnpm run test Tests d'intégration (Jest).
pnpm run test:e2e Tests e2e (config jest-e2e.config.js).

Scripts shell (scripts/)

Script Rôle
scripts/dbmigrate.sh Applique les migrations Sequelize.
scripts/dbreset.sh Réinitialise la base (drop + recréation + migrations).
scripts/makemigrations.sh <name> Scaffolde une nouvelle migration.
scripts/createsuperuser.sh Crée un superutilisateur (alias : pnpm run createsuperuser).
scripts/startredis.sh Démarre une instance Redis locale (pour QUEUE_BACKEND=bull).
scripts/docker-build-start.sh Build et démarre l'image Docker locale.

Créer un superutilisateur

pnpm run createsuperuser

Un superutilisateur court-circuite toutes les vérifications de permission (voir Permissions). Réservé à l'administration de plateforme.

File de jobs en arrière-plan

  • En dev/test, QUEUE_BACKEND=memory : les jobs s'exécutent en mémoire, de façon synchrone, sans persistance.
  • En prod/preprod, QUEUE_BACKEND=bull : jobs durables adossés à Redis, avec workers cross-process. Lancez Redis avec scripts/startredis.sh et renseignez REDIS_URL.

Documentation API (Swagger)

Le Swagger est exposé sur /docs uniquement si SWAGGER_USER et SWAGGER_PASSWORD sont définis (Basic Auth). Voir Swagger / OpenAPI.