﻿1
00:00:00,980 --> 00:00:02,760
‫Instructeur : Très bien, dans

2
00:00:02,760 --> 00:00:04,720
‫cette conférence, nous allons parler de ce

3
00:00:04,720 --> 00:00:06,910
‫qu'on appelle les routes imbriquées, ce qu'elles sont,

4
00:00:06,910 --> 00:00:08,690
‫pourquoi nous en avons besoin

5
00:00:08,690 --> 00:00:11,163
‫et comment nous pouvons réellement les implémenter dans Express.

6
00:00:12,944 --> 00:00:15,470
‫Réfléchissons une seconde à la manière dont,

7
00:00:15,470 --> 00:00:18,566
‫dans la pratique, nous voulons réellement créer une nouvelle revue.

8
00:00:18,566 --> 00:00:21,520
‫Jusqu'à présent, lors de la création de nouveaux avis,

9
00:00:21,520 --> 00:00:24,020
‫nous transmettions toujours manuellement l'ID de la

10
00:00:24,020 --> 00:00:26,920
‫tournée et l'ID utilisateur dans le corps de la

11
00:00:26,920 --> 00:00:30,300
‫demande, puis nous créions l'avis à partir de là, à droite.

12
00:00:30,300 --> 00:00:33,180
‫Ce n'est pas grave pendant le développement, mais bien sûr, ce

13
00:00:33,180 --> 00:00:34,980
‫n'est pas ainsi qu'une revue sera créée

14
00:00:34,980 --> 00:00:36,433
‫dans le monde réel.

15
00:00:37,680 --> 00:00:40,610
‫Ainsi, dans le monde réel, l'ID

16
00:00:40,610 --> 00:00:44,010
‫utilisateur devrait idéalement provenir de l'utilisateur actuellement connecté et

17
00:00:44,010 --> 00:00:47,740
‫un ID de tournée devrait provenir de la tournée actuelle.

18
00:00:47,740 --> 00:00:49,700
‫Cela devrait idéalement être encodé

19
00:00:49,700 --> 00:00:51,877
‫directement dans la route, donc dans l'URL.

20
00:00:53,020 --> 00:00:56,300
‫Lorsque vous soumettez une demande de publication pour un

21
00:00:56,300 --> 00:01:00,140
‫nouvel avis, nous souhaitons la soumettre à une URL comme celle-ci.

22
00:01:00,140 --> 00:01:03,143
‫Écrivons cela ici juste comme un commentaire.

23
00:01:05,826 --> 00:01:08,869
‫Idéalement, nous voudrons faire une

24
00:01:08,869 --> 00:01:13,869
‫demande de publication, de tournée, et l'ID de la tournée, cela

25
00:01:15,490 --> 00:01:19,343
‫n'a pas vraiment d'importance ici, puis des critiques.

26
00:01:20,650 --> 00:01:23,100
‫D'accord, alors maintenant, juste comme ça, nous

27
00:01:23,100 --> 00:01:25,580
‫avons l'ID de la tournée directement dans

28
00:01:25,580 --> 00:01:28,030
‫l'URL et l'ID utilisateur viendra alors également

29
00:01:28,030 --> 00:01:29,913
‫de l'utilisateur actuellement connecté.

30
00:01:31,130 --> 00:01:35,330
‫Ce que nous voyons ici est maintenant une route dite imbriquée.

31
00:01:35,330 --> 00:01:37,330
‫Ils ont beaucoup de sens

32
00:01:37,330 --> 00:01:40,570
‫lorsqu'il existe une relation parent-enfant claire entre les ressources.

33
00:01:40,570 --> 00:01:43,840
‫C'est clairement le cas ici, n'est-ce pas.

34
00:01:43,840 --> 00:01:47,530
‫Avis est clairement un enfant de la tournée.

35
00:01:47,530 --> 00:01:49,320
‫Cet itinéraire imbriqué

36
00:01:49,320 --> 00:01:51,580
‫signifie essentiellement accéder à la ressource

37
00:01:51,580 --> 00:01:54,810
‫d'avis sur la ressource de la visite, d'accord.

