﻿1
00:00:01,380 --> 00:00:03,290
‫Tuteur : Dans cette conférence, les choses

2
00:00:03,290 --> 00:00:05,450
‫vont commencer à devenir un peu plus avancées.

3
00:00:05,450 --> 00:00:08,370
‫Et c'est parce que nous allons maintenant créer plusieurs

4
00:00:08,370 --> 00:00:10,860
‫routeurs et utiliser un processus appelé montage.

5
00:00:10,860 --> 00:00:12,713
‫Voyons donc comment tout cela fonctionne.

6
00:00:14,150 --> 00:00:17,090
‫Maintenant, avant de faire quoi que ce soit, gardons

7
00:00:17,090 --> 00:00:20,350
‫à l'esprit que le but ultime sera de séparer tout le

8
00:00:20,350 --> 00:00:23,510
‫code que nous avons dans ce fichier en plusieurs fichiers.

9
00:00:23,510 --> 00:00:26,220
‫Donc, ce que je veux, c'est avoir un

10
00:00:26,220 --> 00:00:29,270
‫fichier qui ne contient que toutes ces routes, puis

11
00:00:29,270 --> 00:00:31,200
‫je veux avoir un autre

12
00:00:31,200 --> 00:00:33,713
‫fichier, qui contient les routes pour les utilisateurs.

13
00:00:34,550 --> 00:00:38,370
‫Je souhaiterai également avoir un fichier qui contient les gestionnaires

14
00:00:38,370 --> 00:00:41,690
‫uniquement pour les utilisateurs, puis un fichier

15
00:00:41,690 --> 00:00:45,680
‫qui contiendra tous les gestionnaires pour les tournées, d'accord ?

16
00:00:45,680 --> 00:00:47,460
‫Et c'est en fait ce que nous allons

17
00:00:47,460 --> 00:00:48,900
‫faire dans la prochaine conférence.

18
00:00:48,900 --> 00:00:51,200
‫Mais pour pouvoir le faire, nous

19
00:00:51,200 --> 00:00:54,030
‫devons maintenant créer un routeur distinct pour

20
00:00:54,030 --> 00:00:56,033
‫chacune de nos ressources.

21
00:00:56,940 --> 00:01:01,320
‫Alors, revenons à nos routes ici et maintenant, nous pouvons dire que

22
00:01:01,320 --> 00:01:05,890
‫toutes nos routes, donc ces quatre routes ici, nous pouvons dire qu'elles sont

23
00:01:05,890 --> 00:01:07,730
‫toutes en quelque sorte

24
00:01:07,730 --> 00:01:09,650
‫sur le même routeur, d'accord ?

25
00:01:09,650 --> 00:01:12,800
‫Et le routeur, c'est cet objet d'application.

26
00:01:12,800 --> 00:01:15,090
‫Mais si nous voulons séparer ces

27
00:01:15,090 --> 00:01:17,810
‫routes dans différents fichiers, donc encore une fois,

28
00:01:17,810 --> 00:01:19,820
‫un fichier pour ces deux

29
00:01:19,820 --> 00:01:22,440
‫routes et un fichier pour ces deux routes,

30
00:01:22,440 --> 00:01:25,540
‫alors la meilleure chose à faire est de créer

31
00:01:25,540 --> 00:01:28,140
‫un routeur pour chacune des ressources, d'accord ?

32
00:01:28,140 --> 00:01:30,720
‫Et donc, c'est comme ça qu'on va faire.

33
00:01:30,720 --> 00:01:33,390
‫Ce n'est en fait pas si compliqué,

34
00:01:33,390 --> 00:01:34,890
‫mais vous devrez

35
00:01:34,890 --> 00:01:37,283
‫comprendre quelques concepts, d'accord ?

36
00:01:38,420 --> 00:01:40,070
‫Commençons donc par dire

37
00:01:40,070 --> 00:01:45,070
‫que const tourRouter est égal à express. Routeur.

38
00:01:51,110 --> 00:01:52,560
‫D'accord, alors juste

