﻿1
00:00:01,130 --> 00:00:02,400
‫Instructeur : Bon retour.

2
00:00:02,400 --> 00:00:05,260
‫Donc, après quelques cours théoriques plus lourds, maintenant,

3
00:00:05,260 --> 00:00:09,210
‫nous allons enfin commencer à implémenter notre modèle de données

4
00:00:09,210 --> 00:00:11,640
‫et commencer par les emplacements.

5
00:00:11,640 --> 00:00:14,080
‫Donc, dans cette vidéo, vous allez

6
00:00:14,080 --> 00:00:16,680
‫tout apprendre sur les données géospatiales dans MongoDB.

7
00:00:16,680 --> 00:00:18,120
‫Et c'est vraiment un

8
00:00:18,120 --> 00:00:20,513
‫sujet que je trouve personnellement vraiment passionnant.

9
00:00:22,170 --> 00:00:24,630
‫Maintenant, rappelez-vous de la conférence précédente que

10
00:00:24,630 --> 00:00:27,470
‫nos données de localisation seront en fait intégrées

11
00:00:27,470 --> 00:00:29,070
‫dans les visites.

12
00:00:29,070 --> 00:00:31,680
‫Et donc, en gros, nous allons déclarer tout

13
00:00:31,680 --> 00:00:34,040
‫ce qui est lié aux lieux dans

14
00:00:34,040 --> 00:00:35,500
‫notre modèle de tournée.

15
00:00:35,500 --> 00:00:40,320
‫Très bien, ouvrons donc celui-ci et tout à la fin,

16
00:00:40,320 --> 00:00:43,010
‫commençons par ajouter le startLocation.

17
00:00:43,010 --> 00:00:45,660
‫D'accord, nous aurons donc startLocation

18
00:00:45,660 --> 00:00:48,520
‫et puis aussi, les emplacements en général.

19
00:00:48,520 --> 00:00:52,680
‫Désormais, MongoDB prend en charge les données géospatiales prêtes à l'emploi.

20
00:00:52,680 --> 00:00:56,650
‫Et les données géospatiales sont essentiellement des données qui décrivent des

21
00:00:56,650 --> 00:01:00,870
‫lieux sur terre à l'aide de coordonnées de longitude et de latitude.

22
00:01:00,870 --> 00:01:03,530
‫D'accord, nous pouvons donc décrire des

23
00:01:03,530 --> 00:01:06,350
‫points simples ou nous pouvons également décrire des

24
00:01:06,350 --> 00:01:11,350
‫géométries plus complexes comme des lignes ou même des polygones ou même des multi-polygones.

25
00:01:11,350 --> 00:01:13,030
‫Donc vraiment, tout

26
00:01:13,030 --> 00:01:16,140
‫est possible avec les données géospatiales dans MongoDB.

27
00:01:16,140 --> 00:01:20,060
‫Ok, alors ajoutons notre champ startLocation ici,

28
00:01:24,350 --> 00:01:27,750
‫puis implémentons réellement ces données géospatiales.

29
00:01:27,750 --> 00:01:32,330
‫Et MongoDB utilise un format de données spécial appelé GeoJSON.

30
00:01:32,330 --> 00:01:33,663
‫D'accord, donc.

31
00:01:35,080 --> 00:01:39,043
‫GeoJSON, afin de spécifier des données géospatiales.

32
00:01:40,370 --> 00:01:43,180
‫Et maintenant, comment cela fonctionne-t-il concrètement ?

33
00:01:43,180 --> 00:01:46,130
‫Eh bien, cet objet que nous avons spécifié ici

34
00:01:46,130 --> 00:01:49,650
‫n'est en fait, cette fois, pas pour les options de type de

35
00:01:49,650 --> 00:01:51,963
‫schéma comme nous l'avons, par exemple, ici.

36
00:01:52,830 --> 00:01:55,970
‫Donc, cet objet ici est pour les options de type de schéma.

37
00:01:55,970 --> 00:01:57,190
‫Vous vous en souvenez ?

38
00:01:57,190 --> 00:01:59,960
‫Mais maintenant, cet objet ici est en fait

39
00:01:59,960 --> 00:02:01,300
‫un objet incorporé.

40
00:02:01,300 --> 00:02:02,830
‫Et donc à l'intérieur

