1
00:00:03,560 --> 00:00:07,745
Dans cet exercice, nous allons en apprendre plus sur le bouclage.

2
00:00:07,745 --> 00:00:13,635
Loopback lui-même a commencé son voyage avec une petite entreprise appelée StrongLoop.

3
00:00:13,635 --> 00:00:20,775
Cette société a ensuite été rachetée par IBM et Loopback fait désormais partie de

4
00:00:20,775 --> 00:00:28,725
la plateforme IBM Bluemix, mais loopback est toujours disponible en tant que plateforme open source.

5
00:00:28,725 --> 00:00:36,205
Ainsi, vous pouvez installer et utiliser Loopback pour construire votre backend en tant que service,

6
00:00:36,205 --> 00:00:43,850
comme nous le montrerons dans cet exercice et les deux exercices restants de cette leçon.

7
00:00:43,850 --> 00:00:51,230
Comme je l'ai mentionné, Loopback lui-même est disponible en tant que module NPM.

8
00:00:51,230 --> 00:00:56,445
Nous allons donc installer l'interface de ligne de commande Loopback en premier.

9
00:00:56,445 --> 00:01:00,810
Donc, pour installer l'interface de ligne de commande Loopback

10
00:01:00,810 --> 00:01:02,875
, CLI, à l'invite,

11
00:01:02,875 --> 00:01:13,030
tapez npminstall loopback CLI moins save.

12
00:01:13,030 --> 00:01:18,170
Maintenant, si vous le faites sur un Mac ou une machine Linux,

13
00:01:18,170 --> 00:01:22,025
assurez-vous d'utiliser sudo devant lui, puis

14
00:01:22,025 --> 00:01:26,855
laissez l'interface de ligne de commande Loopback être installée.

15
00:01:26,855 --> 00:01:29,024
Une fois que cela est installé,

16
00:01:29,024 --> 00:01:31,195
vous pouvez commencer avec l'exercice.

17
00:01:31,195 --> 00:01:32,510
Comme vous pouvez le voir, en ce moment,

18
00:01:32,510 --> 00:01:37,380
j'utilise la version 4.2.0 de Loopback CLI dans ce cours.

19
00:01:37,380 --> 00:01:45,380
Maintenant, pour échafaudage une application basée sur un framework de bouclage est très simple.

20
00:01:45,380 --> 00:01:47,725
Une fois que vous avez installé l'interface de ligne de commande,

21
00:01:47,725 --> 00:01:50,690
vous devrez peut-être redémarrer votre terminal pour

22
00:01:50,690 --> 00:01:53,970
que la commande soit disponible à votre invite.

23
00:01:53,970 --> 00:02:00,080
Assurez-vous donc de redémarrer votre terminal ou votre fenêtre de commande.

24
00:02:00,080 --> 00:02:01,810
Ensuite, à l'invite,

25
00:02:01,810 --> 00:02:06,560
vous devriez avoir cette commande appelée lb disponible pour nous.

26
00:02:06,560 --> 00:02:08,695
LB debout pour Loopback.

27
00:02:08,695 --> 00:02:14,560
Alors. Pour échafaudage d'une application de bouclage à l'invite du terminal,

28
00:02:14,560 --> 00:02:18,850
tapez lb ConfusionServer-Loopback,

29
00:02:21,490 --> 00:02:25,650
à un emplacement approprié sur votre ordinateur.

30
00:02:25,650 --> 00:02:27,845
Lorsque nous faisons cela,

31
00:02:27,845 --> 00:02:34,530
l'interface de ligne de commande Loopback finira par créer l'application

32
00:02:34,530 --> 00:02:36,950
pour nous, et pour le nom de l'application,

33
00:02:36,950 --> 00:02:39,585
je vais juste accepter le même nom,

34
00:02:39,585 --> 00:02:45,389
puis je vais lui demander de créer le projet dans ce répertoire spécifique,

35
00:02:45,389 --> 00:02:53,090
puis nous sélectionnerons la version 3.X de Loopback pour nous échafaudage sur une application.

36
00:02:53,090 --> 00:02:55,880
Ensuite, pour le serveur API,

37
00:02:55,880 --> 00:03:02,070
nous sélectionnerons le serveur API comme option pour cela.

38
00:03:02,070 --> 00:03:07,170
Ensuite, attendez que Loopback échafaudage sur notre application.

39
00:03:12,230 --> 00:03:14,355
Une fois cela fait,