38
00:01:54,810 --> 00:01:57,420
‫De la même manière, nous voudrons

39
00:01:57,420 --> 00:02:01,193
‫également accéder aux critiques d'une certaine tournée de la même manière.

40
00:02:02,310 --> 00:02:05,560
‫Disons ensuite une demande d'obtention, et encore une

41
00:02:05,560 --> 00:02:09,650
‫fois pour l'ID de tournée et les critiques de barres obliques.

42
00:02:09,650 --> 00:02:11,390
‫Cela nous obtiendrait alors

43
00:02:11,390 --> 00:02:13,583
‫idéalement toutes les critiques pour cette tournée.

44
00:02:14,970 --> 00:02:17,110
‫On pourrait aller encore plus

45
00:02:17,110 --> 00:02:19,653
‫loin et préciser également l'ID de l'avis.

46
00:02:21,840 --> 00:02:24,490
‫Encore une fois, juste une chaîne aléatoire ici, mais

47
00:02:24,490 --> 00:02:25,703
‫vous comprenez le point.

48
00:02:26,643 --> 00:02:28,550
‫Dans ce cas, nous obtiendrions un

49
00:02:28,550 --> 00:02:30,420
‫examen avec l'ID de ceci

50
00:02:30,420 --> 00:02:32,603
‫ici sur la tournée avec cet ID.

51
00:02:34,140 --> 00:02:36,520
‫C'est à cela que servent les routes imbriquées.

52
00:02:36,520 --> 00:02:40,220
‫C'est un moyen beaucoup plus facile de lire

53
00:02:40,220 --> 00:02:44,795
‫et de comprendre comment l'API fonctionne pour nos utilisateurs d'API.

54
00:02:44,795 --> 00:02:47,130
‫C'est beaucoup plus facile que de jouer

55
00:02:47,130 --> 00:02:50,100
‫avec les chaînes de requête et tout ce genre de choses.

56
00:02:50,100 --> 00:02:52,580
‫En outre, cela montre vraiment comment

57
00:02:52,580 --> 00:02:55,850
‫il existe cette relation claire entre ces ressources, encore

58
00:02:55,850 --> 00:02:58,610
‫une fois, les critiques et les visites.

59
00:02:58,610 --> 00:03:00,410
‫D'accord, mais assez parlé.

60
00:03:00,410 --> 00:03:02,510
‫Implémentons maintenant cela en commençant

61
00:03:02,510 --> 00:03:04,600
‫par la route post.

62
00:03:04,600 --> 00:03:08,100
‫Maintenant, puisque l'itinéraire commence en fait par des tournées, il sera

63
00:03:08,100 --> 00:03:11,150
‫bien sûr redirigé vers notre routeur de tournée.

64
00:03:11,150 --> 00:03:14,600
‫Nous allons devoir implémenter cette fonctionnalité au moins pour l'instant,

65
00:03:14,600 --> 00:03:16,890
‫dans le routeur de tournée, même

66
00:03:16,890 --> 00:03:19,530
‫si cela semble un peu contre-intuitif puisqu'il

67
00:03:19,530 --> 00:03:21,793
‫s'agit en fait de critiques.

68
00:03:23,190 --> 00:03:26,650
‫Mais encore une fois, pour l'instant, implémentons-le comme ça.

69
00:03:26,650 --> 00:03:29,690
‫Nous arrivons à notre routeur utilisateur et d'abord, puisque

70
00:03:32,040 --> 00:03:33,550
‫nous allons réellement utiliser

71
00:03:33,550 --> 00:03:34,870
‫des critiques ici,

72
00:03:34,870 --> 00:03:37,483
‫nous devons importer le contrôleur de revue.

73
00:03:42,370 --> 00:03:46,140
‫Contrôleur requis.

74
00:03:46,140 --> 00:03:49,763
‫J'aurais peut-être dû copier la ligne d'avant.

75
00:03:52,080 --> 00:03:55,693
‫Contrôleurs et contrôleur d'examen.

76
00:03:57,380 --> 00:04:01,010
‫Très bien, maintenant ici tout en bas, et obtenons en

