Python, Ruby, Php, Javascript, Java, SQL, Framework, HTML5, ...

Avancé 3 jours (21 h) 1575€ ht

Node.js, le JavaScript côté serveur

Solution émergente, Node.js, permettant l'exploitation serveur en JavaScript, est pourtant une des plus dynamique au sein de la communauté web.

Basé sur le moteur d’interprétation JavaScript V8 de Google, Node.js nourrit la promesse d'un code unifié entre le client et le serveur, tout en  exploitant la logique de fonctionnement JavaScript dans une optique de scalabilité.

Programme

1. 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. La programmation asynchrone

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

3. Les modules Node.JS

  • Description
  • Fonctionnement
  • Structure

3. Écrire un serveur avec Node.JS

  • Présentation
  • Démonstration

4. Se simplifier la vie avec Express

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

5. Les librairies d'accès aux bases de données

  • Présentation

6. NoSQL : MongoDB et Redis

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

7. Les tests avec Node.JS

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

7. Communication en temps réel

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

7. Travaux pratiques

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

8. Aller plus loin avec SOCKET.IO

  • Description
  • Manipuler la session utilisateur
  • Regrouper les sockets

9. 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

10. 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

11. Conclusion et conseils

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

11. 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.
Tlcharger l'article au format PDF