Objectifs de la formation Node js
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.
À qui s’adresse cette formation ?
Public :
Cette formation Node js s’adresse aux développeurs
Prérequis :
Une bonne connaissance globale du langage javascript et une première approche d’un framework javascript serait un plus (côté client).
Contenu du cours Node js
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