Développement Web & No-Code
Node.js, programmation JavaScript côté serveur
Avancé
À propos de cette formation
Cette formation couvre l'environnement Node.js dans son ensemble. Les participants découvrent l'approche événementielle et asynchrone propre à Node.js, apprennent à structurer une application, utilisent le framework Express pour créer des API REST, manipulent des données avec MongoDB via Mongoose, et testent leurs développements avec Mocha.
Objectifs de la formation
- Comprendre le fonctionnement de Node.js et son modèle événementiel
- Créer et structurer une application Node.js avec NPM
- Développer des routes et des API REST avec Express
- Persister des données dans MongoDB via l'ODM Mongoose
- Tester une application Node.js avec Mocha
Programme détaillé
Module 1 — Du JavaScript côté serveur
- Genèse de Node.js et positionnement par rapport aux autres environnements serveur
- Le moteur V8 et ses caractéristiques
- Programmation événementielle : principes et avantages
- Rappels JavaScript : callbacks, closures, scope, apply/bind/call
- Initiation aux fonctionnalités ES6
Module 2 — Premiers pas en Node.js
- Installation de Node.js et présentation de NPM
- Approche modulaire du code
- Création d'un serveur web en quelques lignes
- Utilisation du REPL interactif
- Travaux pratiques : usage de NPM et réalisation d'une première application
Module 3 — Les fondamentaux Node.js
- Gestion de l'asynchronisme et de la programmation événementielle
- Modules de l'API Node.js : console, util, file, events, timer
- Traitement des requêtes et réponses HTTP et HTTPS
- Gestion des processus fils
- Sockets TCP et UDP
- Travaux pratiques : lecture de fichier, accès à une ressource en ligne, communication via processus fils (IPC)
Module 4 — La gestion de routes
- Parsing d'URL et extraction des paramètres
- Traitement asynchrone des requêtes entrantes
- Mise en place d'un gestionnaire de routes
- Travaux pratiques : implémentation d'un gestionnaire de routes complet
Module 5 — Framework Web Express
- Concepts fondamentaux d'Express et structure d'une application
- Configuration et middlewares
- Rendu de vues avec le moteur EJS
- Traitement des formulaires et gestion des uploads
- Routage d'URL
- Création d'une API REST
- Travaux pratiques : développement d'une API REST complète avec Express
Module 6 — Persistance des données
- Introduction à MongoDB et aux bases de données NoSQL
- Opérations CRUD avec MongoDB
- Modélisation des données avec l'ODM Mongoose
- Travaux pratiques : persistance des données via Mongoose avec création des modèles
Module 7 — Test d'une application Node.js
- Présentation du framework de test Mocha
- Écriture d'assertions
- Tests synchrones et asynchrones
- Méthodes inclusives et exclusives
- Travaux pratiques : mise en place d'une suite de tests avec Mocha
Module 8 — Concepts avancés
- Bonnes pratiques de développement avec Node.js
- Utilisation de la bibliothèque async
- Clustering pour exploiter plusieurs cœurs
- Rétrocompatibilité et transpilers
Prérequis
Avoir une maîtrise solide de JavaScript. Une expérience préalable avec un framework front-end constitue un atout.