Maitriser NodeJS
Formation créée le 21/02/2022. Dernière mise à jour le 01/06/2023.
Version du programme : 1
Programme de la formation
Cette formation vous permettra de découvrir NodeJS et d'apprendre à développer une application.
Objectifs de la formation
- Comprendre le fonctionnement de NodeJS
- Comprendre l'architecture de NodeJS
- Etre en mesure de créer des applications NodeJS
- Détenir les bonnes pratiques de développement et d'utilisation de NodeJS
Profil des bénéficiaires
Pour qui
- Cette formation s'adresse à tous les publics techniques :
- Développeur
- Architecte
Prérequis
- Avoir des connaissances pratiques et avancées de Javascript (connaissances et mise en pratique sur des projets professionnels ou personnels)
- Avoir des connaissances de base sur la programmation
Contenu de la formation
-
Introduction (15 minutes)
- Tour de table des apprenants et du formateur : présentation
- Rappel des objectifs de la formation
-
Journée 1 - Rappel des fondamentaux de Javascript
-
Journée 1 - Introduction à NodeJS
- Origine du projet
- Le moteur d’interprétation Chrome V8
- La notion de gestion d’événements
- Les différents usages
- Overview de l'écosystème de plugins
- Installation
- Un tout premier exemple
-
Journée 2 - Architecture de Node.JS
- Asynchronisme
- Programmation par callbacks
- L’event loop
-
Journée 2 - Modules et gestion de dépendances
- L’approche modulaire
- NPM et manipulation des modules
- Le fichier package.json en détail
- Modularisation de son code
- Modules noyaux: console, process, os, fs, path et util
- Publier un module sur NPM
-
journée 2 - Node et le Web : http, connect & express
- Périmètre du module HTTP
- Connect et ses middlewares
- Serveur Web avec Express
- Générer un serveur Express generator
- Router les requêtes
- Gestion d’une requête et création d’une réponse
- Utiliser un moteur de template
- Ouverture à Passport et Hapi
-
L'asynchrone en détail
- Callback Hell & Pyramid of Doom
- Le module async
- Les promesses
- Exemples d’enchaînement et de parallélisation
- Gestion des erreurs
-
Communication temps réel
- Intégration des WebSockets HTML5
- Socket.io
- Gestion des transports
- Intégration côté client et côté serveur
-
La gestion des streams
- Description de Streams2
- Buffers
- Type de flux
- Pipelining
- Object mode
- Les outils : through2, trumpet, JSONStream…
- Gulp
-
Liaison avec la persistance des données
- Approche via le driver ou un ORM
- Intégration avec une base de données relationnelle
- Modules d’abstraction SQL
- Le module Sequelize
- Intégration avec une base de données NoSQL
- Le module Mongoose
-
Outillage et Usine Logicielle :
- Outils d’édition
- Utilisation des logs
- Outils de debogage
- Tests unitaires avec Mocha
- Modules Chai et Sinon
- Nodemon
- L’orchestration des tâches (build) avec Grunt
- Intégration dans le serveur d’intégration Jenkins
-
Node.js en mode Cluster :
- Utilisation du module cluster
- Master et workers
- Messaging
- Gestion des erreurs
-
Au delà de Node.js :
- Stack MEAN
- Déploiement de Node dans le Cloud
- Exemple avec AWS, Heroku
- Monitoring avec pm2 et NewRelic
Équipe pédagogique
1 INGENIEUR PEDAGOQIQUE
Suivi de l'exécution et évaluation des résultats
- Questionnaire d'auto-positionnement
- Feuilles de présence
- Questions orales ou écrites (QCM)
- Mises en situation
- Formulaires d'évaluation de la formation
- Certificat de réalisation de l’action de formation
Ressources techniques et pédagogiques
- Documents supports de formation projetés
- Quiz en salle
- Mise à disposition en ligne de documents supports à la suite de la formation
Capacité d'accueil
Entre 4 et 8 apprenants
Délai d'accès
4 semaines
Accessibilité
Nos formations sont accessibles aux personnes reconnues RQTH. Vous pouvez nous contacter pour étudier ensemble les moyens possibles à mettre en oeuvre pour vous permettre d'accéder à cette formation dans les meilleures conditions.