Sommaire
2Sommaire ...........................................................................................................................................
2Partager ..............................................................................................................................................
4 Des applications ultra-rapides avec Node.js ......................................................................................
5Partie 1 : Comprendre Node.js ...........................................................................................................
5Node.js : mais à quoi ça sert ? ..........................................................................................................................................
5Du JavaScript « à la papa » à Node.js ........................................................................................................................................................................
6Node.js : le JavaScript côté serveur ............................................................................................................................................................................
8Pourquoi Node.js est-il rapide ? ..................................................................................................................................................................................
8Le moteur V8 ...............................................................................................................................................................................................................
8Le modèle non bloquant ..............................................................................................................................................................................................
13Installer Node.js ...............................................................................................................................................................
13Installation de Node.js sous Windows .......................................................................................................................................................................
16Installation de Node.js sous Mac OS X .....................................................................................................................................................................
19Installation de Node.js sous Linux .............................................................................................................................................................................
19Tester Node.js avec un programme minimal .............................................................................................................................................................
20Une première application avec Node.js ..........................................................................................................................
21Des serveurs web et des threads ..............................................................................................................................................................................
22Construire son serveur HTTP ....................................................................................................................................................................................
22Disséquons du code ..................................................................................................................................................................................................
24Tester le serveur HTTP .............................................................................................................................................................................................
25Retourner du code HTML ..........................................................................................................................................................................................
27Déterminer la page appelée et les paramètres .........................................................................................................................................................
27Quelle est la page demandée par le visiteur ? ..........................................................................................................................................................
29Quels sont les paramètres ? .....................................................................................................................................................................................
30Schéma résumé ........................................................................................................................................................................................................
30Partie 2 : Structurer son application Node.js .....................................................................................
31Les évènements ..............................................................................................................................................................
31Écouter des évènements ..........................................................................................................................................................................................
33Émettre des évènements ..........................................................................................................................................................................................
35Les modules Node.js et NPM ..........................................................................................................................................
35Créer des modules ....................................................................................................................................................................................................
38Utiliser NPM pour installer des modules ...................................................................................................................................................................
38Trouver un module ....................................................................................................................................................................................................
39Installer un module ....................................................................................................................................................................................................
40L'installation locale et l'installation globale ................................................................................................................................................................
40Mettre à jour les modules ..........................................................................................................................................................................................
41Déclarer et publier son module .................................................................................................................................................................................
41Le fonctionnement des numéros de version .............................................................................................................................................................
42La gestion des versions des dépendances ...............................................................................................................................................................
43Publier un module .....................................................................................................................................................................................................
45Le framework Express.js .................................................................................................................................................
45Les routes ..................................................................................................................................................................................................................
45Routes simples ..........................................................................................................................................................................................................
47Routes dynamiques ...................................................................................................................................................................................................
47Les templates ............................................................................................................................................................................................................
48Les bases d'EJS ........................................................................................................................................................................................................
49Plusieurs paramètres et des boucles ........................................................................................................................................................................
50Aller plus loin : Connect et les middlewares ..............................................................................................................................................................
50Express, connect et les middlewares ........................................................................................................................................................................
52Utiliser les fonctionnalités de Connect au sein d'Express .........................................................................................................................................
53TP : la todo list .................................................................................................................................................................
54Besoin d'aide ? ..........................................................................................................................................................................................................
55Les modules et le package.json ................................................................................................................................................................................
55Les routes ..................................................................................................................................................................................................................
56Bien chaîner les appels aux middlewares .................................................................................................................................................................
56Correction ..................................................................................................................................................................................................................
57La solution .................................................................................................................................................................................................................
58Les explications qui vont bien ...................................................................................................................................................................................
59Télécharger le projet .................................................................................................................................................................................................
59Allez plus loin ! ..........................................................................................................................................................................................................
60Partie 3 : La communication temps réel avec socket.io ....................................................................
61socket.io : passez au temps réel ! ...................................................................................................................................
61Que fait socket.io ? ...................................................................................................................................................................................................
62Émettre et recevoir des messages avec socket.io ....................................................................................................................................................
62Installer socket.io ......................................................................................................................................................................................................
63Premier code : un client se connecte ........................................................................................................................................................................
65Envoi et réception de messages ...............................................................................................................................................................................
68Communiquer avec plusieurs clients ........................................................................................................................................................................
69Envoyer un message à tous les clients (broadcast) ..................................................................................................................................................
70Les variables de session ...........................................................................................................................................................................................
75TP : le super Chat ...........................................................................................................................................................
75Besoin d'aide ? ..........................................................................................................................................................................................................
76package.json .............................................................................................................................................................................................................
2/82