Objectifs

-Créer des API Rest avec Nestjs
-Manipuler les middlewares, les pipes, les 2ltres, les intercepteurs et les Guards NestJs.
-Maîtriser l’ORM et interagir avec une base de données via NestJs.
-Implémenter une couche de sécurité via les parties
authentification et autorisations via les RBAC

Programme

– Pourquoi choisir NestJs ?

– Installation de NestJs

– Découverte des éléments composant le Framework
Travaux pratiques
Installation et tour dans les différents fichiers du framework

– Présentation des modules NestJs

– Créer un module

– Rendre un module Global
Travaux pratiques
Création manuelle et via le cli d’un module et sa configuration

– Architecture de NestJs

– Création d’un contrôleur

– Système de routing

– Préfixer les routes d’un contrôleur

– L’objet Request et l’objet Response

– Récupérer le body d’une Request

– Définir les paramètres d’une route
Travaux pratiques
Création et configuration d’un contrôleur et simulations des différentes
méthodes HTTP
Simulation de plusieurs route et application des notions de l’ordre des
routes.
Création d’une application de gestion des TODO avec un CRUD Complet
en pratiquant la manipulation du Body, et des paramètres d’une Requête.

– Qu’est-ce que la programmation réactive ?

– Le pattern Observateur

– Les observables

– Les opérateurs de création et les opérateurs pipable

– Les subjects
Travaux pratiques
Manipuler les observables

– Définir les DTO

– Exemple d’utilisation d’un DTO

– Les mapped types
Travaux pratiques
Créer les DTO d’ajout et de mise à jour en utilisant les mapped types.

– Définition

– Les services

– Injection de dépendance
Travaux pratiques
Création de la couche service pour la gestion des Todo.
Démonstration de l’intérêt de l’injection de dépendance.

– Définition

– Utilisation

– Les Validation Pipe

– Transformation des objets

– Les décorateurs de validations

– Les pipes personnalisés (Custom Pipe)
Travaux pratiques
Création d’un pipe personnalisé. Utilisation des pipes de validation et
de transformation
Mise en place de messages d’erreurs personnalisés et génériques pour
certaines propriétés.

– Définition

– Comment créer un Middleware

– Comment appliquer un Middlware

– Quelques middleware pratiques
Travaux pratiques
Créer un middleware de log.
Mise en place et test des middlewares helmet, morgan et CORS.

– Définition

– Fonctionnement

– Comment déclencher une erreur et quels sont les différents types d’erreurs
Travaux pratiques
Gestion personnalisée des erreurs HTTP.

– Définition

– Utilisation

– Exemples
Travaux pratiques
Tester l’application des intercepteurs sur la requête
Personnalisation des réponses via l’intercepteur
Calcul du temps d’exécution des requêtes
Tester les différents scopes d’application de ces intercepteurs.

– Définition des variables de configuration

– Utilisation
Travaux pratiques
Modifier la configuration du projet en utilisant dotenv et la
configuration service

– Définition d’un ORM

– Présentation de TypeOrm

– Configuration

– Les entités

– Le Repostory

– Le QueryBuilder

– Les relations entre les entités
Travaux pratiques
Créer des fonctionnalités de recherche en utilisant les méthodes du
Repository et le QueryBuilder
Utiliser le lifecycle pour automatiser certaines fonctionnalités
Seed de la base de données via les fixtures en créant une standalone
application.

– Définition

– Crypter un mot de passe

– Authentifier vos utilisateurs

– Passport

– Passport Jwt

– Les Guards
Travaux pratiques
Implémenter les fonctionnalités signup et signin
Mise en place de la bibliothèque Passport

Référence :  WEB004

Type de Stage : Pratique

Durée : 4 jours

Public concerné:

Développeurs et chefs de projets
Web.

Prérequis:

Pour suivre cette formation, il
faut maîtriser JavaScript et
node.Js