77
00:04:01,010 --> 00:04:02,730
‫fait notre code pour

78
00:04:02,730 --> 00:04:04,970
‫cet exemple à partir d'ici juste

79
00:04:08,100 --> 00:04:09,223
‫comme référence.

80
00:04:13,518 --> 00:04:15,750
‫Pour que nous puissions maintenant le mettre en œuvre.

81
00:04:15,750 --> 00:04:18,910
‫La route que nous allons implémenter

82
00:04:20,960 --> 00:04:24,673
‫ici est l'ID de barre oblique, puis les revues.

83
00:04:26,240 --> 00:04:28,600
‫Cette partie de la visite ici, comme vous le

84
00:04:28,600 --> 00:04:30,457
‫savez déjà, est l'endroit où nous avons

85
00:04:30,457 --> 00:04:33,300
‫monté ce routeur et donc, nous n'avons pas à la répéter ici.

86
00:04:33,300 --> 00:04:37,090
‫Mais ensuite, nous avons l'identifiant de la tournée, puis les critiques slash.

87
00:04:37,090 --> 00:04:38,590
‫Afin de rendre cela très clair,

88
00:04:38,590 --> 00:04:40,440
‫appelons-le en fait ID de tournée, car

89
00:04:42,850 --> 00:04:44,040
‫nous avons maintenant

90
00:04:44,040 --> 00:04:45,440
‫affaire à différentes ressources ici.

91
00:04:45,440 --> 00:04:48,363
‫Il est donc un peu plus clair de l'appeler vraiment comme il est.

92
00:04:52,885 --> 00:04:55,844
‫Nous voulons maintenant implémenter la révision de création.

93
00:04:55,844 --> 00:04:58,094
‫Protection par point du contrôleur d'authentification.

94
00:05:00,960 --> 00:05:04,403
‫Nous voulons également restreindre l'accès uniquement aux

95
00:05:11,472 --> 00:05:15,805
‫utilisateurs, et bien sûr, notre contrôleur de révision ne crée

96
00:05:19,740 --> 00:05:22,033
‫pas de révision, d'accord.

97
00:05:22,980 --> 00:05:26,000
‫Encore une fois, il est un peu étrange

98
00:05:26,000 --> 00:05:28,880
‫et contre-intuitif d'appeler le contrôleur de révision ici

99
00:05:28,880 --> 00:05:30,593
‫dans le parcours utilisateur.

100
00:05:31,620 --> 00:05:34,273
‫Eh bien en fait, il ne devrait pas être dans la route de l'utilisateur.

101
00:05:35,200 --> 00:05:36,990
‫Pour une raison quelconque, j'ai

102
00:05:36,990 --> 00:05:41,140
‫ouvert les itinéraires utilisateur et non les itinéraires de visite, donc désolé pour celui-ci.

103
00:05:41,140 --> 00:05:44,403
‫Coupons-le d'ici, arrivons à nos itinéraires de tournée et

104
00:05:45,420 --> 00:05:47,320
‫faisons-le ici en bas.

105
00:05:49,697 --> 00:05:52,523
‫Bien sûr, nous devons également obtenir le contrôleur d'examen.

106
00:05:56,490 --> 00:05:59,580
‫Alors maintenant, nous devrions être prêts à partir.

107
00:05:59,580 --> 00:06:01,640
‫C'était un bug stupide.

108
00:06:01,640 --> 00:06:03,920
‫Mais de toute façon, ce que je

109
00:06:03,920 --> 00:06:06,610
‫disais, c'est que cela n'a pas beaucoup de sens

110
00:06:06,610 --> 00:06:09,720
‫d'appeler le contrôleur de révision dans l'itinéraire de la tournée, mais

111
00:06:09,720 --> 00:06:12,300
‫encore une fois, pour l'instant, nous devons le faire

112
00:06:12,300 --> 00:06:15,000
‫comme ça parce que l'itinéraire commence par la tournée.

113
00:06:15,000 --> 00:06:17,680
‫C'est ce routeur qui sera activé.

114
00:06:17,680 --> 00:06:19,460
‫Dans la prochaine vidéo, nous allons

