Mega Menu Premium — Instants Web Formation
Formation NestJS | Développement Backend TypeScript | Instants Web Formation
Formation Backend Node.js & TypeScript

Formation NestJS

Concevez des applications backend professionnelles, structurées et évolutives avec NestJS et TypeScript. Maîtrisez l'architecture modulaire, les controllers, les services, l'injection de dépendances, les API REST, les bases de données, l'authentification, la sécurité, les tests et le déploiement.

NestJS TypeScript Node.js REST API Architecture Sécurité
Présentation de la formation

Concevoir des backends robustes avec NestJS

NestJS est un framework backend basé sur Node.js et TypeScript permettant de concevoir des applications serveur fortement structurées, modulaires et facilement maintenables.

Son architecture repose notamment sur les modules, controllers et providers. Cette organisation facilite la séparation des responsabilités, la réutilisation des composants et la croissance progressive d'une application complexe.

Cette formation permet d'apprendre à utiliser NestJS pour développer des API REST professionnelles, connecter des bases de données, valider les données, protéger les ressources et organiser une application selon des principes d'architecture modernes.

Les participants travaillent progressivement sur une véritable application backend afin d'acquérir les méthodes utilisées dans les projets professionnels.

Objectifs pédagogiques

Les compétences visées

À l'issue de la formation, le participant doit être capable de construire une application NestJS complète, structurée, sécurisée et exploitable dans un environnement professionnel.

01

Maîtriser NestJS

Comprendre le fonctionnement du framework, son organisation et ses concepts fondamentaux.

02

Structurer une application

Construire une architecture modulaire reposant sur des responsabilités clairement définies.

03

Développer des API REST

Concevoir des endpoints REST cohérents, documentés et maintenables.

04

Gérer les données

Connecter NestJS à une base de données et organiser la persistance des informations.

05

Sécuriser le backend

Implémenter authentification, permissions, validation et protections serveur.

06

Préparer la production

Tester, optimiser, configurer et déployer une application NestJS.

Programme détaillé

De l'architecture NestJS au déploiement d'une API professionnelle

Une progression pédagogique complète permettant de maîtriser les concepts fondamentaux du framework avant d'aborder les problématiques avancées de sécurité, qualité logicielle et architecture.

01

Découvrir NestJS et son architecture

Comprendre le positionnement du framework et les principes qui structurent une application NestJS.

  • Présentation de NestJS
  • Positionnement dans l'écosystème Node.js
  • NestJS et TypeScript
  • Architecture backend moderne
  • Découverte du Nest CLI
  • Création d'un premier projet
  • Structure des dossiers générés
  • Point d'entrée main.ts
  • AppModule
  • Cycle général d'une requête
02

TypeScript appliqué à NestJS

Consolider les mécanismes TypeScript indispensables au développement d'applications NestJS.

  • Types primitifs
  • Interfaces
  • Type aliases
  • Classes TypeScript
  • Modificateurs d'accès
  • Héritage
  • Génériques
  • Décorateurs
  • Métadonnées
  • Typage des objets métier
  • Promises
  • async / await
03

Modules et organisation fonctionnelle

Structurer l'application en blocs fonctionnels cohérents afin de faciliter sa maintenance.

  • Comprendre le décorateur @Module()
  • Root Module
  • Feature Modules
  • imports
  • providers
  • controllers
  • exports
  • Encapsulation des providers
  • Réutilisation entre modules
  • Organisation par domaine fonctionnel
  • Modules partagés
  • Modules dynamiques
04

Controllers et gestion des routes

Exposer les fonctionnalités du backend au travers de routes HTTP clairement définies.

  • Décorateur @Controller()
  • Définition des routes
  • @Get()
  • @Post()
  • @Put()
  • @Patch()
  • @Delete()
  • Paramètres de routes
  • Query parameters
  • Request body
  • Headers
  • Réponses HTTP
05

Providers, services et injection de dépendances

Séparer la logique métier des controllers et comprendre le système d'injection de NestJS.

  • Concept de provider
  • Décorateur @Injectable()
  • Création de services
  • Injection par constructeur
  • Dependency Injection
  • Inversion of Control
  • Portée des providers
  • Custom providers
  • useClass
  • useValue
  • useFactory
  • Séparation Controller / Service
06

DTO, validation et transformation des données

Contrôler précisément les données reçues par l'API avant leur traitement.

  • Data Transfer Objects
  • Création de DTO
  • Typage des entrées
  • Validation des données
  • ValidationPipe
  • Transformation automatique
  • Validation globale
  • DTO de création
  • DTO de mise à jour
  • Gestion des champs optionnels
  • Réutilisation des DTO
  • Messages d'erreur de validation
07

Middleware, Pipes, Guards et Interceptors