40
00:03:14,355 --> 00:03:16,110
l'étape suivante est, bien sûr,

41
00:03:16,110 --> 00:03:24,605
d'aller dans le dossier ConfusionServer-Loopback.

42
00:03:24,605 --> 00:03:30,415
Ensuite, nous commencerons à configurer notre serveur.

43
00:03:30,415 --> 00:03:35,870
Maintenant, Loopback prend en charge les données par le biais de la modélisation des données.

44
00:03:35,870 --> 00:03:38,060
Nous pouvons donc définir des modèles de données.

45
00:03:38,060 --> 00:03:42,030
Pour ce faire, l'interface de ligne de commande Loopback nous fournit

46
00:03:42,030 --> 00:03:46,975
les différentes commandes pour développer les modèles de données.

47
00:03:46,975 --> 00:03:50,960
Donc, dans ce cas, je vais développer un exemple

48
00:03:50,960 --> 00:03:55,130
de données d'un modèle pour mes plats ici.

49
00:03:55,130 --> 00:03:56,620
Donc, à l'invite,

50
00:03:56,620 --> 00:03:59,560
laissez-moi taper modèle lb.

51
00:03:59,560 --> 00:04:01,905
Ensuite, au fur et à mesure des étapes,

52
00:04:01,905 --> 00:04:04,600
je vais vous expliquer ce que

53
00:04:04,600 --> 00:04:12,860
l'interface de ligne de commande Loopback et comment il crée le modèle de données pour les plats.

54
00:04:12,860 --> 00:04:14,840
Donc, dans ce cas,

55
00:04:14,840 --> 00:04:16,720
nous allons juste taper le modèle lb,

56
00:04:16,720 --> 00:04:21,460
puis nous serons invités avec le nom du modèle,

57
00:04:21,460 --> 00:04:24,165
puis je taperai le nom du modèle comme plats.

58
00:04:24,165 --> 00:04:28,059
Comme vous vous souvenez, nous avons utilisé des plats, des promotions

59
00:04:28,059 --> 00:04:34,339
et des leaders comme les trois principales sources de données pour notre application.

60
00:04:34,339 --> 00:04:39,420
Donc, nous allons créer notre premier modèle nommé plats, et ce modèle, en

61
00:04:39,420 --> 00:04:46,580
ce moment, sera stocké dans la base de données en mémoire de notre ordinateur pour le moment.

62
00:04:46,580 --> 00:04:47,840
Dans le prochain exercice,

63
00:04:47,840 --> 00:04:52,940
nous ajouterons dans MongoDB comme la persistance du backend pour nos données.

64
00:04:52,940 --> 00:04:58,110
Maintenant, ce modèle de plats sera un modèle persistant.

65
00:04:58,110 --> 00:05:03,890
Donc, nous allons sélectionner le modèle persistant comme option pour le modèle,

66
00:05:03,890 --> 00:05:09,350
puis nous allons dire exposer les plats via une API REST,

67
00:05:09,350 --> 00:05:13,060
puis, par défaut,

68
00:05:13,060 --> 00:05:17,880
il exposera le point de terminaison des plats slash et ce sera parfaitement bien pour nous.

69
00:05:17,880 --> 00:05:19,680
Donc, on peut juste dire oui.

70
00:05:19,680 --> 00:05:23,865
Ensuite, le modèle sera créé dans un dossier nommé common.

71
00:05:23,865 --> 00:05:27,950
Maintenant, une fois que l'application Loopback est échafaudée,

72
00:05:27,950 --> 00:05:34,020
nous verrons où toutes ces données sont stockées dans le dossier lui-même et dans le sous-dossier,

73
00:05:34,020 --> 00:05:38,295
et ce modèle sera créé dans le sous-dossier commun.

74
00:05:38,295 --> 00:05:40,580
Donc, nous allons sélectionner ça.

75
00:05:40,580 --> 00:05:42,110
Ensuite, à ce stade,

76
00:05:42,110 --> 00:05:45,860
il nous invitera à sélectionner toutes les propriétés que nous voulons

77
00:05:45,860 --> 00:05:50,750
spécifier pour le modèle de plats.

78
00:05:50,750 --> 00:05:54,710
Donc, pour cela, nous allons spécifier

79
00:05:54,710 --> 00:06:00,880
le nom comme première propriété, puis nous allons spécifier le type de propriété comme chaîne.

