﻿1
00:00:01,090 --> 00:00:04,280
‫Jonas : Configurons maintenant Multer selon nos besoins.

2
00:00:04,280 --> 00:00:07,380
‫D'abord en donnant aux images un meilleur nom de fichier,

3
00:00:07,380 --> 00:00:09,990
‫puis en n'autorisant que les fichiers d'images à

4
00:00:09,990 --> 00:00:12,193
‫être téléchargés sur notre serveur.

5
00:00:13,880 --> 00:00:15,640
‫Et pour commencer, déplaçons en fait

6
00:00:15,640 --> 00:00:17,210
‫tous les éléments liés

7
00:00:17,210 --> 00:00:19,563
‫à Multer de ce routeur vers le contrôleur.

8
00:00:21,910 --> 00:00:23,633
‫Alors coupons ça ici,

9
00:00:24,600 --> 00:00:27,220
‫et je vais le mettre ici à

10
00:00:27,220 --> 00:00:30,570
‫la fin, ou en fait en haut, d'accord ?

11
00:00:30,570 --> 00:00:32,710
‫Donc, tout ce qui concerne Multer,

12
00:00:32,710 --> 00:00:35,263
‫nous allons le mettre ici tout en haut.

13
00:00:36,400 --> 00:00:41,400
‫Ensuite, nous devons aussi bien sûr importer ce package Multer.

14
00:00:44,940 --> 00:00:48,503
‫Et maintenant, nous devons également créer un middleware avec cela.

15
00:00:53,970 --> 00:00:56,393
‫Donc les exportations. uploadUserPhoto sera

16
00:01:01,540 --> 00:01:03,253
‫égal à cela.

17
00:01:05,176 --> 00:01:07,890
‫D'accord, et donc nous avons toujours une

18
00:01:07,890 --> 00:01:12,890
‫fonction middleware, mais maintenant elle a son propre nom plus facile à utiliser, d'accord ?

19
00:01:13,950 --> 00:01:16,880
‫Et donc ici, userController. uploadPhoto, d'accord ?

20
00:01:20,460 --> 00:01:22,200
‫Cela a donc l'air beaucoup plus joli,

21
00:01:22,200 --> 00:01:23,610
‫et bien sûr, il

22
00:01:23,610 --> 00:01:25,950
‫est logique que ce code soit dans le contrôleur.

23
00:01:25,950 --> 00:01:28,010
‫Et maintenant, c'est beau et

24
00:01:28,010 --> 00:01:30,790
‫propre, et nous pouvons le fermer maintenant.

25
00:01:30,790 --> 00:01:33,260
‫Génial, et maintenant allons de l'avant

26
00:01:33,260 --> 00:01:36,400
‫et configurons notre téléchargement Multer selon nos besoins.

27
00:01:36,400 --> 00:01:39,640
‫Et donc pour ça on va créer un stockage Multer

28
00:01:39,640 --> 00:01:41,950
‫et un filtre Multer, d'accord ?

29
00:01:41,950 --> 00:01:45,260
‫Et puis nous allons utiliser ce stockage et

30
00:01:45,260 --> 00:01:49,513
‫le filtre pour créer le téléchargement à partir de là, d'accord ?

31
00:01:50,400 --> 00:01:51,603
‫Alors faisons-le ici.

32
00:01:56,320 --> 00:02:01,053
‫Donc un multerStorage, on utilise multer. diskStorage.

33
00:02:03,880 --> 00:02:05,760
‫Très bien, et nous pourrions également

34
00:02:05,760 --> 00:02:08,560
‫choisir de stocker le fichier en mémoire en tant que

35
00:02:08,560 --> 00:02:11,670
‫tampon, afin que nous puissions ensuite l'utiliser plus tard par d'autres processus.

36
00:02:11,670 --> 00:02:14,050
‫Et en fait, nous allons le faire un

37
00:02:14,050 --> 00:02:16,700
‫peu plus tard, mais pour l'instant, bien sûr, nous voulons vraiment

38
00:02:16,700 --> 00:02:20,120
‫stocker le fichier tel qu'il est dans notre système de fichiers, d'accord ?

39
00:02:20,120 --> 00:02:23,690
‫Donc, pour le stockage sur disque, nous allons prendre quelques options,

40
00:02:23,690 --> 00:02:25,693
‫et la première est la destination.

