1
00:00:00,000 --> 00:00:04,614
[MUSIC]

2
00:00:04,614 --> 00:00:10,618
Maintenant que nous avons une compréhension des modules de noeud, faisons notre premier exercice

3
00:00:10,618 --> 00:00:17,080
pour approfondir notre compréhension des modules de noeud avec un exemple dans cet exercice.

4
00:00:17,080 --> 00:00:22,730
Donc, pour commencer, allons à un endroit pratique sur notre ordinateur.

5
00:00:22,730 --> 00:00:25,600
Donc ici, je suis dans mes documents dossier Coursera,

6
00:00:25,600 --> 00:00:30,740
où j'ai les fichiers de tous les cours précédents.

7
00:00:30,740 --> 00:00:35,680
Donc, je vais créer un nouveau dossier ici, nommé NodeJS et

8
00:00:35,680 --> 00:00:42,020
ce dossier est où je vais stocker tout le code lié au cours NodeJS.

9
00:00:42,020 --> 00:00:44,370
Donc, en allant dans le dossier NodeJS,

10
00:00:44,370 --> 00:00:48,845
créons un sous-dossier ici, nommé node-examples.

11
00:00:53,410 --> 00:00:54,590
Et dans ce dossier,

12
00:00:54,590 --> 00:01:00,470
nous allons créer les fichiers liés à cet exercice.

13
00:01:01,880 --> 00:01:07,018
Ouvrez une fenêtre de terminal ou une fenêtre de commande,

14
00:01:07,018 --> 00:01:13,442
puis accédez au dossier node-examples à l'invite,

15
00:01:13,442 --> 00:01:17,681
puis à l'invite, tapez npm init pour

16
00:01:17,681 --> 00:01:22,837
initialiser ce dossier en tant qu'application de nœud.

17
00:01:22,837 --> 00:01:27,757
Donc, tapez npm init et il viendra avec des

18
00:01:27,757 --> 00:01:33,050
valeurs par défaut standard pour certaines informations

19
00:01:33,050 --> 00:01:38,120
qui vont stocker dans un fichier nommé package.json.

20
00:01:38,120 --> 00:01:45,251
Donc, pour le nom, tapez des exemples de noeuds,

21
00:01:45,251 --> 00:01:52,383
et la version est 1.1.0, et la description,

22
00:01:52,383 --> 00:01:58,639
je vais simplement taper Simple Node Examples.

23
00:02:00,565 --> 00:02:05,200
Et le point d'entrée est la valeur par défaut de index.js.

24
00:02:05,200 --> 00:02:09,210
Pour la commande test, il suffit de le laisser en tant que tel et le dépôt Git pour le moment,

25
00:02:09,210 --> 00:02:10,890
nous le laisserons en tant que tel.

26
00:02:10,890 --> 00:02:14,790
Et pour l'auteur, remplissez simplement votre nom.

27
00:02:17,430 --> 00:02:22,610
Et le reste, puis npm init affichera

28
00:02:22,610 --> 00:02:27,510
la valeur par défaut qu'il va configurer dans le fichier package.json.

29
00:02:27,510 --> 00:02:31,960
Ainsi, comme nous l'avons appris, le fichier package.json est le fichier manifeste d'

30
00:02:31,960 --> 00:02:36,210
une application de nœud, et une fois que vous avez terminé cela, vous remarquerez que

31
00:02:36,210 --> 00:02:41,500
le fichier package.json est créé dans ce dossier node-examples.

32
00:02:41,500 --> 00:02:46,980
Ouvrons ce projet dans un éditeur de notre choix.

33
00:02:46,980 --> 00:02:53,350
Donc, je vais ouvrir mon code Visual Studio dans ce dossier.

34
00:02:53,350 --> 00:02:58,600
Lorsque mon code Visual Studio, il s'ouvre dans ce dossier.

35
00:02:58,600 --> 00:03:05,100
Je vais aller aux scripts ici et mettre en place un script ici disant « start »

36
00:03:06,500 --> 00:03:10,599
et je dirai « node index ».

37
00:03:11,830 --> 00:03:16,460
Et puis enregistrez les modifications apportées au fichier package.json.

38
00:03:16,460 --> 00:03:22,595
Ensuite, je vais créer un dossier ici et le nommer comme index.js et

39
00:03:22,595 --> 00:03:28,267
comme vous avez réalisé que principal ici est donné comme fichier index.js, de

