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

2
00:00:04,946 --> 00:00:09,700
Dans cet exercice, nous allons explorer certains des modules de code Node.

3
00:00:09,700 --> 00:00:15,326
En particulier, nous allons examiner le module HTTP qui est intégré dans Node et

4
00:00:15,326 --> 00:00:20,411
utiliser le module HTTP pour configurer et démarrer un serveur Web simple.

5
00:00:20,411 --> 00:00:28,090
Nous allons également examiner comment nous pouvons servir des fichiers statiques à partir de notre serveur HTTP Node.

6
00:00:28,090 --> 00:00:32,510
Nous allons également examiner ce module de système de fichiers et le module de chemin et

7
00:00:32,510 --> 00:00:39,640
comment ils peuvent nous aider à servir des fichiers statiques dans notre serveur HTTP basé sur des nœuds.

8
00:00:39,640 --> 00:00:43,790
Examinons donc certains des modules Node de code dans cet exercice.

9
00:00:45,710 --> 00:00:51,050
Pour commencer cet exercice, accédez à un emplacement pratique sur votre ordinateur.

10
00:00:51,050 --> 00:00:54,820
Nous allons donc aller dans le dossier NodeJS que nous avons déjà créé dans l'un

11
00:00:54,820 --> 00:00:56,400
des exercices précédents.

12
00:00:56,400 --> 00:01:02,663
Et dans le dossier NodeJS, je vais créer un nouveau dossier nommé node-http.

13
00:01:02,663 --> 00:01:07,370
Et puis, nous allons configurer cela comme une application Node.

14
00:01:07,370 --> 00:01:11,440
En outre, en se déplaçant dans le dossier node-http,

15
00:01:11,440 --> 00:01:16,770
créons un sous-dossier nommé public qui continuera

16
00:01:16,770 --> 00:01:23,080
certains des fichiers html que nous allons serveur à partir de notre application HTTP Node.

17
00:01:23,080 --> 00:01:28,072
Maintenant, passez à un terminal, naviguez jusqu'au nœud,

18
00:01:32,012 --> 00:01:33,478
dossier -http.

19
00:01:38,222 --> 00:01:43,320
Et nous allons initialiser ce dossier pour être dans notre application.

20
00:01:43,320 --> 00:01:45,901
Donc, nous allons commencer par npm init et

21
00:01:45,901 --> 00:01:49,734
initialiser ce paquet dans notre fichier JSON ici.

22
00:01:49,734 --> 00:01:56,450
Et puis nous donnerons le nom du paquet comme node-http et

23
00:01:56,450 --> 00:02:00,684
accepterons la version standard, et

24
00:02:00,684 --> 00:02:06,390
la description est Node HTTP Module Exemple.

25
00:02:06,390 --> 00:02:10,830
Et le point de départ est index.js, pas de commande de test,

26
00:02:10,830 --> 00:02:14,890
pas de dépôt git pour le moment, et auteur,

27
00:02:15,960 --> 00:02:21,460
tapez votre nom, et acceptez le reste tel quel.

28
00:02:23,360 --> 00:02:27,240
Et cela devrait créer le paquet pour un fichier manifeste JSON.

29
00:02:27,240 --> 00:02:32,310
Maintenant, ouvrons ce projet dans notre éditeur préféré.

30
00:02:32,310 --> 00:02:40,860
Alors laissez-moi démarrer mon code Visual Studio dans ce dossier.

31
00:02:40,860 --> 00:02:44,919
Et dans le code Visual Studio, passons au package dans notre fichier JSON.

32
00:02:44,919 --> 00:02:51,179
Et puis nous allons ajouter un autre script au paquet,

33
00:02:51,179 --> 00:02:54,936
à notre fichier JSON appelé start et

34
00:02:54,936 --> 00:02:58,850
qui exécuterait l'index de noeud.

35
00:02:58,850 --> 00:03:02,710
Et n'oubliez pas de mettre une virgule après l'attelage de test.

36
00:03:04,300 --> 00:03:08,797
Et enregistrez les modifications apportées au fichier package.json.

37
00:03:08,797 --> 00:03:11,805
Maintenant, où Project,

38
00:03:11,805 --> 00:03:16,720
créez un nouveau fichier appelé index.js.

39
00:03:16,720 --> 00:03:24,920
Nous allons configurer ce index.js pour utiliser le module HTTP Node.

40
00:03:24,920 --> 00:03:29,825
Donc, dans ce fichier, tapez const

41
00:03:29,825 --> 00:03:34,160
http = require (« http »).

42
00:03:34,160 --> 00:03:38,485
Donc, vous pouvez voir que nous utilisons le module de code HTTP, et

43
00:03:38,485 --> 00:03:44,484
nous l'exigeons simplement en spécifiant le nom du module de code HTTP là.

44
00:03:46,647 --> 00:03:48,994
En outre, déclarons,

45
00:03:52,843 --> 00:03:57,551
Un couple de constantes ici et puis,

46
00:03:59,779 --> 00:04:02,931
Nous appellerons hostname et

47
00:04:02,931 --> 00:04:08,580
le numéro de port comme 3000 par défaut.

48
00:04:08,580 --> 00:04:10,990
Maintenant, nous allons configurer le serveur.

