Formation Node.js : Développer des applications Web côté serveur


Objectifs
  • Savoir dans quel cas choisir Node.js
  • Ecrire des applications pour Node.js
  • Appréhender l'écosystème Node.js
  • Mettre en œuvre les bonnes pratiques de développement avec Node.js
Participants
  • Développeur
  • Architecte technique
  • Chef de projet Web
Approche Pédagogique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
  • Durée : 3 jours
  • Réf. : WEB58

Dates de Formations

08 au 10 Mai 2019

10 au 12 Juil. 2019

18 au 20 Sept. 2019

20 au 22 Nov. 2019

Programme
  • 1/ Introduction
    • • 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
  • 2/ Programmation asynchrone
    • • Les avantages et les pièges à éviter
    • • Gérer la soupe de callbacks avec Async
  • 3/ Les modules Node.js
    • • Description
    • • Fonctionnement
    • • Structure
  • 4/ Travaux Pratiques
    • • Rechercher et installer avec NPM
  • 5/ Créer une application Web
    • • Écrire un serveur avec Node.js
    • • Présentation
    • • Démonstration
  • 6/ Se simplifier la vie avec Express
    • • Le routage
    • • La vue : choisir le bon moteur de template
    • • Gérer les fichiers statiques
  • 7/ Travaux pratiques
    • • Packaging de l'application avec NPM
  • 8/ Bases de données SQL et NoSQL
    • • 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
  • 9/ Tests unitaires et fonctionnels
    • • Tests unitaires avec Mocha (atelier)
    • • Tests fonctionnels avec les headless browsers
    • • Intégration avec NPM
  • 10/ Communication en temps réel
    • • Définition et problématiques
    • • Les technologies à disposition
    • • Intégration des WebSockets HTML5 avec Socket.IO
  • 11/ Travaux pratiques
    • • Server-side events, websockets avec Socket.IO
  • 12/ Aller plus loin avec Socket.IO
    • • Manipuler la session utilisateur
    • • Description
    • • Atelier
  • 13/ Regrouper les sockets
    • • Description
    • • Atelier
  • 14/ Communication inter-process en temps réel
    • • Le pub/sub avec Redis
    • • Atelier
  • 15/ AMQP dans Node.js
    • • Présentation RabbitMQ et ZeroMQ
    • • Atelier
  • 16/ Event-Loop distribuée
    • • Atelier
  • 17/ Hautes performances avec Node.js
    • • Cluster
    • • Utiliser tous les processeurs de sa machine
    • • Cluster et données partagées
    • • La solution haute performance Redis
  • 18/ Bonus spécial Trolls
    • • Comparaison avec l'équivalent Apache/PHP
  • 19/ Conclusion et conseils
    • • Synthèse des bonnes pratiques de développement Node.js
    • • Veille : comment faire le tri dans les milliers de modules disponibles ?