Skip to content

Ressources ​

Les ressources recommandées par le plan, rangées par sujet avec le jour où elles servent, puis le projet TaskFlow lui-même : où le trouver, comment le lancer et comment s'en servir pendant le parcours.

Documentation officielle ​

NestJS ​

La documentation officielle, docs.nestjs.com, est la référence de chaque chapitre. Le plan cite les sections Overview, Techniques, Security et Recipes. Depuis, la section Techniques a été répartie entre Application, Data et HTTP ; les anciennes adresses /techniques/... redirigent vers les nouvelles. Les pages utiles au parcours :

SectionPagesJours
OverviewFirst steps, Controllers, Providers, ModulesJ1 à J3
OverviewMiddleware, Exception filters, Pipes, InterceptorsJ6
OverviewGuards, Custom decoratorsJ8
FundamentalsCustom providers, Dynamic modules, Injection scopes, Circular dependencyJ3
FundamentalsLifecycle eventsJ7
FundamentalsTestingJ10
ApplicationValidation, SerializationJ2, J8
ApplicationConfiguration, LoggingJ7
ApplicationEvents, Task scheduling, QueuesJ9
DataTypeORMJ4, J5
HTTPVersioningJ2
SecurityAuthentication, Authorization, Encryption and HashingJ8
SecuritySecurity headers, CORS, Rate limitingJ11
RecipesPassportJ8
RecipesAsync local storageContexte par requête (piège)
ReliabilityHealth checks (Terminus)J11
OpenAPIIntroduction, CLI Plugin, Mapped TypesJ2, J11
CLIOverviewJ1
FAQRequest lifecycleJ6

Le cours officiel ​

Le plan recommande le cours officiel « NestJS Fundamentals », accessible depuis le lien « Official courses » de la documentation (courses.nestjs.com). Le plan le dit gratuit ; à la rédaction de cette page (octobre 2026), ce cours est payant, avec une leçon en accès libre. L'équivalent gratuit le plus proche est la section Fundamentals de la documentation, listée ci-dessus.

TypeORM ​

typeorm.io, et en particulier :

SujetPageJours
Entités et colonnesEntitiesJ4
RechercheFind options, Select Query BuilderJ4
Options de connexionData source optionsJ4
RelationsMany-to-one / one-to-many, Eager and lazy relationsJ5
MigrationsGenerating, Executing, RevertingJ5
TransactionsTransactionsJ5

Node.js ​

Outils de l'écosystème ​

Le projet TaskFlow ​

TaskFlow est l'API construite pendant le parcours, dans le dossier examples/ du dépôt de ce site. Tous les extraits de code du site en proviennent, et la construction du site échoue si un extrait cité disparaît. Le projet compile, passe le lint, 27 tests unitaires (86,3 % des lignes couvertes) et 8 tests e2e sur une vraie base PostgreSQL. L'image Docker se construit et démarre ; le pipeline GitLab n'a pas été exécuté.

FichierContenu
README.mdDémarrage, scripts, séquence Docker (migrations comprises), structure
LEARNINGS.mdLe modèle du journal quotidien (méthode)
docker-compose.yml, .env.exampleL'environnement local (Docker Compose et .env)
Dockerfile, .gitlab-ci.ymlL'image et le pipeline (J11)
.gitignore, .dockerignoreCe qui reste hors de git et de l'image (node_modules, dist, coverage, .env* sauf .env.example)
src/, test/Le code, organisé par domaine (structure)

Lancer l'API ​

bash
cd examples
cp .env.example .env.development
docker compose up -d                      # PostgreSQL + Adminer (http://localhost:8081)
npm ci
npm run migration:run
npm run seed                              # admin@taskflow.local / admin-password-dev
npm run start:dev                         # Swagger sur http://localhost:3000/docs

Aucune variable n'est à exporter pour ces commandes : l'application lit .env.development, et Compose ne demande JWT_SECRET que pour le conteneur app (explication). Le compte créé par le seed est un compte de développement ; SEED_ADMIN_PASSWORD permet de choisir son mot de passe lors de sa création.

Pour lancer l'API dans son conteneur plutôt qu'avec npm run start:dev : exportez un vrai JWT_SECRET, construisez l'image, appliquez les migrations avec npm run migration:run:prod, puis démarrez le profil app (séquence).

Vérifier le projet ​

bash
npm run typecheck && npm run lint && npm test   # compilation, oxlint, tests unitaires
npm run test:cov                                # avec le seuil de couverture
cp .env.example .env.test                       # puis DB_PORT=5433, DB_NAME=taskflow_test, NODE_ENV=test
docker compose up -d db-test && npm run test:e2e

S'en servir pendant le parcours ​

  • Comme corrigé : reconstruisez TaskFlow jour après jour, et comparez avec le projet fini quand vous bloquez. Les chapitres indiquent quel fichier correspond à chaque étape.
  • Comme terrain d'essai : modifiez le code pour voir l'effet d'un piège (retirer un await, passer synchronize à true sur la base de test, enlever @Exclude()), puis lancez les tests.
  • Comme référence plus tard : l'index des situations part d'un besoin concret et mène au fichier TaskFlow qui le résout.