Formation NestJS
Vous recherchez une formation Nest ou une formation NestJS complète et pratique ? Ce programme intensif sur trois jours vous permet de maîtriser NestJS, le framework Node.js moderne, pour créer des API REST et GraphQL robustes, modulaires et sécurisées. Vous apprendrez à comprendre l’architecture modulaire de NestJS, à utiliser controllers, services et modules, et à gérer la persistance des données avec Prisma, TypeORM ou Mongoose. La formation couvre également l’authentification JWT, la gestion des rôles et la sécurisation des endpoints, ainsi que la validation des données avec class-validator. Vous découvrirez comment documenter vos API avec Swagger, planifier des tâches, gérer des files d’attente avec Bull ou RabbitMQ, et implémenter l’upload de fichiers. Une introduction à GraphQL avec NestJS permet d’enrichir vos API et de les rendre plus flexibles. Un module complet est dédié aux tests pour garantir la qualité et la fiabilité de votre code. Vous apprendrez à réaliser des tests unitaires, des tests d’intégration et des tests end-to-end (e2e) avec Supertest, tout en appliquant les bonnes pratiques pour un projet test-friendly. À l’issue de cette formation NestJS, vous serez capable de créer des API performantes, maintenables et sécurisées, prêtes pour un usage en entreprise.
Objectifs pédagogiques
- Comprendre l’architecture et les concepts clés de NestJS (modules, controllers, services)
- Créer des API REST sécurisées avec gestion des données et authentification JWT
- Valider les données et sécuriser les endpoints selon les bonnes pratiques
- Documenter et tester les API avec Swagger et Jest (unitaires et e2e)
Pré-requis
- Maîtrise de JavaScript et TypeScript (classes, async/await, décorateurs)
- Connaissance de Node.js / Express et des API REST
- Notions de bases de données SQL ou NoSQL
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Les Fondamentaux de NestJS
- Introduction à NestJS : Philosophie, avantages, architecture (modules, controllers, services)
- Installation et configuration d'un projet NestJS : Utilisation du Nest CLI, configuration du package.json
- Structure d'une application NestJS : Analyse détaillée de l'exemple fourni
- Développement d'un premier contrôleur et d'un premier service : Requêtes HTTP, réponses, injection de dépendances
- Middleware, Guards, Pipes et Intercepteurs : Introduction et usage de base
- Validation de données : Class-validator
Jour 2
Gestion des Données
- TypeORM : Configuration, entités, repositories, requêtes
- Prisma : Modélisation, migration, Prisma Client
- Mongoose : Décorateurs, Model, requêtes
- DTO et validation avancée
Authentification et Autorisation
- Passport.js : Stratégies d'authentification (local, JWT)
- Gestion des rôles et des permissions
- Guards avancés et sécurisation des endpoints
- Sécurité des applications NestJS : Best practices, vulnérabilités courantes
Jour 3
Outils et Techniques
- Swagger : Documentation interactive de l'API
- Logging : Winston, NestWinston
- Configuration : Gestion des variables d'environnement, configuration dynamique
- Task Scheduling : Planification de tâches
- Gestion des files d'attente : Bull, RabbitMQ
- Transfert de fichiers : Multer, NestSFTP
- GraphQL : Introduction, mise en œuvre avec NestJS
Testing et qualité
- Introduction aux tests avec Jest
- Tests unitaires : Services, controllers, mocks et stubs
- Tests d’intégration : Communication avec la base de données (Prisma / TypeORM)
- Tests end-to-end (e2e) : Supertest, test de l’API complète
- Bonnes pratiques de tests : couverture minimale, structure de dossiers, isolation des tests
- Automation et CI-friendly : scripts npm pour exécution des tests, rapports de couverture
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation