[wpms_breadcrumb reverse="0"]
Développement web et Mobilité

Node.js 

Reference : IM14

3

jours
- Nous consulter
Télécharger la fiche
Prochaines sessions
    Node.js 
    Objectifs

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

    Pré requis

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

    Modalités et délais d’accès

    Bulletin d'inscription à retourner complété

    Pré-inscription

    Programmes de Node.js 

    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 ?