nodejs courses
====== What is nodejs ======
Qu'est-ce que nodejs
* Unordered List Itemplateforme logicielle
* basée sur V8 (moteur javascript de Chrome)
* créé en 2009 par Ryan Dahl
À quoi ça sert?
* gulp grunt bower yeoman (building & packages utilities)
* web server (express, hapi, mean, sails, meteor)
* other stuffs (node-webkit, nodered.org)
Pour les curieux, voici le dossier avec les exemples [[http://tag.freelancis.net/2015/nodejs/published/helloworld.zip|helloword.zip]]
====== installation ======
==== sous linux ====
Cette install est orientée debian/ubuntu/mint récents
* lancez un terminal
* est-ce que j'ai nodejs installé ?
taper dans un terminal
node -v
si ça échoue, essayez
nodejs -v
* si vous n'avez pas nodejs d'installé ou une version inférieure à 0.10
sous ubuntu12 c'est galère, passez à 14 ou ajoutez un PPA
* installez
sudo apt-get update
sudo apt-get install -qq -y nodejs
# to ensure compatibility with #!/usr/bin/env node
sudo apt-get install -qq -y nodejs-legacy
==== Sous MacOSX ====
* avez-vous node ?
dans un terminal, tapez
node -v
* si vous avez node mais vous n'avez pas au moins une v0.10, mettez à jour de la même manière que vous avez installé
* si vous n'avez pas node, installez avec homebrew
* allez sur http://brew.sh/
* copiez la ligne de commande proposée sur le site
* installez avec Brew
brew instal node
==== Sous Windows ====
* pas de chance, il est encore temps [[http://www.ubuntu.com/download/desktop|d'installer linux]]
* si vous avez peur, [[https://nodejs.org/en/download/|installez node]]
* [[http://cmder.net/|installez aussi cmder]] si vous ne l'avez pas déjà, ça rendra votre vie meilleure
====== http server ! ======
Pour comprendre comment le module http fonctionne, il y a [[http://devdocs.io/node/http|la documentation de http]]
====== modules nodejs ======
Voir [[http://devdocs.io/node/fs|la doc de fs]] et la doc de [[http://devdocs.io/node/modules#modules_module_require_id|require]]
====== npm ======
NPM est un gestionnaire de paquets, un peu comme [[https://getcomposer.org/|composer]] pour PHP. D'ailleurs, Composer s'inspire beaucoup de NPM.
Les modules NPM sont indexés sur [[https://www.npmjs.com/|npmjs.org]]. Il y en a plein.
====== nodeschool ======
[[http://nodeschool.io/|Nodeschool.io]] c'est plein de ressources pour les débutants en nodejs. Ça se présente sous forme d'applications interactives en ligne de commande. Ce n'est pas ce qu'il y a de plus sexy mais c'est vraiment efficace et pédagogique pour apprendre nodejs.
Faites les exercices de **javascripting** et **learnyounode** avant de passer à la suite des vidéos.
====== express ======