39
00:01:52,560 --> 00:01:57,120
‫comme ça, nous créons un nouveau routeur et l'enregistrons dans cette variable.

40
00:01:57,120 --> 00:01:59,590
‫Très bien, et maintenant utilisons ce routeur

41
00:01:59,590 --> 00:02:01,480
‫pour ces deux routes.

42
00:02:01,480 --> 00:02:03,653
‫Nous l'utilisons donc ici à la place de l'application.

43
00:02:04,860 --> 00:02:07,550
‫Bon, maintenant nous avons deux routeurs, puis route

44
00:02:07,550 --> 00:02:09,710
‫et bien sûr, les routes get et

45
00:02:09,710 --> 00:02:11,420
‫post sur ce routeur.

46
00:02:11,420 --> 00:02:14,080
‫Maintenant, comment connecter réellement ce nouveau routeur

47
00:02:14,080 --> 00:02:15,630
‫à notre application ?

48
00:02:15,630 --> 00:02:19,370
‫Eh bien, nous allons l'utiliser comme middleware, d'accord ?

49
00:02:19,370 --> 00:02:23,770
‫Et c'est parce que, ce nouveau routeur d'outils modulaire ici, est en

50
00:02:23,770 --> 00:02:26,480
‫fait un véritable middleware, d'accord ?

51
00:02:26,480 --> 00:02:28,330
‫Et donc nous

52
00:02:29,980 --> 00:02:34,980
‫pouvons dire, (saisie au clavier), app. utiliser, puis l'itinéraire, mais gardons cela pour plus tard.

53
00:02:36,760 --> 00:02:41,760
‫Nous pouvons donc utiliser le tourRouter sur notre application et où

54
00:02:42,020 --> 00:02:44,647
‫voulons-nous utiliser le tourRouter ?

55
00:02:44,647 --> 00:02:46,650
‫Eh bien,

56
00:02:46,650 --> 00:02:51,650
‫nous voulons l'utiliser sur /api/version one/tours, d'accord ?

57
00:02:53,800 --> 00:02:58,030
‫Encore une fois, ce tourRouter ici, est un véritable middleware.

58
00:02:58,030 --> 00:03:01,850
‫Et nous voulons utiliser ce middleware pour cette route spécifique.

59
00:03:01,850 --> 00:03:04,240
‫D'accord, et nous utilisons donc app. utiliser et

60
00:03:04,240 --> 00:03:07,883
‫spécifier la fonction middleware, qui est ce routeur,

61
00:03:07,883 --> 00:03:11,540
‫puis nous spécifions la route ainsi l'URL, pour

62
00:03:11,540 --> 00:03:15,200
‫laquelle, nous voulons réellement utiliser ce middleware, d'accord ?

63
00:03:15,200 --> 00:03:16,640
‫Et donc juste

64
00:03:16,640 --> 00:03:20,700
‫comme ça, nous avons créé essentiellement une sous-application, d'accord ?

65
00:03:20,700 --> 00:03:22,270
‫Maintenant, il y a

66
00:03:22,270 --> 00:03:24,060
‫juste une chose que nous devons

67
00:03:24,060 --> 00:03:27,110
‫vraiment changer ici, ce sont ces routes ici, d'accord ?

68
00:03:27,110 --> 00:03:29,830
‫Alors permettez-moi de changer cela ici, puis d'expliquer pourquoi

69
00:03:29,830 --> 00:03:31,830
‫il doit en être ainsi.

70
00:03:31,830 --> 00:03:34,267
‫Donc ici, nous ne voulons que

71
00:03:34,267 --> 00:03:37,600
‫l'itinéraire, et ici, nous ne voulons que l'identifiant, d'accord ?

72
00:03:37,600 --> 00:03:39,450
‫Maintenant, pourquoi est-ce?

73
00:03:39,450 --> 00:03:42,540
‫Eh bien, c'est parce que ce middleware tourRouter ne

74
00:03:42,540 --> 00:03:46,200
‫fonctionne que sur cet itinéraire ici de toute façon, d'accord ?

