|
| Titre : | Node.js : exploitez la puissance de JavaScript côté serveur | | Type de document : | texte imprime | | Auteurs : | Julien Fontanet ; Olivier Lambert | | Editeur : | St-Herblain : Éd. ENI | | Année de publication : | cop. 2015 | | Collection : | Expert IT, ISSN 1958-9913 | | Importance : | 231 p. | | Présentation : | ill., couv. ill. en coul. | | Format : | 22 cm | | ISBN/ISSN/EAN : | 978-2-7460-8978-5 | | Note générale : | Références webogr. Index | | Langues : | Français | | Mots-clés : | Node.js (plate-forme informatique) JavaScript (langage de programmation) Sites Web | | Résumé : |
Ce livre s'adresse aux développeurs souhaitant découvrir et maîtriser la plateforme JavaScript Node.js. De bonnes connaissances sur le développement en JavaScript ainsi que sur les outils en ligne de commande sont nécessaires afin de tirer le meilleur parti de ce livre.
La progression pédagogique choisie par les auteurs débute par l'installation de Node sur les trois grands systèmes d'exploitation (GNU/Linux, OS X et Windows) puis couvre le fonctionnement du gestionnaire de paquets « npm », qui est le compagnon quotidien du développeur Node, et la présentation des concepts essentiels de la plateforme.
Les chapitres suivants présentent les puissants paradigmes que sont les flux et les promesses puis enchaînent sur des explications pratiques concernant la manipulation de fichiers et l'utilisation de bases de données. Viennent ensuite l'écriture des tests, les outils de développement qui permettent d'améliorer la qualité du code et de simplifier la vie du développeur en automatisant un maximum de tâches (comme par exemple JSHint et Gulp), les bonnes pratiques pour déboguer efficacement du code puis tout ce qu'il faut savoir pour la mise en production des applications.
Tout au long du livre, l'accent est mis sur les bonnes pratiques et l'ensemble des exemples présentés dans le livre est disponible sur le dépôt GitHub du livre afin que le lecteur puisse se lancer le plus rapidement possible.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. | | Note de contenu : |
Avant-propos
1. Pourquoi ce livre ? 11
2. À qui s'adresse cet ouvrage ? 12
3. Structure de l'ouvrage 12
Chapitre 1
Présentation
1. Introduction 15
2. Définition de Node 16
3. Historique 16
4. Success-stories 18
5. Programmation orientée composant 21
Chapitre 2
Installation
1. Introduction 23
2. GNU/Linux 23
2.1 n : simple et efficace 24
2.2 Via les paquets 25
2.2.1 Ubuntu/Debian 25
2.2.2 Gentoo 26
2.2.3 ArchLinux 26
2.2.4 RHEL, CentOS, Fedora, etc. 26
2.3 Via les sources 27
3. OpenBSD et FreeBSD 27
4. Mac OS 28
5. Windows 28
6. Vérification de l'installation 30
Chapitre 3
Gestionnaire de paquets npm
1. Introduction 31
1.1 Qu'est-ce qu'un paquet ? 31
1.2 Exemple d'installation 32
1.3 Registre npmjs.org 32
1.4 Paquet global 33
2. Recherche du bon paquet 34
2.1 Recherche en ligne de commande 34
2.2 Recherche sur npmjs.org 35
2.3 Critères de confiance 36
2.3.1 Popularité sur GitHub 36
2.3.2 Intégration continue 36
3. Versionnage 37
3.1 Numéro de version 37
3.2 Contrainte de version 38
4. Gestion des dépendances 39
4.1 Ajout 40
4.1.1 Dépendance de production 40
4.1.2 Dépendance optionnelle 40
4.1.3 Développement 41
4.2 Mise à jour 41
4.3 Suppression 42
4.4 Listage des dépendances 42
4.5 Installation des dépendances manquantes 43
5. Publication d'un paquet 43
5.1 Création d'un compte sur le registre 44
5.2 Saisie des métadonnées 45
5.3 Exécutables 45
5.4 Publication 46
6. Gestion d'un paquet publié 47
6.1 Mise à jour 47
6.2 Ajout des mainteneurs 48
Chapitre 4
Concepts
1. Introduction 49
2. Modules 49
2.1 Modules de base 51
2.1.1 Stabilité 52
2.1.2 Exemple 52
3. Variables globales 53
3.1 global 53
3.2 process 54
3.2.1 Événements 54
3.2.2 Signaux 54
3.2.3 Flux 55
3.2.4 Contexte d'exécution 56
3.2.5 Métriques 57
3.3. Console 58
3.4 Buffer 60
3.4.1 Construction 60
3.4.2 Conversion 61
3.4.3 Manipulation 61
3.5 require() 63
3.6 _filename et _dirname 63
3.7 Module 63
3.8 exports 63
3.9 Minuteurs 64
4. Programmation asynchrone 64
4.1 API asynchrone dans Node 65
4.2 Programmation événementielle 69
4.3 Boucle d'événements 71
4.3.1 Fonctionnement simplifié 71
4.3.2 Fonctionnement détaillé 72
Chapitre 5
Flux
1. Introduction 75
1.1 Qu'est-ce qu'un flux ? 75
1.1.1 Mode de flux 76
1.2 Pourquoi utiliser un flux ? 77
2. Construction 78
2.1 Readable 78
2.2 Writable 80
2.3 Duplex 81
2.4 Transform 81
3. Utilisation 83
3.1 Lecture 83
3.1.1 Mode flot 83
3.1.2 Mode à la demande 84
3.1.3 Sélection du mode de lecture 85
3.2 Écriture 85
3.3 Connexion 85
4. Omniprésence dans Node 86
4.1 Réseau 86
4.2 Fichiers 87
5. Implémentations et compatibilité 87
5.1 Support des flux version 1 88
5.2 S'affranchir de la version de Node 88
Chapitre 6
Manipulation de fichiers
1. Introduction 89
2. Manipulation de chemin 90
3. Manipulation de dossiers 92
4. Manipulation de fichiers 94
4.1 Métadonnées 94
4.2 Surveillance 100
5. Manipulation de liens symboliques 101
Chapitre 7
Promesses
1. Introduction 103
2. Callbacks vs promesses 103
3. Notion de promesse 106
3.1 États d'une promesse 108
3.2 Similarité avec du code synchrone 108
3.3 Gestion des erreurs 110
4. Création d'une promesse 111
4.1 À la main 111
4.2 À partir d'une fonction Node 112
4.3 À partir d'un événement 113
5. Intégration avec Node 114
6. Intégration avec les générateurs 115
Chapitre 8
Application en ligne de commande
1. Introduction 119
2. Gestion des paramètres 120
3. Testabilité 122
4. Exécution directe 123
5. Installation du programme 124
6. Exemple complet 125
Chapitre 9
Application web
1. Introduction 129
2. Générateur Express 130
3. Application 132
4. Architecture 132
5. Requête 133
6. Réponse 134
7. Distribution de fichiers statiques 135
8. Routage 136
Chapitre 10
Bases de données
1. Introduction 139
2. SQL 140
2.1 PostgreSQL 140
3. NoSQL 141
3.1 MongoDB 142
3.1.1 Mongoose 142
3.2 Redis 143
3.3 LevelDB 144
Chapitre 11
Tests
1. Introduction 149
2. Lanceur de tests - Mocha 151
2.1 Installation 151
2.2 Création d'une suite de tests 152
3. Assertions - Chai 156
4. Espions et bouchons - Sinon.js 160
4.1 Espions 160
4.2 Bouchons 162
Chapitre 12
Outils de développement
1. Introduction 165
2. Automatisation de tâches - Gulpjs 166
2.1 Installation 166
2.2 Création de tâches 167
3. Analyse du code - JSHint 171
3.1 Installation et utilisation 172
3.2 Configuration 173
3.3 Environnements 174
3.4 Options générales 175
3.5 Options de mise en conformité 178
3.6 Options assouplissantes 186
4. Redémarrage automatique - node-dev 197
5. Browserify 198
Chapitre 13
Débogage
1. Introduction 201
2. Ajout de traces 201
3. Node-Inspector 203
3.1 Installation et lancement 203
3.2 Contrôle de l'exécution 205
3.3 Inspection 209
3.4 Intervention 211
Chapitre 14
Mise en production
1. Introduction 215
2. Forever 215
3. Supervision 217
4. Recettes 218
4.1 Reverse proxy 218
4.1.1 Avec Apache 219
4.1.2 Avec Nginx 220
4.2 Intégration avec systemd (GNU/Linux) 220
4.2.1 Fichier de configuration 221
4.2.2 Activation 222
4.2.3 Utilisation 222
4.3 Intégration avec SaltStack 222
4.3.1 Installation et déploiement 223
4.3.2 npm via SaltStack 224
Index 225
| | Permalink : | ./index.php?lvl=notice_display&id=14374 |
Node.js : exploitez la puissance de JavaScript côté serveur [texte imprime] / Julien Fontanet ; Olivier Lambert . - St-Herblain : Éd. ENI, cop. 2015 . - 231 p. : ill., couv. ill. en coul. ; 22 cm. - ( Expert IT, ISSN 1958-9913) . ISBN : 978-2-7460-8978-5 Références webogr. Index Langues : Français | Mots-clés : | Node.js (plate-forme informatique) JavaScript (langage de programmation) Sites Web | | Résumé : |
Ce livre s'adresse aux développeurs souhaitant découvrir et maîtriser la plateforme JavaScript Node.js. De bonnes connaissances sur le développement en JavaScript ainsi que sur les outils en ligne de commande sont nécessaires afin de tirer le meilleur parti de ce livre.
La progression pédagogique choisie par les auteurs débute par l'installation de Node sur les trois grands systèmes d'exploitation (GNU/Linux, OS X et Windows) puis couvre le fonctionnement du gestionnaire de paquets « npm », qui est le compagnon quotidien du développeur Node, et la présentation des concepts essentiels de la plateforme.
Les chapitres suivants présentent les puissants paradigmes que sont les flux et les promesses puis enchaînent sur des explications pratiques concernant la manipulation de fichiers et l'utilisation de bases de données. Viennent ensuite l'écriture des tests, les outils de développement qui permettent d'améliorer la qualité du code et de simplifier la vie du développeur en automatisant un maximum de tâches (comme par exemple JSHint et Gulp), les bonnes pratiques pour déboguer efficacement du code puis tout ce qu'il faut savoir pour la mise en production des applications.
Tout au long du livre, l'accent est mis sur les bonnes pratiques et l'ensemble des exemples présentés dans le livre est disponible sur le dépôt GitHub du livre afin que le lecteur puisse se lancer le plus rapidement possible.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. | | Note de contenu : |
Avant-propos
1. Pourquoi ce livre ? 11
2. À qui s'adresse cet ouvrage ? 12
3. Structure de l'ouvrage 12
Chapitre 1
Présentation
1. Introduction 15
2. Définition de Node 16
3. Historique 16
4. Success-stories 18
5. Programmation orientée composant 21
Chapitre 2
Installation
1. Introduction 23
2. GNU/Linux 23
2.1 n : simple et efficace 24
2.2 Via les paquets 25
2.2.1 Ubuntu/Debian 25
2.2.2 Gentoo 26
2.2.3 ArchLinux 26
2.2.4 RHEL, CentOS, Fedora, etc. 26
2.3 Via les sources 27
3. OpenBSD et FreeBSD 27
4. Mac OS 28
5. Windows 28
6. Vérification de l'installation 30
Chapitre 3
Gestionnaire de paquets npm
1. Introduction 31
1.1 Qu'est-ce qu'un paquet ? 31
1.2 Exemple d'installation 32
1.3 Registre npmjs.org 32
1.4 Paquet global 33
2. Recherche du bon paquet 34
2.1 Recherche en ligne de commande 34
2.2 Recherche sur npmjs.org 35
2.3 Critères de confiance 36
2.3.1 Popularité sur GitHub 36
2.3.2 Intégration continue 36
3. Versionnage 37
3.1 Numéro de version 37
3.2 Contrainte de version 38
4. Gestion des dépendances 39
4.1 Ajout 40
4.1.1 Dépendance de production 40
4.1.2 Dépendance optionnelle 40
4.1.3 Développement 41
4.2 Mise à jour 41
4.3 Suppression 42
4.4 Listage des dépendances 42
4.5 Installation des dépendances manquantes 43
5. Publication d'un paquet 43
5.1 Création d'un compte sur le registre 44
5.2 Saisie des métadonnées 45
5.3 Exécutables 45
5.4 Publication 46
6. Gestion d'un paquet publié 47
6.1 Mise à jour 47
6.2 Ajout des mainteneurs 48
Chapitre 4
Concepts
1. Introduction 49
2. Modules 49
2.1 Modules de base 51
2.1.1 Stabilité 52
2.1.2 Exemple 52
3. Variables globales 53
3.1 global 53
3.2 process 54
3.2.1 Événements 54
3.2.2 Signaux 54
3.2.3 Flux 55
3.2.4 Contexte d'exécution 56
3.2.5 Métriques 57
3.3. Console 58
3.4 Buffer 60
3.4.1 Construction 60
3.4.2 Conversion 61
3.4.3 Manipulation 61
3.5 require() 63
3.6 _filename et _dirname 63
3.7 Module 63
3.8 exports 63
3.9 Minuteurs 64
4. Programmation asynchrone 64
4.1 API asynchrone dans Node 65
4.2 Programmation événementielle 69
4.3 Boucle d'événements 71
4.3.1 Fonctionnement simplifié 71
4.3.2 Fonctionnement détaillé 72
Chapitre 5
Flux
1. Introduction 75
1.1 Qu'est-ce qu'un flux ? 75
1.1.1 Mode de flux 76
1.2 Pourquoi utiliser un flux ? 77
2. Construction 78
2.1 Readable 78
2.2 Writable 80
2.3 Duplex 81
2.4 Transform 81
3. Utilisation 83
3.1 Lecture 83
3.1.1 Mode flot 83
3.1.2 Mode à la demande 84
3.1.3 Sélection du mode de lecture 85
3.2 Écriture 85
3.3 Connexion 85
4. Omniprésence dans Node 86
4.1 Réseau 86
4.2 Fichiers 87
5. Implémentations et compatibilité 87
5.1 Support des flux version 1 88
5.2 S'affranchir de la version de Node 88
Chapitre 6
Manipulation de fichiers
1. Introduction 89
2. Manipulation de chemin 90
3. Manipulation de dossiers 92
4. Manipulation de fichiers 94
4.1 Métadonnées 94
4.2 Surveillance 100
5. Manipulation de liens symboliques 101
Chapitre 7
Promesses
1. Introduction 103
2. Callbacks vs promesses 103
3. Notion de promesse 106
3.1 États d'une promesse 108
3.2 Similarité avec du code synchrone 108
3.3 Gestion des erreurs 110
4. Création d'une promesse 111
4.1 À la main 111
4.2 À partir d'une fonction Node 112
4.3 À partir d'un événement 113
5. Intégration avec Node 114
6. Intégration avec les générateurs 115
Chapitre 8
Application en ligne de commande
1. Introduction 119
2. Gestion des paramètres 120
3. Testabilité 122
4. Exécution directe 123
5. Installation du programme 124
6. Exemple complet 125
Chapitre 9
Application web
1. Introduction 129
2. Générateur Express 130
3. Application 132
4. Architecture 132
5. Requête 133
6. Réponse 134
7. Distribution de fichiers statiques 135
8. Routage 136
Chapitre 10
Bases de données
1. Introduction 139
2. SQL 140
2.1 PostgreSQL 140
3. NoSQL 141
3.1 MongoDB 142
3.1.1 Mongoose 142
3.2 Redis 143
3.3 LevelDB 144
Chapitre 11
Tests
1. Introduction 149
2. Lanceur de tests - Mocha 151
2.1 Installation 151
2.2 Création d'une suite de tests 152
3. Assertions - Chai 156
4. Espions et bouchons - Sinon.js 160
4.1 Espions 160
4.2 Bouchons 162
Chapitre 12
Outils de développement
1. Introduction 165
2. Automatisation de tâches - Gulpjs 166
2.1 Installation 166
2.2 Création de tâches 167
3. Analyse du code - JSHint 171
3.1 Installation et utilisation 172
3.2 Configuration 173
3.3 Environnements 174
3.4 Options générales 175
3.5 Options de mise en conformité 178
3.6 Options assouplissantes 186
4. Redémarrage automatique - node-dev 197
5. Browserify 198
Chapitre 13
Débogage
1. Introduction 201
2. Ajout de traces 201
3. Node-Inspector 203
3.1 Installation et lancement 203
3.2 Contrôle de l'exécution 205
3.3 Inspection 209
3.4 Intervention 211
Chapitre 14
Mise en production
1. Introduction 215
2. Forever 215
3. Supervision 217
4. Recettes 218
4.1 Reverse proxy 218
4.1.1 Avec Apache 219
4.1.2 Avec Nginx 220
4.2 Intégration avec systemd (GNU/Linux) 220
4.2.1 Fichier de configuration 221
4.2.2 Activation 222
4.2.3 Utilisation 222
4.3 Intégration avec SaltStack 222
4.3.1 Installation et déploiement 223
4.3.2 npm via SaltStack 224
Index 225
| | Permalink : | ./index.php?lvl=notice_display&id=14374 |
|  |