{"id":99981,"date":"2021-04-21T16:22:48","date_gmt":"2021-04-21T14:22:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-servernoj-javascript-platformy-node-js-16-0"},"modified":"2021-04-21T16:22:48","modified_gmt":"2021-04-21T14:22:48","slug":"vypusk-servernoj-javascript-platformy-node-js-16-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-0","title":{"rendered":"Lancement de la plateforme JavaScript serveur Node.js 16.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La version 16.0 de Node.js, une plateforme pour l'ex\u00e9cution d'applications r\u00e9seau en JavaScript, a \u00e9t\u00e9 publi\u00e9e. Node.js 16.0 est class\u00e9 comme une version avec un support \u00e0 long terme, mais ce statut ne sera attribu\u00e9 qu'en octobre, apr\u00e8s sa stabilisation. Le support de Node.js 16.0 sera assur\u00e9 jusqu'en avril 2023. Le soutien de l'ancienne version LTS de Node.js 14.0 se poursuivra jusqu'en avril 2023, tandis que l'ancienne version LTS 12.0 prendra fin en avril 2022. Le soutien de la version LTS 10.0 sera arr\u00eat\u00e9 dans 10 jours.        <\/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 9.0 (la version 8.6 \u00e9tait utilis\u00e9e dans Node.js 15), ce qui permet l'impl\u00e9mentation dans Node.js 16 de fonctionnalit\u00e9s telles que la propri\u00e9t\u00e9 \u00ab indices \u00bb pour les expressions r\u00e9guli\u00e8res (incluant un tableau avec les positions de d\u00e9but et de fin des groupes de correspondance), la m\u00e9thode Atomics.waitAsync (version asynchrone d'Atomics.wait), et la prise en charge de l'utilisation du mot-cl\u00e9 await dans les modules au niveau sup\u00e9rieur. L'appel des fonctions a \u00e9t\u00e9 acc\u00e9l\u00e9r\u00e9 lorsque le nombre d'arguments pass\u00e9s ne correspond pas aux param\u00e8tres d\u00e9finis dans la fonction.\n<li class=\"l\"> L'API Timers Promises a \u00e9t\u00e9 stabilis\u00e9e, offrant un ensemble alternatif de fonctions pour travailler avec les minuteries, retournant des objets Promise, ce qui permet d'\u00e9viter d'utiliser util.promisify(). import { setTimeout } from 'timers\/promises'; async function run() { await setTimeout(5000); console.log('Hello, World!'); } run();\n<li class=\"l\"> Une impl\u00e9mentation exp\u00e9rimentale de l'API Web Crypto a \u00e9t\u00e9 ajout\u00e9e, destin\u00e9e \u00e0 effectuer des op\u00e9rations cryptographiques de base c\u00f4t\u00e9 applications web, telles que la manipulation de hachages cryptographiques, la g\u00e9n\u00e9ration et la v\u00e9rification de signatures num\u00e9riques, le codage et le d\u00e9codage de donn\u00e9es utilisant diverses m\u00e9thodes de chiffrement, ainsi que la g\u00e9n\u00e9ration de nombres al\u00e9atoires cryptographiquement fiables. L'API comprend \u00e9galement des fonctions pour g\u00e9n\u00e9rer et g\u00e9rer des cl\u00e9s.\n<li class=\"l\"> N-API (API pour le d\u00e9veloppement d'extensions) a \u00e9t\u00e9 mis \u00e0 jour vers la version 8.\n<li class=\"l\"> Le passage \u00e0 une nouvelle version du gestionnaire de paquets NPM 7.10 a \u00e9t\u00e9 effectu\u00e9.\n<li class=\"l\"> La mise en \u0153uvre de la classe AbortController, bas\u00e9e sur le Web API AbortController, qui permet d'annuler des signaux dans les API bas\u00e9s sur Promise, a \u00e9t\u00e9 stabilis\u00e9e.\n<li class=\"l\"> Le support de la troisi\u00e8me version du format Source Map, utilis\u00e9 pour le mappage des modules g\u00e9n\u00e9r\u00e9s, trait\u00e9s ou empaquet\u00e9s avec le code source original, a \u00e9t\u00e9 stabilis\u00e9.\n<li class=\"l\"> Pour assurer la compatibilit\u00e9 avec les anciennes API Web, les m\u00e9thodes buffer.atob(data) et buffer.btoa(data) ont \u00e9t\u00e9 ajout\u00e9es.\n<li class=\"l\"> La cr\u00e9ation de builds pour les nouveaux appareils Apple \u00e9quip\u00e9s de la puce ARM M1 a commenc\u00e9.\n<li class=\"l\"> Sur la plateforme Linux, les exigences concernant la version du compilateur ont \u00e9t\u00e9 relev\u00e9es \u00e0 GCC 8.3.    <\/ul>\n<p>Rappelons que la plateforme Node.js peut \u00eatre utilis\u00e9e tant pour le support serveur des applications Web que pour la cr\u00e9ation de programmes r\u00e9seau classiques c\u00f4t\u00e9 client et serveur. Pour \u00e9tendre les fonctionnalit\u00e9s des applications Node.js, une vaste collection de modules a \u00e9t\u00e9 pr\u00e9par\u00e9e, dans laquelle on peut trouver des modules avec des impl\u00e9mentations  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/\"   title=\"serveurs\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1573\">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>Il convient \u00e9galement de noter que la soci\u00e9t\u00e9 Deno, fond\u00e9e par le cr\u00e9ateur de Node.js pour le d\u00e9veloppement de la nouvelle plateforme Deno, a re\u00e7u un investissement de 4,9 millions de dollars. Par sa nature, Deno est similaire \u00e0 Node.js, mais tente de corriger les erreurs conceptuelles commises dans l'architecture de Node.js et d'offrir aux utilisateurs un environnement plus s\u00e9curis\u00e9. Il est signal\u00e9 que les solutions commerciales de Deno seront bas\u00e9es sur des produits enti\u00e8rement ouverts, et le mod\u00e8le Open Core avec une fonctionnalit\u00e9 payante distincte est per\u00e7u comme inacceptable pour la plateforme Deno.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54998\">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 16.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 16.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 16.0 \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 2023 \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 14.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2023 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 12.0 [&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-99981","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 16.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\/vypusk-servernoj-javascript-platformy-node-js-16-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\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 16.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 16.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\/vypusk-servernoj-javascript-platformy-node-js-16-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=\"2021-04-21T14:22:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-04-21T14:22:48+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\udd47Sortie de la plateforme JavaScript c\u00f4t\u00e9 serveur Node.js 16.0 | ProHoster","description":"La sortie de Node.js 16.0, la plateforme d'ex\u00e9cution d'applications r\u00e9seau en JavaScript, a eu lieu.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-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\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 16.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 16.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\/vypusk-servernoj-javascript-platformy-node-js-16-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":"2021-04-21T14:22:48+00:00","article:modified_time":"2021-04-21T14:22:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99981","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-04-21 14:41:15","updated":"2026-02-09 16:50:50","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\/99981","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=99981"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/99981\/revisions"}],"predecessor-version":[{"id":158817,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/99981\/revisions\/158817"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=99981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=99981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=99981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}