{"id":53001,"date":"2019-11-21T00:00:00","date_gmt":"2019-11-20T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove"},"modified":"2020-02-18T14:00:50","modified_gmt":"2020-02-18T11:00:50","slug":"reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","title":{"rendered":"Version 19.3.0 de la machine virtuelle GraalVM et des impl\u00e9mentations de Python, JavaScript, Ruby et R bas\u00e9es sur celle-ci","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Soci\u00e9t\u00e9 Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/graal\/releases\/tag\/vm-19.3.0\">a publi\u00e9<\/a><\/noindex> publication de la machine virtuelle universelle <noindex><a rel=\"nofollow\" href=\"https:\/\/www.graalvm.org\/\">GraalVM 19.3.0<\/a><\/noindex>, prenant en charge l\u2019ex\u00e9cution d\u2019applications en JavaScript (Node.js), Python, Ruby, R, ainsi que dans d\u2019autres langages pour la JVM (Java, Scala, Clojure, Kotlin) et les langages pouvant g\u00e9n\u00e9rer du bytecode LLVM (C, C++, Rust). La branche 19.3 est class\u00e9e comme une version avec un long cycle de support (LTS) et <noindex><a rel=\"nofollow\" href=\"https:\/\/www.graalvm.org\/docs\/release-notes\/19_3\/\">est remarquable<\/a><\/noindex> pour son support <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=49336\">JDK 11<\/a><\/noindex>, y compris avec la possibilit\u00e9 de compiler du code Java en fichiers ex\u00e9cutables (GraalVM Native Image). Le code du projet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/graal\/\">est distribu\u00e9<\/a><\/noindex> sous licence GPLv2. De nouvelles versions des langages utilisant GraalVM, notamment Python, JavaScript, Ruby et R, ont \u00e9t\u00e9 publi\u00e9es simultan\u00e9ment \u2014  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/\">GraalPython<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graaljs\/\">GraalJS<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/truffleruby\/\">TruffleRuby<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/fastr\/\">FastR<\/a><\/noindex>. <\/p>\n<p>GraalVM <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48472\">propose<\/a><\/noindex> un compilateur JIT capable d'ex\u00e9cuter \u00e0 la vol\u00e9e dans la JVM du code provenant de divers langages de script, y compris JavaScript, Ruby, Python et R, et permettant aussi d\u2019ex\u00e9cuter du code natif dans la JVM, transform\u00e9 en bytecode LLVM. Les outils fournis par GraalVM comprennent un d\u00e9bogueur ind\u00e9pendant des langages, un syst\u00e8me de profilage et un analyseur de distribution de m\u00e9moire. GraalVM permet de cr\u00e9er des applications combin\u00e9es avec des composants dans diff\u00e9rents langages, permettant d'acc\u00e9der aux objets et tableaux depuis le code d'autres langages. Pour les langages bas\u00e9s sur la JVM, il existe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.graalvm.org\/docs\/reference-manual\/aot-compilation\/\">la possibilit\u00e9<\/a><\/noindex> la cr\u00e9ation de fichiers ex\u00e9cutables compil\u00e9s en code machine, pouvant \u00eatre ex\u00e9cut\u00e9s directement avec une consommation m\u00e9moire minimale (la gestion de la m\u00e9moire et des threads est r\u00e9alis\u00e9e via le framework <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/graal\/tree\/master\/substratevm\">Substrate VM<\/a><\/noindex>).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graaljs\/blob\/master\/CHANGELOG.md\">Modifications dans GraalJS<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> La compatibilit\u00e9 avec Node.js 12.10.0 a \u00e9t\u00e9 assur\u00e9e;\n<li class=\"l\"> Les propri\u00e9t\u00e9s et fonctions globales non standard sont d\u00e9sactiv\u00e9es par d\u00e9faut :<br \/>\n       global (remplac\u00e9 par globalThis, avec une option de configuration js.global-property pour le retour), performance (js.performance), print et printErr (js.print);<\/p>\n<li class=\"l\"> Les propositions Promise.allSettled et nullish coalescing ont \u00e9t\u00e9 mises en \u0153uvre, accessibles en mode ECMAScript 2020 (\u2014js.ecmascript-version=2020);\n<li class=\"l\"> Mises \u00e0 jour des d\u00e9pendances ICU4J \u00e0 64.2, ASM \u00e0 7.1.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/blob\/master\/CHANGELOG.md#version-1930\">Changements<\/a><\/noindex> dans GraalPython :<\/p>\n<ul>\n<li class=\"l\"> Ajout de stubs gc.{enable,disable,isenabled}, impl\u00e9mentation de charmap_build, sys.hexversion et _lzma;\n<li class=\"l\"> Mise \u00e0 jour de la biblioth\u00e8que standard Python 3.7.8;\n<li class=\"l\"> Ajout du support pour NumPy 1.16.4 et Pandas 0.25.0;\n<li class=\"l\"> Ajout du support pour timeit;\n<li class=\"l\">  socket.socket est d\u00e9sormais pr\u00eat \u00e0 ex\u00e9cuter \u00ab graalpython -m http.server \u00bb et \u00e0 charger des ressources http non chiffr\u00e9es (sans TLS);\n<li class=\"l\"> Correction des probl\u00e8mes li\u00e9s \u00e0 l'affichage des objets pandas.DataFrame,<br \/>\n    \u00e0 un traitement incorrect des tuples dans bytes.startswith,<br \/>\n    \u00e0 l'affectation destructrice des it\u00e9rateurs et \u00e0 l'utilisation de dict.__contains__ pour les dictionnaires;<\/p>\n<li class=\"l\"> Ajout du support de ast.PyCF_ONLY_AST, ce qui <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/issues\/53\">permet de<\/a><\/noindex> faire fonctionner pytest;\n<li class=\"l\"> Ajout\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/issues\/85\">la prise en charge<\/a><\/noindex> PEP 498 (interpolation de cha\u00eenes dans des litt\u00e9raux);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/issues\/43\">l'op\u00e9rateur de s\u00e9quence optionnelle<\/a><\/noindex>  le drapeau \u00ab \u2014python.EmulateJython \u00bb pour importer des classes JVM avec la syntaxe Python standard import et intercepter les exceptions JVM depuis le code Python;\n<li class=\"l\">  Am\u00e9lioration des performances du parseur, du cache des exceptions,<br \/>\n      de l'acc\u00e8s aux objets Python depuis le code JVM. Les r\u00e9sultats des tests de performance ont \u00e9t\u00e9 am\u00e9lior\u00e9s pour le code Python et les extensions natives (l'ex\u00e9cution des extensions natives au-dessus de llvm implique que le bitcode llvm est transmis \u00e0 GraalVM pour la compilation JIT).\n<\/ul>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/truffleruby\/releases\/tag\/vm-19.3.0\">Changements<\/a><\/noindex> dans TruffleRuby:<\/p>\n<ul>\n<li class=\"l\"> L'outil int\u00e9gr\u00e9 LLVM est d\u00e9sormais utilis\u00e9 pour compiler les extensions natives, g\u00e9n\u00e9rant \u00e0 la fois du code natif et du bitcode. Cela signifie que plus d'extensions natives devraient se compiler facilement, r\u00e9solvant la plupart des probl\u00e8mes d'assemblage;\n<li class=\"l\"> Installation distincte de LLVM pour l'installation des extensions natives dans TruffleRuby;\n<li class=\"l\"> L'installation de C++ extensions sur TruffleRuby ne n\u00e9cessite plus l'installation de libc++ et libc++abi;\n<li class=\"l\">    La licence a \u00e9t\u00e9 mise \u00e0 jour vers EPL 2.0\/GPL 2.0\/LGPL 2.1, comme dans le r\u00e9cent JRuby;\n<li class=\"l\"> Ajout d'un support pour les arguments optionnels dans GC.stat;\n<li class=\"l\"> La m\u00e9thode Kernel#load a \u00e9t\u00e9 impl\u00e9ment\u00e9e avec un wrapper et Kernel#spawn avec :chdir;\n<li class=\"l\"> Ajout de rb_str_drop_bytes, remarquable car utilis\u00e9e par OpenSSL;\n<li class=\"l\">    Extensions de gemmes pr\u00e9install\u00e9es n\u00e9cessaires pour rails new dans Rails 6;\n<li class=\"l\"> Des drapeaux similaires \u00e0 MRI ont \u00e9t\u00e9 utilis\u00e9s pour la compilation des extensions natives;\n<li class=\"l\"> Optimisations des performances et r\u00e9duction de la consommation de m\u00e9moire.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/fastr\/releases\/tag\/vm-19.3.0\">Changements<\/a><\/noindex> dans FastR:<\/p>\n<ul>\n<li class=\"l\"> Compatibilit\u00e9 assur\u00e9e avec R 3.6.1;\n<li class=\"l\"> Ajout du support pr\u00e9liminaire pour l'ex\u00e9cution d'extensions natives bas\u00e9es sur LLVM. Lors de la construction de paquets natifs R, FastR est configur\u00e9 pour utiliser l'outil int\u00e9gr\u00e9 LLVM de GraalVM. Les fichiers binaires r\u00e9sultants contiendront \u00e0 la fois du code natif et du bitcode LLVM.\n<p>Les paquets pr\u00e9install\u00e9s sont \u00e9galement construits de cette mani\u00e8re.<br \/>\n FastR charge et ex\u00e9cute du code natif d'extensions par d\u00e9faut, mais lorsqu'il est ex\u00e9cut\u00e9 avec l'option \u00ab \u2014R.BackEnd=llvm \u00bb, du bitcode sera utilis\u00e9. Le backend LLVM peut \u00eatre utilis\u00e9 s\u00e9lectivement pour certains paquets R en sp\u00e9cifiant \u00ab \u2014R.BackEndLLVM=pkg1,pkg2 \u00bb. En cas de probl\u00e8mes lors de l'installation des paquets, il est possible de revenir \u00e0 la configuration ant\u00e9rieure en appelant fastr.setToolchain(\u00ab native \u00bb) ou en modifiant manuellement le fichier $FASTR_HOME\/etc\/Makeconf;<\/p>\n<li class=\"l\"> Cette version de FastR est livr\u00e9e sans biblioth\u00e8ques d'ex\u00e9cution GCC;\n<li class=\"l\"> Fuites de m\u00e9moire corrig\u00e9es;\n<li class=\"l\"> Correction des probl\u00e8mes li\u00e9s \u00e0 la gestion des grands vecteurs (&gt;1 Go);\n<li class=\"l\"> grepRaw a \u00e9t\u00e9 impl\u00e9ment\u00e9, mais uniquement pour fixed=T.\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=51906\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b GraalVM 19.3.0, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 JavaScript (Node.js), Python, Ruby, R, \u043b\u044e\u0431\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u0434\u043b\u044f JVM (Java, Scala, Clojure, Kotlin) \u0438 \u044f\u0437\u044b\u043a\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0438\u0442\u043a\u043e\u0434 LLVM (C, C++, Rust). \u0412\u0435\u0442\u043a\u0430 19.3 \u043e\u0442\u043d\u0435\u0441\u0435\u043d\u0430 \u043a \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \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 (LTS) \u0438 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 JDK 11, \u0432 \u0442\u043e\u043c [&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-53001","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=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\" \/>\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\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove\" \/>\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\u0420\u0435\u043b\u0438\u0437 19.3.0 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b GraalVM \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 Python, JavaScript, Ruby \u0438 R \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove\" \/>\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-11-20T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:50+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 version 19.3.0 de la machine virtuelle GraalVM et des impl\u00e9mentations de Python, JavaScript, Ruby et R qui en sont issues | ProHoster","description":"Oracle a publi\u00e9 une version de la machine virtuelle universelle","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","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\u0420\u0435\u043b\u0438\u0437 19.3.0 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b GraalVM \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 Python, JavaScript, Ruby \u0438 R \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","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-11-20T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53001","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 05:41:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:33:28","updated":"2026-01-24 05:41:27","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\/53001","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=53001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/53001\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=53001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=53001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=53001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}