41
00:02:27,900 --> 00:02:31,390
‫Mais maintenant, nous ne pouvons pas simplement le mettre sur cette voie

42
00:02:31,390 --> 00:02:32,850
‫comme nous le faisions auparavant.

43
00:02:32,850 --> 00:02:35,760
‫Non, c'est un peu plus complexe, d'accord ?

44
00:02:35,760 --> 00:02:39,550
‫Et donc vraiment cette destination ici est une fonction de rappel

45
00:02:39,550 --> 00:02:41,400
‫qui va comme ça.

46
00:02:41,400 --> 00:02:45,610
‫Cette fonction de rappel a donc accès à la requête en

47
00:02:45,610 --> 00:02:47,750
‫cours, au fichier actuellement téléchargé, ainsi

48
00:02:47,750 --> 00:02:49,820
‫qu'à une fonction de rappel.

49
00:02:49,820 --> 00:02:51,330
‫Et cette fonction de rappel

50
00:02:51,330 --> 00:02:53,720
‫est un peu comme la fonction suivante dans Express.

51
00:02:53,720 --> 00:02:56,810
‫Mais je l'appelle ici cb, qui signifie callback, donc c'est

52
00:02:56,810 --> 00:02:58,790
‫un nom différent du suivant,

53
00:02:58,790 --> 00:03:02,000
‫parce qu'en fait ça ne vient pas d'Express, d'accord ?

54
00:03:02,000 --> 00:03:05,070
‫Mais c'est similaire en ce sens que nous pouvons passer des erreurs ici

55
00:03:05,070 --> 00:03:07,683
‫et d'autres choses, comme vous le verrez dans une seconde.

56
00:03:10,830 --> 00:03:12,730
‫Donc, pour maintenant définir la

57
00:03:12,730 --> 00:03:15,640
‫destination, nous devons en fait appeler ce rappel.

58
00:03:15,640 --> 00:03:18,730
‫Donc rappel, puis le premier argument est une erreur s'il y

59
00:03:18,730 --> 00:03:19,820
‫en a une.

60
00:03:19,820 --> 00:03:21,523
‫Et sinon, alors juste null.

61
00:03:22,910 --> 00:03:25,943
‫Et le deuxième argument est alors la destination réelle.

62
00:03:26,810 --> 00:03:28,260
‫Alors copions cela

63
00:03:29,180 --> 00:03:31,333
‫à partir d'ici et collons-le ici.

64
00:03:32,500 --> 00:03:37,500
‫Très bien, et encore une fois, tout cela semble un peu étrange et complexe, et

65
00:03:37,820 --> 00:03:39,130
‫jetons un coup

66
00:03:39,130 --> 00:03:41,433
‫d'œil à la documentation Multer sur GitHub.

67
00:03:48,860 --> 00:03:50,970
‫D'accord, et donc si vous

68
00:03:50,970 --> 00:03:54,570
‫avez besoin d'en savoir plus, vous pouvez consulter cette documentation ici.

69
00:03:54,570 --> 00:03:56,890
‫Et comme vous le voyez,

70
00:03:56,890 --> 00:04:01,890
‫avec 6 000 étoiles, c'est en fait un package assez populaire.

71
00:04:02,090 --> 00:04:04,293
‫Alors ici, vous pouvez apprendre à l'utiliser.

72
00:04:05,270 --> 00:04:07,090
‫Mais en fait, ce que vous trouverez ici

73
00:04:07,090 --> 00:04:08,700
‫est en quelque sorte ce que

74
00:04:08,700 --> 00:04:11,283
‫nous allons faire tout au long des deux prochaines conférences, d'accord ?

75
00:04:12,290 --> 00:04:15,000
‫Donc ça a l'air bien plus déroutant que ce

76
00:04:15,000 --> 00:04:17,350
‫que nous allons faire, d'accord ?

77
00:04:17,350 --> 00:04:18,750
‫Mais vous voyez

78
00:04:18,750 --> 00:04:22,820
‫que c'est en fait ce que nous faisons actuellement, donc nous définissons

79
00:04:22,820 --> 00:04:26,580
‫la destination et ensuite nous définirons également le nom du fichier.

80
00:04:26,580 --> 00:04:30,250
‫Alors faisons-le, et encore une fois, si vous voulez en

81
00:04:30,250 --> 00:04:33,400
‫savoir plus, jetez un œil à cette documentation.