41
00:02:02,830 --> 00:02:05,310
‫de cet objet, nous pouvons spécifier quelques propriétés.

42
00:02:05,310 --> 00:02:08,520
‫D'accord, et pour que cet objet soit reconnu comme

43
00:02:08,520 --> 00:02:11,720
‫JSON géospatial, nous avons besoin du type et

44
00:02:11,720 --> 00:02:14,133
‫des propriétés des coordonnées, d'accord.

45
00:02:15,210 --> 00:02:17,340
‫Donc, nous avons besoin de type et nous

46
00:02:19,270 --> 00:02:21,060
‫avons besoin de coordonnées, d'accord.

47
00:02:21,060 --> 00:02:22,970
‫Et maintenant, chacun de ces

48
00:02:22,970 --> 00:02:26,490
‫champs ici, donc fondamentalement, chacun de ces sous-champs va alors avoir

49
00:02:26,490 --> 00:02:28,470
‫ses propres options de type de schéma.

50
00:02:28,470 --> 00:02:31,830
‫D'accord, donc fondamentalement ici, c'est un peu imbriqué, donc nous avons

51
00:02:31,830 --> 00:02:33,453
‫un niveau plus profond.

52
00:02:34,870 --> 00:02:37,910
‫D'accord, nous avons donc les options de type de schéma

53
00:02:37,910 --> 00:02:41,040
‫de type, puis nous avons également besoin d'options de type de

54
00:02:41,040 --> 00:02:44,660
‫schéma pour les coordonnées et encore une fois, tout comme nous l'avons ici dans

55
00:02:44,660 --> 00:02:47,800
‫ces autres champs, à la différence que ce sont maintenant des sous-champs.

56
00:02:47,800 --> 00:02:50,873
‫Donc, le type a besoin du type

57
00:02:52,070 --> 00:02:52,903
‫de

58
00:02:53,940 --> 00:02:57,880
‫chaîne, d'accord, et la valeur par défaut devrait être point.

59
00:02:57,880 --> 00:03:00,240
‫Alors, rappelez-vous comment j'ai dit que

60
00:03:00,240 --> 00:03:02,647
‫nous pouvons spécifier plusieurs géométries dans MongoDB ?

61
00:03:02,647 --> 00:03:04,670
‫Et celui par défaut est toujours le point.

62
00:03:04,670 --> 00:03:07,990
‫Mais encore une fois, nous pourrions également spécifier des polygones ou

63
00:03:07,990 --> 00:03:10,380
‫des lignes ou d'autres géométries comme celle-ci.

64
00:03:10,380 --> 00:03:12,310
‫Mais dans ce cas, pour le startLocation, cela

65
00:03:12,310 --> 00:03:13,910
‫devrait vraiment être le point.

66
00:03:13,910 --> 00:03:17,060
‫Et donc faisons en fait de cela la

67
00:03:17,060 --> 00:03:19,283
‫seule option possible en

68
00:03:20,300 --> 00:03:22,703
‫spécifiant l'énumération, donc la propriété d'énumération.

69
00:03:23,700 --> 00:03:25,800
‫Alors rappelez-vous, nous pouvons spécifier un

70
00:03:25,800 --> 00:03:28,900
‫tableau de toutes les options possibles que ce champ peut

71
00:03:28,900 --> 00:03:33,290
‫prendre et donc dans ce cas, nous voulons seulement que ce soit un point, d'accord.

72
00:03:33,290 --> 00:03:35,580
‫Alors on a fait ça quelque part ici.

73
00:03:37,810 --> 00:03:39,750
‫Oui, juste ici avec la

74
00:03:39,750 --> 00:03:44,230
‫difficulté où nous avons dit que cela ne peut être que moyen ou difficile.

75
00:03:44,230 --> 00:03:46,800
‫D'accord, et donc ici, nous faisons

76
00:03:46,800 --> 00:03:50,380
‫la même chose, mais avec une seule option, d'accord.

77
00:03:50,380 --> 00:03:52,620
‫Nous devons donc définir le

78
00:03:52,620 --> 00:03:55,340
‫type, se souvenir, ainsi qu'un tableau de coordonnées.

79
00:03:55,340 --> 00:03:59,370
‫D'accord, et donc nous le faisons en disant le

80
00:03:59,370 --> 00:04:02,470
‫nombre, mais ensuite entre ces accolades.

