﻿1
00:00:01,210 --> 00:00:03,880
‫Instructeur : Donc, après toutes les discussions sur le

2
00:00:03,880 --> 00:00:05,290
‫middleware, allons maintenant de

3
00:00:05,290 --> 00:00:07,463
‫l'avant et créons nos propres fonctions de middleware.

4
00:00:09,000 --> 00:00:10,810
‫Et encore une fois, rappelez-vous

5
00:00:10,810 --> 00:00:12,930
‫que nous utilisions déjà un middleware auparavant.

6
00:00:12,930 --> 00:00:14,380
‫Jetons donc un œil à cela.

7
00:00:15,730 --> 00:00:18,350
‫Et, quelque part ici.

8
00:00:18,350 --> 00:00:20,450
‫Et donc, vous voyez que pour

9
00:00:20,450 --> 00:00:24,530
‫utiliser le middleware, nous avons utilisé l'utilisation de points d'application, d'accord ?

10
00:00:24,530 --> 00:00:28,190
‫Ainsi, la méthode d'utilisation est celle que nous utilisons afin,

11
00:00:28,190 --> 00:00:30,030
‫oui, d'utiliser réellement le middleware.

12
00:00:30,030 --> 00:00:33,800
‫Alors, ajoutez un middleware à notre pile de middleware, d'accord ?

13
00:00:33,800 --> 00:00:37,520
‫Donc, ce json express dot ici appelant cette méthode json renvoie

14
00:00:37,520 --> 00:00:39,620
‫essentiellement une fonction, d'accord ?

15
00:00:39,620 --> 00:00:42,650
‫Et cette fonction est ensuite ajoutée à la pile middleware.

16
00:00:42,650 --> 00:00:43,900
‫Et ainsi, de la

17
00:00:43,900 --> 00:00:46,220
‫même manière, nous pouvons créer notre propre fonction middleware.

18
00:00:46,220 --> 00:00:48,190
‫Alors, faisons-le maintenant.

19
00:00:48,190 --> 00:00:51,283
‫Et donc, bien sûr, nous devons toujours utiliser l'utilisation des points d'application.

20
00:00:53,840 --> 00:00:56,810
‫D'accord, et maintenant, ici, tout ce que nous avons à

21
00:00:56,810 --> 00:01:00,820
‫faire est de cheminer dans notre fonction que nous voulons ajouter à la pile middleware.

22
00:01:00,820 --> 00:01:02,730
‫Alors, rappelez-vous de la dernière vidéo que,

23
00:01:02,730 --> 00:01:04,520
‫bien sûr, dans chaque fonction

24
00:01:04,520 --> 00:01:08,340
‫middleware, nous avons accès à la demande et à la réponse, d'accord ?

25
00:01:08,340 --> 00:01:10,663
‫Mais aussi, nous avons la fonction suivante.

26
00:01:11,890 --> 00:01:15,060
‫Et donc, juste comme ça, nous éditons comme troisième

27
00:01:15,060 --> 00:01:17,580
‫argument de cette fonction middleware, d'accord ?

28
00:01:17,580 --> 00:01:19,970
‫Et comme ça, express sait alors

29
00:01:19,970 --> 00:01:22,370
‫que nous définissons en fait un middleware ici.

30
00:01:23,270 --> 00:01:24,820
‫Bien.

31
00:01:24,820 --> 00:01:26,160
‫Maintenant, comme avant,

32
00:01:26,160 --> 00:01:28,920
‫en fait, nous aurions pu appeler cet argument

33
00:01:28,920 --> 00:01:32,950
‫ici autrement, comme X ou N, ou, cela n'a pas vraiment d'importance.

34
00:01:32,950 --> 00:01:34,270
‫Ce qui compte, c'est

35
00:01:34,270 --> 00:01:36,540
‫que c'est le troisième argument de cette fonction.

36
00:01:36,540 --> 00:01:39,360
‫Donc, express passe essentiellement la fonction

37
00:01:39,360 --> 00:01:42,780
‫suivante comme troisième argument dans cette fonction middleware.

38
00:01:42,780 --> 00:01:44,500
‫Et on peut alors l'appeler comme on veut.

39
00:01:44,500 --> 00:01:47,720
‫Mais encore une fois, la prochaine est vraiment la convention

40
00:01:47,720 --> 00:01:49,420
‫dans express, et afin d'éviter

