Formation Node.js
Concevez des applications backend modernes, performantes et sécurisées avec JavaScript. Apprenez à maîtriser Node.js, npm, Express, les API REST, les bases de données, l'authentification, la sécurité, les tests et le déploiement d'une application serveur.
Développer des applications serveur modernes avec Node.js
Node.js permet d'utiliser JavaScript côté serveur et constitue aujourd'hui une technologie majeure pour développer des API, des applications web, des plateformes SaaS, des services backend et des architectures distribuées.
Cette formation propose une progression complète depuis l'installation de l'environnement Node.js jusqu'à la réalisation et au déploiement d'une véritable application backend.
Les participants apprennent à structurer un projet, gérer ses dépendances, manipuler les modules natifs, créer un serveur HTTP, développer des routes et des contrôleurs, connecter une base de données et mettre en œuvre une authentification sécurisée.
Une attention particulière est portée aux bonnes pratiques de développement, à l'organisation du code, à la gestion des erreurs, à la sécurité, aux performances et à la maintenabilité des applications.
Les compétences visées
À l'issue de la formation, le participant doit être capable de concevoir et développer de manière autonome le backend d'une application web moderne.
Comprendre Node.js
Comprendre l'environnement d'exécution, son architecture et son modèle asynchrone.
Structurer un projet
Organiser proprement une application backend et gérer les dépendances avec npm.
Créer une API REST
Concevoir des routes, contrôleurs, services et endpoints HTTP cohérents.
Exploiter une base de données
Connecter une application Node.js à une base SQL ou NoSQL et manipuler les données.
Sécuriser l'application
Mettre en place authentification, autorisations, validation et protections backend.
Déployer en production
Préparer, tester, configurer et déployer une application Node.js exploitable.
Un parcours complet du JavaScript serveur jusqu'au déploiement
Le programme suit une progression pédagogique permettant de comprendre les fondamentaux avant d'aborder les architectures backend professionnelles.
Introduction à Node.js et au JavaScript serveur
Comprendre le rôle de Node.js dans une architecture web moderne et préparer un environnement de développement.
- Présentation de Node.js et de son écosystème
- Différences entre JavaScript navigateur et JavaScript serveur
- Architecture client / serveur
- Fonctionnement du moteur JavaScript V8
- Modèle événementiel de Node.js
- Event Loop et opérations non bloquantes
- Installation de Node.js
- Utilisation de Node depuis le terminal
- Découverte du REPL Node.js
- Organisation d'un premier projet backend
JavaScript moderne appliqué à Node.js
Consolider les mécanismes JavaScript indispensables au développement d'applications backend.
- Variables let, const et portée
- Fonctions classiques et fonctions fléchées
- Objets et tableaux
- Destructuring
- Spread et Rest operators
- Template literals
- Méthodes map, filter et reduce
- Classes JavaScript
- Gestion des erreurs avec try / catch
- Programmation asynchrone
- Promises
- async / await
Modules Node.js, npm et gestion des dépendances
Organiser une application en modules et exploiter efficacement l'écosystème de packages JavaScript.
- Initialisation avec npm
- Comprendre package.json
- Scripts npm
- Installation de dépendances
- Dépendances de développement
- Comprendre package-lock.json
- Semantic Versioning
- CommonJS
- ECMAScript Modules
- import et export
- Organisation modulaire du projet
- Gestion et mise à jour des packages
Modules natifs et manipulation du système
Utiliser les fonctionnalités natives de Node.js sans dépendre systématiquement de bibliothèques externes.
- Module fs et système de fichiers
- Lecture et écriture de fichiers
- Gestion des chemins avec path
- Variables et informations système
- Variables d'environnement
- Processus Node.js
- Événements avec EventEmitter
- Buffers
- Streams
- Manipulation efficace de données volumineuses
Création d'un serveur HTTP
Comprendre les mécanismes HTTP avant d'utiliser un framework backend.
- Fonctionnement du protocole HTTP
- Requêtes et réponses
- Méthodes GET, POST, PUT, PATCH et DELETE
- Codes de statut HTTP
- Headers HTTP
- Création d'un serveur avec le module http
- Routage manuel
- Lecture du corps d'une requête
- Envoi de données JSON
- Gestion des erreurs serveur
Développement backend avec Express
Accélérer le développement grâce à une structure de serveur claire et maintenable.
- Installation et configuration d'Express
- Création d'une application Express
- Définition des routes
- Paramètres d'URL
- Query parameters
- Body JSON
- Middleware Express
- Middleware personnalisé
- Organisation des routes
- Controllers
- Services
- Gestion centralisée des erreurs
Concevoir une API REST professionnelle
Structurer une API compréhensible, cohérente et exploitable par une application frontend.
- Principes d'une API REST
- Ressources et endpoints
- Convention des URLs
- CRUD complet
- GET, POST, PUT, PATCH, DELETE
- Codes HTTP appropriés
- Format des réponses JSON
- Pagination des résultats
- Tri et filtres
- Gestion cohérente des erreurs
- Versionnement d'une API
- Documentation des endpoints
Bases de données et persistance
Connecter l'application Node.js à une base de données et gérer durablement les informations.
- Introduction aux bases SQL et NoSQL
- Choisir une technologie adaptée au projet
- Connexion à une base de données
- Configuration sécurisée de la connexion
- Création d'un modèle de données
- Opérations CRUD
- Requêtes et récupération des données
- Relations entre données
- Validation avant enregistrement
- Gestion des erreurs de base de données
- Indexation et performances
- Migrations et évolution du modèle
Authentification et gestion des utilisateurs
Créer un système permettant d'identifier et d'autoriser les utilisateurs d'une application.
- Création de comptes utilisateurs
- Validation des données utilisateur
- Hash sécurisé des mots de passe
- Processus de connexion
- Sessions et tokens
- JSON Web Tokens
- Access Token
- Middleware d'authentification
- Routes protégées
- Gestion des rôles
- Autorisations
- Déconnexion et invalidation des accès
Sécurité d'une application Node.js
Identifier les principaux risques liés aux applications backend et mettre en œuvre des protections adaptées.
- Principes fondamentaux de sécurité backend
- Validation et nettoyage des entrées
- Protection contre les injections
- Gestion sécurisée des mots de passe
- Variables d'environnement
- Protection des secrets
- Configuration CORS
- Sécurisation des headers HTTP
- Limitation du nombre de requêtes
- Protection contre les attaques brute-force
- Gestion sécurisée des erreurs
- Vérification des dépendances
Upload, fichiers et ressources
Permettre à une application de recevoir et gérer des fichiers de façon contrôlée.
- Réception de fichiers
- multipart/form-data
- Vérification du type de fichier
- Limitation de la taille
- Renommage sécurisé
- Stockage local ou distant
- Organisation des ressources
- Suppression et remplacement de fichiers
Tests et qualité du code
Vérifier le comportement de l'application et réduire les régressions lors de son évolution.
- Intérêt des tests automatisés
- Tests unitaires
- Tests d'intégration
- Tests des routes API
- Préparation des données de test
- Assertions
- Tests des erreurs
- Couverture de code
- Linting
- Formatage automatique
Performances et optimisation
Identifier les points de ralentissement et améliorer les performances de l'application.
- Event Loop et performances
- Opérations bloquantes
- Gestion efficace des tâches asynchrones
- Streams pour les données volumineuses
- Pagination
- Optimisation des requêtes de base de données
- Mise en cache
- Compression des réponses
- Journalisation
- Analyse des performances
Configuration et déploiement en production
Préparer l'application afin qu'elle puisse fonctionner dans un environnement de production.
- Différences développement / production
- Configuration par environnement
- Variables d'environnement
- Scripts de démarrage
- Build et préparation du projet
- Gestion des logs
- Gestion des erreurs critiques
- Process Manager
- Reverse proxy
- HTTPS
- Principes de CI/CD
- Déploiement et maintenance
Architecture backend et bonnes pratiques professionnelles
Structurer le projet pour faciliter sa maintenance, son évolution et le travail collaboratif.
- Séparation des responsabilités
- Routes
- Controllers
- Services
- Models
- Middlewares
- Configuration
- Gestion centralisée des erreurs
- Réutilisation du code
- Convention de nommage
- Documentation technique
- Préparation au travail en équipe
Projet fil rouge : développer une API backend complète
Tout au long de la formation, les compétences acquises sont appliquées à la construction progressive d'une application backend. Le participant conçoit une API capable de gérer des utilisateurs, des ressources, des données persistantes et des accès sécurisés.
Ce que le participant saura réaliser
Développement Node.js
- Installer et configurer Node.js.
- Créer et organiser un projet backend.
- Utiliser les modules natifs.
- Gérer les dépendances avec npm.
- Maîtriser la programmation asynchrone.
Développement d'API
- Créer un serveur HTTP.
- Développer une API REST.
- Construire des routes et contrôleurs.
- Gérer les requêtes et réponses JSON.
- Implémenter un CRUD complet.
Données et utilisateurs
- Connecter une base de données.
- Concevoir un modèle de données.
- Créer un système utilisateur.
- Gérer l'authentification.
- Protéger des routes et ressources.
Production et qualité
- Sécuriser une application backend.
- Écrire des tests.
- Optimiser les performances.
- Configurer les environnements.
- Préparer un déploiement en production.
Une formation orientée pratique
L'apprentissage alterne explications techniques, démonstrations et développement afin de favoriser l'acquisition progressive des compétences.
Apports théoriques
Compréhension des concepts Node.js, HTTP, API et architecture backend.
Démonstrations
Mise en œuvre commentée des différentes fonctionnalités étudiées.
Exercices pratiques
Manipulations régulières permettant d'acquérir les automatismes du développement.
Projet applicatif
Construction progressive d'un backend complet et exploitable.
Connaissances recommandées
- Connaître les fondamentaux de JavaScript.
- Comprendre les variables, fonctions, objets et tableaux.
- Posséder des notions de HTML et CSS.
- Être à l'aise avec un éditeur de code.
- Savoir utiliser les fonctions de base d'un terminal est recommandé.
À qui s'adresse cette formation ?
- Développeurs JavaScript.
- Développeurs frontend souhaitant évoluer vers le backend.
- Développeurs web fullstack.
- Intégrateurs disposant déjà de bases JavaScript solides.
- Professionnels souhaitant développer des API et applications web modernes.
Modalités pédagogiques
Formation accompagnée
Les notions sont introduites progressivement et immédiatement appliquées en pratique.
Exercices techniques
Chaque partie importante fait l'objet de manipulations et d'exercices de développement.
Projet professionnel
Une application backend complète permet de mobiliser toutes les compétences du parcours.
Construisez des applications backend solides avec Node.js
Découvrez les modalités de la formation Node.js, les possibilités d'organisation et les solutions adaptées à votre projet professionnel ou aux besoins de votre entreprise.
Trouvez la formation adaptée à votre niveau réel.
Quelques minutes suffisent pour identifier vos acquis, repérer vos axes de progression et choisir un parcours de formation réellement adapté à vos compétences et à vos objectifs professionnels.
Votre progression