81
00:04:02,470 --> 00:04:05,020
‫D'accord, et cela signifie essentiellement que nous nous attendons

82
00:04:05,020 --> 00:04:07,150
‫à un tableau de nombres et ce

83
00:04:07,150 --> 00:04:09,910
‫tableau, comme son nom l'indique, est constitué des coordonnées

84
00:04:09,910 --> 00:04:12,420
‫du point avec la longitude en premier et

85
00:04:12,420 --> 00:04:14,450
‫en second lieu, la latitude.

86
00:04:14,450 --> 00:04:16,290
‫Et donc c'est un peu

87
00:04:16,290 --> 00:04:18,540
‫contre-intuitif car généralement cela fonctionne dans l'autre sens.

88
00:04:18,540 --> 00:04:21,530
‫Mais dans GeoJSON, c'est comme ça que ça marche.

89
00:04:21,530 --> 00:04:24,240
‫Donc si vous deviez aller, par exemple, sur

90
00:04:24,240 --> 00:04:25,930
‫Google Maps afin d'obtenir

91
00:04:25,930 --> 00:04:29,560
‫vos coordonnées, alors vous verrez d'abord la latitude puis la longitude.

92
00:04:29,560 --> 00:04:31,823
‫Jetons un coup d'œil à cela.

93
00:04:33,500 --> 00:04:34,333
‫Alors

94
00:04:36,070 --> 00:04:37,273
‫ouvrez Maps ici.

95
00:04:38,570 --> 00:04:40,423
‫Disons New York.

96
00:04:41,860 --> 00:04:44,543
‫D'accord, et si nous cliquons maintenant quelque part

97
00:04:46,030 --> 00:04:48,520
‫ici, disons ici, alors nous obtenons

98
00:04:48,520 --> 00:04:51,880
‫d'abord les coordonnées avec la latitude et ensuite, la longitude.

99
00:04:51,880 --> 00:04:54,960
‫Très bien, et au cas où vous ne le sauriez pas,

100
00:04:54,960 --> 00:04:56,993
‫faisons un zoom arrière un peu

101
00:04:58,250 --> 00:05:00,760
‫ici, afin que nous puissions voir la terre entière.

102
00:05:00,760 --> 00:05:01,880
‫Wow, qu'est-ce que c'est ?

103
00:05:02,757 --> 00:05:04,220
‫D'accord.

104
00:05:04,220 --> 00:05:07,610
‫Donc, la latitude est essentiellement la position

105
00:05:07,610 --> 00:05:10,680
‫horizontale mesurée en degrés à partir

106
00:05:10,680 --> 00:05:13,280
‫de l'équateur, donc d'ici jusqu'ici.

107
00:05:13,280 --> 00:05:15,350
‫Donc à l'équateur, il fait zéro

108
00:05:15,350 --> 00:05:18,770
‫degré et ici, au pôle Nord, il fait 90 degrés.

109
00:05:18,770 --> 00:05:19,980
‫Et puis la

110
00:05:19,980 --> 00:05:23,150
‫longitude, c'est exactement la même chose, mais verticalement.

111
00:05:23,150 --> 00:05:27,440
‫C'est donc la position à partir d'un méridien,

112
00:05:27,440 --> 00:05:30,850
‫qui passe quelque part ici, d'accord.

113
00:05:30,850 --> 00:05:33,410
‫Et donc la longitude est la position

114
00:05:33,410 --> 00:05:34,960
‫verticale à partir d'ici.

115
00:05:34,960 --> 00:05:37,783
‫Et c'est pourquoi ce point ici que nous

116
00:05:40,150 --> 00:05:41,183
‫avons, quelque

117
00:05:42,070 --> 00:05:45,400
‫part ici, quelque part ici à Manhattan, a une

118
00:05:45,400 --> 00:05:48,380
‫latitude de 40 et une longitude de -73.

119
00:05:48,380 --> 00:05:49,650
‫D'accord.

120
00:05:49,650 --> 00:05:54,540
‫Mais de toute façon, revenons à notre code ici, bien sûr,

121
00:05:54,540 --> 00:05:58,653
‫car je veux aussi spécifier une propriété pour l'adresse.

122
00:06:01,060 --> 00:06:05,600
‫Alors ajoutez une autre chaîne, puis une description de ce

