{"id":69424,"date":"2020-02-19T08:45:31","date_gmt":"2020-02-19T05:45:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js"},"modified":"2020-03-03T16:11:16","modified_gmt":"2020-03-03T13:11:16","slug":"proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","title":{"rendered":"\u041f\u0440\u043e\u0435\u043a\u0442 Deno \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">Disponible<\/a><\/noindex> lancement du projet <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/\">Deno 0.33<\/a><\/noindex>, offrant une plateforme similaire \u00e0 Node.js pour l'ex\u00e9cution isol\u00e9e d'applications en JavaScript et TypeScript, qui peut \u00eatre utilis\u00e9e pour ex\u00e9cuter des applications sans lien avec un navigateur, par exemple pour cr\u00e9er des gestionnaires fonctionnant sur un serveur. Deno utilise un moteur JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">V8<\/a><\/noindex>, qui est \u00e9galement utilis\u00e9 dans Node.js et les navigateurs bas\u00e9s sur le projet Chromium. Le code du projet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\">est distribu\u00e9<\/a><\/noindex> est sous licence MIT. Le projet est d\u00e9velopp\u00e9 par Ryan Dahl (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Ryan_Dahl\">Ryan Dahl<\/a><\/noindex>), le cr\u00e9ateur de la plateforme JavaScript Node.js. <\/p>\n<p>Un des principaux objectifs de la cr\u00e9ation de ce nouvel environnement d'ex\u00e9cution pour JavaScript est de fournir un environnement plus s\u00e9curis\u00e9. Pour am\u00e9liorer la s\u00e9curit\u00e9, l'enveloppe autour du moteur V8 est \u00e9crite en Rust, permettant d'\u00e9viter de nombreuses vuln\u00e9rabilit\u00e9s li\u00e9es \u00e0 un travail de bas niveau avec la m\u00e9moire, telles que l'acc\u00e8s \u00e0 une zone de m\u00e9moire apr\u00e8s sa lib\u00e9ration, la d\u00e9r\u00e9f\u00e9renciation de pointeurs nuls et le d\u00e9bordement de tampon. Pour traiter les requ\u00eates de mani\u00e8re non bloquante, la plateforme <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tokio-rs\/tokio\">Tokio<\/a><\/noindex>, \u00e9galement \u00e9crite en Rust. Tokio permet de cr\u00e9er des applications hautes performances bas\u00e9es sur une architecture orient\u00e9e \u00e9v\u00e9nements, prenant en charge la multithreading et le traitement des requ\u00eates r\u00e9seau de mani\u00e8re asynchrone.<\/p>\n<p>Principales <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/std\/manual.md\">caract\u00e9ristiques<\/a><\/noindex> Deno :<\/p>\n<ul>\n<li class=\"l\"> met l'accent sur la s\u00e9curit\u00e9 dans la configuration par d\u00e9faut. Les acc\u00e8s aux fichiers, les capacit\u00e9s r\u00e9seau et l'acc\u00e8s aux variables d'environnement sont par d\u00e9faut bloqu\u00e9s et n\u00e9cessitent une activation explicite ;\n<li class=\"l\"> prise en charge int\u00e9gr\u00e9e du langage TypeScript en plus de JavaScript ;\n<li class=\"l\"> Le runtime est fourni sous la forme d'un fichier ex\u00e9cutable autonome (&#171;deno&#187;). Pour ex\u00e9cuter des applications avec Deno, il suffit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">t\u00e9l\u00e9charg\u00e9e<\/a><\/noindex> pour sa plateforme, un fichier ex\u00e9cutable d'environ 10 Mo, sans d\u00e9pendances externes et ne n\u00e9cessitant pas d'installation particuli\u00e8re dans le syst\u00e8me ;\n<li class=\"l\"> Lors de l'ex\u00e9cution d'un programme, ainsi que pour le chargement de modules, il est possible d'utiliser des adresses par URL. Par exemple, pour ex\u00e9cuter le programme welcome.js, la commande &#171;deno https:\/\/deno.land\/std\/examples\/welcome.js&#187; peut \u00eatre utilis\u00e9e. Le code provenant de ressources externes est t\u00e9l\u00e9charg\u00e9 et mis en cache sur le syst\u00e8me local, mais n'est jamais mis \u00e0 jour automatiquement (pour mettre \u00e0 jour, il faut explicitement lancer l'application avec le drapeau &#171;&#8212;reload&#187;);\n<li class=\"l\"> Traitement efficace des requ\u00eates r\u00e9seau HTTP dans les applications, la plateforme est con\u00e7ue pour cr\u00e9er des applications r\u00e9seau tr\u00e8s performantes.\n<li class=\"l\"> Possibilit\u00e9 de cr\u00e9er des applications web universelles pouvant s'ex\u00e9cuter \u00e0 la fois dans Deno et dans un navigateur web classique.\n<li class=\"l\"> En plus du runtime, la plateforme Deno joue \u00e9galement le r\u00f4le de gestionnaire de paquets et permet d'acc\u00e9der aux modules par URL dans le code. Par exemple, pour charger un module, on peut sp\u00e9cifier dans le code &#171;import * as log from &#171;https:\/\/deno.land\/std\/log\/mod.ts&#187;. Les fichiers t\u00e9l\u00e9charg\u00e9s depuis des serveurs externes par URL sont mis en cache. La liaison aux versions des modules est d\u00e9finie par des num\u00e9ros de version dans l'URL, par exemple, &#171;https:\/\/unpkg.com\/liltest@0.0.5\/dist\/liltest.js&#187;;\n<li class=\"l\"> Le syst\u00e8me int\u00e8gre un inspecteur de d\u00e9pendances (commande \u00ab deno info \u00bb) et un outil de formatage de code (deno fmt).\n<li class=\"l\"> Pour les d\u00e9veloppeurs d'applications <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/tree\/master\/std\">a \u00e9t\u00e9 propos\u00e9<\/a><\/noindex> un ensemble de modules standard, ayant subi un audit suppl\u00e9mentaire et v\u00e9rifi\u00e9s pour la compatibilit\u00e9 ;\n<li class=\"l\"> Tous les scripts d'application peuvent \u00eatre combin\u00e9s en un seul fichier JavaScript.\n<\/ul>\n<p> Diff\u00e9rences avec Node.js :<\/p>\n<ul>\n<li class=\"l\"> Deno n'utilise pas le gestionnaire de paquets npm<br \/>\n et ne s'attache pas aux d\u00e9p\u00f4ts, l'adressage des modules se fait via URL ou chemin de fichier, et les modules eux-m\u00eames peuvent \u00eatre h\u00e9berg\u00e9s sur n'importe quel site ;<\/p>\n<li class=\"l\"> Deno n'utilise pas &#171;package.json&#187; pour d\u00e9finir les modules;\n<li class=\"l\"> Diff\u00e9rence d'API, toutes les actions asynchrones dans Deno retournent une promesse ;\n<li class=\"l\"> Deno exige une d\u00e9claration explicite de tous les pouvoirs n\u00e9cessaires pour les fichiers, le r\u00e9seau et les variables d'environnement ;\n<li class=\"l\"> Toutes les erreurs non g\u00e9r\u00e9es entra\u00eenent l'arr\u00eat de l'application ;\n<li class=\"l\"> Deno utilise un syst\u00e8me de modules ECMAScript et ne prend pas en charge require().\n<\/ul>\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=52387\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript \u0438 TypeScript, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0412 Deno \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a V8, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 Node.js \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Chromium. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 [&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-69424","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 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430.\" \/>\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\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js\" \/>\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\u041f\u0440\u043e\u0435\u043a\u0442 Deno \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js\" \/>\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=\"2020-02-19T05:45:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:11:16+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\udd47Le projet Deno d\u00e9veloppe une plateforme JavaScript s\u00e9curis\u00e9e, similaire \u00e0 Node.js | ProHoster","description":"La version du projet Deno 0.33 est d\u00e9sormais disponible, offrant quelque chose de similaire.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","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\u041f\u0440\u043e\u0435\u043a\u0442 Deno \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","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":"2020-02-19T05:45:31+00:00","article:modified_time":"2020-03-03T13:11:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"69424","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-02-28 19:23:35","updated":"2022-10-07 19:06:34","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\/69424","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=69424"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/69424\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=69424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=69424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=69424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}