PLB CONSULTANT : 08. Node JS - Développement d'applications web
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. Auto-évaluation en début et en fin de formation.
Prix
Public
Développeurs, architectes techniques, chefs de projet Web…
Pré-requis
Avoir des connaissances pratiques du langage Javascript.
Objectifs pédagogiques
- Comprendre les principes clés de Node.js
- Se familiariser avec les composants de la plateforme logicielle
- Installer et configurer un serveur Node.js
- Mettre en œuvre les concepts de la programmation événementielle et asynchrone
- Manipuler l'API de Node.js
- Appliquer les bonnes pratiques à un projet Vue.js
Programme détaillé
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 (Node Package Manager) 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)
Utilisation de Node.js en REPL (Read-Eval-Print Loop).
L'injection de fonctions en JavaScript ou comment passer des traitements complexes à une autre fonction
Travaux pratiques
Usage de l’utilitaire NPM. Développer une première application.
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....
Principaux modules de l'API : console, util, file, events & timer...
Gestion des requêtes/réponses HTTP. HTTPS.
Création de processus fils, https, sockets TCP et UDP...
Travaux pratiques
Lecture de fichier, lecture d'une ressource en ligne, création d'un processus fils avec communication IPC.
La gestion de routes
Parsing d'URL (paramètres, requête...).
Traiter une requête en mode asynchrone.
Mettre en place un gestionnaire de routes.
Travaux pratiques
Mise en place d'un gestionnaire de routes.
Framework Web
Les concepts fondamentaux d'Express.
Construction d'un squelette d'application.
Configuration d'Express et de l'application.
Le rendu de vues avec EJS.
La gestion de formulaires et des uploads de fichiers.
Le routage d'URL par Express.
Mise en place d'une API REST.
Travaux pratiques
Mise en place d'une API REST complète.
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)
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 aux 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é
Travaux pratiques
Gestion d’une persistance au travers d’un ODM (Object Data Modelisation) avec création des modèles.
Outillage et bonnes pratiques
Tests unitaires
Qualimétrie du code
TypeScript & Node.js
Performance & Sécurité
Authentification avec Passport.js