41
00:01:49,420 --> 00:01:52,450
‫toute confusion, nous utilisons toujours ce nom, d'accord ?

42
00:01:52,450 --> 00:01:54,250
‫Et de même pour la demande

43
00:01:54,250 --> 00:01:57,590
‫et la réponse, comme je l'ai mentionné précédemment, nous pourrions les appeler autrement.

44
00:01:57,590 --> 00:02:00,410
‫Mais la convention est de les appeler ainsi.

45
00:02:00,410 --> 00:02:02,470
‫Quoi qu'il en soit, enregistrons simplement quelque chose dans

46
00:02:02,470 --> 00:02:04,080
‫la console, ici dans cette fonction

47
00:02:04,080 --> 00:02:06,650
‫middleware, juste pour que nous ayons du code à exécuter à

48
00:02:06,650 --> 00:02:08,423
‫chaque fois qu'il y a une nouvelle demande.

49
00:02:09,280 --> 00:02:10,410
‫Dites

50
00:02:12,510 --> 00:02:13,753
‫bonjour du middleware.

51
00:02:15,850 --> 00:02:18,980
‫Et ajoutez des emoji ici, encore une fois, pour le faire ressortir un peu.

52
00:02:18,980 --> 00:02:20,133
‫J'aime beaucoup ça.

53
00:02:21,876 --> 00:02:22,709
‫Et que se passe-t-il ici ?

54
00:02:22,709 --> 00:02:23,750
‫Ah, d'accord.

55
00:02:23,750 --> 00:02:26,210
‫C'est donc le code que nous voulons exécuter ici.

56
00:02:26,210 --> 00:02:28,690
‫Et maintenant, tout comme nous en avons parlé dans

57
00:02:28,690 --> 00:02:31,780
‫la dernière vidéo, nous devons en fait appeler la fonction suivante, d'accord ?

58
00:02:31,780 --> 00:02:33,510
‫Et si nous n'appelions pas

59
00:02:33,510 --> 00:02:35,570
‫ensuite ici, eh bien, le cycle

60
00:02:35,570 --> 00:02:37,750
‫demande/réponse serait vraiment bloqué à ce stade.

61
00:02:37,750 --> 00:02:39,290
‫Nous ne serions pas

62
00:02:39,290 --> 00:02:43,090
‫en mesure d'avancer et nous ne renverrions jamais de réponse au client.

63
00:02:43,090 --> 00:02:45,660
‫Je ne saurais donc trop insister sur l'importance

64
00:02:45,660 --> 00:02:48,773
‫de ne jamais oublier d'utiliser Next dans tous vos middleware.

65
00:02:50,230 --> 00:02:52,290
‫D'accord, et c'est aussi simple que ça.

66
00:02:52,290 --> 00:02:55,880
‫Tout ce que nous avons à faire est de spécifier ensuite.

67
00:02:55,880 --> 00:02:57,330
‫Donc, cet argument ici.

68
00:02:57,330 --> 00:02:59,820
‫Et puis appelez cette fonction comme ceci.

69
00:02:59,820 --> 00:03:00,653
‫D'accord.

70
00:03:00,653 --> 00:03:03,087
‫Et avec cela, nous sommes en fait prêts à le tester.

71
00:03:03,087 --> 00:03:04,370
‫Et tout ce que nous

72
00:03:04,370 --> 00:03:06,763
‫avons à faire est d'envoyer une simple requête à notre API.

73
00:03:08,900 --> 00:03:11,270
‫Voici donc l'API.

74
00:03:11,270 --> 00:03:13,083
‫Fermons celui-ci ici.

75
00:03:14,210 --> 00:03:16,560
‫Et donc, cela n'a pas vraiment d'importance,

76
00:03:16,560 --> 00:03:18,980
‫car cela, bien sûr, s'applique à chaque demande.

77
00:03:18,980 --> 00:03:20,420
‫Alors, revenons en arrière.

78
00:03:20,420 --> 00:03:22,760
‫Et effectivement, nous avons le bonjour

79
00:03:22,760 --> 00:03:25,400
‫du middleware connecté à notre console, d'accord ?

80
00:03:25,400 --> 00:03:26,313
‫Tellement bon.

81
00:03:27,240 --> 00:03:30,140
‫Et je voulais aborder rapidement ce que je viens

82
00:03:30,140 --> 00:03:32,150
‫de dire avant, à savoir