40
00:03:28,267 --> 00:03:33,470
sorte que le fichier de démarrage pour mon application de nœud.

41
00:03:33,470 --> 00:03:38,600
Donc, dans le fichier index.js, je vais créer un exemple simple pour

42
00:03:38,600 --> 00:03:43,760
illustrer diverses fonctionnalités de noeud et comment nous allons construire des modules de noeud.

43
00:03:43,760 --> 00:03:49,410
Donc, ici, nous allons construire un exemple qui évalue la zone et

44
00:03:49,410 --> 00:03:51,960
le périmètre d'un rectangle.

45
00:03:51,960 --> 00:03:56,280
Un exemple très simple qu'il nous aide à illustrer

46
00:03:56,280 --> 00:03:59,480
divers aspects sur les modules de noeud et de noeud.

47
00:03:59,480 --> 00:04:05,336
Donc le type de démarrage, Var rect.

48
00:04:05,336 --> 00:04:10,787
Et nous allons créer un objet JavaScript ici,

49
00:04:10,787 --> 00:04:17,930
c'est deux propriétés, périmètre, qui est une fonction.

50
00:04:17,930 --> 00:04:26,040
Et comme vous le voyez, j'utilise la fonction flèche pour définir cette fonction ici.

51
00:04:26,040 --> 00:04:32,100
Donc noeud dans sa version actuelle prend en charge ES 6 ou ES 2015.

52
00:04:32,100 --> 00:04:36,251
Et c'est pourquoi je vais utiliser le support de la fonction flèche

53
00:04:36,251 --> 00:04:41,210
qui est disponible dans ES 2015 pour définir cette fonction ici.

54
00:04:41,210 --> 00:04:46,720
Et si vous avez suivi les cours précédents où nous utilisons jupe de temps,

55
00:04:46,720 --> 00:04:48,800
ce serait tout à fait familier pour vous.

56
00:04:50,340 --> 00:04:57,560
Maintenant, avec le nœud, nous avons la possibilité d'utiliser JavaScript ou Typescript.

57
00:04:57,560 --> 00:05:02,350
Maintenant, la documentation pour le noeud et

58
00:05:02,350 --> 00:05:07,865
aussi exprimer que nous verrons plus tard, tous utilisent JavaScript standard.

59
00:05:07,865 --> 00:05:13,465
J' ai donc utilisé par défaut JavaScript standard dans ce cours ou

60
00:05:13,465 --> 00:05:16,505
ES2015 JavaScript dans ce cours.

61
00:05:16,505 --> 00:05:18,585
Si vous préférez utiliser TypeScript,

62
00:05:18,585 --> 00:05:24,620
vous pouvez configurer vos exemples de nœuds pour écrire votre application dans TypeScript.

63
00:05:24,620 --> 00:05:28,740
Mais alors vous devrez transpiler ce code en JavaScript afin

64
00:05:28,740 --> 00:05:31,090
qu'il puisse être exécuté en utilisant Node.

65
00:05:31,090 --> 00:05:34,150
Vous devez donc mettre

66
00:05:34,150 --> 00:05:36,640
en place une infrastructure supplémentaire afin de pouvoir utiliser TypeScript.

67
00:05:36,640 --> 00:05:40,630
Dans ce cours, je vais utiliser JavaScript comme langue par défaut pour

68
00:05:40,630 --> 00:05:41,960
le reste du cours.

69
00:05:41,960 --> 00:05:46,790
Et je ne vais pas aller dans Typescript l'utiliser dans ce cours

70
00:05:46,790 --> 00:05:51,210
lorsque les nœuds commencent à prendre en charge Typescript nativement,

71
00:05:51,210 --> 00:05:55,220
alors il est plus logique de passer à Typescript [INAUDIBLE].

72
00:05:55,220 --> 00:05:57,550
Mais si vous êtes intéressé par Typescript,

73
00:05:57,550 --> 00:06:01,770
j'ai remarqué qu'il y a eu plusieurs articles de blog publiés par différentes

74
00:06:01,770 --> 00:06:07,400
personnes qui illustrent comment vous pouvez configurer votre application Node pour utiliser Typescript.

75
00:06:07,400 --> 00:06:11,420
Cela dit, revenons au fichier index.js,

76
00:06:11,420 --> 00:06:13,030
puis continuons avec notre exemple.

