﻿1
00:00:01,260 --> 00:00:02,200
‫Instructeur :

2
00:00:02,200 --> 00:00:03,783
‫dans cette conférence, nous

3
00:00:03,783 --> 00:00:05,980
‫allons parler d'un tas d'autres choses

4
00:00:05,980 --> 00:00:08,630
‫que vous devez savoir sur l'utilisation des

5
00:00:08,630 --> 00:00:13,610
‫packages npm, telles que la gestion des versions, la mise à jour ou la

6
00:00:13,610 --> 00:00:17,043
‫suppression de packages, ainsi que d'autres choses, alors commençons.

7
00:00:18,860 --> 00:00:20,670
‫La première chose dont je

8
00:00:20,670 --> 00:00:25,670
‫veux parler dans cette vidéo, ce sont les numéros de version de nos packages.

9
00:00:26,000 --> 00:00:28,110
‫La plupart des packages

10
00:00:28,110 --> 00:00:31,510
‫sur npm suivent la notation dite de version sémantique,

11
00:00:31,510 --> 00:00:34,140
‫ce qui signifie que leurs numéros de

12
00:00:34,140 --> 00:00:36,913
‫version sont toujours exprimés avec ces trois numéros.

13
00:00:38,010 --> 00:00:41,000
‫La première ici est appelée la version majeure.

14
00:00:41,000 --> 00:00:44,190
‫La seconde est appelée la version mineure.

15
00:00:44,190 --> 00:00:47,460
‫La troisième est appelée la version patch.

16
00:00:47,460 --> 00:00:51,604
‫Il y a en fait une signification dans ces trois nombres.

17
00:00:51,604 --> 00:00:55,160
‫La version patch, qui n'est que cette dernière ici,

18
00:00:55,160 --> 00:00:58,080
‫n'est destinée qu'à corriger les bugs.

19
00:00:58,080 --> 00:01:01,750
‫Disons que dans la version 1. Le 18, les développeurs ont trouvé un

20
00:01:01,750 --> 00:01:04,150
‫bogue et ont donc corrigé ce bogue, puis

21
00:01:04,150 --> 00:01:08,663
‫ont publié le 1. 18. 1.

22
00:01:09,860 --> 00:01:11,320
‫Ensuite, ils ont trouvé un autre bogue, puis

23
00:01:11,320 --> 00:01:14,840
‫ils en ont publié 1. 18. 2 et ainsi de

24
00:01:14,840 --> 00:01:18,843
‫suite jusqu'à ce qu'ils atteignent 1. 18. 11, qui est

25
00:01:20,350 --> 00:01:22,203
‫le numéro de version actuel.

26
00:01:23,450 --> 00:01:27,140
‫Encore une fois, ce dernier ici est juste pour les corrections de bugs.

27
00:01:27,140 --> 00:01:31,040
‫Ensuite, nous avons la version mineure.

28
00:01:31,040 --> 00:01:32,670
‫La version mineure

29
00:01:32,670 --> 00:01:35,130
‫introduit de nouvelles fonctionnalités dans le package,

30
00:01:35,130 --> 00:01:38,170
‫mais elle n'inclut pas les modifications de rupture.

31
00:01:38,170 --> 00:01:41,270
‫Toutes les modifications apportées dans un nouveau numéro

32
00:01:41,270 --> 00:01:43,593
‫de version seront toujours rétrocompatibles.

33
00:01:44,751 --> 00:01:47,410
‫Si un jour l'équipe nodemon, par exemple, décide

34
00:01:47,410 --> 00:01:51,290
‫de sortir la version 1. 19, eh bien,

35
00:01:51,290 --> 00:01:54,110
‫cela inclura alors quelques nouvelles fonctionnalités mais

36
00:01:54,110 --> 00:01:56,570
‫cela ne cassera pas notre code.

37
00:01:56,570 --> 00:01:59,750
‫Et la même chose se passe bien sûr avec celui-ci ici.

