{"id":115312,"date":"2024-04-25T09:22:49","date_gmt":"2024-04-25T07:22:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-javascript-platforma-node-js-22-0-0"},"modified":"2024-04-25T09:22:49","modified_gmt":"2024-04-25T07:22:49","slug":"dostupna-javascript-platforma-node-js-22-0-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","title":{"rendered":"La plateforme JavaScript Node.js 22.0.0 est disponible","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La version 22.0 de Node.js, la plateforme d'ex\u00e9cution d'applications r\u00e9seau en JavaScript, a \u00e9t\u00e9 publi\u00e9e. Node.js 22.0 est class\u00e9 parmi les versions avec support \u00e0 long terme, mais ce statut ne sera attribu\u00e9 qu'en octobre, apr\u00e8s une p\u00e9riode de stabilisation. Le support de Node.js 22.x sera assur\u00e9 jusqu'au 30 avril 2027. Le soutien pour la branche LTS pr\u00e9c\u00e9dente Node.js 20.x se poursuivra jusqu'en avril 2026, et pour la branche LTS ant\u00e9rieure 18.x jusqu'en avril 2025. Le soutien pour la branche interm\u00e9diaire Node.js 21.x cessera le 1er juin 2024.        <\/p>\n<p>Am\u00e9liorations principales :  <\/p>\n<ul>\n<li class=\"l\"> Le moteur V8 a \u00e9t\u00e9 mis \u00e0 jour vers la version 12.4, utilis\u00e9e dans Chromium 124. Parmi les changements par rapport \u00e0 la branche Node.js 21, qui utilisait le moteur V8 11.8, on peut noter :\n<ul>\n<li class=\"l\"> Support de l'extension WasmGC, facilitant le portage en WebAssembly des programmes \u00e9crits dans des langages de programmation utilisant un ramasse-miettes (Kotlin, PHP, Java, etc.). WasmGC ajoute de nouveaux types de structures et de tableaux pour lesquels une allocation de m\u00e9moire non lin\u00e9aire peut \u00eatre appliqu\u00e9e.\n<li class=\"l\"> Support de la m\u00e9thode Array.fromAsync(), qui renvoie en mode asynchrone une nouvelle instance de l'objet Array, copi\u00e9e \u00e0 partir d'objets semblables \u00e0 des tableaux, it\u00e9rables (iterable) ou it\u00e9rables asynchrones (async iterable).\n<li class=\"l\"> Support des m\u00e9thodes pour travailler avec les it\u00e9rateurs, telles que .map, .filter, .find, .take, .drop, .forEach et .reduce.\n<li class=\"l\"> Support de l'objet Set, qui d\u00e9finit une collection de valeurs et propose des m\u00e9thodes impl\u00e9mentant des op\u00e9rations typiques sur les ensembles, telles que les intersections, les unions, la diff\u00e9rence et le compl\u00e9ment.        <\/ul>\n<li class=\"l\"> Le compilateur JIT optimiseur Maglev est activ\u00e9 par d\u00e9faut, visant \u00e0 g\u00e9n\u00e9rer rapidement du code machine hautes performances pour le code JavaScript utilis\u00e9. L'activation de Maglev permet d'acc\u00e9l\u00e9rer consid\u00e9rablement le fonctionnement des applications CLI \u00e0 court terme, qui ne r\u00e9alisent pas d'op\u00e9rations longues ; par exemple, le temps de passage du test Jetstream est r\u00e9duit de 7,5 % et le test Speedometer de 5 %.\n<li class=\"l\"> Les performances avec les flux ont \u00e9t\u00e9 am\u00e9lior\u00e9es gr\u00e2ce \u00e0 l'augmentation de la valeur de l'option highWaterMark de 16 Ko \u00e0 65 Ko (d\u00e9finit la limite jusqu'\u00e0 laquelle le buffering d'\u00e9criture est effectu\u00e9). Ce changement entra\u00eene une augmentation de la consommation de m\u00e9moire, donc les applications con\u00e7ues pour fonctionner avec une quantit\u00e9 limit\u00e9e de RAM peuvent devoir revenir \u00e0 l'ancienne valeur en appelant setDefaultHighWaterMark().\n<li class=\"l\"> Les performances de l'API fetch() et du test runner ont \u00e9t\u00e9 am\u00e9lior\u00e9es gr\u00e2ce \u00e0 une meilleure efficacit\u00e9 de la cr\u00e9ation d'instances d'AbortSignal. Les performances des API li\u00e9es aux op\u00e9rations synchrones avec les syst\u00e8mes de fichiers ont \u00e9galement \u00e9t\u00e9 renforc\u00e9es.\n<li class=\"l\"> Une possibilit\u00e9 exp\u00e9rimentale a \u00e9t\u00e9 fournie pour utiliser l'appel &#171;require()&#187; afin de charger des modules JavaScript ESM (ECMAScript Modules) en mode synchrone. Les modules ESM sont utilis\u00e9s dans les navigateurs et remplacent les modules CommonJS sp\u00e9cifiques \u00e0 Node.js. Pour charger un module ESM via &#171;require()&#187;, il doit \u00eatre ex\u00e9cut\u00e9 en mode synchrone (sans await au niveau sup\u00e9rieur). La prise en charge est activ\u00e9e via le drapeau &#171;&#8212;experimental-require-module&#187;.\n<li class=\"l\"> Une possibilit\u00e9 exp\u00e9rimentale a \u00e9t\u00e9 ajout\u00e9e pour ex\u00e9cuter des scripts d\u00e9finis dans le fichier package.json en utilisant la commande &#171;&#8212;run &lt;script-in-package-json&gt;&#187;.\n<li class=\"l\"> La commande &#171;node &#8212;watch&#187; a \u00e9t\u00e9 class\u00e9e dans la cat\u00e9gorie stable, avec la mise en \u0153uvre d'un mode de surveillance qui red\u00e9marre le processus lors de la modification du fichier import\u00e9 (par exemple, lors de l'ex\u00e9cution de &#171;node &#8212;watch index.js&#187;, le processus sera automatiquement red\u00e9marr\u00e9 lors de la modification de index.js).\n<li class=\"l\"> L'impl\u00e9mentation int\u00e9gr\u00e9e de l'API WebSocket a \u00e9t\u00e9 stabilis\u00e9e, permettant d'utiliser WebSocket en mode client sans installer de d\u00e9pendances suppl\u00e9mentaires.\n<li class=\"l\"> Un support partiel de l'API Navigator a \u00e9t\u00e9 ajout\u00e9.\n<li class=\"l\"> Le format de compression deflate-raw a \u00e9t\u00e9 ajout\u00e9 au l'API Webstreams.\n<li class=\"l\"> Le module node:fsmodule a \u00e9t\u00e9 enrichi des fonctions glob et globSync pour le filtrage des chemins de fichiers selon un mod\u00e8le.\n<li class=\"l\"> Le traitement des piles IPv6 mal configur\u00e9es a \u00e9t\u00e9 am\u00e9lior\u00e9. L'algorithme 'Happy Eyeballs' a \u00e9t\u00e9 mis en \u0153uvre pour un retour rapide en cas de probl\u00e8mes de fonctionnement de l'IPv6.\n<li class=\"l\"> L'API util a \u00e9t\u00e9 d\u00e9clar\u00e9e obsol\u00e8te.\n<li class=\"l\"> Les versions des d\u00e9pendances ont \u00e9t\u00e9 mises \u00e0 jour : npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson 3.8.0, ada 2.7.7 et undici 6.6.0.    <\/ul>\n<p>La plateforme Node.js peut \u00eatre utilis\u00e9e \u00e0 la fois pour le soutien serveur des applications Web et pour la cr\u00e9ation de programmes r\u00e9seau clients et serveurs traditionnels. Pour \u00e9tendre la fonctionnalit\u00e9 des applications Node.js, une grande collection de modules a \u00e9t\u00e9 pr\u00e9par\u00e9e, o\u00f9 l'on peut trouver des modules avec impl\u00e9mentation.  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/\"   title=\"serveurs\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1550\">serveurs<\/a> et des clients HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, des modules pour l'int\u00e9gration avec divers frameworks web, des gestionnaires WebSocket et Ajax, des connecteurs vers des SGBD (MySQL, PostgreSQL, SQLite, MongoDB), des moteurs de templates, des moteurs CSS, des impl\u00e9mentations d'algorithmes cryptographiques et des syst\u00e8mes d'authentification (OAuth), des parseurs XML.    <\/p>\n<p> Pour traiter un grand nombre de requ\u00eates simultan\u00e9es, Node.js utilise un mod\u00e8le d'ex\u00e9cution de code asynchrone, bas\u00e9 sur le traitement d'\u00e9v\u00e9nements en mode non-bloquant et la d\u00e9finition de gestionnaires de callbacks. Pour le multiplexage des connexions, des m\u00e9thodes telles que epoll, kqueue, \/dev\/poll et select sont support\u00e9es. La biblioth\u00e8que libuv, qui est une surcouche de libev sur les syst\u00e8mes Unix et de IOCP sur Windows, est utilis\u00e9e pour le multiplexage des connexions. La biblioth\u00e8que libeio est utilis\u00e9e pour cr\u00e9er un pool de threads (thread pool), et c-ares est int\u00e9gr\u00e9 pour effectuer des requ\u00eates DNS en mode non-bloquant. Tous les appels syst\u00e8mes pouvant bloquer sont ex\u00e9cut\u00e9s \u00e0 l'int\u00e9rieur du pool de threads et, tout comme les gestionnaires de signaux, transmettent les r\u00e9sultats de leur travail via un canal anonyme (pipe).     <\/p>\n<p>L'ex\u00e9cution du code JavaScript est assur\u00e9e par le moteur V8 d\u00e9velopp\u00e9 par Google (en outre, Microsoft d\u00e9veloppe une version de Node.js avec le moteur Chakra-Core). En essence, Node.js ressemble aux frameworks Perl AnyEvent, Ruby Event Machine, Python Twisted et \u00e0 l'impl\u00e9mentation d'\u00e9v\u00e9nements en Tcl, mais la boucle d'\u00e9v\u00e9nements dans Node.js est cach\u00e9e du d\u00e9veloppeur et rappelle le traitement d'\u00e9v\u00e9nements dans une application web fonctionnant dans un navigateur.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61067\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 22.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u0432\u0435\u0442\u043a\u0430\u043c \u0441 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Node.js 22.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e 30 \u0430\u043f\u0440\u0435\u043b\u044f 2027 \u0433\u043e\u0434\u0430. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 20.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2026 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115312","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 22.0.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-04-25T07:22:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-25T07:22:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 La plateforme JavaScript Node.js 22.0.0 est disponible | ProHoster","description":"La version 22.0 de Node.js, la plateforme pour l'ex\u00e9cution d'applications r\u00e9seau en JavaScript, a \u00e9t\u00e9 publi\u00e9e.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 22.0.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-04-25T07:22:49+00:00","article:modified_time":"2024-04-25T07:22:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115312","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:21:17","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-22 23:06:19","updated":"2026-02-09 17:21:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/115312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=115312"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/115312\/revisions"}],"predecessor-version":[{"id":158794,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/115312\/revisions\/158794"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=115312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=115312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=115312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}