82
00:04:33,400 --> 00:04:37,840
‫Mais pour l'instant, je veux maintenant définir la propriété du nom de fichier.

83
00:04:37,840 --> 00:04:41,593
‫Donc pas ça, simplement le nom du fichier.

84
00:04:42,610 --> 00:04:45,980
‫Et encore une fois, c'est une fonction de

85
00:04:45,980 --> 00:04:50,973
‫rappel très similaire avec une signature, une demande, un fichier et un rappel similaires.

86
00:04:54,540 --> 00:04:57,980
‫Et maintenant, nous voulons donner à nos fichiers des noms de fichiers uniques.

87
00:04:57,980 --> 00:04:59,380
‫Et la façon

88
00:04:59,380 --> 00:05:04,380
‫dont je vais le faire est de les appeler user-userid- l'horodatage actuel.

89
00:05:04,990 --> 00:05:07,720
‫Donc quelque chose comme ça : donc

90
00:05:07,720 --> 00:05:11,793
‫user-, puis l'ID qui est si bizarre, quelque chose comme ça.

91
00:05:14,190 --> 00:05:16,640
‫D'accord, puis l'horodatage actuel, qui va

92
00:05:16,640 --> 00:05:19,880
‫être un nombre énorme, quelque chose comme ça,

93
00:05:19,880 --> 00:05:23,490
‫et puis bien sûr l'extension de fichier, d'accord ?

94
00:05:23,490 --> 00:05:25,730
‫Et avec cela, nous pouvons essentiellement garantir

95
00:05:25,730 --> 00:05:29,030
‫qu'il n'y aura pas deux images avec le même nom de fichier.

96
00:05:29,030 --> 00:05:31,290
‫Si nous utilisions uniquement l'ID

97
00:05:31,290 --> 00:05:33,820
‫utilisateur, alors bien sûr, plusieurs téléchargements par

98
00:05:33,820 --> 00:05:36,140
‫le même utilisateur remplaceraient l'image précédente.

99
00:05:36,140 --> 00:05:39,770
‫Et si nous n'utilisions que l'utilisateur avec l'horodatage, eh bien, si

100
00:05:39,770 --> 00:05:43,210
‫deux utilisateurs téléchargeaient une image en même temps, ils obtiendraient alors

101
00:05:43,210 --> 00:05:45,920
‫exactement le même nom de fichier, ce qui

102
00:05:45,920 --> 00:05:47,393
‫n'a pas de sens.

103
00:05:48,630 --> 00:05:51,300
‫Très bien, alors tout d'abord,

104
00:05:51,300 --> 00:05:55,330
‫extrayons en fait le nom de fichier du fichier téléchargé.

105
00:05:55,330 --> 00:05:57,060
‫Et comment l'obtenons-nous?

106
00:05:57,060 --> 00:05:59,963
‫Eh bien, jetons un coup d'œil à notre sortie de console ici,

107
00:06:03,080 --> 00:06:06,120
‫où nous avons eu la demande. fichier il y a longtemps.

108
00:06:06,120 --> 00:06:09,080
‫Alors le voici, alors rappelez-vous que cet objet ici

109
00:06:09,080 --> 00:06:11,830
‫était une requête. fichier, et c'est

110
00:06:11,830 --> 00:06:15,530
‫donc exactement ce qu'est ce fichier ici, d'accord ?

111
00:06:15,530 --> 00:06:18,260
‫Et donc ici nous avons le type

112
00:06:18,260 --> 00:06:22,087
‫MIME, et donc ce JPEG est stocké ici, d'accord ?

113
00:06:22,087 --> 00:06:24,030
‫Et c'est donc de là que nous allons

114
00:06:24,030 --> 00:06:25,363
‫obtenir l'extension de fichier.

115
00:06:28,130 --> 00:06:33,130
‫Donc l'extension est égale au fichier. mimetype, puis séparons

116
00:06:35,290 --> 00:06:39,550
‫cette chaîne par la barre oblique et prenons

117
00:06:39,550 --> 00:06:42,720
‫le deuxième élément du tableau résultant.

118
00:06:42,720 --> 00:06:46,853
‫Et donc ce ne sera alors que cette partie, donc seulement cela.

119
00:06:47,780 --> 00:06:50,500
‫Très bien, c'est donc l'extension.

120
00:06:50,500 --> 00:06:52,100
‫Et maintenant, comme

