Dernière mise à jour le 16/09/2024

Informations générales

Type de formation : Formation continue
Domaine : Développement
Filière : Java JEE
Rubrique : Java/JEE
Formation éligible au CPF : Non
Formation Action collective : Non

Objectifs & compétences

A l’issue de la formation, le stagiaire sera capable :
        • Maîtriser les fonctionnalités principales de NodeJS
        • Savoir utiliser NodeJS, NPM et son écosystème dans les dernières versions
        • Savoir configurer un serveur de NodeJS
        • Développer une application web avec NodeJS et ES2022
        • Maîtriser la programmation événementielle & asynchrone
        • Créer et gérer APIs avec NodeJS
        • Sécuriser, industrialiser, tester & déployer son application
 
 

Public visé

Développeurs web
 

Pré-requis

Connaissance du langage JavaScript
Connaissance d’un framework côté client ou d’un autre langage de programmation orienté objet (java, php, etc.)
 

Programme

Jour 1 – Introduction aux principes fondamentaux
 
Rappel de JavaScript
    • L’histoire du langage
    • Les principes fondamentaux du langage
    • La boucle d’événement ou l’Event Loop
    • Les moteurs JavaScript
    • Focus sur le moteur V8 de Google
 
ES2022
    • Initiation à ECMAScript
    • Déclaration de variables et portée
    • Littéraux objets
    • Le format JSON
    • Les classes
    • Déstructuration
    • Rest et Spread
    • Template strings
    • Les fonctions fléchées
    • Les modules ES
    • Compatibilité native Node
    • Utiliser la dernière version de JavaScript grâce à Babel
 
Programmation asynchrone
    • Les callbacks
    • Les callbacks selon NodeJs
    • Le problème du “callback hell”
    • Utiliser async.js pour éviter le callback hell
    • Les promesses
    • Async control flow avec async / await
 
Introduction à NodeJs
    • La genèse de NodeJs
    • Exécuter du JavaScript côté serveur
    • Installation du serveur Nodejs
    • Un premier programme
    • Exécuter un fichier
    • Présentation globale de l’API de Node.Js
    • Comparaison avec d’autres technologies
 
Présentation des principaux composants Node.JS
    • Node CLI (outils en ligne de commande)
    • Les différents environnements de développement (IDE)
    • NPM – Le gestionnaire de paquets de node.js
    • package.json
    • Les Node Modules
    • Outils : Development Tools et Frameworks
 
Les objets globaux
    • Focus sur la documentation de l’API de Node
    • L’objet global et différence avec window
    • Utilisation des fonctions setTimeout, setInterval et setImmediate
    • logging sur process.stdout avec console
    • Accès au context du fichier avec __dirname et __filename
    • Accès à la configuration hardware du server process et os
 
Jour 2 – Manipulation de l’API de Node
 
Gestion des modules Node
    • Qu’est-ce qu’un module Node ?
    • Les modules core
    • Import de module avec require et import
    • Configuration de module et initialisation de module
    • Utilisations des modules utilitaires (util, path, queryString, url)
    • Création de modules
 
Découverte de NPM
    • Le gestionnaire de paquet
    • L’outil en ligne de commande npm
    • L’alternative yarn
    • Recherche de module en ligne de commande
    • Le site npmjs.com
    • Recherche de module sur le site
    • Installation locale ou global
    • Packaging de module
    • Le fichier package.json
    • Déclaration des dépendances
    • Gestion des conflits de version
    • Gestion de dépendances par environnement
 
Manipulation de fichier
    • Présentation du module fs
    • Lecture de fichier synchrone
    • Lecture de fichier asynchrone
    • Création de fichiers asynchrone
    • Suppression de dossier asynchrone
 
Programmation événementielle
    • Pourquoi la programmation événementielle
    • Présentation du module events
    • Utilisation de EventEmitter
    • Exemple d’utilisation concret
 
Jour 3 – Développement d’application web
 
Accès aux réseaux depuis NodeJs
    • Rappel de réseau
    • Les modules core Node orienté réseaux
    • Utilisation des module udp et net
    • Utilisation des module http et http2
    • Utilisation du module dns
    • Zoom sur le protocol HTTP
 
Création d’un serveur web avec l’api Node.JS
    • Qu’est-ce qu’un serveur HTTP ?
    • Lancement d’un serveur web Node
    • Gestion des requêtes/réponses HTTP
    • Mise en place d’un gestionnaire de routes
    • Traitement de requête de manière asynchrone
 
 
Création d’un serveur web avec Express
    • Introduction à Express
    • Comparaison avec Fastify et NestJS
    • Lancement d’un serveur express
    • Configuration d’une application Express avec les middlewares
    • Utilisation du gestionnaire de routes d’Express
    • Les moteurs de templating
    • Création de template Pug et rendering d’une page HTML
    • Traitement de formulaire HTML
 
Connexion à une base de données
    • Les bases de données compatibles
    • Introduction à MongoDB
    • Utilisation du package mongoose : création de modèle et requêtage
    • Lier une route à un modèle mongoose
    • Restifier un modèle de données avec express-restify-mongoose
    • Utilisation du package sequelize : création de modèle et requêtage
    • Lier une route à un modèle sequelize
    • Restifier un modèle de données avec finale-rest
 
Communication bidirectionnelle temps réel
    • Introduction à Websocket
    • Présentation de socket.io
    • Gestion de la communication côté serveur
    • Gestion de la communication côté client
 