77
00:06:13,030 --> 00:06:20,340
Donc, je suis en train de mettre en place un périmètre ici et ensuite aussi une fonction de zone ici.

78
00:06:20,340 --> 00:06:22,460
Encore une fois, en prenant deux valeurs, x et y,

79
00:06:22,460 --> 00:06:26,650
qui représentent la longueur et la largeur du rectangle.

80
00:06:26,650 --> 00:06:31,830
Les deux paramètres, et la zone est calculée comme x fois y.

81
00:06:31,830 --> 00:06:36,150
Donc, à partir de vos mathématiques de l'école primaire,

82
00:06:36,150 --> 00:06:40,670
vous savez comment calculer le périmètre et la zone du rectangle.

83
00:06:40,670 --> 00:06:45,120
Donc ici, j'ai mis en place cet objet JavaScript ici et

84
00:06:45,120 --> 00:06:50,690
puis laissez-moi définir une fonction ici appelée SolveRect,

85
00:06:50,690 --> 00:06:54,166
qui prend deux valeurs, (l,

86
00:06:54,166 --> 00:06:58,180
b), comme les deux paramètres, la longueur et la couchette du rectangle.

87
00:06:58,180 --> 00:07:03,409
Et il va utiliser cet objet JavaScript que j'ai défini

88
00:07:03,409 --> 00:07:09,750
plus tôt afin de calculer le périmètre et la zone du rectangle.

89
00:07:09,750 --> 00:07:12,762
Donc, à l'intérieur ici,

90
00:07:12,762 --> 00:07:17,710
laissez-moi faire un console.log et

91
00:07:17,710 --> 00:07:25,035
dire Résoudre pour le rectangle avec l égal à

92
00:07:28,483 --> 00:07:30,827
Ceci est juste pour notre commodité.

93
00:07:40,010 --> 00:07:45,335
Donc, cela va imprimer cette information sur le terminal là-bas et

94
00:07:45,335 --> 00:07:50,944
donc dans ce console.log, je suis juste d'imprimer les valeurs l et b, de sorte

95
00:07:50,944 --> 00:07:58,130
que je sache pour le rectangle pour lequel nous calculons la longueur et la largeur.

96
00:07:58,130 --> 00:08:03,118
Maintenant, je vais vérifier pour m'assurer que la longueur et

97
00:08:03,118 --> 00:08:07,870
la largeur ne sont pas inférieures ou égales à zéro.

98
00:08:07,870 --> 00:08:13,340
Si elles sont inférieures ou égales à zéro, il n'est pas logique de calculer

99
00:08:13,340 --> 00:08:19,790
le périmètre et la zone du rectangle.

100
00:08:19,790 --> 00:08:27,957
Donc, je vais dire console.log ici,

101
00:08:27,957 --> 00:08:33,790
donc je dirais que les

102
00:08:33,790 --> 00:08:39,040
dimensions Rectangle doivent être

103
00:08:39,040 --> 00:08:44,008
supérieures à zéro.

104
00:08:58,175 --> 00:09:04,030
Ainsi, nous imprimons ces valeurs à l'écran si la longueur et

105
00:09:04,030 --> 00:09:07,640
la largeur sont inférieures ou égales à zéro.

106
00:09:07,640 --> 00:09:11,533
Sinon, bien sûr, il est logique de calculer le périmètre et

107
00:09:11,533 --> 00:09:13,370
la zone du rectangle.

108
00:09:13,370 --> 00:09:16,944
Donc, nous allons dire d'autre

109
00:09:16,944 --> 00:09:22,428
console.log (« La zone

110
00:09:22,428 --> 00:09:27,679
du rectangle est »).

111
00:09:55,345 --> 00:09:57,416
De même, nous allons calculer,

112
00:10:10,161 --> 00:10:12,217
Le périmètre du rectangle.

113
00:10:21,787 --> 00:10:22,562
Ici.

114
00:10:24,130 --> 00:10:27,602
Donc, à l'intérieur de cette fonction, nous calculons

115
00:10:27,602 --> 00:10:31,210
la zone et le périmètre du rectangle et le purgeons.

116
00:10:31,210 --> 00:10:36,058
Maintenant, nous devons évidemment appeler cette fonction en utilisant différentes valeurs pour la

117
00:10:36,058 --> 00:10:39,230
longueur et la largeur et voir ce qu'elle imprime.