123
00:06:05,600 --> 00:06:07,457
‫startLocation et encore

124
00:06:08,890 --> 00:06:12,070
‫une fois, sous forme de chaîne, d'accord.

125
00:06:12,070 --> 00:06:14,060
‫Et nous n'allons pas dire que

126
00:06:14,060 --> 00:06:16,930
‫l'un de ces champs doit être obligatoire car nous voulons

127
00:06:16,930 --> 00:06:19,490
‫être autorisés à laisser le champ startLocation vide.

128
00:06:19,490 --> 00:06:23,520
‫Bon, encore une fois, afin de spécifier des données géospatiales avec

129
00:06:23,520 --> 00:06:27,500
‫MongoDB, nous devons essentiellement créer un nouvel objet comme nous

130
00:06:27,500 --> 00:06:28,980
‫l'avons fait ici.

131
00:06:28,980 --> 00:06:32,290
‫Et cet objet doit alors avoir au moins deux noms de champ.

132
00:06:32,290 --> 00:06:35,140
‫Donc, les coordonnées ont ce tableau de nombres, puis

133
00:06:35,140 --> 00:06:38,010
‫le type, qui devrait être de type chaîne et devrait

134
00:06:38,010 --> 00:06:40,770
‫être soit un point, soit une autre de

135
00:06:40,770 --> 00:06:43,670
‫ces autres géométries dont je viens de vous parler auparavant.

136
00:06:43,670 --> 00:06:47,260
‫D'accord, et nous pouvons bien sûr ajouter quelques champs supplémentaires

137
00:06:47,260 --> 00:06:50,840
‫à cet objet comme nous l'avons fait ici, d'accord.

138
00:06:50,840 --> 00:06:53,430
‫Maintenant, rappelez-vous comment, dans la dernière conférence, nous avons dit

139
00:06:53,430 --> 00:06:55,920
‫comment nous allions intégrer tous les lieux dans les

140
00:06:55,920 --> 00:06:57,650
‫documents de la tournée ?

141
00:06:57,650 --> 00:07:00,600
‫Mais pour le moment, le startLocation ici n'est pas

142
00:07:00,600 --> 00:07:02,340
‫vraiment un document lui-même.

143
00:07:02,340 --> 00:07:03,590
‫C'est vraiment juste

144
00:07:03,590 --> 00:07:06,070
‫un objet décrivant un certain point sur terre.

145
00:07:06,070 --> 00:07:08,520
‫Mais pour vraiment créer de nouveaux

146
00:07:08,520 --> 00:07:11,250
‫documents, puis les intégrer dans un autre

147
00:07:11,250 --> 00:07:14,220
‫document, nous devons en fait créer un tableau, d'accord.

148
00:07:14,220 --> 00:07:17,350
‫C'est donc en fait très similaire à ce que nous avons déjà ici,

149
00:07:17,350 --> 00:07:19,050
‫mais il doit s'agir d'un tableau.

150
00:07:19,050 --> 00:07:21,743
‫Et c'est ce que nous allons faire avec nos emplacements.

151
00:07:25,190 --> 00:07:28,730
‫Donc les emplacements, et maintenant, je crée un tableau.

152
00:07:28,730 --> 00:07:31,740
‫Et puis, dans ce tableau, je

153
00:07:31,740 --> 00:07:35,640
‫vais spécifier l'objet comme je l'ai fait auparavant dans startLocation.

154
00:07:35,640 --> 00:07:38,140
‫D'accord, et vous verrez à quoi

155
00:07:38,140 --> 00:07:41,430
‫cela ressemblera dans une seconde dans l'application Compass.

156
00:07:41,430 --> 00:07:44,693
‫D'accord, et maintenant, c'est en fait tout à fait la même chose qu'avant.

157
00:07:47,530 --> 00:07:50,220
‫Donc, rappelez-vous que le type des données géospatiales doit

158
00:07:50,220 --> 00:07:51,263
‫être une chaîne.

159
00:07:52,640 --> 00:07:54,383
‫La valeur par défaut doit être point.

160
00:07:57,540 --> 00:08:01,323
‫Et aussi, ça ne peut être que du point, d'accord.

161
00:08:02,950 --> 00:08:03,783
‫Alors point.

162
00:08:05,610 --> 00:08:09,010
‫Encore une fois, nous avons besoin des coordonnées sous forme de tableau

