﻿1
00:00:01,070 --> 00:00:01,970
‫-: Très bien.

2
00:00:01,970 --> 00:00:05,850
‫Créons donc maintenant un nouveau document de réservation dans notre base de données

3
00:00:05,850 --> 00:00:09,083
‫chaque fois qu'un utilisateur achète avec succès une visite.

4
00:00:10,940 --> 00:00:13,400
‫On est donc de retour ici dans le contrôleur

5
00:00:13,400 --> 00:00:15,130
‫de réservation et dans l'appel

6
00:00:15,130 --> 00:00:18,410
‫d'offres brut, qui crée les sessions de caisse, n'est-ce pas ?

7
00:00:18,410 --> 00:00:21,990
‫Et rappelez-vous qu'ici nous avons cette URL de réussite et

8
00:00:21,990 --> 00:00:25,210
‫cette URL est la base de la fonctionnalité que

9
00:00:25,210 --> 00:00:27,670
‫nous allons implémenter dans cette conférence.

10
00:00:27,670 --> 00:00:30,400
‫Ainsi, chaque fois qu'une vérification

11
00:00:30,400 --> 00:00:34,440
‫est réussie, le navigateur ira automatiquement à cette URL,

12
00:00:34,440 --> 00:00:39,140
‫qui est actuellement simplement notre page d'accueil, n'est-ce pas ?

13
00:00:39,140 --> 00:00:41,190
‫C'est aussi à ce moment-là, donc

14
00:00:41,190 --> 00:00:44,360
‫lorsqu'un paiement est réussi que nous voulons créer une nouvelle

15
00:00:44,360 --> 00:00:46,130
‫réservation, n'est-ce pas ?

16
00:00:46,130 --> 00:00:49,200
‫Donc, fondamentalement, nous voulons créer une nouvelle

17
00:00:49,200 --> 00:00:53,010
‫réservation chaque fois que cette URL est accessible ici.

18
00:00:53,010 --> 00:00:56,680
‫Maintenant, nous pourrions maintenant créer une nouvelle route pour ce succès, mais

19
00:00:56,680 --> 00:00:59,940
‫nous devrons alors créer une toute nouvelle page et cela n'en

20
00:00:59,940 --> 00:01:02,690
‫vaut pas vraiment la peine dans ce cas.

21
00:01:02,690 --> 00:01:06,090
‫Et c'est parce que ce que nous allons faire dans cette

22
00:01:06,090 --> 00:01:08,860
‫conférence n'est de toute façon qu'une solution

23
00:01:08,860 --> 00:01:12,040
‫temporaire parce que ce n'est pas vraiment sécurisé, d'accord ?

24
00:01:12,040 --> 00:01:14,690
‫Alors rappelez-vous comment nous avons dit il

25
00:01:14,690 --> 00:01:17,980
‫y a quelques conférences et ce joli diagramme que plus

26
00:01:17,980 --> 00:01:21,500
‫tard, lorsqu'un site Web sera réellement déployé sur un serveur,

27
00:01:21,500 --> 00:01:24,830
‫nous aurons accès à l'objet de session une fois l'achat

28
00:01:24,830 --> 00:01:27,200
‫terminé à l'aide de Stripe Webhooks.

29
00:01:27,200 --> 00:01:29,750
‫Et donc ces webhooks seront alors parfaits pour

30
00:01:29,750 --> 00:01:31,970
‫nous pour créer une nouvelle réservation.

31
00:01:31,970 --> 00:01:32,803
‫D'accord?

32
00:01:32,803 --> 00:01:35,040
‫Mais pour l'instant, puisque nous ne pouvons pas encore

33
00:01:35,040 --> 00:01:36,650
‫le faire, utilisons une solution

34
00:01:36,650 --> 00:01:39,810
‫de contournement, qui consiste simplement à mettre les données dont nous avons

35
00:01:39,810 --> 00:01:43,810
‫besoin pour créer une nouvelle réservation directement dans cette URL en tant que chaîne de requête.

36
00:01:43,810 --> 00:01:44,670
‫D'accord?

37
00:01:44,670 --> 00:01:47,800
‫Et nous devons créer une chaîne de requête car Stripe

38
00:01:47,800 --> 00:01:51,620
‫fera simplement une demande d'obtention à cette URL ici, et nous ne

39
00:01:51,620 --> 00:01:55,280
‫pouvons donc pas vraiment envoyer de corps ou de données avec, à

40
00:01:55,280 --> 00:01:57,680
‫l'exception de la chaîne de requête.

41
00:01:57,680 --> 00:01:58,513
‫Très bien?

42
00:01:58,513 --> 00:02:02,300
‫Faisons-le et ce dont nous avons besoin ici, ce sont essentiellement

43
00:02:02,300 --> 00:02:05,660
‫les trois champs obligatoires de notre modèle de réservation.

44
00:02:05,660 --> 00:02:07,200
‫Donc visite,

