Back-end & frameworks
Node.js et Express : API et serveurs JavaScript
Créer des serveurs et des API REST avec JavaScript : modules, bases de données, Express et tests.
- Durée
- 21 h · 3 jours
- Niveau
- Intermédiaire
- Format
- Présentiel · Distanciel · Mixte
- Effectif max.
- 12 participants
Présentation
Ce programme apprend à développer côté serveur avec Node.js. Après avoir compris la boucle d’événements et l’asynchronisme, les participants utilisent les API natives, npm et les modules, accèdent à des bases de données, puis construisent une API REST avec Express. La formation se termine par les tests, le déploiement et un tour des nouveautés récentes de la plateforme.
À qui s’adresse ce programme
- Développeurs JavaScript front-end qui passent côté serveur
- Développeurs back-end qui découvrent Node.js
- Équipes qui montent une API pour une application web ou mobile
Prérequis
- Connaissance avancée de JavaScript (asynchronisme, modules)
- Notions de HTTP et de bases de données
Objectifs pédagogiques
- Expliquer la boucle d’événements et gérer l’asynchronisme
- Utiliser les modules natifs : système de fichiers, HTTP, événements, processus
- Gérer les dépendances avec npm
- Accéder à MongoDB, PostgreSQL ou Redis
- Construire une API REST avec Express
- Tester et déployer une application Node.js
Programme détaillé
6 modules · 21 h · 3 jours
Jour 1
Node.js et programmation asynchrone
50 % théorie · 50 % pratique
- Pourquoi Node.js : architecture et cas d’usage
- Boucle d’événements et opérations non bloquantes
- Callbacks, promesses et async/await
- Gestion des erreurs asynchrones
- Premier script serveur
API natives et modules
30 % théorie · 70 % pratique
- Système de fichiers et flux
- Événements, processus et threads de travail
- Modules CommonJS et ES modules
- npm : dépendances, scripts, versions
- Variables d’environnement et configuration
🛠 Ateliers pratiques
Outil en ligne de commande1,5 h
Écrire un utilitaire Node.js qui traite des fichiers.
✅ Livrable : Un outil en ligne de commande
Jour 2
Serveur HTTP et ressources statiques
50 % théorie · 50 % pratique
- Serveur HTTP natif : requêtes et réponses
- Routage manuel et limites
- Servir des fichiers statiques
- Moteurs de templates côté serveur
- Journalisation
Accès aux données
30 % théorie · 70 % pratique
- Choisir une base : MongoDB, PostgreSQL, Redis
- Connexion et requêtes depuis Node.js
- ORM et ODM : intérêt et limites
- Pool de connexions et gestion des erreurs
- Migrations et jeux de données de test
🛠 Ateliers pratiques
Couche d’accès aux données1,5 h
Brancher l’application sur une base et écrire les opérations de base.
✅ Livrable : Un module de persistance
Jour 3
API REST avec Express
30 % théorie · 70 % pratique
- Installation et structure d’un projet Express
- Routes, middlewares et gestion des erreurs
- Validation des données entrantes
- Authentification par jeton
- Documenter l’API
🛠 Ateliers pratiques
API de gestion de ressources2 h
Construire une API complète avec CRUD et authentification.
✅ Livrable : Une API REST sécurisée
Tests, déploiement et évolutions
50 % théorie · 50 % pratique
- Tests unitaires et d’API
- Conteneuriser et déployer
- Sécurité : dépendances, en-têtes, limitation de débit
- Nouveautés récentes de Node.js
- Bilan et pistes de progression
Outils et technologies
DockerJavaScriptMongoDBNode.jsPostmanVisual Studio Code
Méthodes pédagogiques
- Alternance d’exposés courts et de travaux pratiques
- Démonstrations en direct par le formateur
- Projet fil rouge construit au fil des modules
- Corrections collectives et échanges sur les bonnes pratiques
Évaluation
- Exercices pratiques corrigés à chaque module
- Mini-projet réalisé en fin de formation
- Quiz de validation des acquis
Matériel requis
- Un ordinateur avec une connexion internet
- Node.js installé, un éditeur de code et un outil de test d’API (Postman ou équivalent)
Ressources fournies
- Support de cours et dépôt d’exercices corrigés
Débouchés
- Une API REST fonctionnelle, testée et documentée
- Une architecture de projet Node.js propre
- Les réflexes de sécurité de base côté serveur