{"id":15679175,"url":"https://github.com/tdd/atelier-node-pw2014","last_synced_at":"2025-05-07T09:27:42.884Z","repository":{"id":21798516,"uuid":"25121054","full_name":"tdd/atelier-node-pw2014","owner":"tdd","description":"Substrat pour l'atelier « Démystifier Node.js » à Paris Web 2014","archived":false,"fork":false,"pushed_at":"2014-10-31T13:48:17.000Z","size":1245,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T08:39:19.415Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tdd.github.io/atelier-node-pw2014/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jlevy/the-art-of-command-line","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tdd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-12T14:06:40.000Z","updated_at":"2024-11-22T08:39:26.000Z","dependencies_parsed_at":"2022-08-17T19:55:22.750Z","dependency_job_id":null,"html_url":"https://github.com/tdd/atelier-node-pw2014","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdd%2Fatelier-node-pw2014","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdd%2Fatelier-node-pw2014/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdd%2Fatelier-node-pw2014/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdd%2Fatelier-node-pw2014/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tdd","download_url":"https://codeload.github.com/tdd/atelier-node-pw2014/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252850203,"owners_count":21813925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T16:26:35.200Z","updated_at":"2025-05-07T09:27:42.855Z","avatar_url":"https://github.com/tdd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Node.js démystifié\n==================\n\n[![Code Climate](https://codeclimate.com/github/tdd/atelier-node-pw2014/badges/gpa.svg)](https://codeclimate.com/github/tdd/atelier-node-pw2014)\n[![Dependency Status](https://gemnasium.com/tdd/atelier-node-pw2014.svg)](https://gemnasium.com/tdd/atelier-node-pw2014)\n\nUn [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.\n\n## Public et pré-requis\n\nCet 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.\n\nÀ ce titre, plusieurs technologies doivent être installées (voir [les slides](http://tdd.github.io/atelier-node-pw2014/) pour les liens utiles) :\n\n  * [Node.js](http://nodejs.org/)\n  * [Git](http://git-scm.com/)\n  * [mongoDB](http://www.mongodb.org/)\n\nÀ part ça, un éditeur confortable, une ligne de commande, et hop.\n\n## Installation\n\nOutre les technos ci-dessus, le dépôt de base doit être récupéré.\n\nDe préférence avec Git, afin de bénéficier des tags intermédiaires :\n\n    $ git clone https://github.com/tdd/atelier-node-pw2014.git\n\nSinon en récupérant [une archive de release](https://github.com/tdd/atelier-node-pw2014/releases) et en la décompressant.\n\n## Étapes intermédiaires et tags\n\nChaque 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.\n\nChaque 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 :\n\n    (master) $ git checkout -b atelier\n    (atelier) $ git reset --hard 00-start\n\nPour voir tous les tags :\n\n    $ git tag\n\nPour recaler votre version sur un tag donné, et repartir de là, par exemple pour attaquer la mise en place de la connexion MongoDB :\n\n    (atelier) $ git reset --hard 10-mongodb-cnx\n\n## Code source annoté\n\nRetrouvez 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](http://delicious-insights.com/talks/parisweb2014-node-annotated/server.html).\n\nVous y retrouverez toutes les explications qui ont été fournies durant l’atelier.\n\n## Modules utilisés\n\nCet atelier vise à mettre en avant un certain nombre de modules très répandus.  On y trouve notamment :\n\n  * [express](http://expressjs.com/) pour le framework web de base, et des modules dédiés (middlewares Connect) :\n    * [body-parser](https://github.com/expressjs/body-parser) pour l'extraction des paramètres de requête,\n    * [connect-flash](https://github.com/jaredhanson/connect-flash) pour les messages et données temporaires jusqu’au prochain rendering,\n    * [cookie-session](https://github.com/expressjs/cookie-session) pour la gestion des sessions signées dans les cookies,\n    * [csurf](https://github.com/expressjs/csurf) pour la protection contre [CSRF](https://fr.wikipedia.org/wiki/Cross-Site_Request_Forgery),\n    * [morgan](https://github.com/expressjs/morgan) pour les logs simples,\n    * [serve-static](https://github.com/expressjs/serve-static) pour servir les fichiers statiques.\n  * [jade](http://jade-lang.com/) pour le templating,\n  * [mongoose](http://mongoosejs.com/) pour la modélisation de documents mongoDB,\n  * [passport](http://passportjs.org/) pour les stratégies d'authentification, avec les stratégies retenues :\n    * [passport-local](https://github.com/jaredhanson/passport-local) pour les comptes locaux au serveur,\n    * [passport-facebook](https://github.com/jaredhanson/passport-facebook) et [passport-twitter](https://github.com/jaredhanson/passport-twitter) pour les authentifications OAuth auprès de ces deux services.\n  * [socket.io](http://socket.io/) pour le temps-réel entre le serveur et ses clients,\n  * [colors](https://github.com/Marak/colors.js) pour des affichages plus jolis en console,\n  * [moment](http://momentjs.com/) pour le formatage des dates et heures,\n  * [underscore](http://underscorejs.org/) pour les petits utilitaires algorithmiques pratiques.\n\n## Slides\n\n  * Les [slides de support](http://tdd.github.io/atelier-node-pw2014/) de l’atelier\n  * La dernière version avant Paris Web 2014 de ma présentation [Tour d'horizon de Node.js](http://delicious-insights.com/talks/mixit-node/) (fin avril 2014)\n  * *The business case for Node*, par Joe McCann, de The Node Source : [slides](http://fr.slideshare.net/joemccann/the-business-case-for-node) et [vidéo](https://www.youtube.com/watch?v=bqLXjNbMZpY) (mars 2014)\n\n## La formation Node.js de JS Attitude\n\nMa société, Delicious Insights, propose *via* [JS Attitude](http://www.js-attitude.fr/) une excellente [formation Node.js](http://www.js-attitude.fr/node-js/), vous devriez allez jeter un œil si le sujet vous intéresse !\n\n## Paris Web\n\n\u003ca href=\"http://www.paris-web.fr/\"\u003e\u003cimg src=\"http://www.paris-web.fr/telechargements/non-date/LOGO-PARISWEB.png\" alt=\"Logo Paris Web\" align=\"left\" width=\"220\"\u003e\u003c/a\u003e\n\n[Paris Web](http://www.paris-web.fr/) 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.\n\nElle 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.\n\nToutes les conférences sont filmées et les vidéos mises à disposition gratuitement en ligne ([de 2006 à 2012](http://www.dailymotion.com/playlists/user/parisweb/1), [à partir de 2013](http://vimeo.com/parisweb)).  Elles sont également streamées gratuitement en direct.\n\n## License\n\nCe dépôt est sous license MIT.  Vous pouvez [la consulter ici](https://github.com/tdd/atelier-node-pw2014/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftdd%2Fatelier-node-pw2014","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftdd%2Fatelier-node-pw2014","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftdd%2Fatelier-node-pw2014/lists"}