Prochaines sessions
Nous consulter.

Objectifs
- Savoir dans quel cas choisir Node.JS,
- Ecrire des applications pour Node.JS,
- Appréhender l’écosystème Node.JS,
- Mettre en oeuvre les bonnes pratiques de développement avec NodeJS.
Pré requis
- Maîtrise de JavaScript et connaissance du terminal et du développement web backend (type PHP ou Java web)
Modalités pédagogiques
Cours dispensé en mode présentiel avec une alternance d’apports théoriques et méthodologiques, et de mises en situations pratiques
Certification
non
Public visé
Inscription
Programmes de Node.js
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
La programmation asynchrone
- Les avantages et pièges à éviter
- Gérer la soupe de callbacks avec Async
Les modules NODE.JS
- Description
- Fonctionnement
- Structure
É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
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
Les tests avec Node.JS
- Tests unitaires avec Mocha (atelier)
- Tests fonctionnels avec les headless browsers
- 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
- Exercices sur les server-side events, websockets avec socket.io
Aller plus loin avec SOCKET.IO
- Description
- Manipuler la session utilisateur
- Regrouper les sockets
Communication inter-process en temps réel
- Le pub/sub avec Redis
- AMQP dans Node JS
- Présentation RabbitMQ et ZeroMQ
- Event-loop distribuée
Gestion de la performance avec Node.JS
- Les Cluster
- Utiliser tous les processeurs de sa machine
- Cluster et données partagées
- La solution haute performance Redis
- Bonus spécial troll
- Comparaison avec l’équivalent Apache/PHP
Conclusion et conseils
- Synthèse des bonnes pratiques de développement NodeJS
- Veille : comment faire le tri dans les milliers de modules disponibles ?