38
00:01:59,750 --> 00:02:03,230
‫Donc si un jour, il y a Slugify 1. 4, eh bien, notre

39
00:02:03,230 --> 00:02:06,190
‫code fonctionnera toujours de la même manière.

40
00:02:06,190 --> 00:02:08,320
‫Il n'y aura pas de changements de rupture.

41
00:02:08,320 --> 00:02:10,600
‫Il y aura simplement quelque chose de

42
00:02:10,600 --> 00:02:14,947
‫nouveau, donc de nouvelles fonctionnalités, qui ne sont pas que des corrections de bugs.

43
00:02:14,947 --> 00:02:17,940
‫Les corrections de bugs concernent à nouveau la

44
00:02:17,940 --> 00:02:19,850
‫troisième, donc pour la version

45
00:02:19,850 --> 00:02:23,870
‫de correctif, puis les nouvelles fonctionnalités mineures sont pour la version mineure.

46
00:02:23,870 --> 00:02:26,620
‫Ensuite, bien sûr, nous avons la version majeure,

47
00:02:26,620 --> 00:02:28,840
‫qui n'est augmentée que lorsqu'il

48
00:02:28,840 --> 00:02:33,140
‫s'agit d'une énorme nouvelle version qui peut avoir des changements de rupture.

49
00:02:33,140 --> 00:02:36,500
‫Par exemple, si Slugify 2 arrive.

50
00:02:36,500 --> 00:02:39,000
‫Eh bien, notre code pourrait ne plus

51
00:02:39,000 --> 00:02:42,130
‫fonctionner parce que la fonction slugify que nous avons

52
00:02:42,130 --> 00:02:44,856
‫ici, par exemple, a peut-être changé de nom

53
00:02:44,856 --> 00:02:48,940
‫ou peut-être que le paramètre qu'il attend ici est différent ou que

54
00:02:48,940 --> 00:02:51,240
‫les options ont changé, ou quelque

55
00:02:51,240 --> 00:02:53,210
‫chose a peut-être changé qui cassera

56
00:02:53,210 --> 00:02:55,123
‫la version précédente .

57
00:02:57,040 --> 00:02:59,720
‫Sachez que lorsqu'il y a une nouvelle version,

58
00:02:59,720 --> 00:03:02,020
‫cela peut généralement affecter le code

59
00:03:02,020 --> 00:03:03,570
‫que vous avez déjà.

60
00:03:05,030 --> 00:03:07,300
‫Pour cette raison, il est également important

61
00:03:07,300 --> 00:03:09,823
‫de parler de mise à jour des packages.

62
00:03:10,670 --> 00:03:12,620
‫Dans notre colis. json,

63
00:03:12,620 --> 00:03:15,258
‫ce petit symbole qui précède le

64
00:03:15,258 --> 00:03:18,460
‫numéro de version est ce qui spécifie les

65
00:03:18,460 --> 00:03:22,363
‫mises à jour que nous acceptons pour chacun des packages.

66
00:03:23,290 --> 00:03:27,430
‫Ce symbole ici, que npm spécifie ici par défaut,

67
00:03:27,430 --> 00:03:31,900
‫signifie que nous acceptons les correctifs et les versions mineures.

68
00:03:31,900 --> 00:03:34,890
‫Maintenant, comment mettons-nous à jour les packages ?

69
00:03:34,890 --> 00:03:39,080
‫Eh bien, arrêtons ce processus ici.

70
00:03:39,080 --> 00:03:40,580
‫La première chose que

71
00:03:40,580 --> 00:03:44,120
‫nous pouvons faire est de vérifier s'il existe des packages obsolètes.

72
00:03:44,120 --> 00:03:49,120
‫Nous écrivons npm obsolète, et cela devrait alors nous donner en fait

73
00:03:49,720 --> 00:03:51,530
‫un tableau avec tous

74
00:03:51,530 --> 00:03:53,125
‫les packages obsolètes.