121
00:06:52,100 --> 00:06:56,760
‫avant, nous devons appeler la fonction de rappel sans erreur, puis le

122
00:06:56,760 --> 00:06:59,423
‫nom de fichier que nous voulons spécifier.

123
00:07:00,460 --> 00:07:05,460
‫Donc, ce sera l'utilisateur, puis l'ID utilisateur, vous vous souvenez ?

124
00:07:06,890 --> 00:07:09,970
‫Et donc puisque nous avons accès à la requête ici,

125
00:07:09,970 --> 00:07:13,913
‫c'est très simple, requête. utilisateur. identifiant.

126
00:07:14,830 --> 00:07:16,620
‫Et comme vous le

127
00:07:16,620 --> 00:07:19,040
‫savez, c'est l'ID de l'utilisateur actuellement connecté.

128
00:07:19,040 --> 00:07:24,040
‫Puis l'horodatage, donc Date. maintenant, d'accord, puis pointez

129
00:07:25,547 --> 00:07:30,547
‫sur l'extension que nous venons de créer, d'accord ?

130
00:07:33,120 --> 00:07:35,410
‫Alors débarrassons-nous de ce commentaire,

131
00:07:35,410 --> 00:07:37,780
‫et c'est donc en fait notre stockage.

132
00:07:37,780 --> 00:07:40,310
‫Et donc en gros une définition complète de la

133
00:07:40,310 --> 00:07:42,540
‫façon dont nous voulons stocker nos fichiers,

134
00:07:42,540 --> 00:07:44,963
‫avec la destination et le nom du fichier.

135
00:07:46,270 --> 00:07:48,833
‫Ensuite, créons un filtre Multer.

136
00:07:52,270 --> 00:07:53,983
‫Appelons-le donc exactement ainsi.

137
00:07:57,200 --> 00:08:00,370
‫Et le filtre dans Multer est simplement, encore une

138
00:08:00,370 --> 00:08:04,010
‫fois, une fonction de rappel, similaire à celles que nous avions

139
00:08:04,010 --> 00:08:08,433
‫auparavant, accédant à la requête, au fichier et à une fonction de rappel.

140
00:08:09,850 --> 00:08:11,730
‫Et dans cette fonction, le but

141
00:08:11,730 --> 00:08:14,660
‫est essentiellement de tester si le fichier téléchargé est une image.

142
00:08:14,660 --> 00:08:17,220
‫Et si c'est le cas, alors nous passons true dans

143
00:08:17,220 --> 00:08:19,010
‫la fonction de rappel, et si

144
00:08:19,010 --> 00:08:22,110
‫ce n'est pas le cas, nous passons false dans la fonction de

145
00:08:22,110 --> 00:08:23,410
‫rappel, avec une erreur.

146
00:08:23,410 --> 00:08:25,810
‫Car encore une fois, nous ne voulons pas autoriser le

147
00:08:25,810 --> 00:08:28,020
‫téléchargement de fichiers qui ne sont pas des images.

148
00:08:28,020 --> 00:08:31,370
‫Et c'est exactement à cela que sert ce filtre.

149
00:08:31,370 --> 00:08:33,090
‫Maintenant, si dans votre

150
00:08:33,090 --> 00:08:36,830
‫propre application, vous souhaitez télécharger autre chose, disons des fichiers CSV,

151
00:08:36,830 --> 00:08:40,260
‫alors bien sûr, vous pouvez tester cela au lieu d'images.

152
00:08:40,260 --> 00:08:42,240
‫Donc, tout ce que nous faisons ici

153
00:08:42,240 --> 00:08:43,960
‫fonctionne non seulement pour les

154
00:08:43,960 --> 00:08:45,790
‫images, mais vraiment pour toutes sortes

155
00:08:45,790 --> 00:08:48,090
‫de fichiers que vous souhaitez télécharger, d'accord ?

156
00:08:48,090 --> 00:08:51,610
‫Encore une fois, dans ce cas, nous parlons vraiment d'images, et

157
00:08:51,610 --> 00:08:54,640
‫testons donc si le fichier téléchargé est une image.

158
00:08:54,640 --> 00:08:58,410
‫Et pour cela, nous utiliserons une fois de plus le type

159
00:08:58,410 --> 00:09:00,770
‫mime, car quel que soit le

