Dawan Formation

Dawan Formation Centre de formation

Formations publiées

Formation Node.js : Gérer la persistance de données avec l'ODM Mongoose
Dawan Formation

Programme de Formation Node.js : Gérer la persistance de données avec l'ODM Mongoose

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

Non finançable CPF
1420.00 €
À distance
Tout public
Formation Node.js : Fondamentaux
Dawan Formation

Programme de Formation Node.js : Fondamentaux

Introduction

Présentation des versions de node

Principe d'un serveur Web

Comparaison entre serveur

Rappels de Javascript

Atelier : Télécharger et installer NodeJSPrésentation de Node.js

Gérer les versions de node (nvm vs n)

L'intérêt de javascript côté serveur

La single-threaded event loop

L'API non bloquante

Le moteur V8 de Google

Node.jset Ecmascript

Historique d'Ecmascript

Présentation du mode strict

Support d'ecmascript dans NodeJS (node.green)

Utiliser le gestionnaire de paquets

Présentation et description

npm: node package manager

Initialiser un projet avec npm

Présentation de la bibliothèque de module

Installation locale ou globale

Le fichier package.json

Gérer les dépendances (production et developpement)

npm et npx

Ajouter des scripts

Atelier : Créer différents scripts utiles à un projetLes variables globales

La documentation de l’API de Node

Les classes Global, Console (log, errors, trace)

Les variables __filename et __dirname

Capter et émettre des évènements

Les Timers

Atelier : Executer notre premier scriptManipuler les fichiers

Présentation du module FileSystem

Gérer les chemins et les urls

Créer, supprimer, renommer des fichiers et dossiers

Lire le contenu d'un fichier

Atelier : Manipuler des fichiersCallback et Promise

Présentation des callbacks (fonction de rappel)

Principe des Promises (les promesses)

Callbacks vs Promises

Implémentation des promesses

Transformation d'une fonction de rappel en promesse

Travailler les promesses avec la syntaxe async/await

Atelier : Utiliser les promessesCréer des modules Node.js

Isoler des fonctionnalités

Exporter des fonctions

Inclure des modules dans un projet

Différence entre module CommonJS et EcmaScript

Atelier : Créer ses propres modulesCréer un serveur avec Node.js

Le module "http"

Request et Response

Modifier les entêtes

Parser une url

Afficher des contenus au format HTML, JSON, XML

Gérer l'affichage des fichiers css, image et js

Atelier : Créer un serveur de fichiers statiquesCréer un serveur avec Express

Présentation de "Express"

Créer un projet Express

Les middlewares

Gérer les verbes http

Ajouter un moteur de templates

Récupérer les paramètres de requête, d'url et de formulaire

Les modules Morgan, Helmet, Cors

Utiliser Express avec Typescript

Atelier : Utiliser Express pour créer une application Web ou une API REST avec authentificationLes bases de données

Se connecter à des bases de données SQL et NoSQL

Récupérer un connecteur de SGBD

Utiliser et configurer un ORM : TypeORM

Créer une classe d’entité

Executer des requêtes et récupérer les resultats

Mettre en place des relations entre deux entités

Atelier : Connecter une base de donnéesTester une application

Présentation de Mocha

Les assertions dans Node.js : assert

Le module Chai

Les tests synchrones et asynchrones

Les hooks

Atelier : Lancer plusieurs tests

Non finançable CPF
1980.00 €
À distance
Tout public
Formation Node.js : Construire une API REST avec Express.js
Dawan Formation

Programme de Formation Node.js : Construire une API REST avec Express.js

Comprendre l'architecture

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

Non finançable CPF
1740.00 €
À distance
Tout public
Formation Node.js : Gérer la persistance de données avec TypeORM
Dawan Formation

Programme de Formation Node.js : Gérer la persistance de données avec TypeORM

Configurer un projet TypeORM

TypeORM : Présentation, fonctionnalités, SGBDR supportés

Configuration d'un projet Node.js utilisant TypeORM : DataSource

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

Gestion des options de logging, custom Logger