75
00:03:46,200 --> 00:03:48,400
‫Et donc une fois que nous sommes

76
00:03:48,400 --> 00:03:50,700
‫dans le routeur, nous sommes déjà sur cette route.

77
00:03:50,700 --> 00:03:54,150
‫Donc, à notre tourRoute, et donc ce premier itinéraire

78
00:03:54,150 --> 00:03:57,370
‫que nous devions faire auparavant, nous voulons seulement

79
00:03:57,370 --> 00:04:00,090
‫l'exécuter comme api/version one/tours et c'est

80
00:04:00,090 --> 00:04:03,740
‫ce que cet itinéraire ici signifie maintenant, d'accord ?

81
00:04:03,740 --> 00:04:07,720
‫C'est donc essentiellement la route de cette URL, d'accord ?

82
00:04:07,720 --> 00:04:10,750
‫Alors, cette petite mini application, ça va ?

83
00:04:10,750 --> 00:04:14,260
‫Donc, en fait, lorsque nous créons un système de routeur comme

84
00:04:14,260 --> 00:04:18,650
‫celui-ci, nous disons en fait que nous créons en quelque sorte une petite

85
00:04:18,650 --> 00:04:21,793
‫sous-application pour chacune de ces ressources, d'accord ?

86
00:04:22,860 --> 00:04:26,410
‫C'est donc l'itinéraire de ou la mini application,

87
00:04:26,410 --> 00:04:30,390
‫qui est encore une fois, à /tours, d'accord ?

88
00:04:30,390 --> 00:04:34,150
‫Et puis la deuxième route, est à /id, n'est-ce pas ?

89
00:04:34,150 --> 00:04:35,680
‫Et c'est parce

90
00:04:35,680 --> 00:04:39,303
‫qu'avant, c'était à tours/id, donc c'était tout ça.

91
00:04:40,190 --> 00:04:44,330
‫Donc comme ça, mais maintenant, cette URL ici est

92
00:04:44,330 --> 00:04:49,330
‫déjà dans notre genre de route parent ici, n'est-ce pas ?

93
00:04:49,400 --> 00:04:51,980
‫Disons donc que nous

94
00:04:51,980 --> 00:04:56,690
‫avons maintenant une demande entrante pour /api/version one /tours/version id.

95
00:04:56,690 --> 00:04:59,460
‫Ainsi, la requête entre dans la pile middleware et

96
00:04:59,460 --> 00:05:02,190
‫lorsqu'elle atteint cette ligne de code ici,

97
00:05:02,190 --> 00:05:05,060
‫elle correspondra à cette URL ici, n'est-ce pas ?

98
00:05:05,060 --> 00:05:07,380
‫Donc, il correspondra à cette route et

99
00:05:07,380 --> 00:05:10,150
‫donc ou deux fonctions middleware de routeur seront exécutées.

100
00:05:10,150 --> 00:05:14,310
‫Donc, ou deux routeurs, c'est cette sous-application que nous avons créée, qui

101
00:05:14,310 --> 00:05:17,740
‫à son tour a ses propres routes, d'accord ?

102
00:05:17,740 --> 00:05:20,570
‫Et si la demande était pour / id, eh

103
00:05:20,570 --> 00:05:22,480
‫bien, elle sera dans notre

104
00:05:22,480 --> 00:05:25,220
‫mini-application, cliquez sur cette route ici, n'est-ce pas ?

105
00:05:25,220 --> 00:05:26,250
‫Et enfin,

106
00:05:26,250 --> 00:05:29,030
‫bien sûr, il exécutera l'un de ces handles

107
00:05:29,030 --> 00:05:31,190
‫ici, en fonction de la méthode utilisée.

108
00:05:31,190 --> 00:05:34,010
‫J'espère donc que cela a du sens.

109
00:05:34,010 --> 00:05:36,580
‫Et donc allons-y maintenant et faisons

110
00:05:36,580 --> 00:05:39,363
‫de même pour tous les utilisateurs, d'accord ?

111
00:05:40,220 --> 00:05:44,089
‫Donc, je vais aller de l'avant et créer un autre