118
00:10:39,230 --> 00:10:45,196
Donc, juste en dessous ici, je vais dire SolveRect et

119
00:10:45,196 --> 00:10:48,150
ensuite juste utiliser quelques valeurs ici.

120
00:10:48,150 --> 00:10:54,533
Donc je vais dire 2, 4, et 3, 5.

121
00:10:58,375 --> 00:11:04,771
Et disons 0, 5 et voyons ce qui se passe.

122
00:11:04,771 --> 00:11:11,957
Et -3, 5.

123
00:11:11,957 --> 00:11:16,099
Donc quatre choix différents de paramètres ici pour

124
00:11:16,099 --> 00:11:21,130
illustrer comment cette application va fonctionner.

125
00:11:21,130 --> 00:11:24,640
Donc, avec cela, sauvegardons les changements.

126
00:11:24,640 --> 00:11:30,590
Maintenant, revenant au terminal, à l'invite, tapez npm start et

127
00:11:30,590 --> 00:11:36,530
vous verrez qu'il imprime la zone du périmètre pour

128
00:11:36,530 --> 00:11:39,980
les différents rectangles que nous avons spécifiés là.

129
00:11:39,980 --> 00:11:44,000
Donc, nous disons la résolution pour le rectangle avec l est égal à deux et

130
00:11:44,000 --> 00:11:48,890
b est égal à quatre, et la zone du périmètre pour ce rectangle.

131
00:11:48,890 --> 00:11:53,190
Et pour le second, et pour le troisième, comme vous le voyez, vos

132
00:11:54,380 --> 00:11:58,870
dimensions doivent être supérieures à zéro et pour

133
00:11:58,870 --> 00:12:02,450
le quatrième également, il est en train d'imprimer la même valeur.

134
00:12:02,450 --> 00:12:07,010
Maintenant, évidemment, je remarque que j'aurais besoin d'un espace là, donc je vais juste corriger

135
00:12:07,010 --> 00:12:12,731
le code pour ajouter cet espace supplémentaire là.

136
00:12:12,731 --> 00:12:18,540
Donc, avec cela, nous avons vu comment nous pouvons écrire une application de nœud simple

137
00:12:18,540 --> 00:12:24,260
pour calculer le périmètre et la zone d'un rectangle.

138
00:12:24,260 --> 00:12:27,780
Maintenant, évidemment, vous voulez être en mesure de configurer un dépôt Git,

139
00:12:27,780 --> 00:12:31,930
où vous pouvez stocker tout ce code.

140
00:12:31,930 --> 00:12:39,110
Donc, à l'invite, tapez git init pour initialiser le dépôt Git

141
00:12:39,110 --> 00:12:45,195
, puis vous pouvez vérifier l'état du dépôt Git et

142
00:12:45,195 --> 00:12:48,655
vous remarquez que deux fichiers ont été nouvellement créés.

143
00:12:48,655 --> 00:12:52,651
Alors ajoutons les deux fichiers à notre dépôt Git, et

144
00:12:52,651 --> 00:12:56,535
à ce stade,

145
00:12:56,535 --> 00:13:00,505
en vérifiant l'état git, vous voyez que les deux fichiers ont été archivés.

146
00:13:00,505 --> 00:13:06,611
Donc, faisons un commit git casse

147
00:13:06,611 --> 00:13:13,710
le message Simple Node Exemple.

148
00:13:13,710 --> 00:13:18,970
Dans la deuxième partie de cet exercice, nous allons maintenant

149
00:13:20,130 --> 00:13:24,330
créer un module de nœud dans cet exemple.

150
00:13:24,330 --> 00:13:29,191
Donc, à l'éditeur, dans l'éditeur,

151
00:13:29,191 --> 00:13:34,610
créez un fichier nommé rectangle.js.

152
00:13:34,610 --> 00:13:38,130
Et à l'intérieur de ce fichier, nous allons créer un module de nœud.

153
00:13:38,130 --> 00:13:43,100
Nous allons donc utiliser l'

154
00:13:43,100 --> 00:13:47,892
objet export afin d'exporter les deux

155
00:13:47,892 --> 00:13:52,517
valeurs de ce module de noeud.

156
00:13:52,517 --> 00:13:59,063
Ainsi, comme vous l'avez appris, chaque fichier d'une application de nœud devient son propre module de nœud.

157
00:13:59,063 --> 00:14:02,264
Donc, à partir de ce module de noeud rectangle,