Atelier : Intégration de TypeORM dans un projet Node.js, configuration de la datasource et des tracesRéaliser le mapping des entités et des opérations

TypeORM et le pattern Repository Mapping des entités avec des annotations et gestion des clés primaires (simples, composées)

Mapping des types de bases, propriétés des colonnes

Gestion de la concurrence : optimistic (versioning), pessimistic

Gestion des relations : OneToMany/ManyToOne, OneToOne, ManyToMany

Paramétrage des cascades

Gestion des collections : Map, Set, List,...

Mapping de l'héritage

Stratégies de chargement : Lazy ou Eager

Gestion des migrations

Atelier : Réalisation d'un schéma global de mapping d'une base de données relationnelle et gestion des migrationsEcrire des requêtes

Interface Repository et ses dérivées (TreeRepository) : méthodes disponibles (CRUD)

Requêtes avec QueryBuilder : jointures, paramètres, fetch

Pagination de résultats

Gestion des procédures stockées

Atelier : Ecriture de repositories et testsMaîtriser des concepts avancées

Cache : fonctionnement, mise en cache de requêtes ou de repository

Configuration du cache global de data source

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

Non finançable CPF
1420.00 €
À distance
Tout public
Formation Node.js : Gérer la persistance de données avec l'ORM Sequelize
Dawan Formation

Programme de Formation Node.js : Gérer la persistance de données avec l'ORM Sequelize

Configurer un projet Sequelize

Sequelize : Présentation, fonctionnalités, SGBDR supportés

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

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

Gestion des options de logging

Atelier : Intégration de Sequelize dans un projet Node.js, configuration de la Bdd et des tracesDéfinir un modèle et écrire des requêtes

Modèle de base : attributs, clés, instances du modèle et synchronisation

Gestion des types

Gestion de la concurrence : optimistic (versioning), pessimistic

Gestion des associations : OneToMany/ManyToOne, OneToOne, ManyToMany

Paramétrage des cascades

Gestion des collections : Map, Set, List,...

Mapping de l'héritage

Stratégies de chargement : Lazy ou Eager

Gestion des migrations avec sequelize-cli

Ecriture de requêtes, support de Paranoid tables

Atelier : Réalisation d'un schéma global de mapping d'une base de données relationnelle, gestion des migrations et écriture de requêtesMaîtriser des concepts avancées

Cache : fonctionnement, mise en cache de requêtes

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

Non finançable CPF
1420.00 €
À distance
Tout public
Formation Angular : Approfondissement
Dawan Formation

Programme de Formation Angular : Approfondissement

Les composants interactifs

Cycle de vie des composants

Transmettre des paramètres vers une variable ou un mutateur

Les Décorateurs @Input et @Output

Notifier un composant avec EventEmitter

Composant(s) enfant(s): @ViewChild et @ViewChildren

Les guards

Présentation et utilité des guards

Liste des Guards (CanActivate, CanActivateChild, etc)

Gestions des types de retour

Créer des redirections à l'aide de l'UrlTree

Atelier: Restreindre l'accès aux RoutesArchitecture en Module

Décomposer le projet en Module

Navigation entre module

Le chargement fainéant: forRoot & forChild

Restreindre l'accès à l'aide du guard canLoad

Stratégie de préchargement

Personnalisé les strategies de préchargement

Atelier: Découper le projet en ModuleHttpClientModule

Rappel Module HttpClient

Présentation des Interceptors

Logique de manipulation des interceptors

La classe HttpEvent

Gestion de la mise en cache des requêtes

Atelier: Manipuler les interceptors

Rendu côté serveur

Intérêt du server-side Rendering

Présentation de Node Express

Utiliser le Server-side Rendering à l'aide du composant Universal

Tester l'application

Fondamentaux des tests avec Jasmine

Automatisation des tests avec Karma

Tester des composants simples

Tester des composants avec services asynchrones

Tester des formulaires

Atelier : Multiples exemples de tests

Non finançable CPF
1580.00 €
À distance
Tout public