163
00:08:11,000 --> 00:08:13,470
‫de nombres et aussi, pour tous ces

164
00:08:13,470 --> 00:08:16,573
‫autres emplacements, nous voulons toujours spécifier une adresse et une description.

165
00:08:24,550 --> 00:08:28,153
‫Donc chaîne et ici, je veux aussi préciser la date, donc

166
00:08:29,920 --> 00:08:31,250
‫comme un nombre.

167
00:08:31,250 --> 00:08:34,080
‫Et cette date sera essentiellement le jour de la

168
00:08:34,080 --> 00:08:37,590
‫tournée au cours de laquelle les gens se rendront à cet endroit.

169
00:08:37,590 --> 00:08:39,460
‫Maintenant, si nous voulions simplifier

170
00:08:39,460 --> 00:08:42,530
‫les choses, nous pourrions supprimer le startLocation tous ensemble,

171
00:08:42,530 --> 00:08:44,740
‫puis simplement définir le premier emplacement

172
00:08:44,740 --> 00:08:48,300
‫comme startLocation et le définir sur le numéro de jour zéro.

173
00:08:48,300 --> 00:08:50,960
‫D'accord, mais j'ai décidé que c'était

174
00:08:50,960 --> 00:08:53,970
‫bien d'avoir également startLocation comme champ séparé.

175
00:08:53,970 --> 00:08:57,390
‫D'accord, c'est ainsi que vous créez des documents intégrés.

176
00:08:57,390 --> 00:09:01,630
‫N'oubliez pas que nous devons toujours utiliser ce tableau, d'accord.

177
00:09:01,630 --> 00:09:04,800
‫Et donc, en spécifiant essentiellement un tableau d'objets, cela

178
00:09:04,800 --> 00:09:07,220
‫créera alors de nouveaux documents à l'intérieur

179
00:09:07,220 --> 00:09:09,150
‫du document parent, qui est, dans

180
00:09:09,150 --> 00:09:11,000
‫ce cas, la visite.

181
00:09:11,000 --> 00:09:13,790
‫Très bien, maintenant, afin de créer des

182
00:09:13,790 --> 00:09:17,080
‫emplacements, je vais en fait importer toutes nos données d'origine.

183
00:09:17,080 --> 00:09:19,570
‫Très bien, donc au lieu de créer de

184
00:09:19,570 --> 00:09:21,040
‫nouvelles tournées, je supprimerai

185
00:09:21,040 --> 00:09:23,610
‫celles que nous avons, puis importerai les données complètes.

186
00:09:23,610 --> 00:09:25,283
‫Donc, ici, dans

187
00:09:26,390 --> 00:09:29,313
‫dev-data, rappelez-vous qu'avant d'importer des tours-simples.

188
00:09:30,350 --> 00:09:32,820
‫D'accord, donc ce genre de données ici.

189
00:09:32,820 --> 00:09:36,020
‫Mais nous avons aussi des visites et cela

190
00:09:37,818 --> 00:09:41,272
‫a alors en fait les emplacements et le startLocation.

191
00:09:41,272 --> 00:09:43,890
‫Je ne sais donc pas où se trouve ce startLocation.

192
00:09:43,890 --> 00:09:45,580
‫Ah, voilà.

193
00:09:45,580 --> 00:09:48,177
‫C'est ainsi que nous spécifions le startLocation et

194
00:09:48,177 --> 00:09:51,150
‫vous voyez que nous avons le type défini sur le point.

195
00:09:51,150 --> 00:09:53,520
‫Nous avons notre tableau de coordonnées.

196
00:09:53,520 --> 00:09:56,660
‫Et puis bien sûr, nous avons la description et l'adresse.

197
00:09:56,660 --> 00:10:01,000
‫Et puis ici, dans l'emplacement, nous avons un tableau, qui contient

198
00:10:01,000 --> 00:10:03,820
‫alors un objet pour chaque emplacement.

199
00:10:03,820 --> 00:10:07,550
‫Et vous voyez qu'en fait chacun d'eux a son propre identifiant.

200
00:10:07,550 --> 00:10:09,260
‫Et donc ce sont vraiment

201
00:10:09,260 --> 00:10:11,360
‫des documents et pas seulement de simples objets.

202
00:10:11,360 --> 00:10:15,480
‫Très bien, alors allons ici à nos import-dev-data et

