Course objectives
Node.js est une approche performante et non-sequentielle, permettant de développer très facilement des applications écrites en Javascript, mais côté serveur…. L’ecosystème node.js est déjà très important, et répond à de nombreux besoins d’applications serveur pour les webservices, le traitement de très grand nombre de requêtes web, le partage d’un code commun entre serveur et client, les websockets etc… Cette formation Node.js intensive, vous permettra d’acquérir des nouveaux usages de développement autour de la programmation javascript côté serveur avec node .js (programmation événementielle et asynchrone, modularité, routage,…) au travers de cas concret d’utilisation.
Who is this course for?
Cette formation Node js s’adresse aux développeurs
Prerequisites
Une bonne connaissance globale du langage javascript et une première approche d’un framework javascript serait un plus (côté client).
Programme
Du JavaScript côté serveur
- Genèse du JS côté serveur et de node.js : du besoin à la réalité
- Le moteur Google V8 utilisé côté serveur
- Pourquoi utiliser la programmation événementielle
- Approche non-bloquante d’une application : avantages et limites
- L’écosystème node.js (socketstream, expressjs, …)
Premiers pas en node.js
- Installation du serveur node.js (déploiement, configuration, …)
- Le gestionnaire d’extensions NPM ou comment étendre nodejs en quelques instants (catalogue en ligne, local, ou global)
- Premier cas concret : Hello World
- Un serveur web en quelques lignes (création de la structure de base d’une application web)
- L’injection de fonctions en javascript ou comment passer des traitements complexes à une autre fonction
La programmation asynchrone & orientée événements
- Quel intérêt de développer en asynchrone ?
- La gestion événementielle en détail : réagir plutôt qu’attendre
- Cas concret pour la lecture de flux
- Utilisation dans les bases de données : traitements lourds, traitements imbriqués….
Tour d’horizon de l’API node.js
- Les fonctions utilitaires (console, util, …)
- La gestion de buffers
- Utilisation des events et des timers programmables
- Accès aux fichiers (lecture, écriture, fonctions diverses)
- Gestion des requêtes / réponses HTTP ( et initiation à HTTPS)
- Création de processus fils, https, sockets TCP & UDP
Un serveur d’API Rest en node.js
- Rappels sur le fonctionnement RESTful Gérer des routes (URL) La librairie Express : le généraliste La librairie Restify : le spécialiste
Node.js et l’accès au données
- Initiation à une base de données NOSQL : MongoDB Connecteur pour mongoDB : Mongoose Le spécialiste ORM pour n’importe quelle BDD : Waterline le généraliste Node.js et la scalabilité
Outillage et bonnes pratiques
- Tests unitaires Qualimétrie du code TypeScript & Node.js Performance & Sécurité Authentification avec Passport.js
Topics: Javascript - HTML5

