{"id":36234,"date":"2024-11-15T23:46:21","date_gmt":"2024-11-15T23:46:21","guid":{"rendered":"\/tutoriels\/?p=36234"},"modified":"2025-12-12T15:06:44","modified_gmt":"2025-12-12T15:06:44","slug":"quest-ce-que-node-js","status":"publish","type":"post","link":"\/fr\/tutoriels\/quest-ce-que-node-js","title":{"rendered":"Qu&rsquo;est-ce que Node.js : comment fonctionne-t-il et comment d\u00e9marrer"},"content":{"rendered":"<p>Node.js est un environnement d&rsquo;ex&eacute;cution open-source et multiplateforme qui vous permet d&rsquo;ex&eacute;cuter JavaScript c&ocirc;t&eacute; serveur. L&rsquo;architecture de ce logiciel permet des transferts de donn&eacute;es efficaces, ce qui en fait un choix populaire pour la construction d&rsquo;applications en temps r&eacute;el et &eacute;volutives.&nbsp;<\/p><p>Ce tutoriel vous apprendra les bases de Node.js, notamment son fonctionnement et ses applications pratiques. Nous verrons &eacute;galement comment l&rsquo;installer sur votre serveur afin que vous puissiez d&eacute;marrer rapidement.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-qu-est-ce-que-node-js\">Qu&rsquo;est-ce que Node.js ?<\/h2><p>Traditionnellement, <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/qu-est-ce-que-javascript\">JavaScript<\/a> ne fonctionnait que du c&ocirc;t&eacute; front-end, puisque le moteur d&rsquo;ex&eacute;cution n&rsquo;&eacute;tait disponible que dans les navigateurs web tels que Google Chrome. Le langage de programmation peut donc &ecirc;tre utilis&eacute; pour cr&eacute;er une application c&ocirc;t&eacute; client, &agrave; l&rsquo;instar d&rsquo;un site web dynamique.&nbsp;<\/p><p><strong>Ryan Dahl <\/strong>a cr&eacute;&eacute; Node.js en 2009 en tant qu&rsquo;environnement d&rsquo;ex&eacute;cution l&eacute;ger et r&eacute;actif pour JavaScript. Ce logiciel permet aux d&eacute;veloppeurs d&rsquo;utiliser le langage de script comme code c&ocirc;t&eacute; serveur.&nbsp;<\/p><p>L&rsquo;utilisation de JavaScript c&ocirc;t&eacute; serveur permet aux d&eacute;veloppeurs d&rsquo;&eacute;crire le front-end et le back-end dans le m&ecirc;me langage. Cela permet de rationaliser le d&eacute;veloppement et la maintenance puisqu&rsquo;ils peuvent r&eacute;utiliser le m&ecirc;me code.<\/p><p>En outre, le d&eacute;veloppement du back-end en JavaScript permet &agrave; votre application de b&eacute;n&eacute;ficier du mod&egrave;le de programmation asynchrone de Node.js. &Agrave; la base, cette architecture permet &agrave; votre service web de r&eacute;pondre plus efficacement aux demandes multiples des utilisateurs.&nbsp;<\/p><p>Nous reviendrons sur ce concept dans la section suivante.&nbsp;&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-comment-fonctionne-node-js\">Comment fonctionne Node.js ?<\/h2><p>Pour comprendre le principe de fonctionnement de Node.js, vous devez comprendre les termes importants suivants.<\/p><p><strong>Mod&egrave;le E\/S non-bloquant<\/strong><\/p><p>Pour traiter une demande d&rsquo;utilisateur, les serveurs traditionnels comme <strong>Apache <\/strong>et <strong>Tomcat <\/strong>utilisent un <strong>thread <\/strong>qui peut servir un client &agrave; la fois. Lorsque le nombre maximal de threads est atteint, une nouvelle demande doit attendre que les threads existants aient termin&eacute; leur t&acirc;che.<\/p><p>Les fils qui traitent encore les demandes des utilisateurs bloqueront les entr&eacute;es des nouveaux clients et ne transmettront pas les sorties &agrave; des services externes tels que les API ou les bases de donn&eacute;es. Cela peut entra&icirc;ner des goulets d&rsquo;&eacute;tranglement lors de pics de trafic avec de nombreuses connexions simultan&eacute;es.&nbsp;<\/p><p>Les paradigmes non bloquants signifient que le thread unique de Node.js peut recevoir et transmettre une nouvelle requ&ecirc;te sans attendre la fin de la requ&ecirc;te en cours. Un tel syst&egrave;me est appel&eacute; <strong>architecture asynchrone<\/strong>.&nbsp;<\/p><p><strong>Architecture asynchrone<\/strong><\/p><p>L&rsquo;architecture <strong>synchrone <\/strong>traite les demandes des clients dans l&rsquo;ordre, ce qui signifie que le serveur web termine l&rsquo;op&eacute;ration en cours avant d&rsquo;en commencer une nouvelle.&nbsp;<\/p><p>En revanche, une application dot&eacute;e d&rsquo;une architecture <strong>asynchrone <\/strong>commencera une nouvelle op&eacute;ration en attendant les r&eacute;sultats d&rsquo;autres op&eacute;rations. D&egrave;s qu&rsquo;il re&ccedil;oit une r&eacute;ponse, le serveur web renvoie les donn&eacute;es au client.&nbsp;<\/p><p>L&rsquo;architecture asynchrone convient aux applications qui n&eacute;cessitent de r&eacute;cup&eacute;rer des donn&eacute;es aupr&egrave;s d&rsquo;autres services, comme les <a href=\"https:\/\/aws.amazon.com\/what-is\/api\/\" target=\"_blank\" rel=\"noopener\">interfaces de programmation d&rsquo;applications<\/a> (API) ou les bases de donn&eacute;es. Au lieu de rester inactif, le serveur web peut traiter de nouvelles demandes en attendant les r&eacute;ponses.&nbsp;<\/p><p>Bien qu&rsquo;excellente pour les t&acirc;ches d&rsquo;entr&eacute;e-sortie (E\/S), cette architecture rend Node.js plus gourmand en ressources CPU puisqu&rsquo;il n&rsquo;utilise qu&rsquo;un seul thread pour traiter plusieurs requ&ecirc;tes.&nbsp;<\/p><p><strong>Ax&eacute; sur les &eacute;v&eacute;nements<\/strong><\/p><p>Dans Node.js, les <strong>&eacute;v&eacute;nements <\/strong>sont des signaux indiquant qu&rsquo;une certaine action s&rsquo;est produite. Par exemple, ils peuvent d&eacute;clencher une nouvelle op&eacute;ration ou l&rsquo;ach&egrave;vement d&rsquo;une t&acirc;che.&nbsp;<\/p><p>Les &eacute;v&eacute;nements font partie int&eacute;grante du mod&egrave;le asynchrone. Ils fonctionnent en boucle, indiquant &agrave; Node.js comment g&eacute;rer le flux de requ&ecirc;tes.&nbsp;<\/p><p>&Agrave; la r&eacute;ception d&rsquo;une nouvelle demande d&rsquo;un client, la boucle d&rsquo;&eacute;v&eacute;nements d&eacute;marre. Ensuite, Node.js transmet la demande au service externe appropri&eacute;, comme une API. Une fois que votre serveur re&ccedil;oit les donn&eacute;es, un nouvel &eacute;v&eacute;nement d&eacute;clenche une <strong>fonction de rappel<\/strong>.<\/p><p>Une fonction de rappel ex&eacute;cute une autre fonction lorsqu&rsquo;une condition sp&eacute;cifique ou une op&eacute;ration asynchrone est termin&eacute;e. Elle permet au serveur web de traiter les demandes et d&rsquo;envoyer les r&eacute;ponses au client.<\/p><p><strong>Moteur JavaScript V8<\/strong><\/p><p>Au c&oelig;ur de Node.js se trouve le moteur JavaScript V8, qui analyse et ex&eacute;cute le langage de script. En d&rsquo;autres termes, il permet &agrave; votre serveur dorsal d&rsquo;ex&eacute;cuter du code JavaScript en dehors d&rsquo;un navigateur web.&nbsp;<\/p><p>&Agrave; l&rsquo;origine, Google a d&eacute;velopp&eacute; ce moteur pour Google Chrome. Plus tard, Node.js a adopt&eacute; cette technologie pour permettre &agrave; JavaScript de fonctionner de mani&egrave;re ind&eacute;pendante au-dessus de Node.js.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-avantages-de-l-utilisation-de-node-js\">Avantages de l&rsquo;utilisation de Node.js<\/h2><p>Apr&egrave;s avoir compris le m&eacute;canisme de Node.js, voyons comment ce mod&egrave;le peut b&eacute;n&eacute;ficier au d&eacute;veloppement de vos applications web.<\/p><ul class=\"wp-block-list\">\n<li><strong>Vitesse. <\/strong>L&rsquo;architecture asynchrone de Node.js g&egrave;re plus efficacement les op&eacute;rations d&rsquo;E\/S multiples, ce qui se traduit par une application plus r&eacute;active. Elle permet &eacute;galement d&rsquo;ex&eacute;cuter des donn&eacute;es en temps r&eacute;el.&nbsp;<\/li>\n\n\n\n<li><strong>M&eacute;canisme de gestion des erreurs. <\/strong>Les <a href=\"https:\/\/nodejs.org\/api\/errors.html\" target=\"_blank\" rel=\"noopener\">objets d&rsquo;erreur<\/a> int&eacute;gr&eacute;s offrent aux utilisateurs une plus grande souplesse dans le traitement de nombreux probl&egrave;mes. Ils permettent aux d&eacute;veloppeurs d&rsquo;obtenir des informations plus d&eacute;taill&eacute;es sur l&rsquo;erreur pour un d&eacute;pannage et un traitement plus efficaces.&nbsp;<\/li>\n\n\n\n<li><strong>Efficacit&eacute; du d&eacute;veloppement. <\/strong>Node.js permet aux d&eacute;veloppeurs d&rsquo;utiliser JavaScript n&rsquo;importe o&ugrave; pour un d&eacute;veloppement complet. Il facilite le d&eacute;veloppement car le code fonctionne de mani&egrave;re transparente entre le back-end et le front-end.&nbsp;<\/li>\n\n\n\n<li><strong>Un &eacute;cosyst&egrave;me riche. <\/strong>Les utilisateurs peuvent installer divers modules via le gestionnaire de paquets Node (NPM) pour ajouter facilement de nouvelles fonctionnalit&eacute;s &agrave; leurs applications Node.js sans avoir &agrave; les &eacute;crire &agrave; partir de z&eacute;ro.<\/li>\n\n\n\n<li><strong>Flexibilit&eacute; et &eacute;volutivit&eacute;. <\/strong>Les d&eacute;veloppeurs peuvent utiliser Node.js avec d&rsquo;autres cadres et syst&egrave;mes d&rsquo;exploitation. Ils peuvent &eacute;galement faire &eacute;voluer le moteur d&rsquo;ex&eacute;cution en utilisant diff&eacute;rentes approches, comme l&rsquo;installation d&rsquo;un &eacute;quilibreur de charge ou la mise en place de <a href=\"https:\/\/microservices.io\/\" target=\"_blank\" rel=\"noopener\">microservices<\/a>.<\/li>\n\n\n\n<li><strong>Open source.<\/strong> Le code source de Node.js est accessible &agrave; tous les utilisateurs, et ses cr&eacute;ateurs pr&ocirc;nent la transparence, l&rsquo;innovation et la personnalisation. Ce moteur d&rsquo;ex&eacute;cution b&eacute;n&eacute;ficie &eacute;galement d&rsquo;un soutien important de la part de la communaut&eacute;.&nbsp;<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-ce-que-vous-pouvez-faire-avec-node-js\">Ce que vous pouvez faire avec Node.js<\/h2><p>Voici plusieurs cas d&rsquo;utilisation de Node.js qui peuvent b&eacute;n&eacute;ficier des op&eacute;rations d&rsquo;E\/S r&eacute;actives et de l&rsquo;architecture asynchrone du moteur d&rsquo;ex&eacute;cution :<\/p><ul class=\"wp-block-list\">\n<li><strong>Discussions en direct et diffusion en continu.<\/strong> Les plateformes de chat et de streaming impliquent un grand nombre d&rsquo;op&eacute;rations d&rsquo;E\/S, les utilisateurs envoyant et recevant des donn&eacute;es en temps r&eacute;el. Le traitement efficace de Node.js permet de minimiser les d&eacute;lais puisqu&rsquo;il peut traiter les demandes des clients simultan&eacute;ment.<\/li>\n\n\n\n<li><strong>Flux de donn&eacute;es.<\/strong> Node.js peut rapidement r&eacute;cup&eacute;rer et pousser des informations &agrave; partir de sources externes, ce qui le rend parfaitement adapt&eacute; aux flux de donn&eacute;es en temps r&eacute;el. Les applications de cette technologie comprennent la surveillance des march&eacute;s boursiers et des syst&egrave;mes.&nbsp;<\/li>\n\n\n\n<li><strong>Proxy de serveur. <\/strong>Un proxy de serveur est un interm&eacute;diaire entre les clients et le serveur h&ocirc;te, g&eacute;n&eacute;ralement utilis&eacute; pour l&rsquo;&eacute;quilibrage de la charge ou le filtrage du trafic. Node.js veille &agrave; ce que les requ&ecirc;tes des clients et les r&eacute;ponses du serveur se d&eacute;roulent sans heurts.&nbsp;<\/li>\n\n\n\n<li><strong>API RESTful.<\/strong> Node.js est couramment utilis&eacute; pour cr&eacute;er des API RESTful qui permettent aux applications d&rsquo;utiliser des services externes sur un r&eacute;seau.&nbsp;<\/li>\n\n\n\n<li><strong>Applications &agrave; page unique (SPA). <\/strong>Les SPA telles que Gmail et PayPal mettent &agrave; jour les donn&eacute;es du client en temps r&eacute;el sans rafra&icirc;chissement manuel. Node.js permet de transf&eacute;rer rapidement les donn&eacute;es du serveur h&ocirc;te.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-node-js-vs-autres-technologies-back-end\">Node.js vs autres technologies back-end<\/h2><p>Outre Node.js, les d&eacute;veloppeurs utilisent une myriade de technologies pour d&eacute;velopper des applications dorsales. En voici quelques-unes, tr&egrave;s r&eacute;pandues, et leur comparaison avec le runtime JavaScrpt.<\/p><p><strong><a href=\"https:\/\/dotnet.microsoft.com\/\" target=\"_blank\" rel=\"noopener\">.NET<\/a>&nbsp;<\/strong><\/p><p>.NET est un cadre d&rsquo;application web populaire pour les applications d&rsquo;entreprise &agrave; grande &eacute;chelle. Bien qu&rsquo;il s&rsquo;agisse d&rsquo;un produit Microsoft, cette technologie est compatible avec Linux et MacOS. Toutefois, de nombreux d&eacute;veloppeurs affirment qu&rsquo;elle est plus r&eacute;active lorsqu&rsquo;elle fonctionne sous Windows.<\/p><p>.NET prend en charge les langages de programmation orient&eacute;s objet tels que <strong>C++<\/strong>, <strong>C# <\/strong>et <strong>VB.<\/strong> Cette capacit&eacute; rend le cadre de travail adapt&eacute; aux d&eacute;veloppeurs qui veulent profiter de la flexibilit&eacute; et des fonctionnalit&eacute;s de ces langages.&nbsp;<\/p><p>Le cadre .NET adopte l&rsquo;approche multithread avec un mod&egrave;le de traitement asynchrone. Cette architecture convient si votre service implique principalement des t&acirc;ches complexes et gourmandes en ressources humaines.<\/p><p>Cependant, les applications .NET sont plus difficiles &agrave; d&eacute;velopper. Si vos services web impliquent de nombreux appels externes, il est plus efficace d&rsquo;utiliser Node.js pour construire le back-end.<\/p><p><a href=\"https:\/\/rubyonrails.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Ruby on Rails<\/strong><\/a><\/p><p>Ruby on Rails est un cadre de d&eacute;veloppement web &eacute;crit dans le langage orient&eacute; objet Ruby. Il suit l&rsquo;approche mod&egrave;le-vue-contr&ocirc;leur (MVC), qui fournit une structure d&eacute;finie pour votre application.<\/p><p>Cette structure permet aux d&eacute;veloppeurs de construire efficacement un prototype d&rsquo;application fonctionnel et d&rsquo;inclure des fonctionnalit&eacute;s suppl&eacute;mentaires par la suite. Ruby on Rails est donc id&eacute;al pour les projets it&eacute;ratifs, dans lesquels les d&eacute;veloppeurs divisent un projet en t&acirc;ches plus petites.<\/p><p>Malgr&eacute; sa simplicit&eacute;, l&rsquo;approche MVC rend Ruby on Rails moins flexible que Node.js. En revanche, le moteur d&rsquo;ex&eacute;cution JavaScript vous permet de d&eacute;velopper une application sous forme de microservices, ce qui la rend tr&egrave;s modulaire et &eacute;volutive.<\/p><p>Ruby on Rails &eacute;tant multithread, il convient mieux &agrave; un syst&egrave;me dot&eacute; de plusieurs c&oelig;urs. Cependant, il ne fonctionne pas de mani&egrave;re asynchrone, ce qui risque de ralentir les performances de votre application si elle n&eacute;cessite de fr&eacute;quents appels d&rsquo;entr&eacute;es\/sorties.&nbsp;<\/p><p><a href=\"https:\/\/www.djangoproject.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Django<\/strong><\/a><\/p><p>Django est un cadre de d&eacute;veloppement web pour Python, un langage de programmation tr&egrave;s polyvalent et flexible. Il est populaire pour la construction d&rsquo;applications ou de services qui traitent de grandes quantit&eacute;s de donn&eacute;es.&nbsp;<\/p><p>Contrairement &agrave; Node.js, qui est id&eacute;al pour construire des microservices, les d&eacute;veloppeurs utilisent g&eacute;n&eacute;ralement Django pour d&eacute;velopper une application monolithique. Dans ce mod&egrave;le, vous &eacute;crivez les services de votre programme dans une seule grande base de code.&nbsp;<\/p><p>Bien qu&rsquo;assez &eacute;volutives, les applications monolithiques de Django sont moins flexibles que les microservices. Cependant, le mod&egrave;le MVT (model-view-template) de ce cadre aide les d&eacute;veloppeurs &agrave; construire des services plus efficacement en utilisant des composants plus petits et r&eacute;utilisables.&nbsp;<\/p><p>Django utilise une architecture synchrone et multithread, ce qui le rend adapt&eacute; &agrave; une application monolithique gourmande en donn&eacute;es et &agrave; un syst&egrave;me dot&eacute; de plusieurs c&oelig;urs.<\/p><p><a href=\"https:\/\/laravel.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Laravel<\/strong><\/a><\/p><p>Laravel propose diff&eacute;rents mod&egrave;les couramment utilis&eacute;s dans une application web, notamment l&rsquo;authentification, l&rsquo;autorisation et les notifications.&nbsp;<\/p><p>Les mod&egrave;les et la syntaxe simple de Laravel rendent le codage d&rsquo;une application web plus accessible, en particulier pour les d&eacute;butants. En outre, il suit l&rsquo;architecture MVC qui aide les d&eacute;veloppeurs &agrave; maintenir et &agrave; modifier rapidement la base de code.&nbsp;<\/p><p>Cependant, de nombreux utilisateurs signalent que Laravel offre des performances sous-optimales par rapport &agrave; d&rsquo;autres technologies d&rsquo;arri&egrave;re-plan. Cela signifie que vous devez affiner la configuration ou installer un logiciel suppl&eacute;mentaire comme <a href=\"https:\/\/laravel.com\/docs\/11.x\/octane\" target=\"_blank\" rel=\"noopener\">Octane<\/a> pour am&eacute;liorer sa vitesse.<\/p><p>Si votre application implique beaucoup de flux de donn&eacute;es en temps r&eacute;el et d&rsquo;op&eacute;rations d&rsquo;E\/S, Laravel n&rsquo;est peut-&ecirc;tre pas la solution id&eacute;ale car il utilise un m&eacute;canisme de blocage multithread.&nbsp;<\/p><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Conseil de pro<\/h4>\n                    <p>Lors du choix des technologies back-end, de nombreux d&eacute;veloppeurs recommandent de donner la priorit&eacute; &agrave; la familiarit&eacute; et aux exigences du projet. Bien que les frameworks aient des performances diff&eacute;rentes, vous pouvez n&eacute;gliger un impact significatif sur l'utilisation dans le monde r&eacute;el.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-gestionnaire-de-paquets-node-npm\">Gestionnaire de paquets Node (NPM)<\/h2><p><a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/quest-ce-que-npm-une-introduction-de-base-pour-les-debutants\">Node Package Manager (NPM)<\/a> est un outil permettant d&rsquo;installer des logiciels, tels que des modules ou des d&eacute;pendances, pour les applications JavaScript. Il contribue &agrave; am&eacute;liorer l&rsquo;efficacit&eacute; du d&eacute;veloppement de Node.js en permettant aux utilisateurs d&rsquo;acc&eacute;der &agrave; des composants suppl&eacute;mentaires &agrave; partir d&rsquo;un seul endroit.&nbsp;<\/p><p>\n\n\n<div><p class=\"important\"><strong>Important !<\/strong> NPM peut d&eacute;signer soit l&rsquo;utilitaire que les d&eacute;veloppeurs utilisent pour t&eacute;l&eacute;charger les paquets, soit le r&eacute;f&eacute;rentiel dans lequel les utilisateurs partagent leurs modules.<\/p><\/div>\n\n\n\n<\/p><p>Le d&eacute;p&ocirc;t NPM contient actuellement des millions de paquets et de modules, dont la tr&egrave;s populaire biblioth&egrave;que JavaScript <strong>Lodash<\/strong>. Vous pouvez &eacute;galement t&eacute;l&eacute;charger d&rsquo;autres frameworks &agrave; partir du d&eacute;p&ocirc;t, comme <strong>Express.js <\/strong>et <strong>Mocha.js<\/strong>.<\/p><p>Le t&eacute;l&eacute;chargement et la gestion des paquets &agrave; partir de NPM utilisent l&rsquo;interface de ligne de commande de votre syst&egrave;me. Par d&eacute;faut, cet utilitaire est automatiquement configur&eacute; apr&egrave;s l&rsquo;installation de Node.js, ce que nous allons expliquer dans la section suivante.<\/p><h2 class=\"wp-block-heading\" id=\"h-demarrer-avec-node-js\">D&eacute;marrer avec Node.js<\/h2><p>Maintenant que vous comprenez comment Node.js peut profiter &agrave; vos projets de d&eacute;veloppement web, plongeons dans les &eacute;tapes de sa mise en place. Pour ce tutoriel, nous allons montrer comment le faire sur un <a href=\"\/fr\/vps\">VPS Hostinger<\/a> fonctionnant sous <strong>Ubuntu 22.04<\/strong>.<\/p><h3 class=\"wp-block-heading\" id=\"h-installation-de-node-js\">Installation de Node.js<\/h3><p>Les utilisateurs de Hostinger VPS peuvent facilement installer Node.js sur Ubuntu sans commandes en utilisant le mod&egrave;le de syst&egrave;me d&rsquo;exploitation.&nbsp;<\/p><p>Apr&egrave;s avoir achet&eacute; le <a href=\"https:\/\/www.hostinger.com\/fr\/vps\/hebergement-nodejs\">plan d&rsquo;h&eacute;bergement VPS Node.js<\/a>, il vous suffit de compl&eacute;ter les t&acirc;ches d&rsquo;accueil et d&rsquo;attendre que le processus de configuration soit termin&eacute;. Cela devrait prendre quelques minutes et notre syst&egrave;me configurera automatiquement l&rsquo;environnement d&rsquo;ex&eacute;cution sur votre serveur.&nbsp;<\/p><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Choisir un autre plan VPS ?<\/h4>\n                    <p>Si vous avez d&eacute;j&agrave; un plan d'h&eacute;bergement VPS actif chez Hostinger, vous pouvez toujours installer Node.js sans commandes en utilisant le <a href=\"https:\/\/support.hostinger.com\/fr\/articles\/1583571-quels-sont-les-systemes-d-exploitation-disponibles-pour-les-vps\" target=\"_blank\" rel=\"noopener\">template de syst&egrave;me d'exploitation<\/a>.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Pour les autres h&eacute;bergeurs, vous devez installer manuellement Node.js &agrave; l&rsquo;aide de commandes. Voici les &eacute;tapes &agrave; suivre pour ce faire :<\/p><ol class=\"wp-block-list\">\n<li>Connectez-vous &agrave; votre serveur en utilisant le client SSH PuTTY ou des outils de ligne de commande comme Terminal. Nous vous recommandons de le faire en tant que <strong>superutilisateur <\/strong>plut&ocirc;t qu&rsquo;en tant que<strong> root<\/strong>.<\/li>\n\n\n\n<li>Mettez &agrave; jour le package de votre syst&egrave;me en ex&eacute;cutant ces commandes une &agrave; une :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo apt update &amp;&amp; sudo apt upgrade<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Maintenant, entrez ce qui suit pour installer Node.js :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo apt install nodejs -y&nbsp;<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Votre gestionnaire de paquets devrait &eacute;galement installer automatiquement NPM. Cependant, ex&eacute;cutez ce qui suit pour vous assurer que l&rsquo;outil est correctement configur&eacute; :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo apt install npm -y&nbsp;<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Confirmez l&rsquo;installation en interrogeant la version du n&oelig;ud &agrave; l&rsquo;aide de la commande suivante :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">node -v<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69f993d108f4a\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"664\" height=\"58\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/terminal-returns-node-js-version.png\/public\" alt=\"Le terminal renvoie la version de Node.js\" class=\"wp-image-36272\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/terminal-returns-node-js-version.png\/w=664,fit=scale-down 664w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/terminal-returns-node-js-version.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/terminal-returns-node-js-version.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Lorsque vous d&eacute;veloppez une application Node.js localement, vous devez installer le runtime sur votre machine locale. La mani&egrave;re la plus simple de le faire est de <a href=\"https:\/\/nodejs.org\/fr\/download\/prebuilt-installer\" target=\"_blank\" rel=\"noopener\">t&eacute;l&eacute;charger l&rsquo;installateur pr&eacute;construit<\/a> bas&eacute; sur votre syst&egrave;me d&rsquo;exploitation &agrave; partir de la page de publication officielle.&nbsp;<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41471\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h3 class=\"wp-block-heading\" id=\"h-creer-et-executer-des-applications-avec-node-js\">Cr&eacute;er et ex&eacute;cuter des applications avec Node.js<\/h3><p>Les &eacute;tapes de la cr&eacute;ation d&rsquo;applications Node.js sont similaires &agrave; celles des autres d&eacute;veloppements web. Voici ce que vous devez faire :<\/p><ol class=\"wp-block-list\">\n<li>Installer <strong>Node.js<\/strong>, <strong>NPM<\/strong>, l&rsquo;&eacute;diteur de code <strong>VSCode <\/strong>et l&rsquo;<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ritwickdey.LiveServer\" target=\"_blank\" rel=\"noopener\">extension Live Server<\/a>.&nbsp;<\/li>\n\n\n\n<li>Cr&eacute;ez un dossier pour votre projet. Ouvrez <strong>VSCode<\/strong> &rarr; <strong>Fichier<\/strong> &rarr; <strong>Ouvrir un dossier <\/strong>et s&eacute;lectionnez votre nouveau r&eacute;pertoire.<\/li>\n\n\n\n<li>Naviguez vers votre <a href=\"https:\/\/code.visualstudio.com\/docs\/terminal\/getting-started\" target=\"_blank\" rel=\"noopener\">terminal VSCode<\/a> et ex&eacute;cutez la commande suivante pour cr&eacute;er un fichier de configuration pour votre projet :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">npm init<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Saisissez les informations requises. Une fois termin&eacute;, vous devriez voir le <strong>fichier package.json <\/strong>dans la fen&ecirc;tre d&rsquo;exploration de VSCode.&nbsp;&nbsp;<\/li>\n\n\n\n<li>Dans l&rsquo;&eacute;cran principal, s&eacute;lectionnez <strong>Nouveau fichier <\/strong>et cr&eacute;ez un nouveau fichier de projet. Par exemple, nommez-le <strong>app.js<\/strong>.&nbsp;<\/li>\n\n\n\n<li>R&eacute;digez le code de votre application. Pour les tests, vous pouvez cr&eacute;er un simple programme <strong>Hello World. <\/strong>Appuyez sur <strong>Ctrl + S <\/strong>pour l&rsquo;enregistrer.&nbsp;<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69f993d10df7f\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"648\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/vscode-user-interface-during-node-js-app-development-1024x648-1.png\/public\" alt=\"Interface utilisateur VSCode pendant le d&eacute;veloppement de l'application Node.js \" class=\"wp-image-36273\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/vscode-user-interface-during-node-js-app-development-1024x648-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/vscode-user-interface-during-node-js-app-development-1024x648-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/vscode-user-interface-during-node-js-app-development-1024x648-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/vscode-user-interface-during-node-js-app-development-1024x648-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"7\" class=\"wp-block-list\">\n<li>Depuis votre terminal VSCode, lancez <strong>node <\/strong>suivi du nom de votre fichier JS pour d&eacute;marrer votre application :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">node app.js<\/pre><p>C&rsquo;est fait ! Dans notre sc&eacute;nario, vous pouvez acc&eacute;der &agrave; l&rsquo;application en ajoutant l&rsquo;adresse <strong>localhost <\/strong>et le num&eacute;ro de port d&eacute;sign&eacute; &agrave; votre navigateur web.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69f993d1114c1\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"133\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/node-js-app-running-in-a-browser-1024x133-1.png\/public\" alt=\"Application Node.js fonctionnant dans un navigateur\" class=\"wp-image-36274\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/node-js-app-running-in-a-browser-1024x133-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/node-js-app-running-in-a-browser-1024x133-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/node-js-app-running-in-a-browser-1024x133-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/11\/node-js-app-running-in-a-browser-1024x133-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Les &eacute;tapes sont similaires quel que soit votre syst&egrave;me d&rsquo;exploitation.&nbsp;<\/p><p>Pour le d&eacute;ployer sur le site r&eacute;el, t&eacute;l&eacute;chargez le fichier du projet &agrave; l&rsquo;aide de commandes, de git ou du <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/sftp\">protocole de transfert de fichiers s&eacute;curis&eacute;<\/a> (SFTP).<\/p><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">D&eacute;ployez facilement une application Node.js<\/h4>\n                    <p> Pour d&eacute;ployer facilement une application Node.js, utilisez la <a href=\"https:\/\/www.hostinger.com\/fr\/hebergement-applications-web\">solution d'h&eacute;bergement d'applications web de Hostinger<\/a>. Elle s'int&egrave;gre &agrave; <strong>GitHub<\/strong> pour simplifier le processus de d&eacute;ploiement et offre une fonctionnalit&eacute; int&eacute;gr&eacute;e qui vous permet de t&eacute;l&eacute;verser vos fichiers de projet directement dans l'environnement d'h&eacute;bergement &agrave; partir de <strong>hPanel<\/strong>. <\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-travailler-avec-des-modules-et-des-dependances\">Travailler avec des modules et des d&eacute;pendances<\/h3><p>NPM vous permet de g&eacute;rer facilement les modules et les d&eacute;pendances afin d&rsquo;am&eacute;liorer les fonctionnalit&eacute;s de votre application Node.js.&nbsp;<\/p><p>Le fichier <strong>package.json <\/strong>dans le dossier de votre projet contient des informations sur les d&eacute;pendances de votre application. Au lieu de g&eacute;rer les paquets individuellement, vous pouvez appeler <strong>package.json <\/strong>en bloc.<\/p><p>Par exemple, la commande suivante met &agrave; jour toutes les d&eacute;pendances r&eacute;pertori&eacute;es dans le fichier :<\/p><pre class=\"wp-block-preformatted\">npm install<\/pre><p>Vous pouvez v&eacute;rifier la pr&eacute;sence de paquets obsol&egrave;tes et installer les mises &agrave; jour &agrave; l&rsquo;aide d&rsquo;une seule commande. Cette possibilit&eacute; rend le processus plus efficace et maintient la coh&eacute;rence entre les diff&eacute;rents environnements de projet.&nbsp;<\/p><p>De plus, Node.js vous permet de lister automatiquement les nouveaux modules ou d&eacute;pendances dans <strong>packages.json <\/strong>lors de l&rsquo;installation en utilisant l&rsquo;option <strong>&ndash;save.<\/strong> Cette commande se pr&eacute;sente comme suit :<\/p><pre class=\"wp-block-preformatted\">npm install software-name --save<\/pre><p>Node.js comprend des modules internes pr&eacute;configur&eacute;s lors de l&rsquo;installation de l&rsquo;environnement d&rsquo;ex&eacute;cution. Vous pouvez &eacute;galement installer des modules externes &agrave; partir du d&eacute;p&ocirc;t <strong>npm.&nbsp;<\/strong><\/p><p>Pour charger un module dans le code de votre application, utilisez la fonction <strong>require. <\/strong>Par exemple, l&rsquo;extrait suivant appelle <strong>express.js <\/strong>et l&rsquo;affecte &agrave; la variable <strong>express :<\/strong><\/p><pre class=\"wp-block-preformatted\">const express = require('express')<\/pre><p>Les modules int&eacute;gr&eacute;s varient en fonction de la version de Node.js. Pour v&eacute;rifier lesquels sont install&eacute;s sur votre syst&egrave;me actuel, utilisez la commande suivante :<\/p><pre class=\"wp-block-preformatted\">npm list -g<\/pre><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Besoin d'aide avec JavaScript ?<\/h4>\n                    <p>Utilisez <strong>Kodee<\/strong>, l'assistant IA d'Hostinger pour vous aider &agrave; &eacute;crire du code JavaScript et &agrave; g&eacute;n&eacute;rer des commandes npm pour d&eacute;velopper votre application.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-frameworks-et-bibliotheques-node-js\">Frameworks et biblioth&egrave;ques Node.js<\/h2><p>Dans la pratique, les d&eacute;veloppeurs ne s&rsquo;appuient pas uniquement sur Node.js pour cr&eacute;er une application. Ils int&egrave;grent un cadre pour cr&eacute;er la structure du projet et une biblioth&egrave;que pour ajouter facilement des fonctions. Voici quelques-unes des options les plus populaires.<\/p><p><a href=\"https:\/\/expressjs.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Express.js<\/strong><\/a><\/p><p>Express.js ou Express est le framework Node.js le plus utilis&eacute;. Il est appr&eacute;ci&eacute; pour son mod&egrave;le minimaliste et non impos&eacute;, qui permet aux d&eacute;veloppeurs de structurer le code de leur application sans restriction.&nbsp;<\/p><p>Parmi les caract&eacute;ristiques notables de ce framework, on peut citer la gestion polyvalente et int&eacute;gr&eacute;e des requ&ecirc;tes. Il permet aux d&eacute;veloppeurs d&rsquo;appeler rapidement une fonction sp&eacute;cifique bas&eacute;e sur les m&eacute;thodes et les URL des requ&ecirc;tes HTTP. Sans Express, un tel m&eacute;canisme ne serait possible qu&rsquo;en utilisant un long code.&nbsp;<\/p><p>En outre, le cadre Express.js permet aux d&eacute;veloppeurs d&rsquo;utiliser des logiciels interm&eacute;diaires, c&rsquo;est-&agrave;-dire des logiciels qui modifient les demandes et les r&eacute;ponses pendant la transmission. Il permet par exemple d&rsquo;authentifier, d&rsquo;enregistrer ou de limiter les donn&eacute;es transf&eacute;r&eacute;es.&nbsp;<\/p><p><a href=\"https:\/\/react.dev\/\" target=\"_blank\" rel=\"noopener\"><strong>React.js<\/strong><\/a><\/p><p>React.js est une biblioth&egrave;que JavaScript front-end utilis&eacute;e pour d&eacute;velopper l&rsquo;interface utilisateur (UI) d&rsquo;un site ou d&rsquo;une application web. Bien que relativement r&eacute;cente, elle a gagn&eacute; une popularit&eacute; massive en raison de l&rsquo;importance qu&rsquo;elle accorde &agrave; la facilit&eacute; d&rsquo;utilisation et &agrave; la convivialit&eacute; pour les d&eacute;butants.&nbsp;<\/p><p>Comme d&rsquo;autres biblioth&egrave;ques, <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/quest-ce-que-react\">React<\/a> fournit un ensemble de composants r&eacute;utilisables qui aident les d&eacute;veloppeurs &agrave; construire sans effort une interface complexe. Ce qui la distingue, c&rsquo;est l&rsquo;utilisation de la syntaxe <strong>JSX<\/strong>, qui permet d&rsquo;&eacute;crire des balises de type HTML en JavaScript.&nbsp;<\/p><p>React permet d&rsquo;am&eacute;liorer la vitesse de chargement de votre site ou de votre application web en utilisant un mod&egrave;le d&rsquo;objet de document virtuel (DOM). Cette fonctionnalit&eacute; permet aux navigateurs web de ne rendre que les sections modifi&eacute;es de l&rsquo;interface utilisateur plut&ocirc;t que la page enti&egrave;re, ce qui rend le processus plus efficace.<\/p><p><a href=\"https:\/\/socket.io\/\" target=\"_blank\" rel=\"noopener\"><strong>Socket.io<\/strong><\/a><\/p><p>La biblioth&egrave;que JavaScript Socket.io offre des fonctionnalit&eacute;s permettant de g&eacute;rer la transmission de donn&eacute;es en temps r&eacute;el, ce qui en fait une alternative populaire pour le d&eacute;veloppement de services &agrave; forte intensit&eacute; d&rsquo;E\/S tels que les jeux, les plateformes de diffusion en direct et les applications de chat.&nbsp;<\/p><p>Socket.io permet &agrave; votre application Node.js de r&eacute;pondre aux clients sans attendre leurs requ&ecirc;tes. Dans les applications de messagerie, par exemple, cette fonctionnalit&eacute; permet aux membres d&rsquo;un groupe de recevoir automatiquement un message d&rsquo;un utilisateur.&nbsp;<\/p><p>Socket.io offre un moyen plus fiable et plus r&eacute;actif que les <strong>WebSockets <\/strong>traditionnels pour permettre une communication bidirectionnelle avec les clients. Sans cela, vous devriez d&eacute;velopper un code personnalis&eacute; pour g&eacute;rer la connexion bidirectionnelle et contourner manuellement les demandes des clients.<\/p><p><a href=\"https:\/\/nextjs.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Next.js<\/strong><\/a><\/p><p>Next.js est un cadre de d&eacute;veloppement web complet bas&eacute; sur React qui peut g&eacute;rer le front-end et le back-end. Il fournit des blocs de construction et des outils pour construire l&rsquo;interface utilisateur de votre application et les syst&egrave;mes c&ocirc;t&eacute; serveur.&nbsp;<\/p><p>Par exemple, la nouvelle version de Next dispose d&rsquo;un compilateur int&eacute;gr&eacute; qui am&eacute;liore consid&eacute;rablement le temps de rafra&icirc;chissement du code. Lorsque les d&eacute;veloppeurs adaptent l&rsquo;application, les changements se refl&egrave;tent plus rapidement dans le navigateur.&nbsp;&nbsp;<\/p><p>Next.js utilise &eacute;galement un m&eacute;canisme de pr&eacute;-rendu qui compile les applications JavaScript &agrave; la place du navigateur du client. Cela permet d&rsquo;am&eacute;liorer la vitesse de chargement des pages et l&rsquo;<a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/quest-ce-que-le-seo-un-guide-complet\">optimisation des moteurs de recherche<\/a> (SEO).&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-sites-web-populaires-utilisant-node-js\">Sites web populaires utilisant Node.js<\/h2><p>Cette section explore plusieurs sites web remarquables construits sur Node.js afin de d&eacute;montrer ses capacit&eacute;s.&nbsp;<\/p><p><strong>Netflix<\/strong><\/p><p>La capacit&eacute; de Node.js &agrave; g&eacute;rer des op&eacute;rations en temps r&eacute;el et &agrave; forte intensit&eacute; d&rsquo;E\/S en fait une technologie id&eacute;ale pour cr&eacute;er une application web de diffusion en direct comme Netflix.&nbsp;<\/p><p><strong>Uber<\/strong><\/p><p>Uber utilise Node.js pour g&eacute;rer la communication en temps r&eacute;el entre les diff&eacute;rents clients et API.&nbsp;<\/p><p>Par exemple, son application traite des donn&eacute;es provenant de services cartographiques, des syst&egrave;mes de positionnement global des conducteurs et des demandes de commande des utilisateurs.<\/p><p><strong>eBay<\/strong><\/p><p>Node.js permet aux plateformes de commerce &eacute;lectronique telles qu&rsquo;eBay de g&eacute;rer efficacement les appels d&rsquo;API provenant de services externes tels que les fournisseurs de services logistiques ou de paiement.&nbsp;<\/p><p>En outre, les d&eacute;veloppeurs peuvent mettre en &oelig;uvre s&eacute;par&eacute;ment des fonctions telles que la gestion des stocks et le chat en direct, et tirer parti de l&rsquo;efficacit&eacute; des op&eacute;rations d&rsquo;E\/S du moteur d&rsquo;ex&eacute;cution.&nbsp;<\/p><p><strong>PayPal<\/strong><\/p><p>Les applications de passerelle de paiement comme PayPal fonctionnent avec d&rsquo;autres API et logiciels interm&eacute;diaires pour permettre des transactions s&eacute;curis&eacute;es et crypt&eacute;es.&nbsp;<\/p><p>Node.js permet le traitement de donn&eacute;es en temps r&eacute;el &agrave; partir de nombreuses sources, y compris des microservices, pour des t&acirc;ches telles que la d&eacute;tection des fraudes.&nbsp;<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41471\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p>Node.js est un environnement d&rsquo;ex&eacute;cution qui vous permet d&rsquo;ex&eacute;cuter du code JavaScript sur le serveur pour le d&eacute;veloppement back-end. Il est construit sur le moteur V8 de Google, initialement pr&eacute;vu pour le navigateur web Chrome.<\/p><p>Node.js utilise une architecture asynchrone, non bloquante et ax&eacute;e sur les &eacute;v&eacute;nements. Ce moteur d&rsquo;ex&eacute;cution utilise un seul thread pour r&eacute;pondre &agrave; plusieurs requ&ecirc;tes simultan&eacute;es sans mise en file d&rsquo;attente, ce qui le rend adapt&eacute; aux applications &agrave; forte intensit&eacute; d&rsquo;entr&eacute;es\/sorties.&nbsp;<\/p><p>Le logiciel d&rsquo;ex&eacute;cution, y compris Node Package Manager (NPM), est pr&eacute;install&eacute; sur les plans d&rsquo;h&eacute;bergement Hostinger Node.js. Pour les autres fournisseurs, vous devrez probablement l&rsquo;installer manuellement &agrave; l&rsquo;aide de commandes ou de paquets binaires.<\/p><p>NPM vous permet d&rsquo;installer d&rsquo;autres frameworks et biblioth&egrave;ques pour compl&eacute;ter Node.js, comme React.js et Express.js. Ces technologies combin&eacute;es sont bien adapt&eacute;es aux applications d&rsquo;entreprise telles que PayPal, eBay et Uber.&nbsp;&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-qu-est-ce-que-node-js-faq\">Qu&rsquo;est-ce que Node.js &ndash; FAQ<\/h2><div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1731692453794\"><h3 class=\"schema-faq-question\">Node.js est-il un langage de programmation ou un framework ?<\/h3> <p class=\"schema-faq-answer\">Node.js n&rsquo;est ni un langage de programmation ni un cadre. Il s&rsquo;agit d&rsquo;un environnement d&rsquo;ex&eacute;cution JavaScript multiplateforme qui permet au langage de script de s&rsquo;ex&eacute;cuter en tant que code c&ocirc;t&eacute; serveur.&nbsp;<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1731692469705\"><h3 class=\"schema-faq-question\">Puis-je utiliser Node.js pour le d&eacute;veloppement front-end ?<\/h3> <p class=\"schema-faq-answer\">Bien que vous ne puissiez pas utiliser directement Node.js pour le d&eacute;veloppement front-end, il apporte des r&ocirc;les suppl&eacute;mentaires. Par exemple, vous pouvez utiliser des modules NPM sur le front-end &agrave; l&rsquo;aide d&rsquo;outils tels que Browserify. Plusieurs biblioth&egrave;ques front-end comme React.js s&rsquo;appuient &eacute;galement sur l&rsquo;environnement d&rsquo;ex&eacute;cution.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1731692478495\"><h3 class=\"schema-faq-question\">Node.js est-il adapt&eacute; &agrave; la cr&eacute;ation d&rsquo;applications web &eacute;volutives ?<\/h3> <p class=\"schema-faq-answer\">Absolument ! Node.js vous permet de construire des applications &eacute;volutives sous forme de composants plus petits et isol&eacute;s, appel&eacute;s microservices. Il est ainsi plus facile de faire &eacute;voluer votre projet, car vous pouvez choisir d&rsquo;am&eacute;liorer certains services sans affecter les autres.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Node.js est un environnement d&rsquo;ex&eacute;cution open-source et multiplateforme qui vous permet d&rsquo;ex&eacute;cuter JavaScript c&ocirc;t&eacute; serveur. L&rsquo;architecture de ce logiciel permet des transferts de donn&eacute;es efficaces, ce qui en fait un choix populaire pour la construction d&rsquo;applications en temps r&eacute;el et &eacute;volutives.&nbsp; Ce tutoriel vous apprendra les bases de Node.js, notamment son fonctionnement et ses applications [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/quest-ce-que-node-js\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":355,"featured_media":36245,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Qu'est-ce que Node.js ? Guide pour d\u00e9butants","rank_math_description":"Node.js est un moteur d'ex\u00e9cution JavaScript utilis\u00e9 pour cr\u00e9er des applications \u00e9volutives c\u00f4t\u00e9 serveur et en r\u00e9seau. En savoir plus ici !","rank_math_focus_keyword":"Qu'est-ce que Node.js","footnotes":""},"categories":[4760],"tags":[],"class_list":["post-36234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/what-is-node-js","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/o-que-e-node-js","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/quest-ce-que-node-js","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/que-es-node-js","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/node-js-adalah","default":0},{"locale":"ko-KR","link":"https:\/\/blog.hostinger.io\/kr\/tutorials\/what-is-node-js\/","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/what-is-node-js","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/what-is-node-js","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/what-is-node-js","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/que-es-node-js","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/que-es-node-js","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/que-es-node-js","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/o-que-e-node-js","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/what-is-node-js","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/what-is-node-js","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/what-is-node-js","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/what-is-node-js","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/36234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/355"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=36234"}],"version-history":[{"count":15,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/36234\/revisions"}],"predecessor-version":[{"id":43642,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/36234\/revisions\/43642"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/36245"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=36234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=36234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=36234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}