Pré-requis : Bonnes connaissances de Node.js
Objectifs : Construire une application web fullstack avec la MEAN Stack : MongoDB, Express.js, Angular et Node.js
Sanction : Attestation de fin de formation mentionnant le résultat des acquis
Référence : SIT102245-F
Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins
Contact : commercial@dawan.fr
5 475,00 € HT
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 Angular
Présentation de TypeScript
Les types de variables de TS
Le typage fort
Les interfaces de classe
Présentation des décorateurs
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 TodoList
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-vues
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é
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é
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 utilisateurs
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 services
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 REST
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
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
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 autre
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'api
Gestion globale des exceptions
Capture d'exceptions personnalisées
Intercepteurs de requêtes/réponses
Atelier : Gestion des exceptions et implémentation d'intercepteurs
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 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 bcryptjs
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
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 traces
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êtes
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
Délai d'accès :Le délai d’accès à la formation certifiante est de 7 jours après validation du dossier. Dans le cas d’un financement via votre CPF, la validation de votre dossier devra être réalisée 11 jours ouvrés avant le début de formation
Modalités d’évaluation : Les évaluation en cours de formations sont réalisées par les ateliers de mise en pratique et les échanges avec les formateurs
Construction d'une application web fullstack avec la MEAN Stack : MongoDB, Express.js, Angular et Node.js
Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.
Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 09 72 37 73 73 (prix d'un appel local) ou depuis notre formulaire de contact.
Bât Ravezies - 2e étage 250 avenue Emile Counord
33300 Bordeaux
Liaison directe de la gare Bordeaux Saint-Jean via le tram C
Rue de la Loi, 23
1040 Bruxelles
32 Boulevard Vincent Gâche
44000 Nantes
c/o CCI France Suisse Route de Jussy 35 Case postale 6298
CH-1211 Thônex - Genève
46 rue des Canonniers - 2è étage
59800 Lille
Proche des deux gares
5 Rue Goethe
L-1637 Luxembourg
62 rue de Bonnel - 1er étage Ascenseur à droite de l'entrée
69003 Lyon
38/40 rue de la République Escalier A, 1er étage
13001 Marseille
A proximité du vieux port
26 Allée de Mycènes Le Thèbes, Bât. A, 3è étage
34000 Montpellier
Quartier Antigone
32 Boulevard Vincent Gâche 5 ème étage
44200 Nantes
455 promenade des Anglais Bât Arenice, 7è étage
06200 Nice
11 rue Antoine Bourdelle
75015 Paris
dans le 15e arrondissement
3 place du Général Giraud
35000 Rennes
4 rue de Sarrelouis - 4è étage
67000 Strasbourg
1 place Occitane Bât. Le Sully - 4è étage
31000 Toulouse
Proche de Jean-Jaurès et du Capitole