158
00:14:02,264 --> 00:14:05,909
je vais exporter deux valeurs, le périmètre,

159
00:14:09,841 --> 00:14:15,544
et la zone.

160
00:14:15,544 --> 00:14:22,080
Maintenant, je vais aller dans le fichier index.js, puis simplement copier cette valeur.

161
00:14:24,610 --> 00:14:29,558
Et c'est ce que nous allons utiliser comme l'exportation pour

162
00:14:29,558 --> 00:14:33,820
le périmètre ici et de la même manière pour

163
00:14:33,820 --> 00:14:38,495
la zone, je vais juste copier ceci à partir

164
00:14:38,495 --> 00:14:44,340
du fichier d'index js et ensuite l'utiliser pour la zone.

165
00:14:44,340 --> 00:14:49,498
Donc maintenant, nous avons un module de nœud simple prêt, qui exporte deux valeurs,

166
00:14:49,498 --> 00:14:53,222
le périmètre et la zone de ce fichier rectangle.js.

167
00:14:53,222 --> 00:14:57,583
Ainsi, comme nous l'avons appris dans la conférence, les modules de nœuds [INAUDIBLE],

168
00:14:57,583 --> 00:15:02,273
maintenant, une fois que vous créez un module de nœud, vous devez

169
00:15:02,273 --> 00:15:05,970
entrer ce module dans un autre fichier où vous voulez en faire usage.

170
00:15:05,970 --> 00:15:09,771
Donc, revenant au fichier index.js.

171
00:15:09,771 --> 00:15:17,372
Maintenant, je vais remplacer tout cela par require et

172
00:15:17,372 --> 00:15:22,870
je note que ce module de nœud est dans le même

173
00:15:22,870 --> 00:15:27,250
dossier que le projet en cours.

174
00:15:27,250 --> 00:15:31,560
Donc, je dirais exiger rectangle et c'est tout.

175
00:15:31,560 --> 00:15:33,900
Mes modifications sont maintenant terminées.

176
00:15:33,900 --> 00:15:39,550
Donc, ce fichier index.js particulier va importer le

177
00:15:39,550 --> 00:15:45,190
module de noeud rectangle que nous venons de créer, puis en faire usage dans notre code ici.

178
00:15:45,190 --> 00:15:46,750
Donc, sauvegardons les modifications

179
00:15:46,750 --> 00:15:51,780
, puis jetons un coup d'oeil à notre application, à l'invite du terminal.

180
00:15:51,780 --> 00:15:56,160
Aller au terminal, à l'invite, tapez npm start.

181
00:15:58,200 --> 00:16:02,100
Vous remarquerez qu'il y a une

182
00:16:02,100 --> 00:16:07,310
version modifiée de cette application produit exactement les mêmes résultats qu'avant.

183
00:16:07,310 --> 00:16:12,229
Avec cela, nous apprenons comment vous pouvez créer un

184
00:16:12,229 --> 00:16:14,699
module de nœud simple dans notre application.

185
00:16:14,699 --> 00:16:19,781
Maintenant, en vérifiant l'état git, vous verrez que vous avez deux fichiers,

186
00:16:19,781 --> 00:16:25,370
un qui a été modifié, un autre qui vient d'être ajouté.

187
00:16:25,370 --> 00:16:30,050
Alors ajoutons ceci à notre dépôt Git

188
00:16:30,050 --> 00:16:34,088
, puis faisons un commit git avec le message,

189
00:16:34,088 --> 00:16:40,360
Simple Node Module.

190
00:16:42,160 --> 00:16:47,823
Et vérifiez le journal git et

191
00:16:47,823 --> 00:16:52,455
vous remarquerez que nous avons deux commits que nous

192
00:16:52,455 --> 00:16:56,987
avons engagés dans notre dépôt Git là-bas.

193
00:16:56,987 --> 00:16:59,468
Avec cela, nous complétons cet exercice.

194
00:16:59,468 --> 00:17:03,000
Dans cet exercice, nous avons vu comment nous pouvons écrire une application de nœud simple.

195
00:17:03,000 --> 00:17:06,612
Et aussi comment nous pouvons écrire un module de nœud simple et

196
00:17:06,612 --> 00:17:10,419
l'utiliser avec un autre fichier dans notre application de nœud.

197
00:17:10,419 --> 00:17:16,469
[ MUSIQUE]