45
00:02:07,200 --> 00:02:08,930
‫utilisateur et prix.

46
00:02:08,930 --> 00:02:10,200
‫Donc, la

47
00:02:10,200 --> 00:02:11,400
‫tournée

48
00:02:11,400 --> 00:02:16,478
‫est égale à req.

49
00:02:16,478 --> 00:02:16,478
‫paramètres.

50
00:02:16,478 --> 00:02:17,311
‫n'est-ce pas ?

51
00:02:18,410 --> 00:02:19,243
‫Alors qu'est-ce que j'ai fait ici ?

52
00:02:20,350 --> 00:02:21,793
‫Donc c'est correct.

53
00:02:23,500 --> 00:02:25,290
‫Ensuite, nous avons besoin de l'utilisateur.

54
00:02:25,290 --> 00:02:27,473
‫Donc utilisateur, qui est à

55
00:02:28,760 --> 00:02:29,793
‫la demande. utilisateur. identifiant.

56
00:02:30,700 --> 00:02:32,887
‫Et enfin nous avons besoin du

57
00:02:32,887 --> 00:02:33,807
‫prix,

58
00:02:33,807 --> 00:02:35,290
‫qui est en tournée. le prix.

59
00:02:35,290 --> 00:02:38,170
‫Très bien.

60
00:02:38,170 --> 00:02:39,003
‫Maintenant, comme je l'ai déjà dit,

61
00:02:40,230 --> 00:02:41,063
‫ce n'est bien sûr pas

62
00:02:42,277 --> 00:02:43,110
‫du tout sécurisé car pour

63
00:02:44,190 --> 00:02:45,630
‫le moment, toute personne connaissant cette structure d'URL ici pourrait

64
00:02:45,630 --> 00:02:47,250
‫simplement l'appeler sans passer par le processus de paiement, n'est-ce pas ?

65
00:02:47,250 --> 00:02:50,140
‫Et donc tout le monde

66
00:02:50,140 --> 00:02:54,760
‫pouvait vraiment réserver une visite sans avoir à payer.

67
00:02:54,760 --> 00:02:57,510
‫Tout ce qu'ils auraient à faire serait d'ouvrir cette

68
00:02:57,510 --> 00:02:59,250
‫URL avec la visite, l'utilisateur et

69
00:02:59,250 --> 00:03:01,930
‫le prix, puis ils créeraient automatiquement une nouvelle réservation

70
00:03:01,930 --> 00:03:03,630
‫sans même payer, d'accord ?

71
00:03:03,630 --> 00:03:06,530
‫Encore une fois, ce n'est pas vraiment sécurisé, mais pour

72
00:03:06,530 --> 00:03:08,830
‫l'instant, en tant que solution de

73
00:03:08,830 --> 00:03:11,900
‫contournement, cela fonctionne très bien car peu de gens sauront

74
00:03:11,900 --> 00:03:14,320
‫bien sûr que c'est notre URL de réussite.

75
00:03:14,320 --> 00:03:16,080
‫D'accord?

76
00:03:16,080 --> 00:03:19,160
‫Parce qu'en fait, nous allons cacher ce fait

77
00:03:19,160 --> 00:03:22,240
‫un peu dans une seconde, d'accord ?

78
00:03:22,240 --> 00:03:24,920
‫Créons donc maintenant la fonction qui créera réellement la nouvelle réservation dans la

79
00:03:24,920 --> 00:03:25,753
‫base de données.

80
00:03:25,753 --> 00:03:28,790
‫Cela va donc exporter le paiement par

81
00:03:28,790 --> 00:03:30,910
‫dot create booking et cela

82
00:03:30,910 --> 00:03:35,120
‫s'appelle créer un paiement de réservation car plus tard, nous

83
00:03:35,120 --> 00:03:37,083
‫aurons également créer une

84
00:03:38,320 --> 00:03:40,610
‫réservation, qui sera alors accessible

85
00:03:40,610 --> 00:03:42,150
‫depuis notre API

86
00:03:42,150 --> 00:03:42,983
‫de

87
00:03:44,000 --> 00:03:44,833
‫réservation.

88
00:03:46,100 --> 00:03:47,150
‫Très bien.

89
00:03:47,150 --> 00:03:49,600
‫En tous cas.

90
00:03:49,600 --> 00:03:52,980
‫Ici comme toujours.

91
00:03:52,980 --> 00:03:56,313
‫Et commençons par récupérer nos données à partir de la chaîne de requête.

92
00:03:57,760 --> 00:03:59,360
‫Et donc pour cela je vais utiliser la structuration.

93
00:03:59,360 --> 00:04:00,193
‫La

94
00:04:02,160 --> 00:04:03,523
‫visite, l'utilisateur et

95
00:04:06,460 --> 00:04:09,990
‫le prix sont donc disponibles sur demande. requete.

96
00:04:09,990 --> 00:04:13,370
‫Alors n'oubliez pas qu'il s'agit de la chaîne de requête.