Maîtriser le cycle d'exécution NestJS et intervenir aux différentes étapes du traitement d'une requête.

  • Middleware NestJS
  • Création de middleware personnalisé
  • Pipes
  • Transformation des paramètres
  • Guards
  • Contrôle des autorisations
  • Interceptors
  • Transformation des réponses
  • Logging avec interceptor
  • Mesure du temps d'exécution
  • ExecutionContext
  • Portée locale et globale
08

Gestion professionnelle des erreurs

Construire une stratégie d'erreur cohérente et exploitable par les clients de l'API.

  • Exceptions HTTP
  • HttpException
  • Exceptions prédéfinies
  • NotFoundException
  • BadRequestException
  • UnauthorizedException
  • ForbiddenException
  • Exception Filters
  • Création d'un filtre personnalisé
  • Format uniforme des erreurs
  • Journalisation
  • Masquage des informations sensibles
09

Concevoir une API REST avec NestJS

Appliquer les conventions REST à une architecture NestJS professionnelle.

  • Ressources REST
  • Endpoints
  • Méthodes HTTP
  • CRUD complet
  • Codes HTTP
  • DTO par opération
  • Pagination
  • Filtrage
  • Recherche
  • Tri des résultats
  • Versionnement de l'API
  • Bonnes pratiques REST
10

Bases de données et persistance

Connecter l'application NestJS à une base de données et organiser la couche de persistance.

  • Architecture de la couche Data
  • Bases SQL et NoSQL
  • Configuration de la connexion
  • Variables d'environnement
  • Entités et modèles
  • Repositories
  • CRUD base de données
  • Relations entre entités
  • Pagination
  • Transactions
  • Migrations
  • Optimisation des requêtes
11

Authentification et JWT

Construire un système sécurisé de création de compte, connexion et protection des routes.

  • Module d'authentification
  • Inscription utilisateur
  • Hash des mots de passe
  • Vérification des identifiants
  • JSON Web Token
  • Création des tokens
  • Validation des tokens
  • AuthGuard
  • Routes protégées
  • Utilisateur courant
  • Refresh Token
  • Déconnexion
12

Autorisations, rôles et permissions

Définir précisément les ressources accessibles selon le profil de l'utilisateur.

  • Authentification versus autorisation
  • Gestion des rôles
  • Administrateur et utilisateur
  • Décorateurs personnalisés
  • Création d'un RolesGuard
  • Metadata NestJS
  • Permissions par route
  • Permissions métier
  • Contrôle d'accès
  • RBAC
13

Sécurité d'une application NestJS

Mettre en place les protections essentielles d'une API exposée sur Internet.

  • Sécurisation des entrées
  • Validation systématique
  • Protection des mots de passe
  • Gestion des secrets
  • Variables d'environnement
  • Headers de sécurité
  • Helmet
  • Configuration CORS
  • Rate Limiting
  • Protection contre les attaques brute-force
  • Sécurisation des erreurs
  • Audit des dépendances
14

Configuration et environnements

Séparer proprement la configuration du code et préparer plusieurs environnements d'exécution.

  • ConfigModule
  • Fichiers .env
  • Configuration globale
  • Configuration typée
  • Variables obligatoires
  • Validation de configuration
  • Environnement de développement
  • Environnement de test
  • Environnement de production
  • Protection des secrets
15

Documentation d'API avec OpenAPI / Swagger

Produire automatiquement une documentation claire et exploitable des endpoints de l'application.

  • Principes OpenAPI
  • Intégration Swagger
  • Documentation des controllers
  • Documentation des opérations
  • Paramètres de routes
  • Documentation des DTO
  • Réponses HTTP
  • Erreurs possibles
  • Authentification Bearer
  • Interface Swagger UI
16

Upload et gestion des fichiers

Traiter des fichiers envoyés à l'API de manière contrôlée et sécurisée.

  • Upload multipart
  • Interceptors de fichiers
  • Fichier unique
  • Upload multiple
  • Validation des extensions
  • Limitation de taille
  • Nommage sécurisé
  • Stockage local
  • Stockage externe
  • Gestion des erreurs d'upload
17

Tests unitaires et tests End-to-End

Vérifier automatiquement le comportement des différents composants de l'application.

  • Stratégie de tests
  • TestingModule
  • Tests des services
  • Tests des controllers
  • Mocks
  • Providers simulés
  • Tests des Guards
  • Tests d'intégration
  • Tests End-to-End
  • Test des endpoints HTTP
  • Test des erreurs
  • Couverture de code
18

Cache, performances et optimisation

Améliorer les temps de réponse et préparer l'application à supporter davantage de charge.

  • Mesure des performances
  • Logging des temps de réponse
  • Cache applicatif
  • Cache de données
  • Optimisation des requêtes SQL
  • Pagination
  • Compression HTTP
  • Gestion des ressources
  • Traitements asynchrones
  • Fastify comme alternative HTTP