75
00:03:53,125 --> 00:03:55,970
‫Eh bien en ce moment, ils sont tous à jour, donc

76
00:03:55,970 --> 00:03:57,860
‫cela ne s'est pas vraiment produit.

77
00:03:57,860 --> 00:03:59,021
‫Ce que je

78
00:03:59,021 --> 00:04:01,550
‫veux vous montrer maintenant, c'est que nous pouvons

79
00:04:01,550 --> 00:04:05,240
‫en fait installer un certain paquet avec un certain numéro de version.

80
00:04:05,240 --> 00:04:06,945
‫Faisons cela avec le Slugify et installons-le

81
00:04:06,945 --> 00:04:11,003
‫à la version 1. 0. 0.

82
00:04:13,980 --> 00:04:18,980
‫Npm install slugify puis à 1. 0. 0.

83
00:04:22,220 --> 00:04:23,233
‫Essayons ça.

84
00:04:25,645 --> 00:04:29,560
‫Maintenant en effet, nous avons un zéro zéro.

85
00:04:29,560 --> 00:04:31,740
‫Lorsque nous le survolons, il indique en fait

86
00:04:31,740 --> 00:04:35,773
‫la dernière version 1. 3. 4, c'est ce que nous avions.

87
00:04:36,660 --> 00:04:40,630
‫Mais si nous exécutons maintenant npm obsolète, cela

88
00:04:40,630 --> 00:04:43,390
‫devrait alors nous donner cela.

89
00:04:43,390 --> 00:04:46,360
‫On voit que le courant est 1. 0. 0.

90
00:04:46,360 --> 00:04:50,642
‫Recherché est 1. 3. 4, parce que c'est

91
00:04:50,642 --> 00:04:53,060
‫celui que nous acceptons car rappelez-vous qu'avec

92
00:04:53,060 --> 00:04:56,820
‫cela ici, nous acceptons tous les correctifs et toutes les versions

93
00:04:56,820 --> 00:04:59,821
‫mineures, mais bien sûr, nous pouvons également changer cela.

94
00:04:59,821 --> 00:05:04,580
‫Par exemple, nous pouvons le définir sur ce symbole ici.

95
00:05:04,580 --> 00:05:07,860
‫Cela n'acceptera alors que les versions de correctifs.

96
00:05:07,860 --> 00:05:09,483
‫Celui-ci est un peu plus sûr.

97
00:05:10,960 --> 00:05:13,570
‫Si nous exécutons à nouveau npm obsolète, voyons ce

98
00:05:13,570 --> 00:05:14,693
‫que nous obtenons.

99
00:05:15,590 --> 00:05:19,150
‫Maintenant, le recherché n'est que de 1. 0. 2, car

100
00:05:19,150 --> 00:05:22,690
‫encore une fois, nous n'acceptons que les versions mineures.

101
00:05:22,690 --> 00:05:26,090
‫Số 1. 3. 4 n'est

102
00:05:26,090 --> 00:05:28,670
‫pas accepté par nous parce que nous

103
00:05:28,670 --> 00:05:30,820
‫n'acceptons aucune des versions mineures, donc

104
00:05:30,820 --> 00:05:33,670
‫encore une fois, juste des versions de correctifs.

105
00:05:33,670 --> 00:05:38,670
‫Si vous deviez faire npm update slugify maintenant, voyons ce que nous avons obtenu

106
00:05:41,460 --> 00:05:42,903
‫à ce moment-là.

107
00:05:45,360 --> 00:05:48,440
‫Nous sommes maintenant à 1. 0. 2.

108
00:05:48,440 --> 00:05:49,537
‫Vous voyez

109
00:05:49,537 --> 00:05:52,930
‫qu'il a changé pour ma configuration de mise à

110
00:05:52,930 --> 00:05:56,360
‫jour ici pour accepter les versions mineures et les correctifs.

111
00:05:56,360 --> 00:05:58,763
‫Pas seulement les versions de correctifs comme nous l'avions auparavant.

