{"id":39242,"date":"2019-10-31T22:28:38","date_gmt":"2019-10-31T19:28:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-servernoj-javascript-platformy-node-js-13-0\/"},"modified":"2019-10-31T22:28:38","modified_gmt":"2019-10-31T19:28:38","slug":"vypusk-servernoj-javascript-platformy-node-js-13-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-0","title":{"rendered":"Publication de la plateforme JavaScript serveur Node.js 13.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/blog\/release\/v13.0.0\/\">Disponible<\/a><\/noindex> la sortie <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\">Node.js 13.0<\/a><\/noindex>, des plateformes pour ex\u00e9cuter des applications r\u00e9seau en JavaScript. La stabilisation de l'ancienne branche Node.js 12.x a \u00e9galement \u00e9t\u00e9 achev\u00e9e, et celle-ci a \u00e9t\u00e9 class\u00e9e dans la cat\u00e9gorie des versions avec un support \u00e0 long terme, des mises \u00e0 jour \u00e9tant pr\u00e9vues pendant 4 ans. Le support de l'ancienne version LTS Node.js 10.0 se poursuivra jusqu'en avril 2021, tandis que celui de la version LTS pr\u00e9c\u00e9dente, 8.0, s'ach\u00e8vera en janvier 2020.<\/p>\n<p>Principales <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/node-js-12-to-lts-and-node-js-13-is-here-e28d6a4a2bd\">am\u00e9liorations<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Le moteur V8 a \u00e9t\u00e9 mis \u00e0 jour vers la version <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">7.8<\/a><\/noindex>, qui utilise de nouvelles m\u00e9thodes d'optimisation des performances, am\u00e9liore la d\u00e9structuration des objets, r\u00e9duit la consommation de m\u00e9moire et diminue le temps de pr\u00e9paration pour l'ex\u00e9cution de WebAssembly;\n<li class=\"l\"> La prise en charge compl\u00e8te de l'internationalisation et de l'Unicode est activ\u00e9e par d\u00e9faut, bas\u00e9e sur les biblioth\u00e8ques <noindex><a rel=\"nofollow\" href=\"http:\/\/site.icu-project.org\/\">ICU<\/a><\/noindex> (International Components for Unicode), permettant aux d\u00e9veloppeurs d'\u00e9crire du code <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/intl.html#intl_providing_icu_data_at_runtime\">qui prend en charge<\/a><\/noindex> le travail avec diff\u00e9rentes langues et localit\u00e9s. Le module full-icu est d\u00e9sormais install\u00e9 par d\u00e9faut;\n<li class=\"l\"> L'API <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/worker_threads.html\">Workers Threads<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@Trott\/using-worker-threads-in-node-js-80494136dbb6\">permettant<\/a><\/noindex> stabilise la cr\u00e9ation de boucles d'\u00e9v\u00e9nements multithreading. L'impl\u00e9mentation est bas\u00e9e sur le module worker_threads, qui permet d'ex\u00e9cuter du code JavaScript dans plusieurs fils d'ex\u00e9cution parall\u00e8les. Le support stable de l'API Workers Threads a \u00e9galement \u00e9t\u00e9 r\u00e9troport\u00e9 dans la branche LTS de Node.js 12.x;\n<li class=\"l\"> Des exigences pour les plateformes ont \u00e9t\u00e9 \u00e9lev\u00e9es. Pour la compilation, il faut d\u00e9sormais <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nodejs\/node\/blob\/master\/BUILDING.md#platform-list\">n\u00e9cessite<\/a><\/noindex> au moins macOS 10.11 (Xcode 10 requis), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7\/2008;\n<li class=\"l\"> La prise en charge de Python 3 a \u00e9t\u00e9 am\u00e9lior\u00e9e. En cas d'installation de Python 2 et Python 3 sur le syst\u00e8me, Python 2 sera toujours utilis\u00e9, mais la possibilit\u00e9 de compilation avec seulement Python 3 pr\u00e9sente a \u00e9t\u00e9 ajout\u00e9e;\n<li class=\"l\"> L'ancienne impl\u00e9mentation du parseur HTTP (&#171;&#8212;http-parser=legacy&#187;) a \u00e9t\u00e9 supprim\u00e9e. Les appels et propri\u00e9t\u00e9s obsol\u00e8tes tels que FSWatcher.prototype.start(), ChildProcess._channel, la m\u00e9thode open() dans les objets ReadStream et WriteStream, request.connection, response.connection, et module.createRequireFromPath() ont \u00e9t\u00e9 supprim\u00e9s ou class\u00e9s comme obsol\u00e8tes.\n<li class=\"l\"> Suivant <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/blog\/release\/v13.0.1\/\">est sorti<\/a><\/noindex> la mise \u00e0 jour 13.0.1, qui corrige plusieurs bogues. Cela inclut la r\u00e9solution d'un probl\u00e8me li\u00e9 \u00e0 l'affichage d'un avertissement dans npm 6.12.0 concernant l'utilisation d'une version non prise en charge.\n<\/ul>\n<p>Rappelons que la plateforme Node.js peut \u00eatre utilis\u00e9e \u00e0 la fois pour le soutien serveur des applications Web et pour cr\u00e9er des programmes r\u00e9seau clients et serveurs classiques. Pour \u00e9tendre la fonctionnalit\u00e9 des applications Node.js, une grande <noindex><a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/\">collection de modules<\/a><\/noindex>, dans laquelle vous pouvez trouver des modules pour l'impl\u00e9mentation de serveurs et de 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 aux bases de donn\u00e9es (MySQL, PostgreSQL, SQLite, MongoDB), des moteurs de template, des moteurs CSS, des impl\u00e9mentations d'algorithmes crypto et des syst\u00e8mes d'authentification (OAuth), des parseurs XML.<\/p>\n<p> Pour g\u00e9rer un grand nombre de requ\u00eates parall\u00e8les, Node.js utilise un mod\u00e8le asynchrone d'ex\u00e9cution de code, bas\u00e9 sur le traitement d'\u00e9v\u00e9nements de mani\u00e8re non bloquante et la d\u00e9finition de gestionnaires de callback. En tant que m\u00e9thodes de multiplexage des connexions, des techniques telles que epoll, kqueue, \/dev\/poll et select sont prises en charge. La biblioth\u00e8que utilis\u00e9e pour le multiplexage des connexions est <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/libuv\/libuv\">libuv<\/a><\/noindex>, qui est une surcouche de <noindex><a rel=\"nofollow\" href=\"http:\/\/software.schmorp.de\/pkg\/libev.html\">libev<\/a><\/noindex> dans les syst\u00e8mes Unix et sur IOCP sous Windows. Pour cr\u00e9er un pool de threads (thread pool), la biblioth\u00e8que <noindex><a rel=\"nofollow\" href=\"http:\/\/software.schmorp.de\/pkg\/libeio.html\">libeio<\/a><\/noindex>, pour effectuer des requ\u00eates DNS en mode non bloquant, est int\u00e9gr\u00e9e avec <noindex><a rel=\"nofollow\" href=\"http:\/\/c-ares.haxx.se\/\">c-ares<\/a><\/noindex>. Tous les appels syst\u00e8me qui entra\u00eenent un blocage sont ex\u00e9cut\u00e9s \u00e0 l'int\u00e9rieur du pool de threads et ensuite, tout comme les gestionnaires de signaux, ils transmettent le r\u00e9sultat de leur travail via un canal anonyme (pipe). L'ex\u00e9cution du code JavaScript est assur\u00e9e gr\u00e2ce \u00e0 l'utilisation du moteur d\u00e9velopp\u00e9 par Google, <noindex><a rel=\"nofollow\" href=\"http:\/\/code.google.com\/p\/v8\/\">V8<\/a><\/noindex> (en plus, Microsoft d\u00e9veloppe une variante de Node.js avec le moteur Chakra-Core).  <\/p>\n<p>Essentiellement, Node.js ressemble aux frameworks <noindex><a rel=\"nofollow\" href=\"http:\/\/search.cpan.org\/dist\/AnyEvent\/\">Perl AnyEvent<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eventmachine\/eventmachine\">Ruby Event Machine<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/twistedmatrix.com\/\">Python Twisted<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"http:\/\/wiki.tcl.tk\/1527\">l'impl\u00e9mentation<\/a><\/noindex> des \u00e9v\u00e9nements en Tcl, mais la boucle d'\u00e9v\u00e9nements (event loop) dans Node.js est cach\u00e9e du d\u00e9veloppeur et ressemble au 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 tenir compte de 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 l'ach\u00e8vement et le traitement ult\u00e9rieur des r\u00e9sultats, Node.js utilise le principe d'ex\u00e9cution asynchrone, c'est-\u00e0-dire que le code se transforme en \u00ab db.query(\u00ab select.. \u00bb, function (result) {traitement du r\u00e9sultat}); \u00bb, o\u00f9 le contr\u00f4le passera imm\u00e9diatement au code suivant, et le r\u00e9sultat de la requ\u00eate sera trait\u00e9 au fur et \u00e0 mesure que les donn\u00e9es arrivent. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51741\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.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. \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 Node.js 12.x, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \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, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 4 \u043b\u0435\u0442. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 10.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2021 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 8.0 \u0434\u043e \u044f\u043d\u0432\u0430\u0440\u044f 2020 \u0433\u043e\u0434\u0430. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 [&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-39242","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=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\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-13-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 13.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-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=\"2019-10-31T19:28:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:28:38+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\udd47Lancement de la plateforme JavaScript c\u00f4t\u00e9 serveur Node.js 13.0 | ProHoster","description":"La version Node.js 13.0 est disponible, une plateforme pour ex\u00e9cuter.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-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 13.0 | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 Node.js 13.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-13-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":"2019-10-31T19:28:38+00:00","article:modified_time":"2019-10-31T19:28:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39242","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":"2026-01-24 01:26:26","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:53:37","updated":"2026-01-24 01:26:26","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\/39242","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=39242"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/39242\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=39242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=39242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=39242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}