Node.js permet d’utiliser JavaScript côté serveur pour construire des applications Web rapides et scalables grâce à son modèle événementiel non bloquant. Cette formation couvre les fondamentaux de Node.js, de l’Event Loop et l’asynchronisme à la création d’API REST avec Express, en passant par l’accès aux bases de données et les tests. Vous repartirez avec les compétences pour développer et déployer des applications back-end JavaScript en production.
Public visé
Développeurs, architectes et chefs de projets techniques.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Développer de manière asynchrone dans des environnements multi-utilisateurs
- Identifier les API principales de Node.js
- Décrire NPM et la modularité en profondeur
- Accéder aux données depuis Node.js
- Utiliser les modules Express
- Créer et tester des API REST
- Tester des applications Node.js
Programme
Jour 1 - Matin
Impacts architecturaux
- Rappels JavaScript
- Présentation rapide de NPM (Node Package Manager)
- Les modules dans Node.js
- Apports de N-API dans les dernières versions
- Présentation de Node.js
- Utilisation de REPL (Read Eval Print Loop)
- Intérêts de JavaScript côté serveur
- Asynchronisme, programmation évènementielle
- Stateless
Asynchronisme avec Node
- Présentation de l’Event Loop
- Logique asynchrone
- Des callbacks partout
- Nested callbacks
- Gestion d’erreurs
- Patterns asynchrones :
- Les promesses
- Le pattern Async / Await
Travaux pratiques
- Conception d’un premier programme Node.js pour comprendre l’aspect asynchrone du langage
Jour 1 - Après-midi
Node API
- Global objects
- Event et EventEmitter
- Process objects
- Gestion des processus fils
- Timers
- Les Worker Threads
Travaux pratiques
- Traitement des évènements avec Node.js
Modules
- Inclusion de modules avec require
- Résolution des noms, chemins et fichiers
- Modules populaires avec :
- Console
- Util
- Timers…
Travaux pratiques
- Présentation et utilisation des modules les plus utiles
Jour 2 - Matin
Programmation serveur
- Rappels de la programmation asynchrone
- Modules HTTP et NET
- Modules DNS et URL
- Module FS (File System)
- Connect
- Ressources statiques
- Moteurs de templates
- Templates avec EJS
Travaux pratiques
- Utilisation des modules HTTP, NET, DNS et URL
- Utilisation du module FS
- Création d’une application Web avec EJS
Jour 2 - Après-midi
Back end
- Modes de connexion
- Accès MongoDB
- Accès Redis
- Accès MySQL
- ORM pour Node.js
Travaux pratiques
- Ajout de l’accès à une base de données MySQL depuis Node.js
- Accès via l’API
- Accès via l’ORM Sequelize
Node Package Manager
- Commandes NPM
- Packager un module
- Installation locale ou globale
Travaux pratiques
- Utilisation de diverses commandes importantes de NPM en local et global
Jour 3 - Matin
Express Web Framework
- Configuration
- API Requêtes et Réponses
- API Routes
- Présentation de REST
- Création d’une API REST
Travaux pratiques
- Mise en oeuvre d’une application serveur Web avec Express Web
- Création d’API REST accédant à la base MySQL et répondant en JSON à un client JavaScript
Jour 3 - Après-midi
Travaux pratiques
- Création et déploiement d’une application
Tests
- Test avec Mocha
- Assertions
Les nouveautés
- Node 23 et Node 24 :
- Require avec les modules ES
- Exécution de code JS en ligne de commande
- LocalStorage et SessionStorage
- Autres fonctionnalités expérimentales et gain de performance
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Pour aller plus loin
Cette formation donne accès à cette formation :
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
Formation DEV-NODE-100 — NodeJS - Initiation. Domaine : Développement. Niveau : Initiation. Durée : 3 jours (21 heures). Cylian Formation, Dijon.