Programme : NodeJS
Introduction
- Présentation des versions de Node
- Principe d’un serveur Web
- Comparaison entre serveur
- Rappels de Javascript
- Atelier pratique : Télécharger et installer NodeJS
Présentation de NodeJS
- Gérer les versions de Node (nvm vs n)
- L’intérêt de Javascript côté serveur
- Tester des commandes avec REPL
- La single-threaded event loop
- L’API non bloquante
- Le moteur V8 de Google
- Atelier pratique : Exécuter les premiers scripts avec REPL
NodeJS et Ecmascript
- Historique d’Ecmascript
- Présentation du mode strict
- Support d’Ecmascript dans NodeJS (node.green)
Gestionnaire de paquets
- Présentation et description npm: node package manager
- Présentation de la bibliothèque de module
- Inclure des modules dans un projet: require
- Installation locale ou globale
- Le fichier package.json
- Gérer les dépendances (production et developpement)
- npm et npx
- Ajouter des scripts
- Créer et publier un module
- Atelier pratique : Tester npm.
Les variables globales
- La documentation de l’API de Node
- La classes Process: les events, les fluxs, etc
- Utiliser les sorties standards (stdin, stdout, stderr)
- Les classes Global, Console (log, errors, trace), Buffer, Streams
- Les variables __filenames et __dirnames
- Capter et émettre des évènements
- Les Timers
- Manipuler les fichiers
- Lecture et écriture de fichier
- Gérer les chemins et les urls
- Création, suppression, renommer des fichiers et dossiers
- Lister le contenu d’un fichier
- Atelier pratique : manipuler les fichiers
Callback et Promise
- Présentation des Callbacks (fonction de rappel)
- Principe des Promises (les promesses) Callbacks vs Promises
- Implémentation des promises
- Transformation d’une fonction de rappel en promesse
- Les fonctions async/await
- Atelier pratique : Utiliser les promesses
Créer un serveur avec NodeJS
- Le module «http»
- Request et Response
- Modifier les entêtes
- Parser une url
- Afficher un message sur le navigateur
- Gérer les pages statiques
- Ajouter un moteur de template
- Récupérer les paramètres de requête et de formulaire
- Atelier pratique : Créer un serveur
Créer un serveur avec Express
- Présentation de «Express»
- Créer un projet Express
- Les middlewares
- Gérer les verbs http
- Les modules Morgan, Helmet, etc
- Crypter les données avec bcrypt
- Atelier pratique : Utiliser Express
- Les bases de données
- Se connecter à des bases de données SQL et NoSQL
- Récupérer un connecteur de SGBD
- Exécuter des requêtes et récupérer les résultats
- Les ORM et ODM: sequelize et Mongoose
- Atelier pratique : Connecter une base de données
Tester et Debugger
- Debbuger nos pages à l’aide de chrome
- Utiliser l’inspecteur de code (–inspect)
- Présentation de Mocha
- Les assertions dans NodeJS: assert
- Le module Chai
- Les tests synchrones et asynchrones
- Les hooks
- Atelier pratique : Lancer plusieurs tests
- Atelier pratique : Mettre en place une API REST avec authentification
Évaluation des connaissances acquises