﻿1
00:00:01,270 --> 00:00:04,520
‫Narrateur : Maintenant, avant de plonger dans le code

2
00:00:04,520 --> 00:00:06,700
‫NodeJS, faisons un aperçu de haut

3
00:00:06,700 --> 00:00:08,990
‫niveau de ce qu'est réellement NodeJS,

4
00:00:08,990 --> 00:00:11,800
‫à quoi nous l'utilisons et pourquoi nous utilisons

5
00:00:11,800 --> 00:00:13,843
‫Node au lieu d'autres technologies.

6
00:00:15,410 --> 00:00:17,570
‫Ainsi, la définition officielle est que

7
00:00:17,570 --> 00:00:19,480
‫NodeJS est un environnement

8
00:00:19,480 --> 00:00:23,783
‫d'exécution JavaScript construit sur le moteur JavaScript V8 open source de Google.

9
00:00:23,783 --> 00:00:26,279
‫Maintenant, qu'est-ce que cela signifie réellement?

10
00:00:26,279 --> 00:00:29,289
‫Eh bien, commençons par essayer de comprendre

11
00:00:29,289 --> 00:00:31,174
‫ce que sont réellement

12
00:00:31,174 --> 00:00:33,913
‫JavaScript Runtime et le moteur V8.

13
00:00:35,190 --> 00:00:37,914
‫Donc, vous avez probablement déjà utilisé JavaScript

14
00:00:37,914 --> 00:00:42,120
‫auparavant et c'était probablement toujours juste dans un navigateur, n'est-ce pas ?

15
00:00:42,120 --> 00:00:45,400
‫Parce que n'importe quel navigateur comprend nativement HTML,

16
00:00:45,400 --> 00:00:49,250
‫CSS et JavaScript et peu importe si vous écrivez

17
00:00:49,250 --> 00:00:51,760
‫du JavaScript vanille ou un

18
00:00:51,760 --> 00:00:54,713
‫framework JavaScript comme React ou le code

19
00:00:54,713 --> 00:00:56,370
‫Angular, c'est tout

20
00:00:56,370 --> 00:00:59,920
‫simplement du JavaScript qui s'exécute directement dans le navigateur.

21
00:00:59,920 --> 00:01:01,500
‫Donc, dans ce cas,

22
00:01:01,500 --> 00:01:03,454
‫le navigateur est alors le JavaScript Runtime.

23
00:01:03,454 --> 00:01:06,110
‫Mais, et si nous pouvions retirer

24
00:01:06,110 --> 00:01:08,311
‫JavaScript du navigateur et

25
00:01:08,311 --> 00:01:10,988
‫simplement exécuter du code JavaScript ailleurs sans

26
00:01:10,988 --> 00:01:14,860
‫toutes les restrictions que nous avons dans le navigateur ?

27
00:01:14,860 --> 00:01:17,580
‫Eh bien, il s'avère que nous le pouvons réellement.

28
00:01:17,580 --> 00:01:19,955
‫Et la solution pour cela,

29
00:01:19,955 --> 00:01:23,425
‫comme vous pouvez le deviner, s'appelle NodeJS et donc

30
00:01:23,425 --> 00:01:25,830
‫Node JS n'est qu'un autre Runtime JavaScript.

31
00:01:25,830 --> 00:01:29,252
‫C'est comme un conteneur, comme un environnement, dans

32
00:01:29,252 --> 00:01:32,010
‫lequel un programme écrit en

33
00:01:32,010 --> 00:01:37,010
‫JavaScript peut être exécuté, mais en dehors de n'importe quel navigateur.

34
00:01:37,230 --> 00:01:39,850
‫D'accord, c'est en fait un peu plus

35
00:01:39,850 --> 00:01:42,908
‫complexe que ça, bien sûr, mais pour l'instant, c'est suffisant.

36
00:01:42,908 --> 00:01:45,380
‫Maintenant, qui exécute réellement le code si

37
00:01:45,380 --> 00:01:47,438
‫ce n'est le navigateur ?

38
00:01:47,438 --> 00:01:50,070
‫Et c'est là qu'intervient

39
00:01:50,070 --> 00:01:52,770
‫le moteur V8 développé par Google.