115
00:06:19,460 --> 00:06:21,350
‫corriger cela, mais pour l'instant, nous voulons

116
00:06:21,350 --> 00:06:22,870
‫juste le faire fonctionner

117
00:06:22,870 --> 00:06:25,840
‫et nous familiariser avec tout ce concept de routes imbriquées.

118
00:06:25,840 --> 00:06:29,540
‫Quoi qu'il en soit, nous avons maintenant notre identifiant de tournée directement dans

119
00:06:29,540 --> 00:06:30,880
‫l'itinéraire, mais bien sûr,

120
00:06:30,880 --> 00:06:34,250
‫nous devons informer le contrôleur qu'il doit maintenant utiliser cet identifiant

121
00:06:34,250 --> 00:06:37,113
‫de tournée ainsi que l'identifiant de l'utilisateur actuellement connecté.

122
00:06:38,100 --> 00:06:39,240
‫Nous devons maintenant aller de

123
00:06:39,240 --> 00:06:41,400
‫l'avant et mettre à jour notre contrôleur de révision ici

124
00:06:43,630 --> 00:06:45,433
‫même lors de la création de la révision.

125
00:06:53,817 --> 00:06:56,370
‫Ce que nous allons faire est ceci.

126
00:06:56,370 --> 00:07:01,360
‫Nous dirons, s'il n'y a pas de requête dot body dot tour, donc

127
00:07:02,990 --> 00:07:06,210
‫fondamentalement, si nous n'avons pas spécifié l'ID de

128
00:07:06,210 --> 00:07:08,180
‫la tournée et le corps,

129
00:07:08,180 --> 00:07:10,870
‫alors nous voulons définir cela comme celui

130
00:07:10,870 --> 00:07:12,603
‫provenant de l'URL.

131
00:07:14,080 --> 00:07:17,373
‫Req dot body dot tour est égal à la

132
00:07:19,210 --> 00:07:21,910
‫demande, et rappelez-vous maintenant comment ce

133
00:07:21,910 --> 00:07:25,850
‫paramètre d'URL est sur la demande dot params et bien sûr,

134
00:07:25,850 --> 00:07:29,603
‫le nom du paramètre lui-même, donc l'ID de la tournée.

135
00:07:32,930 --> 00:07:34,640
‫C'est la première partie et la

136
00:07:34,640 --> 00:07:37,060
‫deuxième, nous devons également faire la même chose avec l'utilisateur.

137
00:07:38,450 --> 00:07:41,740
‫S'il n'y a pas d'utilisateur de

138
00:07:41,740 --> 00:07:46,710
‫point de demande ou, en fait, d'utilisateur de point de corps

139
00:07:46,710 --> 00:07:50,180
‫de demande, alors l'utilisateur de point de corps

140
00:07:51,910 --> 00:07:56,910
‫de demande doit être ID de point d'utilisateur de point de demande.

141
00:07:58,750 --> 00:08:01,520
‫Et encore une fois, nous obtenons l'utilisateur de

142
00:08:01,520 --> 00:08:05,193
‫point de demande du middleware de protection, et c'est en fait tout.

143
00:08:06,130 --> 00:08:11,130
‫Mettons juste un commentaire ici, routes imbriquées.

144
00:08:13,390 --> 00:08:15,120
‫Avec cela, nous faisons

145
00:08:15,120 --> 00:08:17,700
‫en sorte que l'utilisateur puisse toujours spécifier manuellement

146
00:08:17,700 --> 00:08:19,603
‫la visite et l'ID utilisateur.

147
00:08:20,677 --> 00:08:21,860
‫Ce que nous faisons

148
00:08:21,860 --> 00:08:24,250
‫ici, c'est simplement les définir quand ils ne sont pas là

149
00:08:24,250 --> 00:08:27,343
‫ou quand ils ne sont pas spécifiés dans le corps de la requête.

150
00:08:28,827 --> 00:08:32,263
‫Cela devrait nous suffire pour tester cela maintenant.

151
00:08:33,410 --> 00:08:35,320
‫Très bien, alors jetons un coup

