Lancer le projet¶
Serveur de développement¶
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¶
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 avecscripts/startredis.shet renseignezREDIS_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.