40
00:01:52,770 --> 00:01:55,420
‫Parce que c'est exactement là que

41
00:01:55,420 --> 00:01:59,800
‫le code JavaScript sera analysé et exécuté dans NodeJS, d'accord ?

42
00:01:59,800 --> 00:02:02,819
‫Donc, j'espère que maintenant la définition de NodeJS

43
00:02:02,819 --> 00:02:07,116
‫étant un moteur d'exécution JavaScript sur le moteur JavaScript V8 a beaucoup

44
00:02:07,116 --> 00:02:10,104
‫plus de sens et encore une fois, ce

45
00:02:10,104 --> 00:02:12,742
‫n'est qu'un aperçu de très haut

46
00:02:12,742 --> 00:02:16,060
‫niveau de ce qu'est Node et de son fonctionnement.

47
00:02:16,060 --> 00:02:18,430
‫Nous allons entrer dans beaucoup de détails sur

48
00:02:18,430 --> 00:02:20,926
‫la façon dont Node fonctionne vraiment dans les

49
00:02:20,926 --> 00:02:23,860
‫coulisses dans la section suivante, mais à ce stade, je

50
00:02:23,860 --> 00:02:26,152
‫veux juste que vous obteniez un

51
00:02:26,152 --> 00:02:28,810
‫aperçu rapide afin que vous puissiez commencer à apprendre

52
00:02:28,810 --> 00:02:32,203
‫les principes fondamentaux de NodeJS en pratique tout au long cette section.

53
00:02:34,000 --> 00:02:36,230
‫Quoi qu'il en soit, maintenant que

54
00:02:36,230 --> 00:02:38,400
‫nous avons JavaScript en dehors du

55
00:02:38,400 --> 00:02:40,704
‫navigateur dans une sorte d'environnement autonome qui

56
00:02:40,704 --> 00:02:44,058
‫ne fait que NodeJS, nous pouvons faire tellement plus de

57
00:02:44,058 --> 00:02:46,690
‫choses avec JavaScript qui étaient complètement impossibles auparavant,

58
00:02:46,690 --> 00:02:48,254
‫comme accéder au

59
00:02:48,254 --> 00:02:50,515
‫système de fichiers, ou de meilleures

60
00:02:50,515 --> 00:02:53,054
‫capacités de mise en réseau ne sont

61
00:02:53,054 --> 00:02:55,630
‫pas possibles avec NodeJS et tous ces

62
00:02:55,630 --> 00:02:59,750
‫facteurs réunis nous offrent les conditions idéales pour utiliser NodeJS en tant

63
00:02:59,750 --> 00:03:02,327
‫que serveur Web, ce qui signifie que

64
00:03:02,327 --> 00:03:05,550
‫nous pouvons enfin utiliser JavaScript du côté serveur du développement

65
00:03:05,550 --> 00:03:08,020
‫Web afin de créer des applications réseau

66
00:03:08,020 --> 00:03:10,810
‫rapides et hautement évolutives pour alimenter le back-end.

67
00:03:10,810 --> 00:03:13,540
‫pour les sites Web ou les applications Web.

68
00:03:13,540 --> 00:03:15,990
‫Et cela est absolument fantastique

69
00:03:15,990 --> 00:03:19,030
‫et change la donne pour le développement Web.

70
00:03:19,030 --> 00:03:22,103
‫Voyons maintenant quelques cas d'utilisation de Node

71
00:03:22,103 --> 00:03:25,703
‫et pourquoi il convient si bien au développement back-end.

72
00:03:27,010 --> 00:03:29,430
‫Et la première chose dont nous

73
00:03:29,430 --> 00:03:31,060
‫devons parler est

74
00:03:31,060 --> 00:03:34,603
‫le fait que les applications Node sont si rapides

75
00:03:34,603 --> 00:03:36,705
‫et si évolutives, car NodeJS

76
00:03:36,705 --> 00:03:40,110
‫est un thread unique basé sur un modèle d'E/S

77
00:03:40,110 --> 00:03:43,932
‫non bloquant, ce qui rend NodeJS très léger et efficace.

78
00:03:43,932 --> 00:03:47,140
‫Maintenant, cela, bien sûr, semble super compliqué, je sais, mais