152
00:08:35,320 --> 00:08:37,853
‫d'œil aux utilisateurs que nous avons à ce stade.

153
00:08:41,820 --> 00:08:43,610
‫Nous avons ces deux utilisateurs

154
00:08:43,610 --> 00:08:46,610
‫réguliers, nous avons l'utilisateur test et nous avons Jonas ici,

155
00:08:46,610 --> 00:08:49,390
‫mais nous avons oublié son mot de passe.

156
00:08:49,390 --> 00:08:51,550
‫Allons de l'avant et supprimons

157
00:08:51,550 --> 00:08:53,730
‫cet utilisateur et créons-en un nouveau.

158
00:08:53,730 --> 00:08:58,730
‫Très bien, donc dans Compass, les utilisateurs, et

159
00:09:00,400 --> 00:09:01,773
‫c'est celui-ci.

160
00:09:07,220 --> 00:09:09,723
‫Recréons cet utilisateur en gros.

161
00:09:11,220 --> 00:09:14,793
‫Tout ce dont nous avons vraiment besoin, ce sont ces deux données.

162
00:09:17,110 --> 00:09:18,543
‫En fait, c'est s'inscrire.

163
00:09:26,820 --> 00:09:28,310
‫Le même nom, le même

164
00:09:29,600 --> 00:09:31,743
‫email et le même mot de passe aussi.

165
00:09:35,657 --> 00:09:38,690
‫À ce stade, nous sommes déjà connectés

166
00:09:38,690 --> 00:09:42,170
‫en tant qu'utilisateur, appelé Jonas, gardons cela à l'esprit.

167
00:09:42,170 --> 00:09:44,950
‫Ensuite, nous devons choisir sur quelle tournée

168
00:09:44,950 --> 00:09:47,600
‫nous voulons réellement créer l'avis.

169
00:09:47,600 --> 00:09:49,790
‫Faisons-le à nouveau ici à The Forest

170
00:09:49,790 --> 00:09:52,773
‫Hiker afin que nous obtenions plusieurs critiques sur la même tournée.

171
00:09:54,240 --> 00:09:55,090
‫Nous allons

172
00:09:55,090 --> 00:09:57,380
‫maintenant accéder à cette route imbriquée que nous

173
00:09:57,380 --> 00:09:58,430
‫venons de créer.

174
00:10:02,135 --> 00:10:03,350
‫Nous avons les visites.

175
00:10:03,350 --> 00:10:05,980
‫Maintenant, nous devons obtenir l'identifiant de la

176
00:10:05,980 --> 00:10:08,050
‫tournée, et encore une fois,

177
00:10:08,050 --> 00:10:09,323
‫nous allons

178
00:10:12,490 --> 00:10:16,430
‫utiliser celui-ci pour The Forest Hiker, puis réduire les critiques,

179
00:10:16,430 --> 00:10:18,283
‫puis nous souvenir d'un message.

180
00:10:19,230 --> 00:10:21,963
‫Ensuite, nous devons également spécifier l'autorisation, donc le

181
00:10:23,100 --> 00:10:27,010
‫jeton au porteur, et maintenant dans le corps, tout ce dont nous

182
00:10:27,010 --> 00:10:28,610
‫avons vraiment besoin est

183
00:10:28,610 --> 00:10:30,673
‫de spécifier la note et l'avis.

184
00:10:36,830 --> 00:10:37,860
‫La note est

185
00:10:45,220 --> 00:10:47,160
‫de cinq, puis du texte ici.

186
00:10:47,160 --> 00:10:50,913
‫Cela devrait donc déjà être suffisant pour essayer cela.

187
00:10:51,920 --> 00:10:52,753
‫Envoyons-le.

188
00:10:53,769 --> 00:10:56,520
‫Maintenant, nous n'avons pas la permission

189
00:10:56,520 --> 00:11:00,100
‫d'effectuer cette action, pour une raison quelconque, donc c'est bizarre.

190
00:11:00,100 --> 00:11:03,460
‫Nous nous sommes inscrits en tant que Jonas, et c'est

191
00:11:03,460 --> 00:11:05,610
‫en fait juste un utilisateur normal comme