203
00:10:15,480 --> 00:10:18,673
‫remplaçons-le ici juste par des visites.

204
00:10:20,700 --> 00:10:25,000
‫Sauvegardez-le et rappelez-vous, nous devons d'abord supprimer puis

205
00:10:25,000 --> 00:10:26,133
‫importer.

206
00:10:27,060 --> 00:10:29,063
‫Alors allez à une autre console ici.

207
00:10:30,140 --> 00:10:32,213
‫Nous voulons maintenant exécuter

208
00:10:33,860 --> 00:10:36,750
‫node, dev-data, puis importer, donc en

209
00:10:36,750 --> 00:10:40,063
‫fait, dans le dossier de données, puis importer.

210
00:10:41,520 --> 00:10:46,520
‫Et commençons par supprimer et attendons cela et en effet, et

211
00:10:47,790 --> 00:10:48,793
‫maintenant, importons.

212
00:10:53,500 --> 00:10:55,060
‫Et c'est reparti.

213
00:10:55,060 --> 00:10:56,763
‫Et regardons Compass maintenant.

214
00:10:58,680 --> 00:10:59,953
‫Venez à nos visites.

215
00:11:01,830 --> 00:11:05,080
‫Et donc en effet, vous voyez maintenant le startLocation

216
00:11:05,080 --> 00:11:06,660
‫ici comme un objet.

217
00:11:06,660 --> 00:11:08,500
‫D'accord, et lorsque vous l'ouvrez, vous voyez

218
00:11:08,500 --> 00:11:10,730
‫toutes les données que je viens de vous montrer

219
00:11:10,730 --> 00:11:12,390
‫auparavant dans le fichier JSON.

220
00:11:12,390 --> 00:11:15,140
‫Bon, alors ici aussi, les emplacements, que vous voyez

221
00:11:15,140 --> 00:11:17,200
‫comme un tableau, alors tapez array.

222
00:11:17,200 --> 00:11:21,010
‫Et puis là-dedans, nous avons tous ces objets

223
00:11:21,010 --> 00:11:25,000
‫et chaque objet a alors aussi son identifiant d'objet.

224
00:11:25,000 --> 00:11:28,680
‫D'accord, et encore une fois, c'est la preuve que nous avons maintenant

225
00:11:28,680 --> 00:11:31,450
‫créé, intégré ou dénormalisé des ensembles de données,

226
00:11:31,450 --> 00:11:34,980
‫donc des ensembles de données qui ont une relation très étroite

227
00:11:34,980 --> 00:11:36,810
‫avec les données des tournées.

228
00:11:36,810 --> 00:11:39,450
‫Et c'est pourquoi nous avons choisi de vraiment

229
00:11:39,450 --> 00:11:42,780
‫l'intégrer aux tournées au lieu de créer sa propre collection

230
00:11:42,780 --> 00:11:45,060
‫uniquement pour les lieux, n'est-ce pas.

231
00:11:45,060 --> 00:11:48,073
‫Nous l'utiliserons donc un peu plus tard dans

232
00:11:48,073 --> 00:11:52,570
‫cette section une fois que nous aurons commencé à créer des requêtes géospatiales spéciales.

233
00:11:52,570 --> 00:11:55,120
‫D'accord, et avec les requêtes géospatiales, nous pouvons

234
00:11:55,120 --> 00:11:57,300
‫faire des choses vraiment incroyables comme trouver

235
00:11:57,300 --> 00:12:00,570
‫des données de localisation les plus proches de certains points ou

236
00:12:00,570 --> 00:12:03,220
‫trouver tous les emplacements à l'intérieur d'un certain rayon

237
00:12:03,220 --> 00:12:04,790
‫ou d'une certaine sphère.

238
00:12:04,790 --> 00:12:09,260
‫Et vraiment, les possibilités sont absolument infinies, d'accord.

239
00:12:09,260 --> 00:12:11,760
‫Nous verrons donc juste quelques applications de cela à

240
00:12:11,760 --> 00:12:13,670
‫la fin de cette section car

241
00:12:13,670 --> 00:12:16,090
‫pour l'instant, je voulais vraiment juste vous montrer

242
00:12:16,090 --> 00:12:20,183
‫comment nous pouvons créer des ensembles de données intégrés comme nous venons de le faire.

