Votre partenaire formation 100% digital

Node.js

Partagez du code JavaScript entre le client et le serveur avec Node.JS

  • Formateur(s)

    Nicolas CHAMBRIER
  • Référence

    NOD01

  • Durée

    3 jours (21h)

  • Prix unitaire HT

    1650 €

Prochaines sessions

Prochaines sessions - Node.js
Date de début Ville Prix unitaire HT
18 mars 2019 Paris 1650 € Réserver
20 mai 2019 Paris 1650 € Réserver
8 juillet 2019 Paris 1650 € Réserver
7 octobre 2019 Paris 1650 € Réserver
2 décembre 2019 Paris 1650 € Réserver

Description

Node.JS est un projet open-source se basant sur le moteur V8 de Chrome, qui permet d’exécuter du JavaScript côté serveur, contrairement à ce qu’on a l’habitude de voir avec le javascript côté client. Il s’agit d’un interpréteur JavaScript exécutable, et enrichissant le langage avec sa propre API. Sa spécificité vient de son API, entièrement orientée vers le non bloquant, qui permet d’écrire des applications avec d’excellents temps de réponse.
Cette formation Node.js de 3 jours, vous permettra de maîtriser les concepts et spécificités de Node et d’aborder par la pratique l’ensemble des notions à connaître pour exploiter pleinement le potentiel de Node.JS.

Objectifs pédagogiques

  • Savoir dans quel cas choisir Node.JS
  • Ecrire des applications pour Node.JS
  • Appréhender l’écosystème Node.JS
  • Mettre en oeuvre les bonnes pratiques de développement avec NodeJS

Public cible

Développeurs JS, Architectes ou chefs de projet.

Pré-requis

Maîtrise de JavaScript et connaissance du terminal et du développement web backend (type PHP ou Java web)

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.

Méthodes pédagogiques

30% théorie / 70% pratique

Programme de la formation

Présentation et concepts Node.JS

  • Installation et utilisation du REPL : présentation nvm & co
  • JavaScript côté serveur : démonstrations et premiers travaux pratiques
  • La « single-threaded event loop »
  • API non bloquante : intérêts

La programmation asynchrone

  • Les avantages et pièges à éviter
  • Gérer la soupe de callbacks avec Async

Les modules NODE.JS

  • Description
  • Fonctionnement
  • Structure

Écrire un serveur avec Node.JS

  • Présentation
  • Démonstration

Se simplifier la vie avec Express

  • Le routage
  • La vue: choisir le bon moteur de template
  • Gérer les fichiers statiques

Les librairies d’accès aux bases de données

  • Présentation

NoSQL: MongoDB et Redis

  • Modélisation avec NoSQL
  • Différentes utilisations de Redis
  • Implémentation du modèle

Les tests avec Node.JS

  • Tests unitaires avec Mocha (atelier)
  • Tests fonctionnels avec les headless browsers
  • Intégration avec npm

Communication en temps réel

  • Définition et problématiques
  • Les technologies à disposition
  • Intégration des WebSockets HTML5 avec Socket.IO

Travaux pratiques

  • Exercices sur les server-side events, websockets avec socket.io

Aller plus loin avec SOCKET.IO

  • Description
  • Manipuler la session utilisateur
  • Regrouper les sockets

Communication inter-process en temps réel

  • Le pub/sub avec Redis
  • AMQP dans Node JS
  • Présentation RabbitMQ et ZeroMQ
  • Event-loop distribuée

Gestion de la performance avec Node.JS

  • Les Cluster
  • Utiliser tous les processeurs de sa machine
  • Cluster et données partagées
  • La solution haute performance Redis
  • Bonus spécial troll
  • Comparaison avec l’équivalent Apache/PHP

Conclusion et conseils

  • Synthèse des bonnes pratiques de développement NodeJS
  • Veille : comment faire le tri dans les milliers de modules disponibles ?

Travaux pratiques

  • Le stage se déroulera au fil des chapitres abordés, autour de la réalisation d’une application simple et fonctionnelle, permettant la mise en application concrète des concepts abordés.