OSYX - Conseils
OSYX - Développements
 
 
 

Node.JS: JavaScript côté serveur pour les développements Web

 


Durée (recommandée) : 3 jours


Description


JavaScript étant indispensable pour toute application Web moderne, il est de plus en plus naturel d'utiliser ce même langage côté serveur.
Fer de lance du JavaScript côté serveur, Node.js est dorénavant une alternative crédible pour le développement d'applications Web.
A travers son modèle asynchrone et événementiel, Node.js permet de traiter un nombre important de requêtes simultanées.
Doté d'un écosystème très riche et d'une communauté importante, Node.js une alternatives crédibles aux serveurs Java ou ASP.

 

Ce cours présente les concepts mis en avant par Node.js et leurs implications au sein d'un serveur.
Vous vous familiariserez avec la façon d'organiser le code en modules, acquerrez les bons réflexes de programmation asynchrone et mettrez en oeuvre une architecture sans états.


A l'issue de cette formation, vous serez en mesure de déployer une application
Web moderne bâtie sur Node.js.

 

Public concerné


Cette formation s'adresse aux développeurs Web ainsi qu'aux chefs de projet Web.

Niveau requis


Il est nécessaire de connaître les fondamentaux du langage JavaScript pour suivre efficacement cette formation.

 

Contenu du cours


  • L'environnement Node
    • Une extension de JavaScript
    • Le moteur V8
    • L'objet process
    • La boucle Read-Eval-Print
    • Exécution d'un programme Node
    • Chargement et utilisation des modules
    • La commande npm
  • Programmation évènementielle asynchrone
    • Déclenchement d'événements
    • Ecoute d'événements
    • Timers
    • La boucle d'événements
    • Les Callbacks le traitement des erreurs
    • Détection de changements des fichiers
  • Diffusion de données en continu entre Nodes et ses Clients
    • Les streams
    • Création d'un serveur HTTP
    • HTTPS, TLS (SSL): sécuriser le serveur
    • L'objet request
    • Travailler avec les en-têtes
    • Gestion des POST
    • Créer et diffuser des images avec Node
  • Accès au système de fichiers
    • Gestion des répertoires
    • Lecture/Ecriture de fichiers
    • Servir des fichiers static
    • Gestion des file uploads
  • Gérer plusieurs connections clients en continu
    • Routage des requêtes
    • Utilisation de Redis pour tester l'état des clients
    • Gestion des sessions
    • Authentification des connections
  • Applications temps-réel
    • AJAX
    • Communication bidirectionnelles avec Socket.IO
    • Server Sent Events
  • Environnement multiprocessus
    • Le modèle mono-thread de Node
    • Création de processus fils
    • Communication avec les processus fils
  • Mise à l'échelle d'une application
    • Utilisation de plusieurs serveurs
    • Queues de messages – RabbitMQ
    • Le module UDP
    • Utilisation des services Web d'Amazon
    • Authentification avec Facebook Connect
  • Stockage
    • Bases SQL: MySQL
    • Bases NoSQL: MongoDB
  • Tester les applications Node
    • Outil natifs de test et de mise au point proposés par Node
    • Grunt, Mocha, ZombieJS et PhantomJS

Déroulement du cours


Le cours est prévu pour comporter une partie travaux pratiques sur machine représentant plus de la moitié de la durée du cours.


Les participants reçoivent un support de cours qui leur servira par la suite d'ouvrage de référence.