Développement web et Mobilité
Node.js
Reference : IM14

3
jours - Nous consulter Télécharger la fiche
Prochaines sessions

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 et délais d’accès
Pré-inscription
Bulletin d'inscription à retourner complété
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 ?