NestJS pour JavaScript (Node.js) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que NestJS et pourquoi l'utiliser ?

NestJS est un framework progressif pour créer des applications serveur efficaces, fiables et évolutives avec Node.js. Il s'inspire de l'architecture expressive d'Angular et est construit par défaut sur TypeScript, tout en supportant pleinement le JavaScript pur. NestJS abstrait les détails de bas niveau de bibliothèques populaires comme Express (par défaut) ou Fastify, offrant au développeur un ensemble d'outils puissants pour organiser le code : modules, contrôleurs, services, providers, middleware, guards, interceptors, pipes et filters.

Pourquoi utiliser NestJS ? Dans le développement web moderne avec Node.js, l'organisation du code devient souvent problématique : les scripts Express simples se transforment rapidement en "spaghetti" lorsque les fonctionnalités augmentent. NestJS résout ce problème en imposant une structure modulaire claire et les principes d'injection de dépendances (Dependency Injection). Cela facilite les tests, la maintenance et la mise à l'échelle de l'application. Le framework est idéal pour créer des API REST, des serveurs GraphQL, des microservices, ainsi que des applications temps réel (WebSockets).

L'avantage clé de NestJS est son écosystème. Il fournit des modules officiels pour travailler avec les bases de données (TypeORM, Mongoose, Prisma), l'authentification (Passport), la validation (class-validator), la configuration, les files d'attente (Bull), la mise en cache et bien plus encore. Grâce à cela, le développeur peut se concentrer sur la logique métier, sans se soucier de l'intégration de bibliothèques hétérogènes.

Installation

Pour installer NestJS, on utilise le gestionnaire de paquets npm (ou yarn). Il est recommandé d'installer globalement l'outil CLI pour créer rapidement un projet :

npm install -g @nestjs/cli

Une fois le CLI installé, vous pouvez créer un nouveau projet avec la commande :

nest new my-nest-project

Pendant l'installation, on vous demandera de choisir un gestionnaire de paquets (npm, yarn ou pnpm) et un langage (TypeScript — recommandé, ou JavaScript). Si vous souhaitez ajouter NestJS à un projet existant, installez les paquets principaux :

npm install @nestjs/core @nestjs/common @nestjs/platform-express reflect-metadata rxjs

Remarque : la bibliothèque reflect-metadata est obligatoire pour le fonctionnement des décorateurs.

Démarrage rapide : exemple minimal fonctionnel

Créons une API REST très simple avec un seul endpoint qui renvoie "Hello World".

Étape 1 : Créez le fichier app.controller.js

// app.controller.js
const { Controller, Get } = require('@nestjs/common');

@Controller()
export class AppController {
    @Get()
    getHello() {
        return 'Hello World!';
    }
}

Étape 2 : Créez le fichier app.module.js

// app.module.js
const { Module } = require('@nestjs/common');
const { AppController } = require('./app.controller');

@Module({
    controllers: [AppController],
})
export class AppModule {}

Étape 3 : Créez le fichier principal main.js

// main.js
const { NestFactory } = require('@nestjs/core');
const { AppModule } = require('./app.module');

async function bootstrap() {
    const app = await NestFactory.create(AppModule);
    await app.listen(3000);
    console.log('Serveur démarré sur http://localhost:3000');
}
bootstrap();

Étape 4 : Lancez l'application

node main.js

Rendez-vous maintenant sur http://localhost:3000 — vous verrez "Hello World!".

Méthodes, classes et décorateurs essentiels

Voici 8 éléments clés de NestJS avec leurs signatures, descriptions et exemples en JavaSc

Recommendations