112
00:05:44,089 --> 00:05:47,370
‫routeur ici, (saisie au clavier) appelé userRouter, puis comme

113
00:05:49,727 --> 00:05:52,520
‫avant, c'est express. Routeur

114
00:05:55,970 --> 00:05:58,823
‫pas comme ça, ouais.

115
00:06:00,160 --> 00:06:02,333
‫D'accord, alors utilisez un routeur,

116
00:06:05,810 --> 00:06:08,970
‫puis nous devons faire le même processus qu'ici.

117
00:06:08,970 --> 00:06:12,980
‫Et au fait, c'est ce qu'on appelle le montage du routeur, d'accord ?

118
00:06:12,980 --> 00:06:17,980
‫Donc, monter un nouveau routeur sur un itinéraire, en gros, d'accord ?

119
00:06:19,770 --> 00:06:23,970
‫Nous avons donc maintenant des utilisateurs et ici un utilisateur.

120
00:06:26,100 --> 00:06:28,870
‫Et en fait, le montage des

121
00:06:28,870 --> 00:06:32,330
‫routeurs doit venir après toutes ces définitions ou

122
00:06:32,330 --> 00:06:37,330
‫au moins après que nous ayons déclaré une variable, n'est-ce pas ?

123
00:06:39,660 --> 00:06:41,190
‫Nous ne pouvons donc

124
00:06:41,190 --> 00:06:43,560
‫pas utiliser les routeurs avant de les déclarer.

125
00:06:43,560 --> 00:06:46,630
‫D'accord, maintenant tout ce que nous avons à faire

126
00:06:46,630 --> 00:06:50,223
‫est d'aller de l'avant et de changer également les itinéraires ici.

127
00:06:51,850 --> 00:06:55,160
‫Et donc, comme avant, s'il y a

128
00:06:55,160 --> 00:06:59,740
‫maintenant une demande pour /api/version one/users/id, la demande entrera dans

129
00:06:59,740 --> 00:07:02,350
‫la pile middleware et quand elle

130
00:07:02,350 --> 00:07:04,680
‫atteint ce middleware ici, elle

131
00:07:04,680 --> 00:07:06,560
‫exécutera le routeur

132
00:07:06,560 --> 00:07:10,250
‫utilisateur, car cette route ici est correspond, d'accord?

133
00:07:10,250 --> 00:07:12,320
‫Et alors, il entre dans

134
00:07:12,320 --> 00:07:14,220
‫le routeur de l'utilisateur

135
00:07:14,220 --> 00:07:18,960
‫et encore une fois, comme avant, cette erreur est la route essentiellement

136
00:07:18,960 --> 00:07:23,860
‫dans notre sous-application, et ici, c'est l'intégralité de l'URL/de l'identifiant, d'accord ?

137
00:07:23,860 --> 00:07:25,550
‫Cela a-t-il du sens?

138
00:07:25,550 --> 00:07:26,710
‫Donc avant

139
00:07:26,710 --> 00:07:29,723
‫de continuer, testons réellement si cela fonctionne toujours.

140
00:07:30,640 --> 00:07:35,210
‫Alors, obtenons toutes les visites ici et en effet, c'est le cas.

141
00:07:35,210 --> 00:07:40,000
‫Donc, tout fonctionne toujours de la même manière avec les utilisateurs

142
00:07:40,000 --> 00:07:42,380
‫et cela fonctionne toujours aussi.

143
00:07:42,380 --> 00:07:45,410
‫Nous avons donc effectué toutes ces modifications et décodé

144
00:07:45,410 --> 00:07:49,350
‫les travaux, ce qui signifie que nos deux nouveaux routeurs sont correctement montés.

145
00:07:49,350 --> 00:07:53,230
‫Très bien, et avec cela, nous sommes prêts à séparer ou

146
00:07:53,230 --> 00:07:56,250
‫à séparer les routeurs maintenant dans différents fichiers.

147
00:07:56,250 --> 00:07:58,993
‫Et cela, nous le ferons bien dans la prochaine conférence.

