Plongez au cœur de Node.
js avec notre formation détaillée.
En tant que plateforme basée sur le moteur JavaScript v8 de Chrome, Node.
js offre une approche non bloquante pour des opérations d’entrée/sortie asynchrones, se prêtant parfaitement aux traitements concurrents.
Acquérez les compétences pour identifier les cas d’utilisation de Node.
js et mettre en place un environnement de développement adéquat.
Apprenez à structurer et paramétrer un projet ‘module’, implémenter un serveur simple et définir un système de routage avec Express.
js.
Familiarisez-vous avec les opérations de persistance de données, l’écriture de tests unitaires et fonctionnels et l’implémentation des services de notifications serveurs.
La formation couvre également la communication en temps réel avec Socket.
IO, le pub/sub avec Redis, ainsi que l’optimisation des performances avec Node.
js.
Programme détaillé
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 ?