160
00:09:00,770 --> 00:09:05,300
‫type d'image téléchargé, donc peu importe s'il s'agit d'un JPEG, ou d'un PNG, ou

161
00:09:05,300 --> 00:09:07,730
‫d'un bitmap, ou d'un TIFF, ou vraiment

162
00:09:07,730 --> 00:09:10,950
‫n'importe quoi, le type mime commencera toujours par image.

163
00:09:10,950 --> 00:09:13,170
‫Et maintenant, nous pouvons tester cela.

164
00:09:13,170 --> 00:09:17,643
‫Donc si le fichier . type mime. startWith, image, et

165
00:09:21,890 --> 00:09:25,910
‫donc je ne sais pas si nous avons déjà utilisé celle-ci,

166
00:09:25,910 --> 00:09:29,700
‫mais c'est une méthode de chaîne assez nouvelle et très utile

167
00:09:29,700 --> 00:09:31,750
‫qui est disponible en JavaScript, donc

168
00:09:31,750 --> 00:09:33,593
‫dans tout JavaScript en général.

169
00:09:34,770 --> 00:09:38,650
‫Donc dans le cas où on a effectivement une image, eh bien, là

170
00:09:38,650 --> 00:09:42,090
‫encore il n'y a pas d'erreur et on passe vrai, comme

171
00:09:42,090 --> 00:09:43,810
‫je l'ai dit au début.

172
00:09:43,810 --> 00:09:48,810
‫Mais sinon, on passera alors effectivement une erreur,

173
00:09:50,520 --> 00:09:52,080
‫puis false.

174
00:09:52,080 --> 00:09:55,320
‫Mettons donc juste un x ici, et faux.

175
00:09:55,320 --> 00:09:58,910
‫Donc, pour ce x ici, nous allons maintenant créer une AppError,

176
00:09:58,910 --> 00:10:01,010
‫comme nous l'avons toujours fait.

177
00:10:01,010 --> 00:10:03,423
‫Et en fait, nous l'avons déjà ici.

178
00:10:04,470 --> 00:10:07,643
‫Alors disons une

179
00:10:10,522 --> 00:10:14,896
‫nouvelle AppError, pas une image, veuillez

180
00:10:14,896 --> 00:10:19,896
‫télécharger uniquement des images, d'accord ?

181
00:10:20,709 --> 00:10:23,459
‫Et puis un 400 pour une mauvaise demande.

182
00:10:24,876 --> 00:10:28,875
‫Génial, nous avons donc notre stockage, nous avons notre filtre,

183
00:10:28,875 --> 00:10:30,567
‫il est maintenant temps

184
00:10:30,567 --> 00:10:33,294
‫de les utiliser pour créer le téléchargement.

185
00:10:33,294 --> 00:10:37,228
‫Très bien, donc le téléchargement ne ressemblera plus à ça,

186
00:10:37,228 --> 00:10:40,816
‫mais à la place, nous passerons ces variables.

187
00:10:40,816 --> 00:10:44,149
‫Ainsi, dans Multer, nous pouvons spécifier le stockage,

188
00:10:46,618 --> 00:10:49,368
‫et c'est donc notre multerStorage.

189
00:10:52,118 --> 00:10:54,118
‫Et puis le fileFilter,

190
00:10:57,109 --> 00:11:01,276
‫qui est la variable que nous avons appelée multerFilter.

191
00:11:02,439 --> 00:11:04,299
‫D'accord. Et c'est tout.

192
00:11:04,299 --> 00:11:06,486
‫Et bien sûr, nous aurions

193
00:11:06,486 --> 00:11:10,225
‫pu mettre tout cela ici directement dans cet objet d'options ici.

194
00:11:10,225 --> 00:11:12,901
‫Mais je préfère généralement les faire

195
00:11:12,901 --> 00:11:17,076
‫à l'extérieur, puis simplement passer les variables dans un objet d'options.

196
00:11:17,076 --> 00:11:19,351
‫Alors ça a l'air un peu plus propre.

197
00:11:19,351 --> 00:11:22,241
‫C'est donc un grand nombre d'étapes

198
00:11:22,241 --> 00:11:26,046
‫que nous devons franchir pour vraiment créer notre middleware Multer.

199
00:11:26,046 --> 00:11:27,953
‫Mais finalement nous avons ensuite bien

200
00:11:27,953 --> 00:11:29,770
‫sûr, tout comme nous l'avons