19

Architecture avancée et bonnes pratiques

Organiser une application complexe afin qu'elle reste compréhensible, testable et facilement évolutive.

  • Architecture par domaine
  • Séparation des responsabilités
  • Controllers fins
  • Services métier
  • Repository Pattern
  • Interfaces et abstractions
  • SOLID
  • Découplage des dépendances
  • Modules réutilisables
  • Dette technique
  • Maintenabilité
  • Documentation technique
20

Déploiement et mise en production

Préparer l'application NestJS pour un environnement de production fiable et sécurisé.

  • Build NestJS
  • Configuration production
  • Variables d'environnement
  • Démarrage de l'application
  • Gestion des processus
  • Logs applicatifs
  • Reverse proxy
  • HTTPS
  • Base de données en production
  • Migrations
  • CI/CD
  • Maintenance et monitoring
Projet fil rouge

Développer une API métier complète avec NestJS

Les participants construisent progressivement une véritable application backend NestJS. Le projet permet de mobiliser les concepts d'architecture, de données, d'authentification, de validation, de sécurité, de tests et de documentation étudiés pendant la formation.

Architecture modulaire
Controllers et services
API REST complète
Base de données
Inscription et authentification
Rôles et permissions
Documentation Swagger
Tests automatisés
Sécurisation de l'API
Préparation au déploiement
Compétences acquises

Ce que le participant saura réaliser

Architecture NestJS

  • Créer et configurer un projet NestJS.
  • Structurer l'application en modules.
  • Développer controllers et services.
  • Utiliser les providers.
  • Exploiter l'injection de dépendances.

Développement d'API

  • Concevoir une API REST.
  • Créer des DTO.
  • Valider les données entrantes.
  • Gérer les erreurs.
  • Documenter l'API avec OpenAPI.

Sécurité et données

  • Connecter une base de données.
  • Mettre en place l'authentification.
  • Sécuriser les routes.
  • Implémenter rôles et permissions.
  • Appliquer les protections backend.

Qualité et production

  • Écrire des tests unitaires.
  • Réaliser des tests End-to-End.
  • Optimiser les performances.
  • Configurer plusieurs environnements.
  • Préparer le déploiement en production.
Méthodes pédagogiques

Une approche centrée sur la pratique

Chaque notion technique est accompagnée d'une mise en pratique afin de transformer progressivement les concepts NestJS en compétences opérationnelles.

01

Apports techniques

Compréhension approfondie de NestJS, TypeScript et de l'architecture backend.

02

Démonstrations

Les fonctionnalités sont présentées et développées étape par étape.

03

Exercices pratiques

Manipulations régulières pour maîtriser les composants essentiels du framework.

04

Projet applicatif

Développement progressif d'une véritable API métier avec NestJS.

Prérequis

Connaissances recommandées

  • Connaître JavaScript moderne.
  • Comprendre async / await et les Promises.
  • Posséder des bases en TypeScript.
  • Connaître les principes de Node.js.
  • Comprendre les bases du protocole HTTP.
  • Connaître le principe d'une API REST est recommandé.
Public concerné

À qui s'adresse cette formation ?

  • Développeurs Node.js.
  • Développeurs backend.
  • Développeurs JavaScript et TypeScript.
  • Développeurs fullstack.
  • Développeurs souhaitant structurer des applications backend complexes.
  • Équipes techniques travaillant sur des API ou plateformes SaaS.
Organisation

Modalités pédagogiques

A

Progression encadrée

Les notions sont abordées du socle NestJS jusqu'aux problématiques d'architecture avancée.

B

Mise en pratique

Chaque notion importante est accompagnée d'exercices de développement backend.

C

Projet professionnel

La construction d'une API complète permet de mobiliser l'ensemble des compétences acquises.

Passez à une architecture backend professionnelle avec NestJS

Vous souhaitez organiser une formation NestJS, développer les compétences de votre équipe ou faire le point sur votre projet de formation ? Échangez directement avec Instants Web Formation afin de définir le parcours le plus adapté.

Demander un rendez-vous →
Évaluation de niveau • Instants Web Formation

Trouvez la formation adaptée à votre niveau réel.

Quelques minutes suffisent pour identifier vos acquis, repérer vos axes de progression et choisir un parcours de formation réellement adapté à vos compétences et à vos objectifs professionnels.

Positionnement précis Évaluez vos connaissances avant votre entrée en formation.
Parcours mieux ciblé Identifiez le niveau de formation correspondant à vos besoins.
Résultat rapide Obtenez une première lecture de votre niveau en quelques minutes.
Commencer mon évaluation Test rapide • Sans engagement • Orientation personnalisée