112
00:06:01,010 --> 00:06:02,820
‫Si nous devons réexécuter cela maintenant,

113
00:06:02,820 --> 00:06:04,180
‫cela devrait nous faire

114
00:06:04,180 --> 00:06:08,163
‫passer jusqu'à 1. 3. 4, comme avant.

115
00:06:09,710 --> 00:06:11,343
‫En effet, nous y voilà.

116
00:06:12,550 --> 00:06:16,060
‫Très bien, c'est ainsi que nous mettons à jour les packages.

117
00:06:16,060 --> 00:06:18,240
‫Il existe d'autres configurations que

118
00:06:18,240 --> 00:06:20,040
‫nous pouvons choisir ici.

119
00:06:20,040 --> 00:06:23,070
‫Nous pouvons dire, par exemple, que nous voulons toutes les

120
00:06:23,070 --> 00:06:25,970
‫versions, donc si à un moment donné, il y

121
00:06:25,970 --> 00:06:28,790
‫a une version deux et si nous n'avons pas

122
00:06:28,790 --> 00:06:30,930
‫mis à jour nos packages, cela

123
00:06:30,930 --> 00:06:33,633
‫passera automatiquement notre version à la version deux.

124
00:06:34,590 --> 00:06:36,903
‫Celui-ci comprend toutes les versions,

125
00:06:38,259 --> 00:06:40,880
‫même celles avec des changements de rupture.

126
00:06:40,880 --> 00:06:43,530
‫Mais ce n'est généralement pas une bonne idée,

127
00:06:43,530 --> 00:06:46,330
‫et donc je vais généralement avec celui-ci qui est

128
00:06:46,330 --> 00:06:49,510
‫par défaut, ou parfois même celui-ci ici parce qu'à un moment

129
00:06:49,510 --> 00:06:52,740
‫donné, même si une version mineure devrait simplement introduire de nouvelles

130
00:06:52,740 --> 00:06:54,880
‫fonctionnalités mais pas de changements de rupture,

131
00:06:54,880 --> 00:06:57,690
‫nous savons que Parfois, il peut y avoir des

132
00:06:57,690 --> 00:07:00,490
‫bogues que les développeurs ne trouvent pas, et puis

133
00:07:00,490 --> 00:07:02,270
‫ces bogues, ils se

134
00:07:02,270 --> 00:07:05,010
‫retrouvent dans notre code et peuvent casser notre code.

135
00:07:05,010 --> 00:07:07,600
‫Nous ne voulons pas de cela, bien sûr.

136
00:07:07,600 --> 00:07:09,700
‫La version la plus sûre consiste

137
00:07:09,700 --> 00:07:12,149
‫simplement à utiliser celle-ci pour les corrections de bogues.

138
00:07:12,149 --> 00:07:15,510
‫En fait, gardons-le comme ça ici, juste à

139
00:07:15,510 --> 00:07:17,783
‫des fins de démonstration.

140
00:07:19,183 --> 00:07:20,950
‫C'est ce que vous devez savoir sur

141
00:07:20,950 --> 00:07:23,123
‫les numéros de version et la mise à jour.

142
00:07:24,030 --> 00:07:26,443
‫Mais on peut bien sûr aussi supprimer des packages.

143
00:07:27,350 --> 00:07:30,493
‫Allons maintenant de l'avant et installons Express, afin

144
00:07:36,280 --> 00:07:40,140
‫que nous puissions ensuite continuer et le supprimer après cela.

145
00:07:40,140 --> 00:07:43,000
‫Je suis sûr que vous pouvez deviner comment nous pouvons faire cela.

146
00:07:43,000 --> 00:07:44,960
‫C'est très facile.

147
00:07:44,960 --> 00:07:49,620
‫Npm uninstall, il ne s'appelle donc pas supprimer.

148
00:07:49,620 --> 00:07:51,510
‫C'est vraiment désinstaller.