49
00:04:10,990 --> 00:04:18,330
Pour configurer le serveur, nous dirons const server = http.

50
00:04:18,330 --> 00:04:24,210
Le module HTTP prend en charge une méthode appelée CreateServer,

51
00:04:24,210 --> 00:04:28,312
donc ils vont utiliser la méthode CreateServer sur cela.

52
00:04:28,312 --> 00:04:36,670
Cette méthode CreateServer prendra une fonction comme paramètre et

53
00:04:36,670 --> 00:04:40,683
cette fonction prend deux

54
00:04:40,683 --> 00:04:46,560
valeurs comme paramètres, requête et réponse.

55
00:04:46,560 --> 00:04:49,960
Et comme vous pouvez le voir, j'écris une fonction de flèche ici.

56
00:04:49,960 --> 00:04:54,770
Donc, la requête et la réponse sont les deux paramètres de la fonction que nous fournissons en

57
00:04:54,770 --> 00:04:59,290
tant que paramètre à la méthode CreateServer ici.

58
00:04:59,290 --> 00:05:04,224
Et à l'intérieur de cela, nous dirons

59
00:05:04,224 --> 00:05:10,580
console.log (req.headers).

60
00:05:10,580 --> 00:05:18,892
Donc ici, les req et res sont la requête HTTP entrante au serveur.

61
00:05:18,892 --> 00:05:22,548
Et ils ont une sorte d'objet de réponse qui va

62
00:05:22,548 --> 00:05:26,443
être construit par ce serveur et retourné au client

63
00:05:26,443 --> 00:05:30,820
qui se connecte à ce serveur HTTP que nous créons ici.

64
00:05:30,820 --> 00:05:35,120
Donc, la requête est la requête entrante de n'importe quel navigateur ou

65
00:05:35,120 --> 00:05:39,700
de n'importe où qui essaie d'accéder à ce serveur que nous allons démarrer

66
00:05:39,700 --> 00:05:45,590
en utilisant cette application HTTP Node que nous développons ici.

67
00:05:45,590 --> 00:05:47,500
Donc, à partir de

68
00:05:47,500 --> 00:05:53,190
la requête, l'objet de requête nous donne accès aux en-têtes dans la requête HTTP entrante.

69
00:05:53,190 --> 00:05:55,690
Donc, je vais enregistrer les

70
00:05:55,690 --> 00:06:00,420
en-têtes entrants de la requête HTTP entrant en utilisant ce console.log.

71
00:06:00,420 --> 00:06:05,920
Juste pour mon information, juste pour savoir d'où vient cette demande.

72
00:06:05,920 --> 00:06:11,948
Par la suite, nous pouvons construire la réponse en utilisant la res et

73
00:06:11,948 --> 00:06:16,739
cela nous fournira une méthode appelée StatusCode.

74
00:06:16,739 --> 00:06:24,315
Le StatusCode nous permettra de configurer le StatusCode pour le message de réponse.

75
00:06:24,315 --> 00:06:28,026
Donc, dans ce cas, je vais configurer le StatusCode comme 200.

76
00:06:28,026 --> 00:06:32,259
Si vous vous souvenez de la discussion précédente sur l'essentiel de la mise en réseau,

77
00:06:32,259 --> 00:06:36,576
vous saurez que StatusCode de 200 signifie que tout va bien.

78
00:06:36,576 --> 00:06:41,856
Et donc, nous avons configuré le code d'état ici pour le message de réponse

79
00:06:41,856 --> 00:06:46,763
, puis nous allons également configurer l'en-tête pour le message de réponse.

80
00:06:46,763 --> 00:06:51,984
Et l'une des craintes d'en-tête que nous allons

81
00:06:51,984 --> 00:06:56,344
mettre en place est appelée Content-Type.

82
00:06:56,344 --> 00:06:59,447
Et le Content-Type,

83
00:06:59,447 --> 00:07:04,928
nous allons spécifier ceci pour être 'text/html'.

84
00:07:04,928 --> 00:07:13,360
Ainsi, le corps de la réponse contiendra les données sous la forme de html ici.

85
00:07:13,360 --> 00:07:18,740
Ainsi, l'en-tête est configuré pour informer le client que vous envoyez

86
00:07:18,740 --> 00:07:25,160
la réponse et le corps est formaté au format html.

