Objectifs
Penser et développer asynchrone dans un environnement multi-utilisateurs.
Approfondir NPM et la modularité.
Utiliser les modules Express et Socket.IO.
Maîtriser les API fondamentales fournies par Node.js.
Accéder aux données depuis Node.js.
Déployer une application Node.js.
Prérequis
Avoir une connaissance avancée de JavaScript.
Contenu du programme
Impacts architecturaux :
- Présentation de Node.js
- Intérêts de JavaScript côté serveur
- Asynchronisme
- Stateless
Asynchronisme avec Node :
- Logique asynchrone
- Des callbacks partout
- Nested callbacks
- Gestion d’erreurs
- Patterns asynchrones
Back end :
- Modes de connection
- Accès MongoDB
- Accès Redis
- Accès MySQL
- ORM pour Node.js
Node Package Manager :
- Commandes NPM
- Packager un module
- Installation locale ou globale
Express Web framework :
- Configuration
- API Requêtes et Réponses
- API Routes
- Orientation Rest
- Single et Multiple pages
Node API :
- Global objects
- Node Event Loop
- Event et EventEmitter
- Process objects
- Processus fils
- Timers
Modules :
- Inclusion de modules avec require
- Résolution des noms, chemins et fichiers
- Modules populaires
Programmation serveur :
- Modules http, net et dgram
- Modules dns et url
- Module fs (file system)
- Connect
- Ressources statiques
- Moteurs de templates
- Templates avec EJS
- Templates avec Jade et Stylus
Socket.io :
- Web Sockets
- Réception et envoi de messages
- Socket.IO côté client
Déploiement :
- Test avec mocha
- Build avec Grunt
- Liens avec Apache
- Modes de déploiement
- Forever