97
00:04:13,370 --> 00:04:14,763
‫Ensuite, nous ne voulons créer une nouvelle

98
00:04:15,920 --> 00:04:17,520
‫réservation que si tous ces éléments sont spécifiés ici.

99
00:04:17,520 --> 00:04:21,113
‫Et donc fondamentalement, nous disons que s'ils n'existent pas, nous passons

100
00:04:21,113 --> 00:04:22,520
‫au middleware suivant.

101
00:04:22,520 --> 00:04:25,540
‫C'est donc notre procédure très standard, n'est-ce pas ?

102
00:04:25,540 --> 00:04:28,830
‫Donc on dit que s'il

103
00:04:28,830 --> 00:04:31,720
‫n'y a pas

104
00:04:31,720 --> 00:04:35,060
‫de tournée et pas d'utilisateur

105
00:04:35,060 --> 00:04:37,980
‫et pas de prix.

106
00:04:37,980 --> 00:04:41,003
‫Donc, fondamentalement, nous exigeons que tout existe sur eux.

107
00:04:42,190 --> 00:04:45,890
‫Et donc dans ce cas, nous passons

108
00:04:45,890 --> 00:04:47,480
‫au middleware suivant.

109
00:04:47,480 --> 00:04:48,680
‫Maintenant, quel est exactement le prochain middleware ?

110
00:04:48,680 --> 00:04:50,050
‫N'oubliez pas que

111
00:04:50,050 --> 00:04:53,450
‫nous souhaitons créer une nouvelle réservation sur cette URL d'accueil.

112
00:04:53,450 --> 00:04:55,253
‫Alors celui-ci ici.

113
00:04:56,580 --> 00:04:58,790
‫Car encore une fois, c'est l'URL

114
00:04:58,790 --> 00:05:02,420
‫qui est appelée chaque fois qu'un achat est réussi avec Stripe.

115
00:05:02,420 --> 00:05:06,300
‫Et donc ce que nous devons faire est d'ajouter cette fonction middleware que nous créons

116
00:05:06,300 --> 00:05:08,340
‫en ce moment sur la pile middleware de

117
00:05:08,340 --> 00:05:09,660
‫ce gestionnaire de route.

118
00:05:09,660 --> 00:05:12,380
‫Alors, de quel gestionnaire de route s'agit-il ?

119
00:05:12,380 --> 00:05:15,610
‫Bon c'est en vue des routes

120
00:05:15,610 --> 00:05:18,810
‫et c'est celle-ci, non ?

121
00:05:18,810 --> 00:05:21,990
‫Cela semble donc probablement un peu déroutant.

122
00:05:21,990 --> 00:05:23,393
‫Mais encore une fois, c'est la

123
00:05:24,230 --> 00:05:26,620
‫route qui sera empruntée lorsqu'une carte de crédit est débitée avec succès.

124
00:05:26,620 --> 00:05:30,943
‫Et c'est donc aussi le moment où nous voulons créer une

125
00:05:32,170 --> 00:05:33,270
‫nouvelle réservation.

126
00:05:33,270 --> 00:05:36,040
‫Et c'est ici que nous devons

127
00:05:36,040 --> 00:05:39,610
‫ajouter cette fonction middleware, alors faisons-le et exigeons

128
00:05:39,610 --> 00:05:42,080
‫notre contrôleur et maintenant

129
00:05:42,080 --> 00:05:44,730
‫nous allons simplement dupliquer cela ici.

130
00:05:44,730 --> 00:05:46,260
‫Donc le contrôleur de réservation et

131
00:05:46,260 --> 00:05:49,940
‫maintenant je vais en fait éditer ici dès le début car cela n'a pas vraiment d'importance

132
00:05:51,340 --> 00:05:53,350
‫si nous sommes connectés ou non pour cela.

133
00:05:53,350 --> 00:05:57,963
‫Donc bookingcontroller. get, ou

134
00:06:02,440 --> 00:06:06,850
‫dot create

135
00:06:06,850 --> 00:06:09,540
‫bookingcheckout.

136
00:06:09,540 --> 00:06:11,743
‫Faites une sauvegarde

137
00:06:13,130 --> 00:06:16,780
‫et d'accord.

138
00:06:16,780 --> 00:06:18,300
‫Et encore une fois, c'est ici juste un

139
00:06:18,300 --> 00:06:19,770
‫peu temporaire jusqu'à ce que nos sites Web

140
00:06:19,770 --> 00:06:20,603
‫soient déployés sur

141
00:06:22,878 --> 00:06:25,060
‫un serveur où nous pourrons alors créer une meilleure solution pour cela.

142
00:06:25,060 --> 00:06:26,230
‫D'accord?

143
00:06:26,230 --> 00:06:29,150
‫Donc, ici, dans le contrôleur de réservation,

144
00:06:29,150 --> 00:06:32,610
‫il est maintenant temps de créer réellement cette nouvelle réservation.