149
00:07:51,510 --> 00:07:56,303
‫Nous installons et nous désinstallons Express.

150
00:07:58,170 --> 00:08:00,460
‫Cela le supprimera ensuite de notre dossier

151
00:08:00,460 --> 00:08:02,941
‫de modules de nœuds, ainsi que de nos

152
00:08:02,941 --> 00:08:05,960
‫dépendances dans un package. fichier json.

153
00:08:06,920 --> 00:08:11,000
‫Chaque fois que nous décidons de ne plus utiliser un

154
00:08:11,000 --> 00:08:14,140
‫module, eh bien, nous devons toujours le

155
00:08:14,140 --> 00:08:15,983
‫supprimer ou le désinstaller.

156
00:08:16,900 --> 00:08:19,450
‫Maintenant, pour terminer, je veux parler

157
00:08:19,450 --> 00:08:22,240
‫un peu du dossier des modules de nœud.

158
00:08:22,240 --> 00:08:24,010
‫Ce dossier, qui contient

159
00:08:24,010 --> 00:08:26,600
‫toutes les dépendances de notre projet.

160
00:08:26,600 --> 00:08:29,210
‫Supposons que vous souhaitiez partager votre code avec

161
00:08:29,210 --> 00:08:31,393
‫quelqu'un ou que vous souhaitiez, par

162
00:08:31,393 --> 00:08:33,550
‫exemple, commencer à travailler sur

163
00:08:33,550 --> 00:08:35,850
‫un ordinateur, puis passer au suivant.

164
00:08:35,850 --> 00:08:39,140
‫Vous ne partagerez jamais ce dossier de modules de nœuds car

165
00:08:39,140 --> 00:08:42,330
‫ce code, vous pouvez facilement l'obtenir à partir de npm.

166
00:08:42,330 --> 00:08:44,570
‫Il n'est pas nécessaire d'aller de l'avant

167
00:08:44,570 --> 00:08:46,760
‫et de copier tout ce code

168
00:08:46,760 --> 00:08:50,730
‫ici, par exemple, dans un référentiel GitHub ou dans un dossier Dropbox,

169
00:08:50,730 --> 00:08:54,040
‫ou vraiment quelque part où vous souhaitez partager votre code,

170
00:08:54,040 --> 00:08:56,000
‫car ce dossier ici, comme

171
00:08:56,000 --> 00:08:58,616
‫vous le voyez, contient des tonnes de dossiers

172
00:08:58,616 --> 00:09:01,670
‫et chacun d'eux peut avoir des tonnes de fichiers.

173
00:09:01,670 --> 00:09:03,670
‫Tout d'un coup, vous pourriez vous retrouver

174
00:09:03,670 --> 00:09:06,313
‫avec des dizaines ou des centaines de milliers de fichiers.

175
00:09:07,718 --> 00:09:09,860
‫Vous ne devez jamais partager

176
00:09:09,860 --> 00:09:13,173
‫ce dossier et ne jamais l'extraire dans votre référentiel GitHub.

177
00:09:14,680 --> 00:09:17,620
‫Disons que vous avez téléchargé ce code sur

178
00:09:17,620 --> 00:09:21,173
‫votre compte GitHub sans ces modules de nœud, ou que

179
00:09:22,580 --> 00:09:25,020
‫vous l'avez mis dans une Dropbox

180
00:09:25,020 --> 00:09:27,660
‫sur un ordinateur et téléchargé sur l'autre.

181
00:09:27,660 --> 00:09:30,464
‫Disons que nous avons maintenant téléchargé ce code

182
00:09:30,464 --> 00:09:32,780
‫ici, donc sans modules de nœuds.

183
00:09:32,780 --> 00:09:34,540
‫Nous supprimons donc celui-ci maintenant et

184
00:09:36,050 --> 00:09:38,523
‫nous nous retrouvons avec juste un dossier de projet normal.

185
00:09:39,720 --> 00:09:42,092
‫Comment pouvons-nous maintenant récupérer nos dépendances ou notre

