Logo entreprise

Non finançable CPF
Formation MEAN Stack : MongoDB, Express.js, Angular et Node.js

Coût de la formation
4380.00€
Durée totale
Localisation
A distance 100% en ligne
Profils acceptés
Tout public
Certifications
OPQF, Qualiopi

Connaissances nécessaires

Bonnes connaissances de Node.js

Objectifs de la formation

Construire une application web fullstack avec la MEAN Stack : MongoDB, Express.js, Angular et Node.js

Programme et détails du déroulé de la formation

Programme de Formation MEAN Stack : MongoDB, Express.js, Angular et Node.js

Découvrir Angular

Présentation de l'environnement de développement NodeJS

Présenation de la CLI Angular

Rappel des normes EcmaScript

Créer un projet Angular à l'aide d'angular CLI

Atelier : Configurer un projet AngularTypeScript

Présentation de TypeScript

Les types de variables de TS

Le typage fort

Les interfaces de classe

Présentation des décorateurs

Présentation

La Syntaxe de base d'Angular

L'organisation en Module et Composant

Les décorateurs Angular

Le MVVM / MVW

Le One Way et Two Way Data Binding

L'opérateur "moustache"

La gestion des Events et l'objet $event

Les NgModel

Les variables de template

Atelier : Réaliser une TodoListGérer les routes

Le Module de Routage

Déclarer les routes d'un projet

Gérer les redirections

La route par défaut

Récupérer les paramètres d'url, les query-strings, etc

Limiter l'accès au route: Les guards

Routes imbriquées

Atelier : Mettre en place une application multi-vuesUtiliser les pipes

Présentation des pipes «|»

Utiliser le safeOperator «?.»

Importer des locales dans notre projet

Définir une locales par default

Utiliser les locales avec les filtres

Créer des pipes personnalisés

Les pipes pures et impures

Atelier: Créer un pipe personnaliséLes Directives

Différence entre directives d'attributs et structurelles

Les directives ngFor, ngIf, ngSwitch, ngClass, ngStyle

Utiliser les attributs ARIA (directive attr.*)

Créer une directive personnalisée

Transmettre des valeurs à une directive (@input)

Gérer les événements dans une directive

Atelier: Créer une directive personnaliséConstruire des Formulaires

Présentation des formulaires

Les Templates Driven Form et Reactive Form

Gérer la validations des champs et du formulaire

Présentation des états d'un formulaire (ngControl)

Valider les formulaires (ngSubmit)

Créer des validateurs personnalisés

Atelier : Gestion des entrées utilisateursGérer l'injection de dépendances

Principes de DI

Configurer l'injecteur

Enregistrer des services dans un composant

Création de l'injecteur

Différents types de service: classe, valeur, fabrique...

Atelier : Architecturer notre application sous forme d'une organisation de servicesUtiliser le client HTTP

Principe de communication asynchrone

Fonctionnement des promesses et async/await

Présentation des Observables RxJS

Le Module HttpClientModule

Communiquer avec une API REST (http.get, http.post, etc)

Appliquer des fonctions de callback

Gestion des erreurs

Typage les données retournées

Atelier : Mettre en place un client d'API RESTDéployer une application Angular

Les commandes de compilation

Les modes de compilation

Les compilations AOT et JIT

Gestion du base href

Les règles de réécriture

Atelier : Compiler un projet pour la publication

Comprendre l'architecture microservices

Architecture en couches : du monolythe au microservices

Contraintes d'architecture des microservices

Gestion de l'authentification centralisée dans une architecture microservices

Intérêt d'une passerelle d'API

Gestion centralisée des traces

Développement d'API REST avec Express.js

Express.js : principe, fonctionnalités, pré-requis

Configuration du projet : packages et modules additionnels : Morgan, Helmet, Cors,...

Configuration de morgan pour la gestion des logs de requêtes HTTP

Organisation des couches du projet : routes, services, repositories

Intérêt d'une couche DTO, utilisation d'un mapper d'objets : automapper ou autre

Implémentation de contrôleurs REST : gestion des routes, traitement asynchrone

Gestion des paramètres de méthodes et du mapping

Gestion du download

Gestion de l'upload, configuration

Gestion des services et des transactions associées

Gestion du cross origin avec Cors et restriction des domaines appelants

Test de l'api REST avec Postman

Ecriture de tâches asynchrones, planification

Cache web

Atelier : Écriture de micro-services avec Express.js - Test des méthodes de services avec Postman ou autreDocumenter une API REST

Open API Specification (Swagger) : présentation, outil

Utilisation de express-openapi

Visualisation avec Swagger Editor

Documentation du code Java, génération de javadoc

Atelier : Documentation de l'apiIntercepter des requêtes et gérer les erreurs

Gestion globale des exceptions

Capture d'exceptions personnalisées

Intercepteurs de requêtes/réponses

Atelier : Gestion des exceptions et implémentation d'intercepteursAppeler d'autres API REST (écriture de clients)

http_request : méthodes et paramètres

Ecriture de requêtes GET, POST, PUT, DELETE

Gestion des paramètres et du corps de la requête

Gestion des headers

Gestion des réponses et utilisation de mappers

Atelier : Implémentation de clients pour un service RESTSécuriser l'API REST

Configuration de Helmet

Gestion des données d’entête

Gestion des utilisateurs et des rôles : mise en place de JWT (passport-jwt)

Hachage des mots de passe avec bcryptjs

Atelier : Intégration de Helmet, jsonwebtoken, dotenv et bcryptjsTester une application Express.js avec Jest et SuperTest

Stratégies de tests, types supportés

Installation de jest, supertest et cross-env, configuration de l'application

Mocking des couches de l'application

Tests auto-configurés

Exécution et reporting

Atelier : implémentation et exécution de tests avec Jest et supertest

Configurer un projet Mongoose

Mongoose : Présentation, fonctionnalités

MongoDB : Installation, structure d'un schéma (collections, documents)

Configuration d'un projet Node.js utilisant Mongoose : pool de connexion, contraintes

Propriétés par défaut et paramétrage

Gestion des options de logging

Atelier : Intégration de Mongoose dans un projet Node.js, configuration de la Bdd NoSQL MongoDB et des tracesConstruire un modèle et écrire des requêtes

Modèle de base

Documents et sous-dodcuments

Gestion des types

Requêter des documents

Mise à jour et suppression de documents

Gestion des validations

Mongoose migrations (ts-migrate-mongoose)

Atelier : Réalisation d'un schéma global de BDD MongoDB, gestion des migrations et écriture de requêtesMaîtriser des concepts avancées

Cache : fonctionnement, mise en cache de requêtes (mongoose-cache)

Hooks

Mise en place d'une solution d'audit de tables (historique de modifications)

Atelier : Implémentation d'une couche complète de persistance - mise en place d'un cache