192
00:11:06,490 --> 00:11:08,203
‫il est censé l'être.

193
00:11:09,090 --> 00:11:11,533
‫Jetons un coup d'œil à notre routeur.

194
00:11:13,154 --> 00:11:17,170
‫Ici, oh d'accord, c'est l'utilisateur, pas les utilisateurs.

195
00:11:19,120 --> 00:11:22,930
‫Un petit bug comme celui-ci peut, comme vous le

196
00:11:22,930 --> 00:11:27,333
‫voyez, faire planter tout cet itinéraire, alors essayons à nouveau maintenant.

197
00:11:28,530 --> 00:11:31,750
‫Et maintenant, nous obtenons en fait l'examen final

198
00:11:31,750 --> 00:11:35,300
‫avec à la fois la visite et l'utilisateur correctement définis.

199
00:11:35,300 --> 00:11:38,140
‫Du moins je l'espère.

200
00:11:38,140 --> 00:11:41,250
‫L'identifiant de la tournée, voyez-vous, se termine ici en 951, et

201
00:11:41,250 --> 00:11:43,260
‫c'est donc exactement la même chose ici.

202
00:11:43,260 --> 00:11:47,640
‫L'utilisateur est ce 1f3, et donc en effet, c'est

203
00:11:47,640 --> 00:11:49,343
‫exactement le même.

204
00:11:50,660 --> 00:11:53,280
‫Très bien, et maintenant nous devrions être

205
00:11:53,280 --> 00:11:56,170
‫en mesure de le confirmer, et donc cette visite

206
00:11:56,170 --> 00:11:59,230
‫guidée ici est en fait déjà celle sur laquelle nous

207
00:11:59,230 --> 00:12:01,165
‫avons créé la nouvelle critique.

208
00:12:01,165 --> 00:12:04,460
‫Jetons un coup d'œil, et en effet, nous

209
00:12:04,460 --> 00:12:06,660
‫obtenons maintenant deux critiques.

210
00:12:06,660 --> 00:12:09,140
‫Celui-ci est celui que nous venons de créer.

211
00:12:09,140 --> 00:12:11,790
‫C'est sur la bonne tournée et bien

212
00:12:11,790 --> 00:12:15,450
‫sûr, aussi sur le bon utilisateur avec le nom de Jonas.

213
00:12:15,450 --> 00:12:17,973
‫Génial, c'est vraiment cool.

214
00:12:19,620 --> 00:12:22,520
‫Allons de l'avant et gardons ceci.

215
00:12:22,520 --> 00:12:24,720
‫Je vais à nouveau créer un nouveau dossier ici.

216
00:12:25,610 --> 00:12:29,473
‫Je vais appeler ça des critiques de tournées.

217
00:12:31,086 --> 00:12:33,663
‫Maintenant ici, créons,

218
00:12:34,705 --> 00:12:39,705
‫créons une nouvelle critique en tournée.

219
00:12:46,220 --> 00:12:49,537
‫Cela devrait en fait être à l'extérieur et juste comme ça.

220
00:12:54,397 --> 00:12:56,103
‫Mettons en fait celui-ci ici.

221
00:12:57,450 --> 00:13:01,293
‫Cela ne fonctionne pas vraiment comme il le devrait pour une raison quelconque.

222
00:13:02,130 --> 00:13:03,403
‫Et c'est reparti.

223
00:13:05,800 --> 00:13:08,260
‫Très bien, cela a très bien fonctionné,

224
00:13:08,260 --> 00:13:10,870
‫mais comme je l'ai déjà mentionné, la mise en

225
00:13:10,870 --> 00:13:13,450
‫œuvre est un peu déroutante à ce stade.

226
00:13:13,450 --> 00:13:16,890
‫Et encore une fois, c'est parce que nous avons techniquement défini un

227
00:13:16,890 --> 00:13:19,333
‫itinéraire de révision dans le routeur de tournée.

228
00:13:20,220 --> 00:13:22,650
‫C'est un peu déroutant, et donc dans la prochaine

229
00:13:22,650 --> 00:13:24,193
‫vidéo, nous allons corriger cela.