80
00:06:00,880 --> 00:06:02,380
Ainsi, comme vous le voyez,

81
00:06:02,380 --> 00:06:09,060
il nous incite et obtient des informations sur les différentes parties de notre modèle,

82
00:06:09,060 --> 00:06:12,425
puis nous aide à configurer le modèle pour nous.

83
00:06:12,425 --> 00:06:18,355
Donc, ceci est du type chaîne et ceci est requis et la valeur par défaut sera vide.

84
00:06:18,355 --> 00:06:22,230
Alors. Ce sera le nom, puis la description,

85
00:06:22,370 --> 00:06:29,270
qui sera du type de chaîne requis et la valeur par défaut est vide.

86
00:06:29,270 --> 00:06:36,570
Ensuite, catégorie, qui sera du type de chaîne requis et la valeur par défaut est vide.

87
00:06:36,570 --> 00:06:40,930
Image qui sera de type chaîne,

88
00:06:40,930 --> 00:06:43,934
et ceci est requis,

89
00:06:43,934 --> 00:06:47,550
et la valeur par défaut sera vide.

90
00:06:47,950 --> 00:06:52,885
Label, qui sera également du type chaîne.

91
00:06:52,885 --> 00:06:58,310
Ceci est requis mais la valeur par défaut que nous allons spécifier comme une chaîne vide.

92
00:06:58,310 --> 00:07:01,360
Ensuite, le dernier serait le prix,

93
00:07:01,360 --> 00:07:05,870
qui sera requis et la valeur par défaut est zéro.

94
00:07:05,870 --> 00:07:10,115
Maintenant, vous voyez pourquoi j'ai configuré toutes ces différentes propriétés.

95
00:07:10,115 --> 00:07:19,070
Tous ces éléments font partie de l'objet vaisselle que nous utilisons côté serveur.

96
00:07:19,070 --> 00:07:22,580
Maintenant, une fois que vous avez terminé d'entrer toutes les propriétés

97
00:07:22,580 --> 00:07:23,760
, et

98
00:07:23,760 --> 00:07:25,565
que nous avons, alors à ce stade le

99
00:07:25,565 --> 00:07:27,080
, dernier, bien sûr,

100
00:07:27,080 --> 00:07:31,270
est d'ajouter la propriété vedette,

101
00:07:31,270 --> 00:07:34,265
qui sera de type booléen,

102
00:07:34,265 --> 00:07:36,665
et cela est nécessaire,

103
00:07:36,665 --> 00:07:39,440
et la valeur par défaut est false.

104
00:07:39,440 --> 00:07:41,560
C' est ça. Une fois que nous avons entré toutes les propriétés,

105
00:07:41,560 --> 00:07:47,280
vous appuyez juste quand il demande le nom de la propriété si vous tapez retour,

106
00:07:47,280 --> 00:07:49,960
puis le modèle sera échafaudé.

107
00:07:49,960 --> 00:07:55,050
Maintenant, de même, nous allons créer les modèles pour les promotions et les leaders.

108
00:07:55,050 --> 00:08:04,625
Donc, pour les promotions, laissez-moi aller de l'avant et dire modèle lb et le nom du modèle est promotions.

109
00:08:04,625 --> 00:08:08,080
L' enquête dans la base de données c'est le modèle persister et nous allons

110
00:08:08,080 --> 00:08:12,625
exposer cela par l'API, et le commun.

111
00:08:12,625 --> 00:08:23,040
Pour les promotions, les propriétés sont le nom de la chaîne de type ne nécessite aucune valeur par défaut,

112
00:08:23,040 --> 00:08:25,949
image de la chaîne de type,

113
00:08:25,949 --> 00:08:29,535
nécessite aucune valeur par défaut,

114
00:08:29,535 --> 00:08:34,030
étiquette de la chaîne de type,

115
00:08:34,030 --> 00:08:39,085
obligatoire la valeur par défaut est vide.

116
00:08:39,085 --> 00:08:43,220
Prix, type de chaîne, obligatoire,

117
00:08:43,220 --> 00:08:45,170
la valeur par défaut est zéro,

118
00:08:45,170 --> 00:08:52,150
puis description requise et la valeur par défaut est vide.

119
00:08:52,150 --> 00:08:54,550
C' est ça pour les promotions.

120
00:08:54,550 --> 00:08:57,460
Permettez-moi maintenant de créer le modèle des leaders.