87
00:07:25,160 --> 00:07:27,840
Et puis, enfin, nous dirons res.end (').

88
00:07:27,840 --> 00:07:32,500
Donc, cela met fin à la réponse ici, et lorsque cela est fait,

89
00:07:32,500 --> 00:07:37,620
cette information sera renvoyée au client.

90
00:07:37,620 --> 00:07:45,992
Donc ici, laissez-moi juste construire une page html en ligne ici,

91
00:07:45,992 --> 00:07:52,754
donc je vais dire <html><body><h1><Bonjour,

92
00:07:52,754 --> 00:07:55,540
Monde ! </h1>.

93
00:07:58,328 --> 00:08:04,211
Et fermez la balise h1, la balise body,

94
00:08:04,211 --> 00:08:09,270
et la balise html, juste là.

95
00:08:09,270 --> 00:08:13,850
Et c'est une réponse HTML valide qui peut

96
00:08:13,850 --> 00:08:18,100
être renvoyée de notre serveur ici.

97
00:08:18,100 --> 00:08:23,730
Donc, ce serveur, comme vous vous attendez à aller simplement envoyer un monde bonjour au client.

98
00:08:23,730 --> 00:08:28,320
Maintenant que nous avons configuré le serveur, nous devons démarrer ce serveur.

99
00:08:28,320 --> 00:08:32,350
Pour démarrer ce serveur en note,

100
00:08:32,350 --> 00:08:37,930
nous devons dire server.listen.

101
00:08:37,930 --> 00:08:43,330
Et cela va démarrer le port d'écoute sur lequel le serveur va écouter les

102
00:08:43,330 --> 00:08:45,030
demandes entrantes.

103
00:08:45,030 --> 00:08:50,050
Et cela commencerait au numéro de port donné à mon port,

104
00:08:50,050 --> 00:08:53,910
que nous avons déjà mis en place ici dans le port const.

105
00:08:53,910 --> 00:08:59,990
Et le deuxième paramètre est le nom d'hôte que nous avons déjà configuré plus tôt.

106
00:08:59,990 --> 00:09:03,560
Et le troisième paramètre est une fonction qui sera

107
00:09:04,720 --> 00:09:07,520
exécutée lorsque le serveur démarre.

108
00:09:07,520 --> 00:09:13,560
Dans cette fonction, nous allons juste imprimer les informations sur le serveur.

109
00:09:13,560 --> 00:09:18,505
Donc ici, je vais juste dire console.log.

110
00:09:19,560 --> 00:09:22,110
Et dans le console.log,

111
00:09:22,110 --> 00:09:26,640
je vais imprimer les informations afin d'utiliser une citation arrière.

112
00:09:26,640 --> 00:09:30,876
Donc, notez l'utilisation de la citation arrière pas la citation normale.

113
00:09:30,876 --> 00:09:35,103
La raison pour laquelle nous utilisons cela est parce que nous allons utiliser

114
00:09:35,103 --> 00:09:39,830
quelques variables à l'intérieur de la chaîne que nous allons construire ici.

115
00:09:39,830 --> 00:09:45,608
Donc, nous dirons le serveur fonctionnant à http ://.

116
00:09:45,608 --> 00:09:50,965
Et puis nous dirons $

117
00:09:50,965 --> 00:09:55,780
, puis le nom de l'hôte.

118
00:09:55,780 --> 00:09:59,582
Rappelons que ce nom d'hôte, vous avez déjà déclaré plus tôt.

119
00:09:59,582 --> 00:10:04,187
Et puis la deuxième partie,

120
00:10:04,187 --> 00:10:08,800
nous dirons : $ et port.

121
00:10:08,800 --> 00:10:14,130
Ces deux valeurs seront donc remplacées par les valeurs correspondantes.

122
00:10:14,130 --> 00:10:17,370
Et puisque nous l'enfermons dans les guillemets arrière.

123
00:10:17,370 --> 00:10:21,070
Et si vous incluez quelque chose à l'intérieur des augmentations de dollar,

124
00:10:21,070 --> 00:10:26,150
qui sera remplacé par sa valeur dans cette chaîne ici.

125
00:10:28,230 --> 00:10:29,150
C' est ça.

126
00:10:29,150 --> 00:10:33,990
Nous avons un serveur HTTP simple en marche.

127
00:10:33,990 --> 00:10:37,480
Donc, sauvegardons les changements à cela.

128
00:10:37,480 --> 00:10:42,920
Et nous allons lancer notre application et voir ce qu'elle sert.

129
00:10:42,920 --> 00:10:47,010
Aller au terminal, tapez npm start, et

130
00:10:47,010 --> 00:10:50,820
cela devrait démarrer notre application.

131
00:10:50,820 --> 00:10:54,020
Et nous remarquons qu'il imprime notre disant que le serveur fonctionnant

132
00:10:54,020 --> 00:10:57,420
à http://localhost:3000.

133
00:10:57,420 --> 00:11:05,950
Vous pouvez maintenant accéder à cette URL en la tapant dans la barre d'adresse de n'importe quel navigateur.

134
00:11:05,950 --> 00:11:09,490
Alors laissez-moi commencer une fenêtre de navigateur Chrome, puis tapez ceci et

135
00:11:09,490 --> 00:11:11,340
voir ce que le serveur va retourner.

136
00:11:19,160 --> 00:11:20,848
Démarrage d'une nouvelle fenêtre.

137
00:11:20,848 --> 00:11:27,260
Laissez-moi simplement taper http ://

138
00:11:30,028 --> 00:11:34,400
localhost:3000.

139
00:11:34,400 --> 00:11:39,490
Et cela devrait rendre un Hello World comme nous l'attendons.

140
00:11:39,490 --> 00:11:47,020
Maintenant, lorsque nous allons à la console, vous voyez que sur la console il y a

141
00:11:48,820 --> 00:11:54,530
des détails de l'en-tête des requêtes entrantes est imprimé ici.

142
00:11:54,530 --> 00:11:56,650
Certaines choses sont très faciles à localiser ici.

143
00:11:56,650 --> 00:12:02,290
Donc, c'est l'hôte, localhost:3000, et vous voyez aussi que le « user-agent »

144
00:12:02,290 --> 00:12:08,200
est réglé sur « Chrome » ici, la version Chrome que j'utilise ici.

145
00:12:08,200 --> 00:12:14,470
C' est donc une illustration intéressante du message de requête HTTP.

146
00:12:14,470 --> 00:12:19,860
Et ce qui est contenu dans l'en-tête du message de requête qui est venu ici.

147
00:12:19,860 --> 00:12:24,700
Tellement intéressant d'observer ce que votre sever est

148
00:12:24,700 --> 00:12:28,690
en train d'imprimer sur l'écran ici.

149
00:12:28,690 --> 00:12:32,935
Avec cela, nous terminons la première moitié de cet exercice.

150
00:12:32,935 --> 00:12:38,895
Maintenant, nous pouvons initialiser cette application dans un dépôt Git,

151
00:12:38,895 --> 00:12:41,505
puis enregistrer les modifications dans le dépôt Git.

152
00:12:41,505 --> 00:12:44,695
Alors allons-y et faisons-le ensuite.

153
00:12:44,695 --> 00:12:51,435
Au type d'invite, obtenez init, et qui a initialisé le référentiel.

154
00:12:51,435 --> 00:12:57,420
Et puis nous dirons git status et vous verrez que ces deux fichiers sont nouveaux.

155
00:12:57,420 --> 00:12:59,502
Donc, nous allons dire git add.

156
00:12:59,502 --> 00:13:04,702
Et faites git commit

157
00:13:04,702 --> 00:13:15,260
-m « Node HTTP Exemple 1".

158
00:13:15,260 --> 00:13:19,260
Et puis vérifiez ceci dans notre dépôt Git.

159
00:13:19,260 --> 00:13:22,640
Maintenant encore un autre outil qui est très utile

160
00:13:22,640 --> 00:13:28,370
lorsque nous regardons des applications côté serveur est appelé Postman.

161
00:13:28,370 --> 00:13:33,330
Maintenant Postman se présente sous la forme d'une extension de navigateur Chrome ou

162
00:13:33,330 --> 00:13:38,430
d'un outil autonome que vous pouvez télécharger et installer sur votre ordinateur.

163
00:13:38,430 --> 00:13:43,998
Donc, pour ce faire, dans notre navigateur, tapez http.

164
00:13:43,998 --> 00:13:47,425
getpostman.com.

165
00:13:47,425 --> 00:13:52,550
Et puis c'est là que vous pouvez obtenir l'

166
00:13:52,550 --> 00:13:57,660
outil Postman pour votre système d'exploitation spécifique et l'installer.

167
00:13:57,660 --> 00:14:04,360
L' outil Postman vous permet de créer des requêtes HTTP, puis de les envoyer.

168
00:14:04,360 --> 00:14:09,960
Et cela vous donne également la flexibilité de configurer les en-têtes de

169
00:14:09,960 --> 00:14:12,520
votre requête HTTP avant de l'envoyer.

170
00:14:12,520 --> 00:14:16,140
Et puis, lorsque la réponse revient, vous pouvez examiner la réponse,

171
00:14:16,140 --> 00:14:20,500
y compris les en-têtes de la réponse qui revient du côté serveur.

172
00:14:20,500 --> 00:14:23,160
Donc, je trouve Postman très utile.

173
00:14:23,160 --> 00:14:25,410
Il y a quelques autres outils comme celui-ci,

174
00:14:25,410 --> 00:14:30,040
mais Postman semble être le meilleur sur le marché en ce moment.

175
00:14:30,040 --> 00:14:35,010
Donc je vais utiliser Facteur pendant le reste de ce cours.

176
00:14:35,010 --> 00:14:36,830
Si vous ne voulez pas l'installer,

177
00:14:36,830 --> 00:14:41,720
vous pouvez également installer l'extension de navigateur Chrome de Postman, puis l'utiliser.

178
00:14:41,720 --> 00:14:45,260
Je vais télécharger la version macOS de Postman

179
00:14:45,260 --> 00:14:49,130
, puis l'installer sur ma machine, puis en faire usage.

180
00:14:50,230 --> 00:14:54,280
Une fois que vous avez le Postman, soit la version autonome ou

181
00:14:54,280 --> 00:14:57,880
l'extension de navigateur Chrome installé, vous pouvez le démarrer.

182
00:14:57,880 --> 00:15:02,210
Et vous verrez que l'interface utilisateur est plus ou moins la même pour

183
00:15:02,210 --> 00:15:07,060
la version standard et aussi pour l'extension du navigateur Chrome.

184
00:15:07,060 --> 00:15:10,955
Et une fois que vous avez le Facteur opérationnel,

185
00:15:10,955 --> 00:15:18,105
tapez dans la zone URL de requête,

186
00:15:18,105 --> 00:15:21,510
localhost:3000.

187
00:15:21,510 --> 00:15:24,090
Et envoyez la demande à vous-même.

188
00:15:24,090 --> 00:15:28,990
Assurez-vous que votre serveur HTTP Node est opérationnel.

189
00:15:28,990 --> 00:15:30,440
Ainsi, lorsque vous envoyez la requête,

190
00:15:30,440 --> 00:15:36,100
vous obtiendrez immédiatement une réponse du serveur avec le code HTML ici.

191
00:15:36,100 --> 00:15:38,170
Maintenant, l'avantage, comme vous le voyez,

192
00:15:38,170 --> 00:15:43,480
avec l'utilisation de Postman est que vous pouvez voir le corps réel du message.

193
00:15:43,480 --> 00:15:49,380
Vous pouvez également regarder les en-têtes pour voir ce qui a été renvoyé par le serveur.

194
00:15:49,380 --> 00:15:54,890
Vous pouvez également configurer beaucoup de détails dans Postman lorsque vous envoyez.

195
00:15:54,890 --> 00:15:57,600
Demande du serveur.

196
00:15:57,600 --> 00:16:02,930
Maintenant, beaucoup d'entre eux peuvent ne pas être très facile à faire en utilisant une fenêtre de navigateur standard.

197
00:16:02,930 --> 00:16:07,092
C' est donc la raison pour laquelle je préfère utiliser [INAUDIBLE] pour

198
00:16:07,092 --> 00:16:10,780
générer les requêtes HTTP sur mon serveur.

199
00:16:10,780 --> 00:16:14,630
Et puis en observant la réponse qui revient du côté serveur.

200
00:16:14,630 --> 00:16:20,490
Notez également qu'il affiche le code d'état ici et d'autres informations sur

201
00:16:21,650 --> 00:16:26,140
la requête et le temps de réponse du côté serveur.

202
00:16:26,140 --> 00:16:31,760
Maintenant que nous avons créé son serveur HTTP basé sur un nœud simple,

203
00:16:31,760 --> 00:16:39,380
étendons-le plus loin, créons quelques fichiers HTML dans le dossier public.

204
00:16:39,380 --> 00:16:43,632
Nous l'appellerons comme index.html.

205
00:16:43,632 --> 00:16:49,657
Et puis aussi aboutus.html,

206
00:16:49,657 --> 00:16:55,160
puis incluez simplement quelques informations sur les os nus ici.

207
00:16:55,160 --> 00:17:00,809
Donc, nous allons dire html, et

208
00:17:00,809 --> 00:17:08,160
le titre comme Ceci est index.html.

209
00:17:08,160 --> 00:17:15,790
Et puis nous allons taper le corps de la page html.

210
00:17:15,790 --> 00:17:21,044
Dites h1 Index.html et

211
00:17:21,044 --> 00:17:26,298
le corps, puis c'est

212
00:17:26,298 --> 00:17:32,346
le contenu de ce fichier.

213
00:17:32,346 --> 00:17:36,187
Un peu de code html de base ici, laissez-moi copier ceci et

214
00:17:36,187 --> 00:17:40,040
puis coller également dans la page aboutus.html.

215
00:17:58,607 --> 00:18:02,560
Et le contenu du fichier aboutus.html, c'est tout.

216
00:18:02,560 --> 00:18:05,310
Nous venons de créer deux pages HTML, et ce

217
00:18:05,310 --> 00:18:09,840
sont des pages HTML statiques que nous avons créées dans le dossier public.

218
00:18:09,840 --> 00:18:16,800
Maintenant, pouvons-nous configurer notre serveur HTTP nœud pour pouvoir servir des pages statiques ?

219
00:18:16,800 --> 00:18:24,030
C' est donc ce que nous allons configurer dans la deuxième partie de cet exercice.

220
00:18:24,030 --> 00:18:27,928
Donc, en revenant au fichier index.js,

221
00:18:27,928 --> 00:18:32,244
en plus du module de code HTTP,

222
00:18:32,244 --> 00:18:38,660
je vais également importer le module de code du système de fichiers.

223
00:18:45,192 --> 00:18:49,920
Et ce module de code de chemin.

224
00:18:51,230 --> 00:18:56,560
Le chemin d'accès vous permet de spécifier la partie d'un fichier dans votre système de fichiers local.

225
00:18:56,560 --> 00:18:59,430
Le module système de fichiers vous permet de lire et d'

226
00:18:59,430 --> 00:19:02,330
écrire des fichiers à partir de votre système de fichiers local.

227
00:19:02,330 --> 00:19:08,880
Donc, avec cela, ils diront serveur constant, http.CreateServer.

228
00:19:08,880 --> 00:19:13,583
Pour le journal de la console, au lieu de taper des en-têtes de requête entiers,

229
00:19:13,583 --> 00:19:17,378
je vais simplement taper des informations suffisantes, donc

230
00:19:17,378 --> 00:19:24,212
je dirai, Request for,

231
00:19:29,291 --> 00:19:32,329
Juste l'URL de cette requête.

232
00:19:39,786 --> 00:19:41,195
Par méthode.

233
00:19:46,917 --> 00:19:51,218
Donc, la méthode serait soit obtenir le port post ou supprimer les méthodes.

234
00:19:51,218 --> 00:19:56,450
Donc, cela va enregistrer cette information.

235
00:19:56,450 --> 00:20:01,478
Maintenant, ce que nous allons faire, c'est au lieu d'envoyer

236
00:20:01,478 --> 00:20:06,440
cette réponse, la réponse standard « hello world ».

237
00:20:06,440 --> 00:20:11,176
Ici, nous allons examiner la méthode et

238
00:20:11,176 --> 00:20:16,600
ensuite nous dirons si req.method est égal à GET.

239
00:20:16,600 --> 00:20:21,689
Nous ne servirons donc que les requêtes GET dans cet exemple.

240
00:20:25,904 --> 00:20:28,750
Sinon, nous dirons qu'il y a un if.

241
00:20:28,750 --> 00:20:34,035
Donc, s'il y a une requête GET qui entre,

242
00:20:34,035 --> 00:20:36,911
alors nous allons examiner,

243
00:20:42,139 --> 00:20:47,577
L'URL qui entre,

244
00:20:47,577 --> 00:20:55,304
donc nous dirons si req.url est/,

245
00:20:55,304 --> 00:21:03,615
nous dirons FileURL égal à html.

246
00:21:03,615 --> 00:21:06,645
Donc, si vous n'obtenez pas un nom de fichier spécifique mais

247
00:21:06,645 --> 00:21:10,380
vous envoyez simplement la requête au code hôte local 3000.

248
00:21:10,380 --> 00:21:15,371
Il sera par défaut index.html,

249
00:21:15,371 --> 00:21:22,460
sinon il dira FileURL est égal à req.url.

250
00:21:24,650 --> 00:21:28,148
Donc, de cette façon, vous avez construit quel fichier au serveur.

251
00:21:28,148 --> 00:21:35,929
Maintenant, nous allons dire que nous allons trouver le chemin du fichier,

252
00:21:35,929 --> 00:21:41,279
nous allons dire chemin, Resolve,

253
00:21:41,279 --> 00:21:48,404
donc le module de chemin prend en charge cette méthode de résolution, donc cela va

254
00:21:52,013 --> 00:21:57,331
traduire cela dans le fichier de dossiers de chemin à part entière,

255
00:21:57,331 --> 00:22:01,096
le fichier que nous venons de construire,

256
00:22:01,096 --> 00:22:05,620
le FileURL que nous venons de construire.

257
00:22:05,620 --> 00:22:10,480
Donc, cela nous donnera le chemin complet pour le fichier,

258
00:22:10,480 --> 00:22:17,000
puis nous dirons FileExtension constante.

259
00:22:17,000 --> 00:22:21,524
Donc, si vous voulez vous assurer que

260
00:22:21,524 --> 00:22:26,808
l'extension de nom de fichier est HTML.

261
00:22:30,003 --> 00:22:32,904
Donc, à partir du FilePath,

262
00:22:32,904 --> 00:22:38,402
nous allons examiner l'extension de nom de fichier et

263
00:22:38,402 --> 00:22:42,710
ensuite nous dirons si FileExt ==.

264
00:22:42,710 --> 00:22:47,270
Donc, si c'est un fichier HTML, alors nous savons comment le servir à partir de cette

265
00:22:48,410 --> 00:22:51,830
relation particulière du serveur HTTP nœud.

266
00:22:51,830 --> 00:22:57,025
Donc, nous dirons si l'extension de fichier est HTML, alors nous savons que

267
00:22:57,025 --> 00:23:02,835
le fichier est un fichier HTML et nous avons les deux fichiers, index et aboutus.html.

268
00:23:02,835 --> 00:23:06,986
Donc, nous allons vérifier si ce fichier existe, donc

269
00:23:06,986 --> 00:23:11,435
nous allons dire si le fichier existe, FilePath.

270
00:23:11,435 --> 00:23:17,915
Donc, la méthode exists vérifiera si le fichier existe,

271
00:23:17,915 --> 00:23:24,180
donc nous dirons fs.exists (FilePath),

272
00:23:24,180 --> 00:23:26,860
et celui-ci prendra

273
00:23:29,780 --> 00:23:34,170
comme deuxième paramètre, une fonction de rappel.

274
00:23:34,170 --> 00:23:39,180
Notez donc l'utilisation de la première fonction de rappel dans notre exemple.

275
00:23:39,180 --> 00:23:46,430
Donc, cette fonction de rappel sera appelée avec ce paramètre existe dedans.

276
00:23:46,430 --> 00:23:50,740
Donc, à l'intérieur de ce paramètre de rappel, cela existe sera soit vrai, soit faux.

277
00:23:50,740 --> 00:23:54,160
C' est donc le paramètre de retour pour cette fonction de rappel.

278
00:23:54,160 --> 00:23:58,336
Donc ici, Nous allons vérifier, et

279
00:23:58,336 --> 00:24:02,584
nous dirons si ( ! existe), ce

280
00:24:02,584 --> 00:24:08,248
qui signifie que le fichier n'existe pas,

281
00:24:08,248 --> 00:24:14,241
alors nous dirons RES.statusCode = 404.

282
00:24:14,241 --> 00:24:19,107
Rappelez-vous que si le fichier n'existe pas, vous enverrez un code d'état 404 indiquant que

283
00:24:19,107 --> 00:24:20,608
vous ne pouvez pas trouver le fichier.

284
00:24:20,608 --> 00:24:26,393
Et puis nous dirons res.setHeader,

285
00:24:26,393 --> 00:24:33,996
et nous allons définir l'en-tête sur 'Content-Type',

286
00:24:37,305 --> 00:24:39,587
'text/html'.

287
00:24:42,729 --> 00:24:51,940
Et puis nous devons envoyer le fichier HTML ici, ou le code HTML.

288
00:24:51,940 --> 00:24:59,150
Donc, je vais faire le code HTML de base, corps html h1.

289
00:25:01,582 --> 00:25:05,590
Erreur 404,

290
00:25:05,590 --> 00:25:12,378
nous dirons, + FileURL +

291
00:25:17,421 --> 00:25:20,668
'non trouvé'.

292
00:25:24,185 --> 00:25:31,670
Et fermez, La page HTML.

293
00:25:31,670 --> 00:25:36,560
Donc, ici, comme vous le remarquez, vous utilisez la fonction existe

294
00:25:36,560 --> 00:25:41,350
du module de système de fichiers pour vérifier si le fichier existe.

295
00:25:41,350 --> 00:25:43,670
Donc, vous donnez le chemin du fichier comme premier paramètre, et

296
00:25:43,670 --> 00:25:45,970
le second est la fonction de rappel.

297
00:25:45,970 --> 00:25:51,380
Dans cette fonction de rappel, si elle dit que l'existe est faux, alors vous allez

298
00:25:51,380 --> 00:25:58,010
renvoyer le message d'erreur 404 standard, en disant que vous ne pouvez pas trouver le fichier.

299
00:25:58,010 --> 00:26:01,420
Et après avoir fait cela, nous allons simplement,

300
00:26:04,918 --> 00:26:08,088
retourner, sinon,

301
00:26:10,507 --> 00:26:16,151
Nous allons dire res.statusCode

302
00:26:16,151 --> 00:26:22,267
= 200, RES.setHeader,

303
00:26:26,156 --> 00:26:32,481
('Content-Type', 'text/html').

304
00:26:37,154 --> 00:26:41,950
Maintenant, nous devons lire dans le fichier et ensuite envoyer le fichier.

305
00:26:41,950 --> 00:26:44,950
C' est donc là que, à partir du module de système de fichiers,

306
00:26:44,950 --> 00:26:50,510
nous allons utiliser CreateReadStream,

307
00:26:50,510 --> 00:26:54,770
qui prendra le FilePath comme paramètre.

308
00:26:54,770 --> 00:27:00,810
Donc, cette méthode CreateReadStream va lire dans le fichier à partir de ce FilePath.

309
00:27:00,810 --> 00:27:05,930
Et puis convertissez cela en flux d'octets,

310
00:27:05,930 --> 00:27:10,530
puis ils conduiront cela jusqu'à la réponse.

311
00:27:10,530 --> 00:27:15,300
Cela sera donc inclus dans la réponse, dans le corps de la réponse.

312
00:27:15,300 --> 00:27:17,978
De cette façon, nous venons de prendre le fichier et de

313
00:27:17,978 --> 00:27:22,274
le construire dans la réponse ici.

314
00:27:22,274 --> 00:27:26,640
Et c'est tout, le dossier est prêt à être envoyé, ok ?

315
00:27:26,640 --> 00:27:29,875
Donc, c'est si l'extension de fichier est html,

316
00:27:29,875 --> 00:27:34,740
nous vérifions pour nous assurer que vous gérez cela correctement.

317
00:27:34,740 --> 00:27:38,770
C' est donc là que vous allez lire dans le fichier, puis l'envoyer.

318
00:27:38,770 --> 00:27:46,560
Si l'extension de fichier n'est pas html, alors bien sûr, nous devons envoyer un message d'erreur.

319
00:27:46,560 --> 00:27:51,481
Donc juste là, nous allons voir, nous allons copier ce

320
00:27:51,481 --> 00:27:56,890
particulier, Code d'ici.

321
00:27:58,774 --> 00:28:03,364
Et puis collez-le là-dedans.

322
00:28:03,364 --> 00:28:10,553
Nous dirons, sinon StatusCode = 404, texte/html,

323
00:28:10,553 --> 00:28:16,685
et le message d'erreur dit, Erreur 404, FileURL.

324
00:28:16,685 --> 00:28:20,849
Il n'est pas trouvé, mais

325
00:28:20,849 --> 00:28:25,250
ce n'est pas un fichier HTML.

326
00:28:25,250 --> 00:28:28,648
C' est donc l'erreur que nous allons renvoyer dans ce cas.

327
00:28:28,648 --> 00:28:34,384
Et enfin, pour le dernier cas,

328
00:28:34,384 --> 00:28:39,650
donc ici nous disons la méthode.

329
00:28:39,650 --> 00:28:44,910
Donc, ceci correspond à la méthode de requête.

330
00:28:44,910 --> 00:28:48,230
Donc, si la méthode de requête n'est pas GET, mais une autre méthode de requête,

331
00:28:48,230 --> 00:28:54,380
alors nous ne gérerons pas cela dans cette version notre application Node.

332
00:28:54,380 --> 00:28:58,333
Donc, nous allons renvoyer StatusCode 404,

333
00:28:58,333 --> 00:29:02,759
Content html, et nous dirons Erreur 404.

334
00:29:04,100 --> 00:29:09,117
Et nous dirons, méthode req,

335
00:29:11,763 --> 00:29:16,394
Non, pris en charge,

336
00:29:16,394 --> 00:29:21,800
pas pris en charge par ce serveur Node HTML ici, c'est tout.

337
00:29:21,800 --> 00:29:28,667
Avec ces changements, nous sommes maintenant prêts à redémarrer notre navigateur.

338
00:29:28,667 --> 00:29:33,850
Et puis laissez-le servir les fichiers HTML ici.

339
00:29:35,800 --> 00:29:42,351
Donc, sauvegardons les changements, Et puis redémarrez notre serveur,

340
00:29:42,351 --> 00:29:48,018
puis examinons ce qu'il envoie lorsque nous envoyons diverses demandes au serveur.

341
00:29:48,018 --> 00:29:51,974
Aller au terminal, si votre serveur est en cours d'exécution,

342
00:29:51,974 --> 00:29:56,398
arrêtez-le en tapant Ctrl+C, puis redémarrez le serveur.

343
00:29:56,398 --> 00:30:00,490
Et lorsque le serveur est opérationnel, envoyons des requêtes à lui. Tout d'

344
00:30:00,490 --> 00:30:05,722
abord, à partir d'un navigateur, puis de Postman.

345
00:30:05,722 --> 00:30:10,340
Allez dans la fenêtre de votre navigateur, tapez localhost:3000, et

346
00:30:10,340 --> 00:30:16,320
voyons que cela renvoie le fichier index.html comme nous l'attendons.

347
00:30:16,320 --> 00:30:21,073
Et puis nous dirons localhost:3000/index.html,

348
00:30:21,073 --> 00:30:24,974
et cela retournera également le fichier index.html.

349
00:30:24,974 --> 00:30:32,530
Maintenant, si nous envoyons aboutus.html, il dit Aboutus.html, et il le renvoie correctement.

350
00:30:32,530 --> 00:30:38,390
Envoyez-nous maintenant une demande pour aboutus.txt, et voyons ce qu'il fait.

351
00:30:38,390 --> 00:30:43,365
Donc, il dit /aboutus.txt n'est pas un fichier HTML.

352
00:30:43,365 --> 00:30:49,992
Ensuite, envoyons une requête à test.html.

353
00:30:49,992 --> 00:30:56,005
Et nous savons que test.html n'existe pas, donc il dit /test.html introuvable.

354
00:30:56,005 --> 00:31:01,185
Donc, nous voyons qu'en utilisant le navigateur, nous sommes capables de récupérer

355
00:31:01,185 --> 00:31:06,620
les fichiers qui existent, et le serveur est capable d'envoyer les fichiers au navigateur.

356
00:31:06,620 --> 00:31:10,420
Allons maintenant à Postman et essayons de générer les mêmes requêtes,

357
00:31:10,420 --> 00:31:13,400
et voir la réponse du serveur.

358
00:31:13,400 --> 00:31:20,280
Ensuite, allez à Postman, envoyons une requête GET à localhost:3000/.

359
00:31:20,280 --> 00:31:25,150
Et vous voyez que cela renvoie le fichier index.html.

360
00:31:25,150 --> 00:31:30,530
Envoyez-nous une demande à aboutus.html.

361
00:31:30,530 --> 00:31:35,159
Et puis vous voyez qu'il renvoie le fichier aboutus.html.

362
00:31:35,159 --> 00:31:38,650
Et puis nous allons envoyer une demande au fichier texte,

363
00:31:38,650 --> 00:31:42,240
puis il dit erreur 404, pas un fichier HTML.

364
00:31:42,240 --> 00:31:46,920
Et vous verrez que le statut ici dit, 404 pas trouvé.

365
00:31:46,920 --> 00:31:51,400
Et puis nous allons, au lieu d'envoyer une requête GET,

366
00:31:51,400 --> 00:31:56,730
voir que c'est l'avantage d'utiliser Postman, je vais envoyer une requête PUT.

367
00:31:56,730 --> 00:32:01,040
Et vous remarquerez que cela dit, Erreur : PUT pas pris en charge, et

368
00:32:01,040 --> 00:32:04,800
ainsi de suite avec le statut 404 ici, et ainsi de suite.

369
00:32:04,800 --> 00:32:11,010
C' est ainsi que vous pouvez configurer un serveur HTTP Node

370
00:32:11,010 --> 00:32:16,600
pour pouvoir servir des fichiers, des fichiers HTTP dans ce cas particulier.

371
00:32:16,600 --> 00:32:19,420
Maintenant, vous pouvez facilement imaginer étendre

372
00:32:19,420 --> 00:32:23,900
ce serveur HTTP pour gérer de nombreux types de fichiers différents et ainsi de suite.

373
00:32:23,900 --> 00:32:25,630
Mais bien sûr, en conséquence,

374
00:32:25,630 --> 00:32:30,350
le code sera également plus compliqué que ce que nous avons en ce moment.

375
00:32:30,350 --> 00:32:33,140
Avec cela, nous complétons cet exercice.

376
00:32:33,140 --> 00:32:38,589
Dans cet exercice, nous avons vu comment nous pouvons mettre en place un simple

377
00:32:38,589 --> 00:32:45,356
serveur HTTP basé sur des nœuds qui sert des fichiers à partir de notre site serveur.

378
00:32:45,356 --> 00:32:48,260
[ MUSIQUE]