Node.js

Découverte de la plateforme Node.js et développement de premières applications


Description de la formation

Découverte de la plateforme Node.js et développement de premières applications


Objectifs pédagogiques

- Découvrir la plateforme Node.js pour développer un back-end web moderne - Savoir développer, tester et mettre en production un serveur Node.js - Maîtriser la programmation asynchrone (callbacks, promises et async/await) et quelques fonctions incontournables fournies par Node.js: console, fs (filesystem), event emitter... - Installer et utiliser des modules npm: Express, Request-promise et Mongodb native - Applications: création d’un chatbot, et du serveur API d’une app web ou mobile, connectée à une base de données NoSQL

Public visé

- Développeur informatique - Architecte technique / DevOps - Intégrateur web / designer web - Manager technique

Prérequis de la formation

- Une première expérience en développement JavaScript - Compréhension du système de versionning Git

Programme de la formation (personnalisable)

JOUR 1 - LES BASES

Objectif : développer un chatbot en Node.js et le mettre en production

  • Installation de Node.js et de Express via NPM
  • Création d’un serveur web “Hello World” avec Express
  • Mise en production sur glitch, heroku ou cloud9
  • Lecture des réponses possibles depuis un fichier
  • Archivage des conversations dans plusieurs fichiers (un par interlocuteur)
  • Débogage avec node-inspect, ndb ou vscode
  • SSR / templating simple avec le module “mustache”

 

JOUR 2 - PERSISTENCE DES DONNÉES

Objectif : développer un serveur API connecté à une base de données NoSQL

  • Mécanismes de programmation asynchrone: callbacks, promises, async/await
  • Opérations CRUD sur une base de donnés NoSQL (MongoDB)
  • Comment concevoir, documenter et tester une API REST avec Express
  • Étendre le chat-bot pour qu’il soit capable de dire quel interlocuteur parle de quoi, en s’appuyant sur les archives de conversations stockées dans des fichiers, et en utilisant uniquement des appels synchrones

 

JOUR 3 - SERVICE AVEC COMPTES UTILISATEURS

Objectif : développer un serveur API connecté à une base de données NoSQL

  • Découverte de plusieurs API utiles: traduction, geocoding, analyse sémantique...
  • Interrogation d’API externes avec les modules “http” (fourni) et “request”
  • Identification utilisateur et stockage de sessions avec le module “passport”
  • Identification et correction de failles de sécurité: injection et XSS
  • Écriture de tests automatisés: unitaires, d'intégration et fonctionnels

 

JOUR 4 - ATELIER EN GROUPE

Objectif : réalisation en groupe du back-end Node.js d’une application web ou mobile, avec connection à une base de données NoSQL.