121
00:08:57,460 --> 00:09:07,090
Donc, nous allons dire modèle LB et nous dirons leaders,

122
00:09:07,090 --> 00:09:10,750
et ce serait dans la base de données PersistedModel,

123
00:09:10,750 --> 00:09:14,290
Exposer les leaders via REST API, personnalisé, commun.

124
00:09:14,290 --> 00:09:16,610
Ainsi, comme vous pouvez le voir créer un modèle est très,

125
00:09:16,610 --> 00:09:20,175
très simple en utilisant la CLI LoopBack,

126
00:09:20,175 --> 00:09:24,260
et pour le leader les propriétés de nom, de

127
00:09:24,260 --> 00:09:27,830
la chaîne de type, obligatoire,

128
00:09:27,830 --> 00:09:32,759
par défaut est vide, image de la chaîne de type,

129
00:09:32,759 --> 00:09:36,634
valeur par défaut requise est vide,

130
00:09:36,634 --> 00:09:40,190
désignation de la chaîne de type,

131
00:09:40,190 --> 00:09:44,130
valeur par défaut requise est vide,

132
00:09:44,130 --> 00:09:46,790
abréviation de la chaîne de type,

133
00:09:46,790 --> 00:09:54,425
requis un vide, et le dernier est la description de la chaîne de type, requis un vide.

134
00:09:54,425 --> 00:10:00,965
C' est ça. Donc, nous avons configuré trois modèles différents ici : les promotions

135
00:10:00,965 --> 00:10:04,280
, les leaders et les plats.

136
00:10:04,280 --> 00:10:09,175
C' est ça. Maintenant, notre serveur LoopBack aurait été configuré.

137
00:10:09,175 --> 00:10:12,765
Nous allons jeter un oeil à cela dans notre éditeur,

138
00:10:12,765 --> 00:10:19,715
et aussi nous allons démarrer ce serveur LoopBack et ensuite regarder ce qu'il sert pour nous.

139
00:10:19,715 --> 00:10:21,940
Pour démarrer le serveur LoopBack,

140
00:10:21,940 --> 00:10:29,205
à l'invite, tapez NPM start ou point d'espace de nœud.

141
00:10:29,205 --> 00:10:32,280
Dans les deux cas, le serveur LoopBack démarrera

142
00:10:32,280 --> 00:10:35,620
et le serveur LoopBack sera disponible pour nous.

143
00:10:35,620 --> 00:10:39,210
À cette adresse, vous pouvez également parcourir

144
00:10:39,210 --> 00:10:43,065
l'API REST qui est prise en charge par le serveur LoopBack à cette partie de fin.

145
00:10:43,065 --> 00:10:45,360
Donc, laissez-moi copier ceci d'abord,

146
00:10:45,360 --> 00:10:49,670
puis nous verrons ce que le serveur LoopBack sert à ce stade.

147
00:10:49,670 --> 00:10:51,170
Dans une barre d'adresse de navigateur,

148
00:10:51,170 --> 00:10:55,325
tapons cela et voyons ensuite que notre serveur LoopBack,

149
00:10:55,325 --> 00:10:56,990
si vous y accédez,

150
00:10:56,990 --> 00:11:03,010
indiquera quand il a été démarré pour la dernière fois et combien de temps il est en cours d'exécution.

151
00:11:03,010 --> 00:11:11,575
Là-bas. Maintenant, allons dans l'explorateur de notre serveur LoopBack,

152
00:11:11,575 --> 00:11:13,500
et vous verrez immédiatement que

153
00:11:13,500 --> 00:11:17,785
cet explorateur d'API LoopBack utilise quelque chose appelé le

154
00:11:17,785 --> 00:11:25,185
format d'E/S Swagger pour nous montrer tous les points de terminaison de l'API REST.

155
00:11:25,185 --> 00:11:28,989
Donc, ici vous voyez que nous avons des plats, des leaders, des promotions,

156
00:11:28,989 --> 00:11:30,740
et LoopBack, par défaut,

157
00:11:30,740 --> 00:11:33,540
ajoute un modèle utilisateur là-dedans.

158
00:11:33,540 --> 00:11:37,860
Le modèle utilisateur est le modèle utilisateur standard à des fins d'authentification.

159
00:11:37,860 --> 00:11:41,690
Nous verrons comment utiliser cela dans le prochain exercice.