186
00:09:42,092 --> 00:09:44,180
‫dossier de modules de nœuds ?

187
00:09:44,180 --> 00:09:46,120
‫Eh bien, c'est très facile.

188
00:09:46,120 --> 00:09:48,503
‫Tout ce que nous avons à faire est d'installer npm.

189
00:09:55,490 --> 00:09:58,950
‫Ce qu'il a fait, c'est lire notre paquet. json, lisez

190
00:09:58,950 --> 00:10:02,030
‫nos dépendances, puis téléchargez

191
00:10:02,030 --> 00:10:05,860
‫le tout dans ce dossier, d'accord.

192
00:10:05,860 --> 00:10:07,940
‫Maintenant, une pièce importante de ce puzzle est

193
00:10:07,940 --> 00:10:10,503
‫le verrou du paquet. fichier json.

194
00:10:12,290 --> 00:10:15,070
‫Si nous ouvrons cela, nous obtenons une liste de

195
00:10:15,070 --> 00:10:17,710
‫toutes les versions de tous les packages que

196
00:10:17,710 --> 00:10:19,210
‫nous utilisons réellement.

197
00:10:19,210 --> 00:10:22,093
‫Cela inclut les dépendances de nos dépendances.

198
00:10:23,100 --> 00:10:25,373
‫Allons à Slugify, par exemple.

199
00:10:28,030 --> 00:10:29,910
‫Slugify, et donc ici nous voyons que nous utilisons la

200
00:10:29,910 --> 00:10:31,413
‫version 1. 3. 4.

201
00:10:33,270 --> 00:10:35,600
‫C'est très important car si vous partagez

202
00:10:35,600 --> 00:10:38,420
‫votre code, vous voulez que l'autre développeur ou

203
00:10:38,420 --> 00:10:40,190
‫même vous-même utilise exactement les

204
00:10:40,190 --> 00:10:42,450
‫mêmes versions de package, afin que votre

205
00:10:42,450 --> 00:10:45,760
‫code fonctionne exactement de la même manière pour vous et

206
00:10:45,760 --> 00:10:47,300
‫pour l'autre développeur.

207
00:10:47,300 --> 00:10:50,200
‫Pour cela, les numéros de version exacts sont

208
00:10:50,200 --> 00:10:52,380
‫fondamentalement gravés dans la pierre dans

209
00:10:52,380 --> 00:10:54,833
‫ce package-lock. fichier json.

210
00:10:56,624 --> 00:10:58,850
‫Si vous partagez votre code, que vous

211
00:10:58,850 --> 00:11:02,180
‫utilisiez GitHub ou Dropbox ou quelque chose comme ça, partagez

212
00:11:02,180 --> 00:11:04,690
‫toujours votre package. json

213
00:11:04,690 --> 00:11:07,660
‫et le package-lock. json car

214
00:11:07,660 --> 00:11:09,690
‫ces deux fichiers sont nécessaires

215
00:11:09,690 --> 00:11:12,460
‫à l'autre développeur pour ensuite reconstruire essentiellement

216
00:11:12,460 --> 00:11:15,143
‫le dossier des modules de nœud.

217
00:11:18,232 --> 00:11:20,860
‫Oui, je pense que c'est tout ce

218
00:11:20,860 --> 00:11:23,600
‫que vous devez savoir sur les versions de

219
00:11:23,600 --> 00:11:28,230
‫package, la mise à jour, la désinstallation et également le partage de code

220
00:11:28,230 --> 00:11:31,710
‫avec npm, package. json et package-lock. json.

221
00:11:31,710 --> 00:11:33,870
‫S'il y a quelque chose de plus que

222
00:11:33,870 --> 00:11:37,320
‫vous voulez savoir, vous pouvez toujours demander dans le cours Q et A

223
00:11:37,320 --> 00:11:39,323
‫et vous obtiendrez de l'aide là-bas.