145
00:06:32,610 --> 00:06:35,560
‫Et donc en fait, nous devons maintenant importer ce modèle.

146
00:06:35,560 --> 00:06:36,950
‫Alors faisons-le ici.

147
00:06:36,950 --> 00:06:41,230
‫Réservation et

148
00:06:41,230 --> 00:06:44,930
‫modèle de réservation ici aussi.

149
00:06:44,930 --> 00:06:48,903
‫Et pour une raison quelconque, j'ai ici ces chemins étranges.

150
00:06:50,810 --> 00:06:52,053
‫Donc ça n'a aucun sens.

151
00:06:53,520 --> 00:06:54,780
‫Je ne sais pas pourquoi je les ai écrits comme ça à l'époque.

152
00:06:54,780 --> 00:06:55,613
‫Donc, ce que nous avons là-bas est exactement le même que celui-ci.

153
00:06:57,750 --> 00:06:59,363
‫Mais bien sûr, c'est plus lisible.

154
00:07:01,280 --> 00:07:04,830
‫En tous cas.

155
00:07:04,830 --> 00:07:08,170
‫Créons maintenant cette réservation.

156
00:07:08,170 --> 00:07:11,910
‫Et donc pour cela il

157
00:07:11,910 --> 00:07:15,160
‫faudra attendre la réservation. créer avec un

158
00:07:15,160 --> 00:07:21,810
‫objet

159
00:07:21,810 --> 00:07:27,353
‫de tournée, d'utilisateur et de prix.

160
00:07:28,497 --> 00:07:29,330
‫Et c'est tout.

161
00:07:30,900 --> 00:07:32,040
‫Maintenant, nous devons également marquer

162
00:07:32,040 --> 00:07:33,390
‫celui-ci ici comme asynchrone et comme

163
00:07:33,390 --> 00:07:34,223
‫toujours catchasync.

164
00:07:35,120 --> 00:07:35,953
‫D'accord?

165
00:07:36,810 --> 00:07:37,843
‫Et nous n'enregistrons pas bien cela

166
00:07:38,830 --> 00:07:40,310
‫dans une variable car nous n'en avons pas vraiment besoin.

167
00:07:40,310 --> 00:07:42,660
‫Nous n'allons pas renvoyer cela en tant que réponse API.

168
00:07:44,220 --> 00:07:45,660
‫À ce stade, tout ce que nous voulons faire ici, c'est

169
00:07:46,582 --> 00:07:47,499
‫créer ce nouveau document, d'accord ?

170
00:07:53,252 --> 00:07:54,085
‫Ensuite,

171
00:07:54,085 --> 00:07:56,450
‫nous pourrions dire ensuite, comme ceci.

172
00:07:56,450 --> 00:07:58,250
‫Et donc ça irait ensuite

173
00:07:58,250 --> 00:08:01,470
‫au middleware suivant mais ce n'est pas vraiment l'idéal.

174
00:08:01,470 --> 00:08:04,970
‫Gardez donc à nouveau à l'esprit que le prochain middleware

175
00:08:04,970 --> 00:08:07,363
‫de la pile est bien sûr

176
00:08:08,480 --> 00:08:10,680
‫celui-ci et la vue d'ensemble.

177
00:08:12,280 --> 00:08:14,460
‫Donc, fondamentalement, la

178
00:08:14,460 --> 00:08:17,220
‫fonction qui va rendre notre page.

179
00:08:17,220 --> 00:08:18,990
‫Mais rappelez-vous que cette URL est tout cela.

180
00:08:18,990 --> 00:08:22,010
‫Donc tout ça avec toutes ces données ici.

181
00:08:22,010 --> 00:08:24,450
‫Et encore une fois, ce n'est pas du tout sécurisé.

182
00:08:24,450 --> 00:08:26,640
‫Et au moins, rendons-le

183
00:08:26,640 --> 00:08:29,041
‫un peu plus sûr, d'accord ?

184
00:08:29,041 --> 00:08:30,800
‫Et donc

185
00:08:30,800 --> 00:08:35,023
‫ce que nous pouvons faire ici est de rediriger

186
00:08:35,980 --> 00:08:38,920
‫l'application maintenant uniquement vers cette URL.

187
00:08:38,920 --> 00:08:41,610
‫Et donc, en gros, vous

188
00:08:41,610 --> 00:08:45,200
‫supprimez la chaîne de requête de l'URL d'origine.

189
00:08:45,200 --> 00:08:46,200
‫Et donc en fait,

190
00:08:46,200 --> 00:08:48,660
‫nous allons maintenant utiliser quelque chose que nous n'avons jamais utilisé auparavant.

191
00:08:48,660 --> 00:08:52,090
‫Alors c'est super, non ?

192
00:08:52,090 --> 00:08:52,923
‫Nous allons donc utiliser la redirection.

193
00:08:53,837 --> 00:08:55,980
‫Très bien?