160
00:11:41,690 --> 00:11:43,470
Maintenant, nous allons cliquer sur la vaisselle.

161
00:11:43,470 --> 00:11:48,250
Lorsque vous cliquez sur plats, vous verrez que le serveur LoopBack a automatiquement configuré

162
00:11:48,250 --> 00:11:51,160
ce point de terminaison de la barre oblique, puis expose les

163
00:11:51,160 --> 00:11:55,435
différents points de terminaison de l'API REST automatiquement pour nous,

164
00:11:55,435 --> 00:12:01,310
puis les actions correspondantes que vous pouvez effectuer sur chacun d'eux.

165
00:12:01,310 --> 00:12:06,775
Non seulement cela, avec l'API Swagger IO,

166
00:12:06,775 --> 00:12:11,610
vous obtenez automatiquement ces informations documentées ici, ce

167
00:12:11,610 --> 00:12:16,670
qui vous donne des détails sur l'utilisation de ce point de terminaison de l'API REST.

168
00:12:16,670 --> 00:12:19,145
Donc, ici, quand il dit obtenir des plats slash,

169
00:12:19,145 --> 00:12:22,185
il dit ce qui est le typique.

170
00:12:22,185 --> 00:12:26,490
C' est la structure du modèle utilisée là,

171
00:12:26,490 --> 00:12:31,910
puis « essayons ça » et vous verrez qu'elle

172
00:12:31,910 --> 00:12:34,440
nous retournera avec un corps vide car en

173
00:12:34,440 --> 00:12:37,930
ce moment il n'y a rien dans ma base de données en mémoire.

174
00:12:37,930 --> 00:12:42,910
Donc, rappelez-vous que nous avons configuré cela avec DB en mémoire,

175
00:12:42,910 --> 00:12:43,910
ce qui signifie que c'est

176
00:12:43,910 --> 00:12:46,990
la base de données en mémoire et pour le moment elle ne contient rien.

177
00:12:46,990 --> 00:12:50,400
Mais dans le prochain exercice, nous verrons comment nous allons le connecter à

178
00:12:50,400 --> 00:12:56,610
notre serveur MongoDB et être en mesure de récupérer toutes les informations de notre serveur MongoDB.

179
00:12:56,610 --> 00:13:00,180
De même, si vous voulez publier un plat,

180
00:13:00,180 --> 00:13:04,165
alors tout ce que vous devez faire est d'utiliser ce point de terminaison « plats POST »,

181
00:13:04,165 --> 00:13:08,280
et il vous donne également exactement

182
00:13:08,280 --> 00:13:12,435
la structure des données que vous devez utiliser pour fournir des informations au modèle.

183
00:13:12,435 --> 00:13:15,450
Donc, vous pouvez simplement copier cela, puis le coller dans les données,

184
00:13:15,450 --> 00:13:19,120
puis remplir chacune de ces valeurs ici,

185
00:13:19,120 --> 00:13:21,760
puis une fois que vous faites cela, vous pouvez simplement,

186
00:13:21,760 --> 00:13:26,060
disons, essayer et puis cela sera posté sur le serveur.

187
00:13:26,060 --> 00:13:28,935
Ainsi, vous pouvez effectuer toutes les

188
00:13:28,935 --> 00:13:35,575
opérations get, put, post et delete directement en utilisant cet explorateur ici

189
00:13:35,575 --> 00:13:38,970
pour interagir avec vos points de terminaison REST API

190
00:13:38,970 --> 00:13:42,570
qui est automatiquement construit pour vous par LoopBack.

191
00:13:42,570 --> 00:13:45,340
Donc, avec cela, nous terminons cet exercice.

192
00:13:45,340 --> 00:13:49,805
Donc, dans cet exercice, nous avons vu comment nous pouvons très rapidement

193
00:13:49,805 --> 00:13:55,805
configurer un serveur API REST en utilisant le framework LoopBack.

194
00:13:55,805 --> 00:13:57,480
Dans les deux prochains exercices,

195
00:13:57,480 --> 00:14:02,030
nous explorerons plus de détails sur le framework LoopBack.

196
00:14:02,030 --> 00:14:06,755
Maintenant, cela peut être un bon moment pour vous de faire une initialisation Git de

197
00:14:06,755 --> 00:14:10,230
votre dossier LoopBack et ensuite faire un

198
00:14:10,230 --> 00:14:15,570
commit Git avec 'Getting Starte' LoopBack comme message.