Accueil > Technologies WEB > Node.js : programmation en JavaScript côté serveur
Formation #TWC123

Formation Node.js : programmation en JavaScript côté serveur

Durée : 4 jours

Code : TWC123

Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Apprendre à développer des applications réactives et performantes avec Node.js
  • Choisir les bons modules (npm) associés aux bonnes tâches
  • Assurer la persistance des données dans une base NoSQL
Programme
1/ Présentation de Node.js
  • Découverte
  • Intérêts de JavaScript côté serveur
  • Architecture et fonctionnement
  • Présenter l’API
2/ Premiers pas en Node.js
  • Installation du serveur Node.js
  • Le gestionnaire d'extensions NPM
  • L'approche modulaire de Node.js
  • Un serveur Web en quelques lignes
  • Utilisation de Node.js en REPL
3/ Les fondamentaux Node.js
  • Intérêt de la programmation asynchrone
  • La gestion événementielle : réagir plutôt qu'attendre
  • Principaux modules de l'API : console, util, file, events & timer...
  • Gestion des requêtes/réponses HTTP. HTTPS
  • Création de processus fils, https, sockets TCP et UDP...
4/ Communication
  • Création d’une application web
  • Gestion d’une requête, d’une réponse http et des évènements
  • Le routage
  • Bloquants ou non Bloquants
  • Récupération des requêtes POST/GET
5/ Les modules
  • Utilisation des modules http, fichiers, etc
  • Création d’un module
  • Séparation de l’application (MVC)
  • Où trouver des modules ?
  • NPM
  • Les frameworks
  • Description, fonctionnement et agencement
  • Les dépendances avec npm
  • Gestionnaire de paquets officiel
  • Packager et déployer un module sur npm
6/ Persistance des données
  • Initiation à une base NoSQL : MongoDB
  • Mise en place de CRUD (Create, Read, Update, Delete)
  • Utilisation d'un ODM : Mongoose
7/ Application complète
  • ORM avec Mongoose
  • Framework Web Express :
  • Router
  • Moteur de template
  • Gestion des fichiers statiques
  • Créer ses templates avec Jade
  • Gérer ces extensions avec NPM
8/ Test d'une application Node.js
  • Tests unitaires avec Mocha
  • Framework de tests unitaires
  • Chai (librairie d’assertions intuitive)
  • Tests fonctionnels (Zombie, Phantom et Casper)
9/ Le web avec NodeJS
  • Envoi de fichiers
  • Gestion du HTTPS
  • NodeJS et WebSockets HTML5 (intégration côte serveur et client)
  • Écrire un serveur web
  • Gérer les fichiers statiques
10/ Création des Addons C/C++
  • Récupérer et recompiler les sources
  • Addons avec les types d’IDE (Visual Studio, Eclipse, KDevelop, etc.)
11/ Découverte du NoSQL
  • Introduction à NoSQL
  • Plateformes
  • Interrogation
  • Couplage entre NodeJS et un moteur NoSQL
12/ Délégation des traitements lourds
  • Limites du modèle single-thread
  • Délégation des traitements à d’autres processus (pub/sub Redis, AMQP, ØMQ, Gearman et multi-threading)
13/ Concept avancés
  • Rendre son application “scalable”
  • La bibliothèque async : rendre l'asynchrone séquentiel
  • Le clustering avec Node.js
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Chefs de Projet
  • Développeurs
  • Architectes techniques