194
00:08:55,980 --> 00:08:57,277
‫Alors maintenant, ce que

195
00:08:59,007 --> 00:09:01,710
‫nous voulons, c'est l'URL entière, mais sans la chaîne de requête.

196
00:09:01,710 --> 00:09:03,300
‫Donc, ce que nous

197
00:09:03,300 --> 00:09:04,763
‫pourrions faire, c'est

198
00:09:05,860 --> 00:09:08,193
‫simplement tricher et copier ceci ici.

199
00:09:10,810 --> 00:09:11,970
‫Mais rendons-le un peu plus élégant.

200
00:09:11,970 --> 00:09:15,230
‫Donc, ce que nous faisons, c'est la demande. theoriginalurl, que nous avons déjà

201
00:09:15,230 --> 00:09:16,803
‫utilisé auparavant.

202
00:09:18,000 --> 00:09:20,620
‫Et c'est donc l'intégralité

203
00:09:20,620 --> 00:09:23,450
‫de l'URL d'où provient la demande.

204
00:09:23,450 --> 00:09:24,660
‫Et maintenant, ce que

205
00:09:24,660 --> 00:09:27,110
‫nous devons faire, c'est le diviser par le point d'interrogation.

206
00:09:27,110 --> 00:09:31,096
‫À droite?

207
00:09:31,096 --> 00:09:33,090
‫Parce que c'est le diviseur entre la partie que nous

208
00:09:33,090 --> 00:09:34,573
‫voulons réellement et la chaîne de requête.

209
00:09:35,870 --> 00:09:38,090
‫Donc, si nous divisons cela par le point d'interrogation,

210
00:09:38,090 --> 00:09:40,190
‫nous aurons un tableau où le premier

211
00:09:40,190 --> 00:09:43,090
‫élément est celui-ci et le deuxième élément est tout le reste.

212
00:09:43,090 --> 00:09:44,283
‫Donc la chaîne de requête elle-même.

213
00:09:48,010 --> 00:09:48,843
‫Et donc

214
00:09:48,843 --> 00:09:52,500
‫ici, nous prenons le premier élément et c'est donc notre page d'accueil.

215
00:09:52,500 --> 00:09:55,053
‫Donc l'url de notre itinéraire.

216
00:09:56,700 --> 00:10:00,040
‫Et ce que fait la redirection ici, c'est essentiellement de créer une nouvelle

217
00:10:00,040 --> 00:10:02,917
‫demande mais vers cette nouvelle URL que nous avons transmise là-bas.

218
00:10:02,917 --> 00:10:06,420
‫Très bien?

219
00:10:06,420 --> 00:10:08,430
‫Cela va donc maintenant créer

220
00:10:08,430 --> 00:10:11,210
‫une autre demande vers notre URL de route.

221
00:10:11,210 --> 00:10:13,480
‫Nous allons donc reprendre cette route.

222
00:10:13,480 --> 00:10:14,463
‫Et donc une fois de plus, nous allons toucher ce middleware ici.

223
00:10:15,560 --> 00:10:19,520
‫Donc celui que nous venons de créer.

224
00:10:19,520 --> 00:10:24,060
‫Donc, pour la deuxième fois, nous allons toucher cela, mais maintenant le tour, l'utilisateur et le prix

225
00:10:24,060 --> 00:10:25,170
‫ne sont plus définis.

226
00:10:25,170 --> 00:10:27,680
‫Et puis nous passerons au middleware suivant, qui est finalement

227
00:10:27,680 --> 00:10:28,653
‫la fonction de

228
00:10:29,890 --> 00:10:32,900
‫gestionnaire d'aperçu, que nous allons ensuite simplement rendre la page d'accueil, d'accord ?

229
00:10:32,900 --> 00:10:37,230
‫Fait sens?

230
00:10:37,230 --> 00:10:39,790
‫C'est donc un peu circulaire.

231
00:10:39,790 --> 00:10:42,850
‫Donc, fondamentalement, au début,

232
00:10:42,850 --> 00:10:47,240
‫nous allons emprunter cette voie ici.

233
00:10:47,240 --> 00:10:49,860
‫Ensuite, une nouvelle réservation est

234
00:10:49,860 --> 00:10:53,540
‫créée ici et nous redirigeons à nouveau l'application

235
00:10:53,540 --> 00:10:57,870
‫vers cet itinéraire, cette fois sans la chaîne de requête.

236
00:10:57,870 --> 00:10:59,080
‫Et donc sans

237
00:10:59,080 --> 00:11:01,700
‫la chaîne de requête et ce middleware,

238
00:11:01,700 --> 00:11:03,870
‫nous sommes passés directement au suivant.

239
00:11:03,870 --> 00:11:05,100
‫Et ce n'est qu'alors que

240
00:11:05,100 --> 00:11:07,430
‫nous arrivons à nous connecter et à obtenir une vue d'ensemble.

241
00:11:07,430 --> 00:11:10,860
‫Très bien?

