‫Narrateur : Maintenant, avant de plonger dans le code
‫NodeJS, faisons un aperçu de haut
‫niveau de ce qu'est réellement NodeJS,
‫à quoi nous l'utilisons et pourquoi nous utilisons
‫Node au lieu d'autres technologies.
‫Ainsi, la définition officielle est que
‫NodeJS est un environnement
‫d'exécution JavaScript construit sur le moteur JavaScript V8 open source de Google.
‫Maintenant, qu'est-ce que cela signifie réellement?
‫Eh bien, commençons par essayer de comprendre
‫ce que sont réellement
‫JavaScript Runtime et le moteur V8.
‫Donc, vous avez probablement déjà utilisé JavaScript
‫auparavant et c'était probablement toujours juste dans un navigateur, n'est-ce pas ?
‫Parce que n'importe quel navigateur comprend nativement HTML,
‫CSS et JavaScript et peu importe si vous écrivez
‫du JavaScript vanille ou un
‫framework JavaScript comme React ou le code
‫Angular, c'est tout
‫simplement du JavaScript qui s'exécute directement dans le navigateur.
‫Donc, dans ce cas,
‫le navigateur est alors le JavaScript Runtime.
‫Mais, et si nous pouvions retirer
‫JavaScript du navigateur et
‫simplement exécuter du code JavaScript ailleurs sans
‫toutes les restrictions que nous avons dans le navigateur ?
‫Eh bien, il s'avère que nous le pouvons réellement.
‫Et la solution pour cela,
‫comme vous pouvez le deviner, s'appelle NodeJS et donc
‫Node JS n'est qu'un autre Runtime JavaScript.
‫C'est comme un conteneur, comme un environnement, dans
‫lequel un programme écrit en
‫JavaScript peut être exécuté, mais en dehors de n'importe quel navigateur.
‫D'accord, c'est en fait un peu plus
‫complexe que ça, bien sûr, mais pour l'instant, c'est suffisant.
‫Maintenant, qui exécute réellement le code si
‫ce n'est le navigateur ?
‫Et c'est là qu'intervient
‫le moteur V8 développé par Google.
‫Parce que c'est exactement là que
‫le code JavaScript sera analysé et exécuté dans NodeJS, d'accord ?
‫Donc, j'espère que maintenant la définition de NodeJS
‫étant un moteur d'exécution JavaScript sur le moteur JavaScript V8 a beaucoup
‫plus de sens et encore une fois, ce
‫n'est qu'un aperçu de très haut
‫niveau de ce qu'est Node et de son fonctionnement.
‫Nous allons entrer dans beaucoup de détails sur
‫la façon dont Node fonctionne vraiment dans les
‫coulisses dans la section suivante, mais à ce stade, je
‫veux juste que vous obteniez un
‫aperçu rapide afin que vous puissiez commencer à apprendre
‫les principes fondamentaux de NodeJS en pratique tout au long cette section.
‫Quoi qu'il en soit, maintenant que
‫nous avons JavaScript en dehors du
‫navigateur dans une sorte d'environnement autonome qui
‫ne fait que NodeJS, nous pouvons faire tellement plus de
‫choses avec JavaScript qui étaient complètement impossibles auparavant,
‫comme accéder au
‫système de fichiers, ou de meilleures
‫capacités de mise en réseau ne sont
‫pas possibles avec NodeJS et tous ces
‫facteurs réunis nous offrent les conditions idéales pour utiliser NodeJS en tant
‫que serveur Web, ce qui signifie que
‫nous pouvons enfin utiliser JavaScript du côté serveur du développement
‫Web afin de créer des applications réseau
‫rapides et hautement évolutives pour alimenter le back-end.
‫pour les sites Web ou les applications Web.
‫Et cela est absolument fantastique
‫et change la donne pour le développement Web.
‫Voyons maintenant quelques cas d'utilisation de Node
‫et pourquoi il convient si bien au développement back-end.
‫Et la première chose dont nous
‫devons parler est
‫le fait que les applications Node sont si rapides
‫et si évolutives, car NodeJS
‫est un thread unique basé sur un modèle d'E/S
‫non bloquant, ce qui rend NodeJS très léger et efficace.
‫Maintenant, cela, bien sûr, semble super compliqué, je sais, mais
‫une fois de plus, nous allons parler de ce
‫que tout cela signifie exactement un peu
‫plus tard dans le cours.
‫Mais, pour l'instant, gardez
‫à l'esprit que Node est parfait pour
‫créer des applications Web ultra-rapides et évolutives gourmandes en données.
‫Et cela fait de NodeJS la solution idéale pour créer
‫tous les types d'applications, comme créer
‫une API avec une base de données derrière elle
‫et de préférence une base de données NoSQL non relationnelle comme MongoDB et c'est en
‫fait exactement ce que nous allons faire plus tard
‫dans ce cours car nous plonger de plus en plus profondément dans NodeJS.
‫Mais, bien sûr, il existe toutes sortes d'autres
‫applications que nous pouvons créer, comme des applications
‫de streaming de données telles que YouTube ou Netflix, des applications de
‫discussion en temps réel ou même des applications Web
‫côté serveur où tout le contenu est simplement généré
‫directement sur le serveur, donc comme
‫vous le voyez, les possibilités sont vraiment infinies.
‫Mais, il existe également un type d'applications que nous
‫ne devrions pas créer avec Node.
‫Et c'est à ce moment-là
‫que notre application a besoin d'un traitement
‫très lourd côté serveur, comme des manipulations d'images, une conversion
‫vidéo, une compression de fichiers ou quelque chose comme ça, d'accord.
‫Et vous apprendrez pourquoi c'est une fois que nous
‫approfondirons le fonctionnement réel de Node.
‫Donc, dans ce cas, nous
‫ferions mieux d'utiliser quelque chose comme Ruby on Rails, PHP ou Python.
‫Parce que NodeJS n'a tout simplement pas
‫été développé pour ces cas d'utilisation et bien qu'il existe des
‫solutions pour les gérer, nous devons toujours utiliser
‫le bon outil pour la tâche à accomplir.
‫D'accord, ce sont donc les types d'applications que
‫nous pouvons et ne pouvons pas créer à l'aide de NodeJS.
‫Et si vous choisissez d'utiliser Node, alors
‫vous êtes en bonne compagnie
‫car de nombreuses grandes entreprises comme Netflix, Uber,
‫PayPal, Ebay et bien d'autres ont déjà commencé à utiliser
‫NodeJS, ce qui prouve vraiment que la technologie est
‫suffisamment stable à ce stade pour être utilisé en production.
‫Maintenant, bien sûr, il y a plus de raisons d'utiliser
‫Node, et la plus importante est probablement qu'utiliser le
‫même langage sur l'ensemble de votre pile à
‫la fois sur le front-end et
‫le back-end est beaucoup plus facile pour vous ou pour votre équipe.
‫Tout d'abord, vous n'avez
‫pas besoin d'apprendre un nouveau langage
‫de programmation pour construire votre back-end et, de
‫plus, vous n'avez pas à passer d'un
‫langage à l'autre, ce qui rendra l'ensemble du processus
‫de construction plus rapide et plus efficace.
‫Croyez-moi, c'est vraiment vraiment incroyable
‫de pouvoir utiliser JavaScript pour créer l'intégralité de
‫votre application du début à la fin.
‫C'est vraiment fantastique.
‫Et une autre bonne raison
‫d'utiliser Node est qu'il existe une énorme bibliothèque de packages ou de
‫modules open source, comme nous pouvons aussi les
‫appeler, disponibles gratuitement pour tout le monde.
‫Cela s'appelle NPM et vous en avez probablement déjà entendu
‫parler ou même déjà utilisé.
‫Et, bien sûr, nous allons également commencer
‫à utiliser des packages directement dans la section.
‫Et, enfin, il est également
‫bon de savoir qu'il existe une
‫énorme communauté active de développeurs Node qui
‫améliorent constamment NodeJS et aident les débutants comme vous.
‫Et, ainsi, vous pouvez vraiment compter sur la
‫technologie pour tous vos projets dans les années à venir.
‫D'accord, c'était donc une très brève introduction
‫et un aperçu de NodeJS et de certains de ses cas d'utilisation.
‫Ainsi, pour le reste de cette
‫section, nous allons maintenant utiliser Node
‫pour créer un serveur Web très simple
‫et construire une API extrêmement simple, afin que vous
‫puissiez vous familiariser
‫avec les principes de base du développement de Node.