83
00:03:32,150 --> 00:03:35,160
‫que ce middleware ici s'applique à chaque demande, d'accord ?

84
00:03:35,160 --> 00:03:37,600
‫Et c'est parce que nous n'avons spécifié aucun itinéraire.

85
00:03:37,600 --> 00:03:40,850
‫Alors, rappelez-vous qu'avant de dire que tous les gestionnaires de routes

86
00:03:40,850 --> 00:03:43,710
‫ici sont en fait une sorte de middleware eux-mêmes.

87
00:03:43,710 --> 00:03:45,200
‫Ce sont simplement des

88
00:03:45,200 --> 00:03:47,790
‫fonctions middleware qui ne s'appliquent qu'à une certaine URL.

89
00:03:47,790 --> 00:03:50,010
‫Donc un certain itinéraire, d'accord.

90
00:03:50,010 --> 00:03:52,980
‫Mais ces fonctions middleware plus simples que

91
00:03:52,980 --> 00:03:54,900
‫nous définissons ici,

92
00:03:54,900 --> 00:03:58,080
‫eh bien, elles vont s'appliquer à chaque requête.

93
00:03:58,080 --> 00:04:00,070
‫Du moins, si le gestionnaire de

94
00:04:00,070 --> 00:04:01,820
‫route vient avant ce middleware.

95
00:04:01,820 --> 00:04:04,250
‫Alors laissez-moi vous montrer quelque chose.

96
00:04:04,250 --> 00:04:06,610
‫Et je vais le couper à partir

97
00:04:06,610 --> 00:04:08,670
‫d'ici et maintenant le mettre ici

98
00:04:08,670 --> 00:04:10,563
‫après ce gestionnaire de route.

99
00:04:12,240 --> 00:04:14,910
‫Alors, que pensez-vous qu'il va

100
00:04:14,910 --> 00:04:18,550
‫se passer maintenant lorsque j'appellerai cette route ?

101
00:04:18,550 --> 00:04:20,900
‫Voyons donc ce qui se passe.

102
00:04:20,900 --> 00:04:24,040
‫Donc cet itinéraire exact, donc celui que je viens de vous montrer,

103
00:04:24,040 --> 00:04:25,640
‫permettez-moi d'envoyer la demande à cela.

104
00:04:26,520 --> 00:04:29,420
‫Et maintenant, revenons en arrière et maintenant nous n'avons plus

105
00:04:29,420 --> 00:04:31,000
‫le bonjour du middleware.

106
00:04:31,000 --> 00:04:32,460
‫Alors, pourquoi ?

107
00:04:32,460 --> 00:04:34,930
‫Eh bien, simplement parce que ce middleware,

108
00:04:34,930 --> 00:04:36,580
‫donc ce gestionnaire de

109
00:04:36,580 --> 00:04:40,200
‫route ici, vient avant cette fonction middleware que nous avons ici.

110
00:04:40,200 --> 00:04:42,330
‫Et ce gestionnaire de route, qui dans

111
00:04:42,330 --> 00:04:46,570
‫ce cas, obtient toutes les tournées, termine en fait le cycle de réponse à la demande.

112
00:04:46,570 --> 00:04:48,130
‫Jetons donc un œil à cela.

113
00:04:48,130 --> 00:04:49,763
‫Nous avons donc obtenu toutes les visites.

114
00:04:51,220 --> 00:04:52,600
‫Alors, où est-ce ?

115
00:04:52,600 --> 00:04:56,100
‫Oui, voici donc la fonction et en envoyant un résultat avec

116
00:04:56,100 --> 00:04:58,550
‫res dot json, nous terminons en

117
00:04:58,550 --> 00:05:01,090
‫fait le cycle de réponse de la demande.

118
00:05:01,090 --> 00:05:03,440
‫Et donc le middleware suivant dans

119
00:05:03,440 --> 00:05:05,430
‫la pile, qui dans ce

120
00:05:06,280 --> 00:05:09,700
‫cas, est celui-ci, donc notre custom ne sera pas appelé.

121
00:05:09,700 --> 00:05:13,300
‫Encore une fois, parce que le cycle est déjà terminé, d'accord.

122
00:05:13,300 --> 00:05:15,930
‫Assurez-vous donc de comprendre que cette commande

123
00:05:15,930 --> 00:05:18,200
‫compte vraiment beaucoup en express, d'accord.