242
00:11:10,860 --> 00:11:12,710
‫Et c'est donc ça en fait, d'accord ?

243
00:11:12,710 --> 00:11:14,540
‫Eh bien, c'est juste ici que

244
00:11:14,540 --> 00:11:16,370
‫ce n'est que temporaire car

245
00:11:16,370 --> 00:11:18,120
‫ce n'est pas sécurisé.

246
00:11:18,120 --> 00:11:21,350
‫Tout le monde peut réserver

247
00:11:21,350 --> 00:11:22,723
‫sans payer.

248
00:11:24,020 --> 00:11:25,450
‫Encore une fois, ce serait terrible pour l'entreprise.

249
00:11:25,450 --> 00:11:29,390
‫Bon, maintenant il est temps de tester ça.

250
00:11:29,390 --> 00:11:32,910
‫Et donc en fait, je veux le faire avec cet autre utilisateur que nous avons créé

251
00:11:38,730 --> 00:11:39,563
‫qui est jonas@mailsac.

252
00:11:41,520 --> 00:11:42,523
‫Et c'est parce

253
00:11:43,700 --> 00:11:47,410
‫que je veux voir si nous obtenons réellement ce reçu par e-mail de Stripe.

254
00:11:49,010 --> 00:11:49,963
‫Connectons-nous donc

255
00:11:50,930 --> 00:11:54,133
‫avec cet utilisateur sur notre site Web.

256
00:11:55,250 --> 00:12:02,990
‫Alors déconnectez-vous.

257
00:12:02,990 --> 00:12:06,620
‫Eh bien ça ne marche pas.

258
00:12:06,620 --> 00:12:09,510
‫C'est bizarre.

259
00:12:09,510 --> 00:12:11,913
‫Rechargeons.

260
00:12:13,510 --> 00:12:17,280
‫Et cela devrait fonctionner, alors voyons si nous avons une erreur

261
00:12:17,280 --> 00:12:18,466
‫dans notre javascript.

262
00:12:18,466 --> 00:12:20,170
‫Parce que c'est en fait face au client et nous obtenons

263
00:12:20,170 --> 00:12:21,063
‫que Stripe n'est pas défini.

264
00:12:23,080 --> 00:12:24,323
‫Voyons si nous avons la même erreur ici sur cette page,

265
00:12:27,050 --> 00:12:28,090
‫ce que nous ne devrions pas, n'est-ce pas ?

266
00:12:28,090 --> 00:12:29,023
‫Et en fait

267
00:12:30,430 --> 00:12:33,520
‫ce n'est pas là, mais de retour sur toutes les tournées.

268
00:12:33,520 --> 00:12:36,230
‫Ouais, c'est là.

269
00:12:36,230 --> 00:12:38,160
‫Donc, la solution à cela est

270
00:12:39,210 --> 00:12:41,763
‫de le déplacer de la tournée vers toutes les pages.

271
00:12:42,730 --> 00:12:46,180
‫Très bien?

272
00:12:46,180 --> 00:12:48,170
‫Donc, pour une raison quelconque, le groupeur de

273
00:12:48,170 --> 00:12:51,010
‫colis le fait de sorte qu'il doit être ici dans la

274
00:12:51,010 --> 00:12:52,393
‫portée principale pour tous.

275
00:12:53,360 --> 00:12:54,660
‫Donc pour toutes les pages, d'accord ?

276
00:12:54,660 --> 00:12:58,480
‫Donc, en fait, mettons cela en bas juste

277
00:12:59,400 --> 00:13:01,193
‫avant notre paquet.

278
00:13:02,910 --> 00:13:04,010
‫Très bien?

279
00:13:04,010 --> 00:13:07,970
‫Essayez à nouveau et maintenant nous sommes prêts à partir.

280
00:13:07,970 --> 00:13:08,920
‫Alors

281
00:13:10,260 --> 00:13:12,703
‫déconnectez-vous et cela a fonctionné.

282
00:13:14,850 --> 00:13:16,933
‫Connectez-vous maintenant.

283
00:13:19,090 --> 00:13:21,970
‫Bien sûr, maintenant notre copie est partie.

284
00:13:26,010 --> 00:13:27,673
‫Un deux trois quatre.

285
00:13:29,530 --> 00:13:30,690
‫Non, ce n'est pas correct.

286
00:13:30,690 --> 00:13:34,143
‫Testez un deux trois quatre.

287
00:13:35,170 --> 00:13:37,510
‫Donc je suppose que j'ai changé le mot de passe à un moment donné, alors essayons

288
00:13:37,510 --> 00:13:38,343
‫un nouveau mot de passe,

289
00:13:39,200 --> 00:13:40,083
‫qui ne fonctionne pas non plus.

290
00:13:42,183 --> 00:13:44,613
‫Essayons de passer un deux trois quatre et

291
00:13:53,790 --> 00:13:54,963
‫cela a fonctionné.

