Skip to content

tdd/atelier-node-pw2014

Repository files navigation

Node.js démystifié

Code Climate Dependency Status

Un atelier Paris Web 2014 pour faire découvrir Node.js à ceux qui n’en ont jamais fait (mais qui ont fait du JavaScript, quand même…), pas à pas, dans la joie et la bonne humeur.

Public et pré-requis

Cet atelier s'adresse à toute personne curieuse de découvrir Node.js et ayant déjà un minimum de niveau en JavaScript (il n'est pas nécessaire d'être expert). L'atelier peut être suivi passivement, mais est conçu à la base pour être suivi interactivement sur les laptops des participants.

À ce titre, plusieurs technologies doivent être installées (voir les slides pour les liens utiles) :

À part ça, un éditeur confortable, une ligne de commande, et hop.

Installation

Outre les technos ci-dessus, le dépôt de base doit être récupéré.

De préférence avec Git, afin de bénéficier des tags intermédiaires :

$ git clone https://github.com/tdd/atelier-node-pw2014.git

Sinon en récupérant une archive de release et en la décompressant.

Étapes intermédiaires et tags

Chaque commit du dépôt, au-delà du tag start, constitue une étape intermédiaire. Les participants peuvent ainsi facilement partir d'une étape donnée, ou reprendre à une étape souhaitée, s'ils ont du mal à suivre ou sont moins intéressés par une partie de l'atelier.

Chaque tag constitue le début de l'étape qu'il annonce, le commit qui le suit complétant cette étape. On se cale sur un tag de façon classique, par exemple pour démarrer :

(master) $ git checkout -b atelier
(atelier) $ git reset --hard 00-start

Pour voir tous les tags :

$ git tag

Pour recaler votre version sur un tag donné, et repartir de là, par exemple pour attaquer la mise en place de la connexion MongoDB :

(atelier) $ git reset --hard 10-mongodb-cnx

Code source annoté

Retrouvez toute la codebase annotée dans le dossier doc (démarrez par exemple avec server.html). Vous pouvez aussi le consulter en ligne directement par ce lien.

Vous y retrouverez toutes les explications qui ont été fournies durant l’atelier.

Modules utilisés

Cet atelier vise à mettre en avant un certain nombre de modules très répandus. On y trouve notamment :

  • express pour le framework web de base, et des modules dédiés (middlewares Connect) :
    • body-parser pour l'extraction des paramètres de requête,
    • connect-flash pour les messages et données temporaires jusqu’au prochain rendering,
    • cookie-session pour la gestion des sessions signées dans les cookies,
    • csurf pour la protection contre CSRF,
    • morgan pour les logs simples,
    • serve-static pour servir les fichiers statiques.
  • jade pour le templating,
  • mongoose pour la modélisation de documents mongoDB,
  • passport pour les stratégies d'authentification, avec les stratégies retenues :
  • socket.io pour le temps-réel entre le serveur et ses clients,
  • colors pour des affichages plus jolis en console,
  • moment pour le formatage des dates et heures,
  • underscore pour les petits utilitaires algorithmiques pratiques.

Slides

La formation Node.js de JS Attitude

Ma société, Delicious Insights, propose via JS Attitude une excellente formation Node.js, vous devriez allez jeter un œil si le sujet vous intéresse !

Paris Web

Logo Paris Web

Paris Web est la conférence francophone de référence sur les sujets du web, en particulier du front. Autour de ses trois piliers clés : qualité, interopérabilité, accessibilité, elle décline depuis 2006 de nombreux thèmes tels que le design, l'UX, le mobile, les performances, les enjeux métier, et bien d'autres encore.

Elle se tient généralement à la mi-octobre, à Paris ou en proche banlieue, et accueille environ 600 personnes pour 2 jours de conférences du jeudi au vendredi, ainsi que 250 personnes le samedi pour des ateliers à très faible coût. Les plus grands noms du web y sont orateurs.

Toutes les conférences sont filmées et les vidéos mises à disposition gratuitement en ligne (de 2006 à 2012, à partir de 2013). Elles sont également streamées gratuitement en direct.

License

Ce dépôt est sous license MIT. Vous pouvez la consulter ici.