79
00:03:47,140 --> 00:03:50,040
‫une fois de plus, nous allons parler de ce

80
00:03:50,040 --> 00:03:52,146
‫que tout cela signifie exactement un peu

81
00:03:52,146 --> 00:03:54,110
‫plus tard dans le cours.

82
00:03:54,110 --> 00:03:56,250
‫Mais, pour l'instant, gardez

83
00:03:56,250 --> 00:03:59,052
‫à l'esprit que Node est parfait pour

84
00:03:59,052 --> 00:04:02,910
‫créer des applications Web ultra-rapides et évolutives gourmandes en données.

85
00:04:02,910 --> 00:04:06,280
‫Et cela fait de NodeJS la solution idéale pour créer

86
00:04:06,280 --> 00:04:08,580
‫tous les types d'applications, comme créer

87
00:04:08,580 --> 00:04:11,830
‫une API avec une base de données derrière elle

88
00:04:11,830 --> 00:04:16,830
‫et de préférence une base de données NoSQL non relationnelle comme MongoDB et c'est en

89
00:04:17,090 --> 00:04:20,250
‫fait exactement ce que nous allons faire plus tard

90
00:04:20,250 --> 00:04:24,568
‫dans ce cours car nous plonger de plus en plus profondément dans NodeJS.

91
00:04:24,568 --> 00:04:27,350
‫Mais, bien sûr, il existe toutes sortes d'autres

92
00:04:27,350 --> 00:04:30,007
‫applications que nous pouvons créer, comme des applications

93
00:04:30,007 --> 00:04:33,739
‫de streaming de données telles que YouTube ou Netflix, des applications de

94
00:04:33,739 --> 00:04:36,600
‫discussion en temps réel ou même des applications Web

95
00:04:36,600 --> 00:04:39,430
‫côté serveur où tout le contenu est simplement généré

96
00:04:39,430 --> 00:04:42,055
‫directement sur le serveur, donc comme

97
00:04:42,055 --> 00:04:44,684
‫vous le voyez, les possibilités sont vraiment infinies.

98
00:04:44,684 --> 00:04:47,650
‫Mais, il existe également un type d'applications que nous

99
00:04:47,650 --> 00:04:49,990
‫ne devrions pas créer avec Node.

100
00:04:49,990 --> 00:04:51,890
‫Et c'est à ce moment-là

101
00:04:51,890 --> 00:04:54,380
‫que notre application a besoin d'un traitement

102
00:04:54,380 --> 00:04:57,750
‫très lourd côté serveur, comme des manipulations d'images, une conversion

103
00:04:57,750 --> 00:05:01,270
‫vidéo, une compression de fichiers ou quelque chose comme ça, d'accord.

104
00:05:01,270 --> 00:05:04,930
‫Et vous apprendrez pourquoi c'est une fois que nous

105
00:05:04,930 --> 00:05:07,410
‫approfondirons le fonctionnement réel de Node.

106
00:05:07,410 --> 00:05:09,500
‫Donc, dans ce cas, nous

107
00:05:09,500 --> 00:05:14,010
‫ferions mieux d'utiliser quelque chose comme Ruby on Rails, PHP ou Python.

108
00:05:14,010 --> 00:05:16,460
‫Parce que NodeJS n'a tout simplement pas

109
00:05:16,460 --> 00:05:19,910
‫été développé pour ces cas d'utilisation et bien qu'il existe des

110
00:05:19,910 --> 00:05:22,480
‫solutions pour les gérer, nous devons toujours utiliser

111
00:05:22,480 --> 00:05:25,157
‫le bon outil pour la tâche à accomplir.

112
00:05:25,157 --> 00:05:28,361
‫D'accord, ce sont donc les types d'applications que

113
00:05:28,361 --> 00:05:31,977
‫nous pouvons et ne pouvons pas créer à l'aide de NodeJS.

114
00:05:31,977 --> 00:05:34,780
‫Et si vous choisissez d'utiliser Node, alors

115
00:05:34,780 --> 00:05:37,540
‫vous êtes en bonne compagnie

116
00:05:37,540 --> 00:05:41,206
‫car de nombreuses grandes entreprises comme Netflix, Uber,

