Public
Développeur Java et JavaScript, Architecte
Objectifs
Maitriser l’architecture et le fonctionnement de NodeJS
Savoir installer et configurer NodeJS et son écosystème de plugins
Comprendre les concepts d’une architecture asynchrone
Savoir créer des applications NodeJS
Mettre en oeuvre les meilleures pratiques de développement et d’utilisation de NodeJS
Programme
Rappel des bonnes pratiques javascript
-
Visibilité des variables
-
Structuration de code
-
Les Closures
-
Objets et prototypes
-
Underscore.js
Introduction à nodejs
-
Origine du projet
-
Le moteur d'interprétation Chrome V8
-
La notion de gestion d'événements
-
Les différents usages
-
Overiew de l'écosystème de plugins
-
Installation
-
Un tout premier exemple
Architecture de nodejs
-
Asynchronisme
-
Programmation par callbacks
-
l'event loop
Modules et gestion de dépendances
-
l'approche modulaire
-
NPM et manipulation des modules
-
Le fichier package.json en détail
-
Modularisation de son code
-
Modules noyaux: console, process, os, fs, path et util
-
Publier un module sur NPM
Node et le Web : HTTP, Connect & Express
-
Périmètre du module HTTP
-
Connect et ses middlewares
-
Serveur Web avec Express
-
Générer un serveur Express generator
-
Router les requêtes
-
Gestion d'une requête et création d'une réponse
-
Utiliser un moteur de template
-
Ouverture à Passport et Hapi
L'asynchrone en détails
-
Callback Hell & Pyramid of Doom
-
Le module async
-
Les promesses
-
Exemples d'enchaînement et de parallélisation
-
Gestion des erreurs
Communication temps réel
-
Intégration des websockets HTML5
-
Socket.io
-
Gestion des transports
-
Intégration côté client et côté serveur
La gestion des streams
-
Description de Streams2
-
Buffers
-
Type de flux
Prérequis
Bonne connaissance de javascript.
Moyens pédagogiques
Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants sous forme de réunion-discussion
Utilisation de cas concrets issus de l'expérience professionnelle
Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation.
Remise d'un support de cours.