124
00:05:18,200 --> 00:05:20,490
‫Il est fondamental de comprendre

125
00:05:20,490 --> 00:05:23,590
‫que c'est ainsi que fonctionnent les applications express, d'accord.

126
00:05:23,590 --> 00:05:25,760
‫Donc, afin de tester cela, essayons de

127
00:05:25,760 --> 00:05:27,730
‫voir ce qui se passe

128
00:05:27,730 --> 00:05:30,190
‫lorsque nous faisons une requête à cette route.

129
00:05:30,190 --> 00:05:33,173
‫Donc, pour obtenir la tournée, mettez à jour la tournée ou supprimez la tournée.

130
00:05:34,900 --> 00:05:38,090
‫Faisons donc celui-ci, envoyons la demande ici, et

131
00:05:38,090 --> 00:05:41,150
‫revenons en arrière et maintenant nous avons le

132
00:05:41,150 --> 00:05:42,740
‫bonjour du middleware.

133
00:05:42,740 --> 00:05:45,180
‫C'est donc en fait ce à quoi nous nous attendions, n'est-ce pas ?

134
00:05:45,180 --> 00:05:48,120
‫C'est donc bien sûr parce que ce middleware ici

135
00:05:48,120 --> 00:05:50,630
‫est maintenant avant le gestionnaire de route.

136
00:05:50,630 --> 00:05:53,390
‫Et c'est donc, bien sûr, une partie de la pile

137
00:05:53,390 --> 00:05:57,050
‫middleware qui est exécutée avant la fin du cycle de réponse à la demande.

138
00:05:57,050 --> 00:05:58,673
‫D'accord, ça a du sens ?

139
00:06:00,630 --> 00:06:03,250
‫Donc, revenons en arrière et nous définissons

140
00:06:03,250 --> 00:06:05,560
‫donc généralement ce type de middleware

141
00:06:05,560 --> 00:06:08,183
‫global ici avant tous nos gestionnaires de routes.

142
00:06:09,500 --> 00:06:11,830
‫D'accord, il s'agit donc d'une fonction

143
00:06:11,830 --> 00:06:15,500
‫middleware très simple que nous venons de définir pour exécuter du code.

144
00:06:15,500 --> 00:06:17,490
‫Mais faisons en fait un autre.

145
00:06:17,490 --> 00:06:18,920
‫Et bien sûr, nous

146
00:06:18,920 --> 00:06:21,800
‫pouvons avoir autant de fonctions middleware que nous le souhaitons.

147
00:06:21,800 --> 00:06:23,170
‫Et cette fois, nous

148
00:06:23,170 --> 00:06:25,053
‫voulons réellement manipuler l'objet de requête.

149
00:06:27,040 --> 00:06:29,090
‫Ainsi, la signature ici est toujours la

150
00:06:29,090 --> 00:06:31,343
‫même, toujours la demande, la réponse et la suivante.

151
00:06:32,890 --> 00:06:35,370
‫Et maintenant, manipulons réellement la demande.

152
00:06:35,370 --> 00:06:36,800
‫Tout ce que nous

153
00:06:36,800 --> 00:06:39,990
‫voulons faire dans ce cas, c'est d'ajouter l'heure actuelle à la demande.

154
00:06:39,990 --> 00:06:42,110
‫Nous pouvons donc simplement définir

155
00:06:42,110 --> 00:06:44,963
‫une propriété sur l'objet de requête appelée request time.

156
00:06:47,480 --> 00:06:50,300
‫Et puis définissez-le sur une nouvelle

157
00:06:50,300 --> 00:06:51,210
‫date,

158
00:06:51,210 --> 00:06:54,300
‫ce qui se traduit essentiellement par maintenant.

159
00:06:54,300 --> 00:06:57,230
‫Et puis nous pouvons utiliser une fonction de date très

160
00:06:57,230 --> 00:06:59,670
‫pratique, qui est appelée en chaîne ISO, qui

161
00:06:59,670 --> 00:07:01,520
‫la convertira ensuite en une chaîne

162
00:07:01,520 --> 00:07:03,330
‫agréable et lisible pour nous.

163
00:07:03,330 --> 00:07:05,930
‫Donc, supposons que nous ayons un gestionnaire de route

164
00:07:05,930 --> 00:07:07,860
‫qui a vraiment besoin d'informations sur

