Formation Node.js | Le JavaScript côté serveur
Objectifs
Installer et configurer un serveur Node.JS
Comprendre les concepts utilisés par Node.JS
Maîtriser 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
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 Node JS, 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
Évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de quizz, mises en situation, travaux pratiques…
En fin de formation, il est également demandé aux participants de mesurer leur satisfaction vis-à-vis de de la formation suivie.
Néosoft Training dispose d’un processus qualité qui prend en considération les éventuels dysfonctionnements rencontrés par les participants afin d’être proactif quant à la solution corrective adaptée tant sur le contenu de la formation elle-même que les conditions de son déroulement.
Accès
-
Métro
Bibliothèque François Mitterand
Quai de la Gare
-
RER
Bibliothèque François Mitterand
-
Bus
Pont de Tolbiac
François Mitterand
-
Tramway
Avenue de France
-
Adresse
- 3 rue de Tolbiac 75013 Paris