117
00:05:41,206 --> 00:05:45,140
‫PayPal, Ebay et bien d'autres ont déjà commencé à utiliser

118
00:05:45,140 --> 00:05:48,910
‫NodeJS, ce qui prouve vraiment que la technologie est

119
00:05:48,910 --> 00:05:52,850
‫suffisamment stable à ce stade pour être utilisé en production.

120
00:05:52,850 --> 00:05:56,125
‫Maintenant, bien sûr, il y a plus de raisons d'utiliser

121
00:05:56,125 --> 00:05:59,040
‫Node, et la plus importante est probablement qu'utiliser le

122
00:05:59,040 --> 00:06:01,650
‫même langage sur l'ensemble de votre pile à

123
00:06:01,650 --> 00:06:03,758
‫la fois sur le front-end et

124
00:06:03,758 --> 00:06:07,420
‫le back-end est beaucoup plus facile pour vous ou pour votre équipe.

125
00:06:07,420 --> 00:06:09,010
‫Tout d'abord, vous n'avez

126
00:06:09,010 --> 00:06:11,070
‫pas besoin d'apprendre un nouveau langage

127
00:06:11,070 --> 00:06:13,580
‫de programmation pour construire votre back-end et, de

128
00:06:13,580 --> 00:06:15,824
‫plus, vous n'avez pas à passer d'un

129
00:06:15,824 --> 00:06:18,450
‫langage à l'autre, ce qui rendra l'ensemble du processus

130
00:06:18,450 --> 00:06:20,533
‫de construction plus rapide et plus efficace.

131
00:06:20,533 --> 00:06:23,107
‫Croyez-moi, c'est vraiment vraiment incroyable

132
00:06:23,107 --> 00:06:26,230
‫de pouvoir utiliser JavaScript pour créer l'intégralité de

133
00:06:26,230 --> 00:06:29,215
‫votre application du début à la fin.

134
00:06:29,215 --> 00:06:31,727
‫C'est vraiment fantastique.

135
00:06:31,727 --> 00:06:34,150
‫Et une autre bonne raison

136
00:06:34,150 --> 00:06:38,502
‫d'utiliser Node est qu'il existe une énorme bibliothèque de packages ou de

137
00:06:38,502 --> 00:06:41,450
‫modules open source, comme nous pouvons aussi les

138
00:06:41,450 --> 00:06:43,884
‫appeler, disponibles gratuitement pour tout le monde.

139
00:06:43,884 --> 00:06:47,190
‫Cela s'appelle NPM et vous en avez probablement déjà entendu

140
00:06:47,190 --> 00:06:48,976
‫parler ou même déjà utilisé.

141
00:06:48,976 --> 00:06:51,170
‫Et, bien sûr, nous allons également commencer

142
00:06:51,170 --> 00:06:53,563
‫à utiliser des packages directement dans la section.

143
00:06:54,430 --> 00:06:56,920
‫Et, enfin, il est également

144
00:06:56,920 --> 00:06:59,420
‫bon de savoir qu'il existe une

145
00:06:59,420 --> 00:07:02,020
‫énorme communauté active de développeurs Node qui

146
00:07:02,020 --> 00:07:05,650
‫améliorent constamment NodeJS et aident les débutants comme vous.

147
00:07:05,650 --> 00:07:08,670
‫Et, ainsi, vous pouvez vraiment compter sur la

148
00:07:08,670 --> 00:07:11,929
‫technologie pour tous vos projets dans les années à venir.

149
00:07:11,929 --> 00:07:15,343
‫D'accord, c'était donc une très brève introduction

150
00:07:15,343 --> 00:07:20,040
‫et un aperçu de NodeJS et de certains de ses cas d'utilisation.

151
00:07:20,040 --> 00:07:21,920
‫Ainsi, pour le reste de cette

152
00:07:21,920 --> 00:07:23,810
‫section, nous allons maintenant utiliser Node

153
00:07:23,810 --> 00:07:25,950
‫pour créer un serveur Web très simple

154
00:07:25,950 --> 00:07:28,750
‫et construire une API extrêmement simple, afin que vous

155
00:07:28,750 --> 00:07:30,160
‫puissiez vous familiariser

156
00:07:30,160 --> 00:07:32,763
‫avec les principes de base du développement de Node.