292
00:13:56,400 --> 00:13:58,180
‫Il ne s'agit donc pas de tester un

293
00:13:58,180 --> 00:14:00,043
‫deux trois quatre, mais de réussir un deux trois quatre.

294
00:14:01,580 --> 00:14:04,470
‫Au moins ici dans mon cas.

295
00:14:04,470 --> 00:14:07,363
‫Essayons donc de réserver le disons

296
00:14:08,920 --> 00:14:10,460
‫le sportif.

297
00:14:10,460 --> 00:14:13,180
‫Très bien.

298
00:14:14,170 --> 00:14:15,223
‫Ici.

299
00:14:16,100 --> 00:14:18,260
‫Réservez une tournée et cela

300
00:14:18,260 --> 00:14:20,603
‫fonctionne toujours et c'est le

301
00:14:21,460 --> 00:14:22,763
‫plus cher.

302
00:14:23,810 --> 00:14:25,940
‫(rires) Donc quatre deux quatre deux

303
00:14:26,960 --> 00:14:28,493
‫puis quatre deux jusqu'à

304
00:14:30,520 --> 00:14:31,353
‫la fin.

305
00:14:33,150 --> 00:14:34,340
‫Alors voici un mois et voici un certain nombre.

306
00:14:34,340 --> 00:14:35,310
‫Disons mon nom

307
00:14:37,010 --> 00:14:38,310
‫entier ici et maintenant, payons.

308
00:14:39,260 --> 00:14:41,091
‫Et je vais jeter un œil à la barre d'URL.

309
00:14:41,091 --> 00:14:42,100
‫Et en effet, nous obtenons notre

310
00:14:42,100 --> 00:14:45,020
‫page d'accueil donc notre URL de route sans aucune des chaînes de requête que nous avons spécifiées auparavant.

311
00:14:45,020 --> 00:14:46,203
‫Cela signifie donc que quelque chose fonctionne.

312
00:14:47,060 --> 00:14:52,020
‫Jetons donc un coup d'œil à la boussole et cliquez ici pour

313
00:14:52,020 --> 00:14:55,590
‫recharger et nous obtenons notre collection de réservations.

314
00:14:55,590 --> 00:14:57,523
‫Et c'est bon signe.

315
00:14:59,970 --> 00:15:02,090
‫Et en effet, nous y voilà.

316
00:15:02,090 --> 00:15:06,440
‫Notre tout premier document est créé.

317
00:15:06,440 --> 00:15:10,280
‫Alors rappelez-vous que c'était ce prix.

318
00:15:10,280 --> 00:15:13,550
‫Jetons également un œil à l'identifiant de

319
00:15:13,550 --> 00:15:18,400
‫l'utilisateur qui est celui-ci se terminant par huit E trois B.

320
00:15:20,520 --> 00:15:23,180
‫Donc huit E trois B, c'est exact.

321
00:15:23,180 --> 00:15:24,540
‫Et je suppose que la tournée sera également correcte.

322
00:15:24,540 --> 00:15:26,742
‫Tellement parfait.

323
00:15:26,742 --> 00:15:30,360
‫Cela a également fonctionné et nous avons maintenant vraiment un

324
00:15:30,360 --> 00:15:32,673
‫moyen de créer des réservations chaque

325
00:15:33,740 --> 00:15:36,350
‫fois qu'une réservation se produit avec Stripe.

326
00:15:38,100 --> 00:15:41,653
‫Jetons également un coup d'œil rapide à nos tableaux de bord ici.

327
00:15:43,280 --> 00:15:46,640
‫C'est vraiment amusant.

328
00:15:46,640 --> 00:15:50,100
‫Et je suppose que je dois juste recharger ici.

329
00:15:50,100 --> 00:15:51,220
‫Voyons donc.

330
00:15:51,220 --> 00:15:52,540
‫Voici Jonas, quel que soit son nom.

331
00:15:52,540 --> 00:15:56,200
‫Nous avons l'amateur

332
00:15:56,200 --> 00:15:58,773
‫de

333
00:15:59,772 --> 00:16:04,040
‫sport et parfait.

334
00:16:04,040 --> 00:16:05,770
‫Cela fonctionne maintenant.

335
00:16:05,770 --> 00:16:07,720
‫Et la tâche finale.

336
00:16:13,662 --> 00:16:14,745
‫Voyons maintenant mailsac.

337
00:16:15,770 --> 00:16:21,580
‫Sac de courrier.

338
00:16:22,460 --> 00:16:23,860
‫com et voir si j'ai

339
00:16:23,860 --> 00:16:25,100
‫reçu mon e-mail là-bas.

340
00:16:25,100 --> 00:16:26,657
‫Et bien en fait je ne l'ai pas

341
00:16:26,657 --> 00:16:27,900
‫fait, mais ce n'est pas grave.

342
00:16:27,900 --> 00:16:30,410
‫Je ne suis pas sûr que cela ne fonctionne tout simplement pas avec les données de test.

