Formation Node.js

Le JavaScript côté serveur

sablier-violet  Durée : 2 jours

Référence : NOD 01

Réservez votre session

PARIS

22 Mai 2017

1390 € HT











Objectifs

Installer et configurer un serveur Node.JS
Comprendre les concepts utilisés par Node.JS
Maitriser l’écosystème et les outils comme NPM ou Grunt
Être capable de créer des applications web

Public

Développeur serveur, avec des bases en JavaScript souhaitant créer des applications rapides et robustes

Pré-requis

Connaissances en développement côté serveur (PHP, Python, Ruby, Java…).
Connaissances minimales de la syntaxe JavaScript et de ses spécificités (Closure, Prototype, Scope, …)

Méthodes pédagogiques

50% théorie / 50% pratique

Modalités d’évaluation

modalites_d_evaluation

Nos intervenants

nos_intervenants

Description

Node.JS a beaucoup fait parler de lui au cours des 5 dernières années. Utilisant le moteur V8 de Google, reposant sur des concepts innovants et terriblement efficaces comme un système d’IO non bloquant ou une boucle d’événements unique, Node offre d’excellentes performances.
Utiliser des technologies nouvelles comme MongoDB ou encore permettre une communication serveur/client immédiate via les WebSockets est très simple avec Node JS.

Au cours de cette formation, nous aborderons l’installation de l’exécutable Node et développerons une application web aussi complète que productive.

Programme

Présentation de Node.JS

  • Bref historique sur Node.JS
  • Intérêt du JavaScript côté serveur
  • Node.JS, NPM et modules

 

Installation de Node.JS

  • Installation de Node.JS
  • Installation de NPM

 

Concepts principaux de Node.JS et leur représentation dans le code

  • Qu’est-ce que l’Event Loop (Boucle D’événement)?
  • Que signifie « Non-Blocking IO » (IO Non Bloquant)?
  • Difficultés de la programmation asynchrone (Callbacks, …)
  • Création d’événements personnalisés avec la classe EventEmitter

 

Aides à la programmation asynchrone

  • Les Promises
  • La librairie Bluebird

 

L’API Node.JS

  • Présentation de quelques modules importants
  • Un outil puissant de gestion de flux: les streams
  • Les variables globales : process, require, __dirname, …
  • Interactions avec d’autres fichiers grâce à fs ou path
  • Interactions avec l’environnement via les modules os ou child_process

 

Module NPM

  • CommonJS et « require »
  • NPM
  • Anatomie d’un package NPM
  • Création d’un module
  • Architecture

 

Serveur Web avec Express

  • Utilisation de l’API de base mise à disposition par Node.JS (net/http)
  • Découverte d’Express (Framework Web)
  • Création de routes personnalisées
  • Gestion des erreurs

 

Middleware

  • Définition du Middleware
  • Utiliser et définir des middlewares dans Express

 

Task Runners

  • Comprendre ce qu’est un task runner
  • Utiliser l’outil Gulp

 

Templates et  langages

  • Comprendre ce qu’est un moteur de template
  • Avoir une vision simple de la syntaxe Jade
  • “Apprendre” de nouveaux langages
  • Utiliser Gulp pour des travaux de “compilations”

 

Persistance des données – MongoDB

  • Un mot sur le SQL – les ORM (Object-Document Mapper) Bookshelf et Sequelize
  • MongoDB et le JavaScript
  • Utiliser l’ODM (Object-Document Mapper) Mongoose

 

Authentification – Passport

  • Aborder l’authentification en Node.JS grâce à la librairie Passport
  • Être capable de se connecter à un serveur

 

Les WebSockets

  • Introduction au concept
  • Alternatives : Polling/Long Polling
  • Utiliser le framework Socket.io côté serveur
  • Un mot sur le client

 

Tests

  • Tests unitaires avec Mocha et Chai
  • Automatiser avec Karma