Maîtrisez le développement d’applications web avec Node.js grâce à cette formation complète. Conçue pour les développeurs souhaitant créer des applications performantes côté serveur, elle couvre les fondamentaux de Node.js, la gestion des modules, l’utilisation d’Express.js, la manipulation des bases de données (MongoDB) et la mise en production. Grâce à des cas pratiques, vous apprendrez à concevoir une API RESTful, gérer les requêtes HTTP, et sécuriser vos applications. Idéale pour les professionnels du web souhaitant monter en compétences sur les technologies JavaScript modernes, cette formation allie théorie et pratique pour une montée en compétence rapide. Préparez-vous à développer des applications robustes, évolutives et performantes, selon les standards actuels du développement web.
Introduction
- Présentation et concepts Node.js
- Installation et utilisation du REPL : présentation nvm & co
- JavaScript côté serveur : démonstrations et premiers travaux pratiques
- La « single-threaded event loop »
- API non bloquante : intérêts
Programmation asynchrone
- Les avantages et les pièges à éviter
- Gérer la soupe de callbacks avec Async
- Dompter les promesses
Les modules Node.js
- Description
- Fonctionnement
- Structure
Travaux Pratiques
- Rechercher et installer avec npm
Créer une application Web
- Écrire un serveur avec Node.js
- Présentation
- Démonstration
Se simplifier la vie avec Express
- Le routage
- La vue : choisir le bon moteur de template
- Gérer les fichiers statiques
Travaux pratiques
- Packaging de l’application avec npm
Bases de données SQL et NoSQL
- Les librairies d’accès aux bases de données
- Présentation
- NoSQL: MongoDB et Redis
- Modélisation avec NoSQL
- Différentes utilisations de Redis
- Implémentation du modèle
Tests unitaires et fonctionnels
- Tests unitaires avec Mocha (travaux pratiques)
- Tests fonctionnels avec les headless browsers (PhantomJS)
- Intégration avec npm
Communication en temps réel
- Définition et problématiques
- Les technologies à disposition
- Intégration des WebSockets HTML5 avec Socket.IO
Travaux pratiques
- Server-side events, websockets avec Socket.IO
Aller plus loin avec Socket.IO
- Manipuler la session utilisateur
- Description
- Travaux pratiques
Regrouper les sockets
- Description
- Travaux pratiques
Communication inter-process en temps réel
- Le pub/sub avec Redis
- Travaux pratiques
AMQP dans Node.js
- Présentation RabbitMQ et ZeroMQ
- Travaux pratiques
Event-Loop distribuée
- Travaux pratiques
Hautes performances avec Node.js
- Cluster
- Utiliser tous les processeurs de sa machine
- Cluster et données partagées
- La solution haute performance Redis
Bonus spécial Trolls
- Comparaison avec l’équivalent Apache/PHP
Conclusion et conseils
- Synthèse des bonnes pratiques de développement Node.js
- Veille : comment faire le tri dans les milliers de modules disponibles ?