Public
Développeurs, architectes techniques et chefs de projet Web.
Pré-requis
Bonnes connaissances du langage Javascript. Une première approche d'un framework JavaScript (côté client) serait un plus.
Objectifs
À la fin de la formation, le participant sera capable de :
- Installer et paramétrer un serveur Node.js.
- Appliquer les concepts de programmation événementielle et asynchrone.
- Créer une application web en utilisant le Framework Express.
- Utiliser l'API de Node.js.
- Assurer la persistance des données dans une base de données NoSQL à l'aide d'un ODM.
Programme
JavaScript côté serveur
- Introduction de JavaScript côté serveur et de Node.js.
- Explication de l'utilisation du moteur Google V8 côté serveur.
- Les raisons de l’utilisation de la programmation événementielle.
- JavaScript de base : callbacks, closures, notions de portée, apply, bind, calls.
- Introduction à ECMAScript 6.
Première expérience avec Node.js
- Installation du serveur Node.js.
- Découverte du gestionnaire d'extensions NPM.
- Comprendre l'approche modulaire de Node.js.
- Comment créer un serveur web en quelques lignes.
- Utilisation de Node.js en REPL. Travaux pratiques : Utilisation de l'outil NPM pour développer une première application.
- Les bases de Node.js et La gestion des routes
Les bases de Node.js
- Les bénéfices du développement en asynchrone.
- La gestion des événements : privilégier une approche réactive.
- Les modules principaux de l'API : console, util, file, events, timer...
- Gestion des requêtes/réponses HTTP. HTTPS.
- Création de sous-processus, https, sockets TCP et UDP. Travaux pratiques : Lecture de fichiers, accès à une ressource sur internet, création d'un sous-processus avec communication IPC.
La gestion des routes
- Analyser une URL (paramètres, requêtes...).
- Gérer des demandes en mode asynchrone.
- Configuration d'un gestionnaire de routes. Travaux pratiques : Installation d'un gestionnaire de routes.
- Framework Web Express et La persistance des données
Framework Web Express
- Comprendre les concepts fondamentaux d'Express.
- Construire une structure d'application.
- Configurer Express et l'application.
- Rendu de vues avec EJS.
- Gérer des formulaires et des uploads de fichiers.
- Routing d'URL avec Express.
- Développer une API REST. Travaux pratiques : Création d'une API REST complète.
La persistance des données
- Introduction à une base de données NoSQL : MongoDB.
- Mise en œuvre des opérations CRUD (Création, Lecture, Mise à jour, Suppression).
- Utilisation d'un ODM : Mongoose. Travaux pratiques : Gestion de la persistance via un ODM et création des modèles.
Test d’une application Node.js et Concepts avancés
Test d’une application Node.js
- Initiation à Mocha.
- Les affirmations et les tests synchrones et asynchrones.
- Les différentes méthodes de test (inclusives, exclusives...). Travaux pratiques : Test d'une application avec Mocha.
Concepts avancés
- Les bonnes pratiques de développement avec Node.js.
- La bibliothèque async: réaliser de l'asynchrone de manière séquentielle.
- Le clustering avec Node.js. La rétrocompatibilité, les transpilers...
