Nodebook
📖 Livre publié aux Éditions Eyrolles • Première édition : Node.js v10 et npm v6.
Install / Use
/learn @thom4parisot/NodebookREADME
Node.js • Apprendre par la pratique
[
][backers] <!--[][sponsors]-->
Familiarisez-vous avec JavaScript, Node.js et l'écosystème de modules
npm. Apprenez à concevoir et à déployer des applications web et des outils en ligne de commande.Plus de 500 exemples pour apprendre en pratiquant.
✅ Versions couvertes • node v10 • npm v6.<br>
📖 Journal de bord d'écriture • 2018 • 2017.<br>
🔎 Lire l'ouvrage • sur papier • sur liseuse numérique • sur le web • sur npm.
Table des matières
| Chapitre | Objectif d'apprentissage | | |---------------------------|--------- |---| | [Avant-propos][preamble] | pourquoi tu écris cet ouvrage ? | - | [Histoire, écosystème et gouvernance][ch01] | ça marche comment la vie de Node et des gens qui le font ? | [issues][ch01-issues] | [Installer, mettre à jour et développer][ch02] | ça marche comment Node sur une machine ? | [issues][ch02-issues] | [Jouer avec JavaScript][ch03] | ça marche comment JavaScript ? | [issues][ch03-issues] | [Jouer avec Node.js][ch04] | ça marche comment les modules ? | [issues][ch04-issues] | [Jouer avec npm][ch05] | ça marche comment l'outil npm ? | [issues][ch05-issues] | [Déployer notre code][ch06] | ça marche comment côté hosting ? | [issues][ch06-issues] | [Créer une application web][ch07] | ça marche comment HTTP ? | [issues][ch07-issues] | [Créer un outil en ligne de commande][ch08] | ça marche comment du code métier dans le terminal ? | [issues][ch08-issues] | [Créer une application frontend][ch09] | ça marche comment les modules Node dans les navigateurs web ? | [issues][ch09-issues] | Annexe : [Sélection de modules npm][a01] | quel(s) module(s) npm choisir ou découvrir ? | [issues][appendix-issues]
Lire l'ouvrage
Sur le web
🌐 L’épreuve est consultable gratuitement à cette adresse : apprendre-nodejs.fr/v1/.
De nombreux exemples sont interactifs, modifiables et affichent leur résultat depuis un simple navigateur web.
Fonctionnalités : exemples interactifs, vidéos, mise à jour en continu.
Sur liseuse numérique
📱 L'e-book est édité et vendu par les Éditions Eyrolles.
Fonctionnalités : compact, chercher dans le contenu, rémunère mon travail.
Sur papier
📖 Le livre est édité, publié et distribué par les Éditions Eyrolles.
Il s'obtient de plusieurs manières :
- Commander et se faire livrer par Eyrolles
- Acheter en librairie indépendante, près de chez soi
- Se faire livrer par Amazon.fr
Fonctionnalités : confort de lecture, annotations libres, rémunère mon travail.
Avec Node.js
📦 Le livre est disponible en tant que module npm : nodebook.
Fonctionnalités : apprendre Node.js avec Node.js, tous les exemples sont fonctionnels, lecture hors-ligne.
$ npm install --global nodebook
$ nodebook install all
Cette commande télécharge une copie du livre et les dépendances des exemples pour une utilisation hors-ligne.
Le manuel d'utilisation s'invoque avec l'argument --help :
$ nodebook --help
Commandes:
nodebook chapters Liste les chapitres de l'ouvrage.
nodebook dir <chapter> Affiche le chemin vers un chapitre.
nodebook install <chapter|all> Installe les dépendances d'un chapitre.
nodebook read Démarre la lecture du livre au format HTML
Options:
--version Affiche le numéro de version [booléen]
--help Affiche de l'aide [booléen]
Exemples:
nodebook install chapter-04 Installe les dépendances du chapitre
4
nodebook install all Installe les dépendances de tous les
chapitres
cd $(nodebook dir chapter-04) Place le terminal dans le répertoire
d'exemples du chapitre 4
cd $(nodebook dir chapter-04 --root) Place le terminal dans le répertoire
racine du chapitre 4
Contribuer au contenu
Je vous invite à contribuer de la manière de votre choix — par e-mail, en ouvrant une issue ou en contribuant du texte ou du code.
Si vous n'êtes pas sûr·e de votre coup mais que l'envie est là, c'est suffisant pour démarrer 🙂. Nous éclaircirons les choses ensemble.
Installation de la copie de travail
Il est possible de travailler sur une copie locale de l'épreuve en la dupliquant avec Git.
$ git clone --single-branch https://github.com/thom4parisot/nodebook
$ cd nodebook
# Installe les dépendances de développement
$ npm ci
# Installe les dépendances des chapitres
$ npm run install:all
Cette commande facultative récupère les vidéos localement :
$ git lfs pull
Elle utilise l'extension git-lfs.
Prévisualisation des changements
Un serveur local est disponible pour prévisualiser les modifications sans être connecté à Internet.
$ npm start
L'épreuve est accessible sur http://localhost:3000.
Tests
La bonne santé des exemples est vérifiée à l'aide d'ESLint et de tape-spawn.
$ npm test
État des dépendances
| | Dépendances | Sécurité | ------------|-------------------|--------- | Chapitre 1 | ![][ch01-deps] | ![][ch01-security] | Chapitre 2 | ![][ch02-deps] | ![][ch02-security] | Chapitre 3 | ![][ch03-deps] | ![][ch03-security] | Chapitre 4 | ![][ch04-deps] | ![][ch04-security] | Chapitre 5 | ![][ch05-deps] | ![][ch05-security] | Chapitre 6 | ![][ch06-deps] | ![][ch06-security] | Chapitre 7 | ![][ch07-deps] | ![][ch07-security] | Chapitre 8 | ![][ch08-deps] | ![][ch08-security] | Chapitre 9 | ![][ch09-deps] | ![][ch09-security] | Annexe A | ![][a01-deps] | ![][a01-security]
Génération des épreuves
HTML
$ make build-html
$ open ./dist
OpenDocument
$ make build-odt
$ soffice ./dist/book.fodt
Contributrices et Contributeurs
🙌 Merci à vous pour avoir contribué à l'ouvrage grâce à vos relectures, corrections et demandes de clarification.
[][contributors]
🙏 Merci à vous pour avoir contribué financièrement à l'écriture de l'ouvrage !
<a href="https://opencollective.com/nodebook#backers" target="_blank"><img src="https://opencollective.com/nodebook/backers.svg?width=890&button=false"></a>
<!-- ## Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/nodebook#sponsor)] <a href="https://opencollective.com/nodebook/sponsor/0/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/1/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/2/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/3/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/4/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/5/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/6/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/7/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/8/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/nodebook/sponsor/9/website" target="_blank"><img src="https://opencollective.com/nodebook/sponsor/9/avatar.svg"></a> -->Mentions légales
Node.js • Apprendre par la pratique est un ouvrage rédigé par Thomas Parisot. Il est édité, publié et distribué en papier et e-book par les Éditions Eyrolles.
L’épreuve est soumise à la licence [Creative Commons NC-BY-SA 4.0][cc-nc-by-sa] (Attribution, Non-Commercial, Share Alike).<br> Les exemples de code sont placés sous la [licence MIT][].