343
00:16:31,390 --> 00:16:32,223
‫Et donc pour l'instant c'est tout ce

344
00:16:32,223 --> 00:16:33,070
‫que j'ai à vous montrer sur l'intégration de Stripe.

345
00:16:34,316 --> 00:16:35,149
‫Encore une

346
00:16:36,490 --> 00:16:39,060
‫fois, une fois le site Web déployé, nous utiliserons alors

347
00:16:39,060 --> 00:16:39,923
‫les Webhooks Stripe afin

348
00:16:42,190 --> 00:16:45,050
‫de créer des réservations de manière plus sécurisée et bien meilleure.

349
00:16:45,050 --> 00:16:46,840
‫Très bien?

350
00:16:46,840 --> 00:16:51,200
‫Prenons donc à nouveau une minute pour récapituler ce que nous avons fait ici.

351
00:16:51,200 --> 00:16:53,160
‫Donc, fondamentalement, nous avons ajouté

352
00:16:53,160 --> 00:16:55,670
‫toutes les variables dont nous avons besoin pour

353
00:16:55,670 --> 00:16:58,230
‫créer une nouvelle réservation à l'URL de réussite.

354
00:16:58,230 --> 00:17:00,690
‫Ensuite, nous avons ajouté une nouvelle fonction

355
00:17:00,690 --> 00:17:03,320
‫middleware ici à la pile de cette route exacte.

356
00:17:03,320 --> 00:17:05,050
‫Alors celui-ci ici.

357
00:17:05,050 --> 00:17:06,320
‫Et ainsi, chaque

358
00:17:06,320 --> 00:17:11,320
‫fois que cette URL est touchée, nous essaierons de créer une nouvelle réservation.

359
00:17:12,000 --> 00:17:14,010
‫Très bien?

360
00:17:14,970 --> 00:17:18,070
‫Mais cette nouvelle réservation n'est bien sûr créée que lorsque le tour, l'utilisateur et le

361
00:17:18,070 --> 00:17:19,327
‫prix sont spécifiés dans la requête.

362
00:17:20,610 --> 00:17:24,320
‫Et donc dans cette fonction middleware, s'ils sont bien spécifiés

363
00:17:24,320 --> 00:17:26,270
‫sur la requête, nous créons une

364
00:17:26,270 --> 00:17:27,790
‫nouvelle réservation ici.

365
00:17:27,790 --> 00:17:31,200
‫Ensuite, une fois cela fait, nous supprimons la chaîne de requête de

366
00:17:31,200 --> 00:17:34,387
‫l'URL afin de rendre l'ensemble du processus un peu moins transparent

367
00:17:34,387 --> 00:17:35,220
‫pour l'utilisateur.

368
00:17:35,220 --> 00:17:38,380
‫Fondamentalement, toute la chaîne de

369
00:17:38,380 --> 00:17:43,290
‫requête n'apparaît pas dans la barre d'URL de notre navigateur.

370
00:17:43,290 --> 00:17:45,180
‫Et puis ici, nous redirigeons

371
00:17:45,180 --> 00:17:48,610
‫notre application vers cette nouvelle URL de route ici, d'accord ?

372
00:17:48,610 --> 00:17:50,900
‫Et ainsi, ce middleware ici sera

373
00:17:50,900 --> 00:17:53,870
‫ignoré et notre page d'accueil normale sera simplement rendue.

374
00:17:53,870 --> 00:17:56,680
‫Très bien?

375
00:17:56,680 --> 00:17:59,240
‫Débarrassons-nous simplement de cette erreur d'application ici

376
00:17:59,240 --> 00:18:02,880
‫et de l'usine dont nous aurons réellement besoin dans la prochaine conférence.

377
00:18:02,880 --> 00:18:05,400
‫Donc, dans cette prochaine conférence, nous allons nous

378
00:18:05,400 --> 00:18:08,690
‫occuper de la mise en œuvre d'un dernier élément de notre

379
00:18:08,690 --> 00:18:11,940
‫site Web, qui est essentiellement cette page ici pour mes réservations.

380
00:18:11,940 --> 00:18:15,650
‫Et ce que cette page fera, c'est d'afficher essentiellement une carte

381
00:18:15,650 --> 00:18:19,233
‫de visite pour chacune des visites que nous avons réservées.

382
00:18:20,530 --> 00:18:21,363
‫Cela ressemble

383
00:18:22,320 --> 00:18:25,630
‫donc beaucoup à cette page d'accueil, mais uniquement

384
00:18:26,510 --> 00:18:30,340
‫avec les visites que l'utilisateur actuellement connecté a réservées, d'accord ?

385
00:18:30,340 --> 00:18:33,660
‫C'est donc une fonctionnalité intéressante pour un site Web, n'est-ce pas ?

386
00:18:33,660 --> 00:18:36,950
‫Et alors prenons-en soin dans le prochain.