165
00:07:07,860 --> 00:07:10,310
‫le moment exact où la demande se produit.

166
00:07:10,310 --> 00:07:12,860
‫Et donc la solution très simple consiste simplement

167
00:07:12,860 --> 00:07:16,470
‫à ajouter quelque chose comme ça à une requête en utilisant un middleware.

168
00:07:16,470 --> 00:07:17,520
‫Bien?

169
00:07:17,520 --> 00:07:18,960
‫Maintenant, n'oubliez pas, bien

170
00:07:18,960 --> 00:07:21,890
‫sûr, d'appeler le prochain middleware dans la pile, d'accord.

171
00:07:21,890 --> 00:07:26,830
‫Donc en ce moment, nous avons une demande, du temps sur toutes les demandes.

172
00:07:26,830 --> 00:07:29,800
‫Nous pouvons donc maintenant utiliser un gestionnaire de route

173
00:07:29,800 --> 00:07:32,850
‫ici, par exemple (marmonne) pour que toutes les visites soient

174
00:07:32,850 --> 00:07:35,163
‫simplement enregistrées pour nous sur la console.

175
00:07:36,640 --> 00:07:40,583
‫Donc, le journal des points de la console et son heure de demande.

176
00:07:42,130 --> 00:07:46,170
‫D'accord, ou nous pourrions même envoyer ceci dans la réponse également.

177
00:07:46,170 --> 00:07:47,460
‫Laissez-moi tester ça.

178
00:07:47,460 --> 00:07:49,590
‫Et appelons simplement celui-ci

179
00:07:52,670 --> 00:07:56,830
‫demandé au moment de la demande de point et req.

180
00:07:56,830 --> 00:07:57,870
‫C'est celui-là.

181
00:07:57,870 --> 00:08:00,160
‫Et donc, ouais, allons de l'avant et trouvons celui-ci.

182
00:08:00,160 --> 00:08:02,840
‫Notre middleware est donc correct, n'est-ce pas ?

183
00:08:02,840 --> 00:08:05,870
‫Ouais, donc on appelle ensuite, quand on a fini, et

184
00:08:05,870 --> 00:08:07,413
‫donc testons ça maintenant.

185
00:08:08,450 --> 00:08:10,273
‫N'oubliez pas que c'est activé pour toutes les visites.

186
00:08:11,310 --> 00:08:14,000
‫Et quand nous y retournons maintenant, ou quand nous remontons,

187
00:08:14,000 --> 00:08:16,420
‫eh bien, cela devrait en fait être ici.

188
00:08:16,420 --> 00:08:17,973
‫Alors, qu'est-ce qui ne va pas ici ?

189
00:08:18,920 --> 00:08:20,060
‫Vous voyez

190
00:08:20,060 --> 00:08:22,430
‫qu'ici, nous venons d'enregistrer une fonction

191
00:08:22,430 --> 00:08:27,230
‫et oui, bien sûr, nous n'avons pas appelé les deux chaînes ISO.

192
00:08:27,230 --> 00:08:31,000
‫C'est donc une méthode que nous devons appeler.

193
00:08:31,000 --> 00:08:33,930
‫Alors faites une sauvegarde, réessayez.

194
00:08:33,930 --> 00:08:37,790
‫Et maintenant, nous avons demandé à la date d'aujourd'hui.

195
00:08:37,790 --> 00:08:38,740
‫Tellement parfait.

196
00:08:38,740 --> 00:08:40,860
‫Cela vient de notre middleware.

197
00:08:40,860 --> 00:08:44,980
‫Donc simplement parce que nous avons ajouté cette propriété à notre demande.

198
00:08:44,980 --> 00:08:46,250
‫Super.

199
00:08:46,250 --> 00:08:49,280
‫J'espère donc qu'avec cela, vous avez fait un grand pas

200
00:08:49,280 --> 00:08:52,730
‫en avant afin de vraiment comprendre comment fonctionne l'application Node, comment fonctionne

201
00:08:52,730 --> 00:08:53,810
‫le middleware, comment

202
00:08:53,810 --> 00:08:56,370
‫fonctionne l'ensemble du cycle de réponse aux demandes, car

203
00:08:56,370 --> 00:08:58,300
‫cela va vraiment faire toute la

204
00:08:58,300 --> 00:09:00,453
‫différence lorsque vous écrivez vos propres candidatures.