Jour 4 – Industrialisation d’une application Node.JS
 
Builder votre projet
    • Pourquoi builder un projet nodeJs ?
    • Les outils de build
    • Rédiger ses propres scripts
    • Partir d’un projet boilerplate (style Yeoman)
 
Tester et déboguer
    • Les modules Node core pour tester et déboguer (console, debugger, inspector, repl, assert)
    • L’écosystème des packages npm orienté testing (unitaire et intégration)
    • Modules d’assertion : assert et Chai
    • Tester son module avec Mocha
 
L’écosystème des packages NPM
    • Bien choisir un package npm: analyse de viabilité
    • Les principaux frameworks de développement d’API
    • Qui sont les développeurs de package npm ?
    • Comment contribuer à un package npm ?
Sécurisation d’une application Node/Express
    • Les modules core de sécurité (crypto, https, tls)
    • Encryption de mot de passe avec bcrypt
    • Le package helmet
    • Authentification avec Passeport
 
Faciliter le développement d’application Node en équipe
    • Versionner proprement votre code avec git
    • Documentation du code avec docco
    • Documentation d’une API à l’aide de Swagger
    • Harmonisation d’une base de code à l’aide de ESLint
    • Imposer le typage via Typescript ou Flow
 

Modalités

Modalités : en présentiel, distanciel ou mixte – Horaires de 9H à 12H30 et de 14H à 17H30 soit 7H – Intra et Inter entreprise
Pédagogie : essentiellement participative et ludique, centrée sur l’expérience, l’immersion et la mise en pratique. Alternance d’apports théoriques et d’outils pratiques.
Ressources techniques et pédagogiques : Support de formation au format PDF ou PPT Ordinateur, vidéoprojecteur, Tableau blanc, Visioconférence : Cisco Webex / Teams / Zoom
Pendant la formation : mises en situation, autodiagnostics, travail individuel ou en sous-groupe sur des cas réels
 

Méthodes

Fin de formation : entretien individuel
Satisfaction des participants : questionnaire de satisfaction réalisé en fin de formation
Assiduité : certificat de réalisation (validation des acquis)
Code de formation : LEDN214

Tarifs

Prix public : 2430
Tarif & financement :
Nous vous accompagnons pour trouver la meilleure solution de financement parmi les suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
  • CPF -MonCompteFormation
Contactez nous pour plus d’information

Lieux & Horaires

Durée : 28 heures
Délai d'accès :
8 jours avant le début de la formation
 

Prochaines sessions

Handi-accueillante Accessible aux personnes en situations de handicap. Pour toutes demandes, contactez notre référente, Mme Rizlene Zumaglini Mail : rzumaglini@aston-ecole.com

à voir aussi dans le même domaine...

Formation continue

Java JEE

J-JBO

JBoss WildFly – Administrer des serveurs d’applications

JBoss, Cluster, Administration, Tomcat, mod_jk, JAAS, optimisation, datasource, EJB3, J2EE, HA, Seam

Savoir installer et démarrer le serveur JBoss Pouvoir configurer et déployer les applications JEE Être à même de sécuriser des applications Acquérir les compétences nécessaires à l'optimisation d'un serveur Jboss  

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

Java JEE

LEDN213

Javascript/Ecmascript : Initiation + Approfondissement

A l’issue de la formation, le stagiaire sera capable :

        • Apprendre et maitriser les bases de JavaScript, du DOM et de l'Ajax
 

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Java JEE

J-SPR

Développer avec Spring

spring, injection, dependances, j2ee, jee, java, EJB, inversion, contrôle, mvc, aop, poa, programmation, aspects, hibernate

Connaître les bases du framework Spring Savoir gérer la configuration des composants d'une application avec Spring Connaître les bonnes pratiques de développement avec Spring Connaître les apports de la Programmation Orientée Aspect (AOP)  

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

Java JEE

LEDN223

Spring, développer des applications d’entreprise

A l’issue de la formation, le stagiaire sera capable :

        • Comprendre les couches d'une application n-tiers
        • Mise en œuvre d'API REST, d'application MVC
        • Assurer la persistance des données
        • Sécuriser une application
        • Comprendre les relations entre Spring et les API Jakarta EE
        • Gagner en efficacité avec Spring Boot
 

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Java JEE

J-TES

Tests unitaires & intégration continue en Java avec Junit

JUnit, TestNG, DBUnit, Continuum, Jmock

Développer un test unitaire et comprendre comment les tests unitaires s'intègrent dans les différentes phases d'un projet Connaître les méthodes de développement liées aux tests unitaires et maîtriser les outils sous-jacents à la mise en oeuvre des tests unitaires (frameworks dédiés type JUnit, DBUnit, Mock Objects) Développer des tests unitaires dans des environnements J2EE (EJBUnit …) Comprendre et mettre en place un environnement d'intégration continue  

14 heures de formations sur 2 Jours
En savoir plus

Formation continue

Java JEE

J-TOM

Administration Tomcat

Tomcat, mod_jk, datasources, J2EE, administration, pool de connexion

Savoir installer et configurer un serveur Tomcat 7.x et 8.x Comprendre comment déployer et gérer des applications Web Être en mesure d'administrer les ressources des applications Web sur un serveur Tomcat Gérer les droits d’accès aux applications et la communication sécurisée Améliorer les performances avec le clustering  

21 heures de formations sur 3 Jours
En savoir plus