{"id":103835,"date":"2022-04-21T15:36:45","date_gmt":"2022-04-21T13:36:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-servernaya-javascript-platforma-node-js-18-0"},"modified":"2022-04-21T15:36:45","modified_gmt":"2022-04-21T13:36:45","slug":"dostupna-servernaya-javascript-platforma-node-js-18-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-18-0","title":{"rendered":"La plateforme JavaScript serveur Node.js 18.0 est disponible","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La sortie de Node.js 18.0 a eu lieu, une plateforme pour ex\u00e9cuter des applications r\u00e9seau en JavaScript. Node.js 18.0 est class\u00e9 dans les branches \u00e0 long terme de support, mais ce statut ne sera accord\u00e9 qu'en octobre, apr\u00e8s une p\u00e9riode de stabilisation. Le support de Node.js 18.x sera assur\u00e9 jusqu'en avril 2025. Le support de l'ancienne branche LTS Node.js 16.x se poursuivra jusqu'en avril 2024, tandis que pour l'avant-derni\u00e8re branche LTS 14.x, il durera jusqu'en avril 2023. Le support de la branche LTS 12.x prendra fin le 30 avril, et celui de la branche interm\u00e9diaire Node.js 17.x, le 1er juin.     <\/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 10.1, utilis\u00e9e dans Chromium 101. Par rapport \u00e0 la version Node.js 17.9.0, de nouvelles fonctionnalit\u00e9s ont \u00e9t\u00e9 ajout\u00e9es, comme les m\u00e9thodes findLast et findLastIndex pour rechercher des \u00e9l\u00e9ments \u00e0 partir de la fin d'un tableau, ainsi que la fonction Intl.supportedValuesOf. L'API Intl.Locale a \u00e9t\u00e9 am\u00e9lior\u00e9e. L'initialisation des champs de classe et des m\u00e9thodes priv\u00e9es a \u00e9t\u00e9 acc\u00e9l\u00e9r\u00e9e.\n<li class=\"l\"> L'API exp\u00e9rimentale fetch() est activ\u00e9e par d\u00e9faut, destin\u00e9e \u00e0 charger des ressources par r\u00e9seau. L'impl\u00e9mentation est bas\u00e9e sur le code du client HTTP\/1.1 undici et est au plus proche de l'API similaire propos\u00e9e dans les navigateurs. Cela comprend le support des interfaces FormData, Headers, Request et Response pour manipuler les en-t\u00eates HTTP des requ\u00eates et des r\u00e9ponses.         const res = await fetch('https:\/\/nodejs.org\/api\/documentation.json');     if (res.ok) {       const data = await res.json();       console.log(data);     }\n<li class=\"l\"> Une mise en \u0153uvre exp\u00e9rimentale de l'API Web Streams a \u00e9t\u00e9 ajout\u00e9e, qui permet d'acc\u00e9der aux flux de donn\u00e9es re\u00e7us par le r\u00e9seau. Cette API permet d\u2019ajouter ses propres gestionnaires pour traiter les donn\u00e9es \u00e0 mesure qu\u2019elles arrivent, sans avoir \u00e0 attendre le chargement complet du fichier. Dans Node.js, des objets tels que ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream et DecompressionStream sont d\u00e9sormais disponibles.\n<li class=\"l\"> L'API Blob, qui permet d'encapsuler des donn\u00e9es brutes immuables pour une utilisation s\u00e9curis\u00e9e dans diff\u00e9rents threads, est devenue stable.\n<li class=\"l\"> Le support de l'API BroadcastChannel a \u00e9t\u00e9 int\u00e9gr\u00e9, permettant d'organiser des \u00e9changes de messages en mode asynchrone selon le format \u00ab un exp\u00e9diteur - plusieurs destinataires \u00bb.\n<li class=\"l\"> Le module exp\u00e9rimental node:test a \u00e9t\u00e9 ajout\u00e9 pour cr\u00e9er et ex\u00e9cuter des tests en JavaScript, retournant les r\u00e9sultats au format TAP (Test Anything Protocol).\n<li class=\"l\"> Des ensembles pr\u00eats pour Red Hat Enterprise Linux (RHEL) 8 et d'autres distributions bas\u00e9es sur Glibc 2.28+, y compris Debian 10 et Ubuntu 20.04, ainsi que pour macOS 10.15+, ont \u00e9t\u00e9 fournis. En raison de probl\u00e8mes de construction du moteur V8, la cr\u00e9ation d'assemblages 32 bits pour Windows a \u00e9t\u00e9 temporairement suspendue.\n<li class=\"l\"> Une fonctionnalit\u00e9 exp\u00e9rimentale a \u00e9t\u00e9 ajout\u00e9e pour construire un fichier ex\u00e9cutable Node.js avec des composants s\u00e9lectionn\u00e9s par l'utilisateur, initialis\u00e9s au d\u00e9marrage. Pour d\u00e9finir les composants de d\u00e9marrage dans le script de construction configure, une option \u00ab --node-snapshot-main \u00bb a \u00e9t\u00e9 ajout\u00e9e, par exemple, \u00ab .\/configure --node-snapshot-main=marked.js; name node \u00bb.          <\/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=\"1641\">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 rappel (callback). Il prend en charge plusieurs m\u00e9thodes de multiplexage de connexions, telles que epoll, kqueue, \/dev\/poll et select. La biblioth\u00e8que libuv est utilis\u00e9e pour le multiplexage de connexions, qui est une couche au-dessus de libev dans les syst\u00e8mes Unix et de IOCP sous Windows. La cr\u00e9ation d'un pool de threads est g\u00e9r\u00e9e par la biblioth\u00e8que libeio, tandis que c-ares est int\u00e9gr\u00e9 pour ex\u00e9cuter des requ\u00eates DNS en mode non-bloquant. Tous les appels syst\u00e8me bloquants sont ex\u00e9cut\u00e9s dans le pool de threads et, comme les gestionnaires de signaux, transmettent leurs r\u00e9sultats via un canal anonyme (pipe). L'ex\u00e9cution de code JavaScript est assur\u00e9e par l'utilisation du moteur V8 d\u00e9velopp\u00e9 par Google (Microsoft d\u00e9veloppe \u00e9galement une version de Node.js avec le moteur Chakra-Core).        <\/p>\n<p>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 (event loop) dans Node.js est cach\u00e9e aux d\u00e9veloppeurs et rappelle le traitement des \u00e9v\u00e9nements dans une application web fonctionnant dans un navigateur. Lors de l'\u00e9criture d'applications pour Node.js, il est n\u00e9cessaire de prendre en compte la sp\u00e9cificit\u00e9 de la programmation orient\u00e9e \u00e9v\u00e9nements, par exemple, au lieu d'ex\u00e9cuter \u00ab var result = db.query(\u00ab select.. \u00bb); \u00bb en attendant la fin de l'ex\u00e9cution et le traitement ult\u00e9rieur des r\u00e9sultats, Node.js utilise le principe d'ex\u00e9cution asynchrone, c'est-\u00e0-dire que le code est transform\u00e9 en \u00ab db.query(\u00ab select.. \u00bb, fonction (resultat) { traitement du r\u00e9sultat }); \u00bb, o\u00f9 le contr\u00f4le passera imm\u00e9diatement au code suivant, tandis que le r\u00e9sultat de la requ\u00eate sera trait\u00e9 \u00e0 mesure que les donn\u00e9es arrivent.      <\/p>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57054\">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 18.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 18.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 18.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2025 \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 16.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2024 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 14.x [&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-103835","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 18.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-servernaya-javascript-platforma-node-js-18-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 18.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 18.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-servernaya-javascript-platforma-node-js-18-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=\"2022-04-21T13:36:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-04-21T13:36:45+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\udd47La plateforme JavaScript c\u00f4t\u00e9 serveur Node.js 18.0 est disponible | ProHoster","description":"La version 18.0 de Node.js, une 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-servernaya-javascript-platforma-node-js-18-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 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 18.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 18.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-servernaya-javascript-platforma-node-js-18-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":"2022-04-21T13:36:45+00:00","article:modified_time":"2022-04-21T13:36:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103835","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 18:12:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-04-21 13:37:16","updated":"2026-02-09 18:12:19","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\/103835","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=103835"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/103835\/revisions"}],"predecessor-version":[{"id":158885,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/103835\/revisions\/158885"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=103835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=103835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=103835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}