201
00:11:29,770 --> 00:11:33,169
‫fait dans la dernière vidéo, utiliser ce téléchargement, et sur celui-ci

202
00:11:33,169 --> 00:11:35,437
‫nous appelons single, avec le nom du domaine.

203
00:11:35,437 --> 00:11:38,688
‫Donc photo, puis à partir de là, nous créons une exportation,

204
00:11:38,688 --> 00:11:41,262
‫ou un middleware, que nous avons en fait

205
00:11:41,262 --> 00:11:42,880
‫déjà inclus dans notre routeur.

206
00:11:42,880 --> 00:11:46,845
‫Supprimons donc maintenant cet ancien type d'image que

207
00:11:46,845 --> 00:11:48,845
‫nous avions ici auparavant.

208
00:11:50,649 --> 00:11:52,399
‫Non, cela n'a pas fonctionné.

209
00:11:54,543 --> 00:11:57,569
‫Et maintenant, testons-le à nouveau ici.

210
00:11:57,569 --> 00:12:00,637
‫Donc de retour dans Postman, nous avons toujours notre

211
00:12:00,637 --> 00:12:03,554
‫nom ici et l'image du Lion, et allons-y.

212
00:12:05,556 --> 00:12:08,473
‫Et nous n'avons aucune erreur, ce qui est bien.

213
00:12:10,516 --> 00:12:13,516
‫Et revoyons notre sortie ici.

214
00:12:16,428 --> 00:12:19,240
‫Donc tout ici au début est le même,

215
00:12:19,240 --> 00:12:23,827
‫mais ensuite vous voyez que notre nom de fichier est en fait maintenant correct.

216
00:12:23,827 --> 00:12:26,465
‫Et si vous jetez un œil ici à notre dossier,

217
00:12:26,465 --> 00:12:28,948
‫alors en effet il y a notre image.

218
00:12:28,948 --> 00:12:31,934
‫Et c'est exactement celui que nous avons téléchargé.

219
00:12:31,934 --> 00:12:34,934
‫C'est donc dans dev-data, images, Leo.

220
00:12:37,649 --> 00:12:41,288
‫Et effectivement, c'est exactement la même chose.

221
00:12:41,288 --> 00:12:43,724
‫Super, c'est génial.

222
00:12:43,724 --> 00:12:46,615
‫Maintenant, juste pour tester ce filtre

223
00:12:46,615 --> 00:12:51,615
‫ici aussi, essayons de télécharger un autre fichier qui n'est pas une image.

224
00:12:51,974 --> 00:12:56,516
‫Alors, sélectionnons autre chose ici dans nos données de

225
00:12:56,516 --> 00:13:00,278
‫développement, et disons simplement des données JSON.

226
00:13:00,278 --> 00:13:04,336
‫Et attendons donc si nous obtenons une erreur ici.

227
00:13:04,336 --> 00:13:06,190
‫Et en effet, nous en obtenons un.

228
00:13:06,190 --> 00:13:09,070
‫Donc pas une image, veuillez télécharger uniquement des images.

229
00:13:09,070 --> 00:13:11,643
‫Et donc ça veut dire que ça marche aussi.

230
00:13:12,610 --> 00:13:16,200
‫Si parfait, toute notre configuration Multer fonctionne maintenant très

231
00:13:16,200 --> 00:13:18,540
‫bien, mais bien sûr, il

232
00:13:18,540 --> 00:13:20,480
‫manque encore une étape.

233
00:13:20,480 --> 00:13:22,660
‫Et c'est en fait pour lier

234
00:13:22,660 --> 00:13:25,550
‫l'utilisateur à l'image nouvellement mise à jour, n'est-ce pas ?

235
00:13:25,550 --> 00:13:27,660
‫Parce qu'en ce moment dans la base

236
00:13:27,660 --> 00:13:29,420
‫de données, nous avons évidemment

237
00:13:29,420 --> 00:13:31,840
‫toujours le chemin, ou en fait le nom de

238
00:13:31,840 --> 00:13:34,460
‫l'ancienne image, car nulle part dans notre code nous avons

239
00:13:34,460 --> 00:13:38,180
‫spécifié que nous voulions mettre à jour le document utilisateur lui-même, n'est-ce pas ?

240
00:13:38,180 --> 00:13:40,603
‫Et corrigeons cela dans la vidéo suivante.

