{"id":110721,"date":"2023-10-10T15:10:19","date_gmt":"2023-10-10T13:10:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android"},"modified":"2023-10-10T15:10:19","modified_gmt":"2023-10-10T13:10:19","slug":"google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","title":{"rendered":"Google a r\u00e9\u00e9crit le firmware pvmfm, utilis\u00e9 dans Android, en Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dans le cadre des efforts visant \u00e0 renforcer la s\u00e9curit\u00e9 des composants logiciels critiques de la plateforme Android, la soci\u00e9t\u00e9 Google a r\u00e9\u00e9crit en langage Rust le firmware pvmfm, utilis\u00e9 pour g\u00e9rer le fonctionnement des machines virtuelles lanc\u00e9es par l'hyperviseur pVM dans le cadre de l'Android Virtualization Framework. Auparavant, le firmware \u00e9tait \u00e9crit en langage C et impl\u00e9ment\u00e9 au-dessus du chargeur d'amor\u00e7age U-Boot, dont le code avait d\u00e9j\u00e0 r\u00e9v\u00e9l\u00e9 des vuln\u00e9rabilit\u00e9s dues \u00e0 des probl\u00e8mes de gestion de la m\u00e9moire.     <\/p>\n<p>Le firmware r\u00e9\u00e9crit en Rust est inclus dans Android 14, et les biblioth\u00e8ques polyvalentes cr\u00e9\u00e9es au cours du d\u00e9veloppement du firmware sont structur\u00e9 sous forme de paquets crate et ont \u00e9t\u00e9 transmises \u00e0 la communaut\u00e9 Rust. Par exemple, le paquet smccc a \u00e9t\u00e9 publi\u00e9 pour le support des interfaces ARM PSCI (Power State Coordination Interface) et des appels SMCCC (SMC Calling Convention), ainsi que le paquet aarch64-paging pour manipuler les tables de pages m\u00e9moire. Des efforts ont \u00e9galement \u00e9t\u00e9 d\u00e9ploy\u00e9s pour corriger les erreurs et \u00e9tendre les fonctionnalit\u00e9s du paquet existant virtio-drivers avec la mise en \u0153uvre de pilotes VirtIO. En plus de la plateforme Android, ces paquets sont utilis\u00e9s dans le projet Oak, qui d\u00e9veloppe des composants pour la transmission, le stockage et le traitement de donn\u00e9es dans des environnements s\u00e9curis\u00e9s (TEE, Trusted Execution Environment).        <\/p>\n<p>L'hyperviseur pVM prend le contr\u00f4le \u00e0 un stade pr\u00e9coce du d\u00e9marrage et assure une isolation compl\u00e8te de la m\u00e9moire <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/vps\/\"   title=\"machines virtuelles\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2070\">machines virtuelles<\/a> et de l'environnement h\u00f4te, emp\u00eachant l'acc\u00e8s aux machines virtuelles prot\u00e9g\u00e9es o\u00f9 des donn\u00e9es sensibles sont trait\u00e9es \u00e0 partir du syst\u00e8me h\u00f4te. Le firmware pvmfm (Protected Virtual Machine Firmware) prend le contr\u00f4le imm\u00e9diatement apr\u00e8s le d\u00e9marrage de la machine virtuelle, ex\u00e9cute une v\u00e9rification de l'environnement form\u00e9 et d\u00e9cide d'interrompre le d\u00e9marrage en cas de d\u00e9tection de probl\u00e8mes d'int\u00e9grit\u00e9 ou g\u00e9n\u00e8re un certificat de d\u00e9marrage pour le syst\u00e8me invit\u00e9 en cas de confirmation de la cha\u00eene de confiance.            <\/p>\n<p>La reprogrammation en Rust permet de mieux respecter la \u00ab r\u00e8gle des deux \u00bb appliqu\u00e9e par Google pour maintenir la s\u00e9curit\u00e9 des composants syst\u00e8me d'Android. Selon cette r\u00e8gle, tout code ajout\u00e9 ne doit pas \u00eatre soumis \u00e0 plus de deux conditions sur trois : travailler avec des donn\u00e9es d'entr\u00e9e non v\u00e9rifi\u00e9es, utiliser un langage de programmation non s\u00e9curis\u00e9 (C\/C++) et s'ex\u00e9cuter avec des privil\u00e8ges \u00e9lev\u00e9s. Il en ressort que le code traitant des donn\u00e9es externes doit \u00eatre soit r\u00e9duit \u00e0 des privil\u00e8ges minimaux (isol\u00e9), soit \u00e9crit dans un langage de programmation s\u00e9curis\u00e9. Selon Google, environ 70 % de toutes les vuln\u00e9rabilit\u00e9s dangereuses d\u00e9tect\u00e9es dans Android sont caus\u00e9es par des erreurs de gestion de la m\u00e9moire.     <\/p>\n<p>Rust est ax\u00e9 sur la s\u00e9curit\u00e9 de la gestion de la m\u00e9moire et permet de r\u00e9duire le risque d'apparition de vuln\u00e9rabilit\u00e9s caus\u00e9es par des probl\u00e8mes tels que l'acc\u00e8s \u00e0 la m\u00e9moire apr\u00e8s sa lib\u00e9ration et le d\u00e9passement de tampon. La gestion s\u00e9curis\u00e9e de la m\u00e9moire est assur\u00e9e en Rust lors de la compilation par la v\u00e9rification des r\u00e9f\u00e9rences, le suivi de la propri\u00e9t\u00e9 des objets et la prise en compte du temps de vie des objets (port\u00e9e), ainsi que par l'\u00e9valuation de la validit\u00e9 de l'acc\u00e8s \u00e0 la m\u00e9moire lors de l'ex\u00e9cution du code. Rust fournit \u00e9galement des moyens de protection contre les d\u00e9bordements d'entiers, exige une initialisation obligatoire des valeurs des variables avant utilisation, g\u00e8re mieux les erreurs dans la biblioth\u00e8que standard, applique le concept d'immuabilit\u00e9 (immutable) pour les r\u00e9f\u00e9rences et les variables par d\u00e9faut, et offre une forte typage statique pour minimiser les erreurs logiques.    <\/p>\n<p>Parmi les difficult\u00e9s rencontr\u00e9es lors du d\u00e9veloppement de composants bas niveau en Rust, tels que les pilotes, figure la n\u00e9cessit\u00e9 de travailler avec des pointeurs bruts en mode unsafe, car Rust a \u00e9t\u00e9 con\u00e7u en tenant compte de l'utilisation de la m\u00e9moire allou\u00e9e dans le programme, et dans le code fonctionnant sans couches au-dessus du mat\u00e9riel, il faut acc\u00e9der \u00e0 la m\u00e9moire partag\u00e9e et au MMIO. Actuellement, les capacit\u00e9s de Rust en mati\u00e8re de pointeurs bruts laissent \u00e0 d\u00e9sirer, mais la situation devrait s'am\u00e9liorer apr\u00e8s la stabilisation du support des macros offset_of, slice_ptr_get et slice_ptr_len.       <\/p>\n<p>Parmi les inconv\u00e9nients, on note \u00e9galement la n\u00e9cessit\u00e9 d'une syntaxe am\u00e9lior\u00e9e pour acc\u00e9der aux champs de structures et aux indices de tableaux via des pointeurs nus sans cr\u00e9er de r\u00e9f\u00e9rences, ainsi que des limitations dans la cr\u00e9ation d'encapsulations s\u00e9curis\u00e9es pour les op\u00e9rations unsafe, qui peuvent entra\u00eener un comportement ind\u00e9termin\u00e9 et ne peuvent pas \u00eatre v\u00e9rifi\u00e9es par le compilateur. Par exemple, de telles encapsulations ne peuvent \u00eatre cr\u00e9\u00e9es pour les op\u00e9rations sur les tables de pages m\u00e9moire, car le mappage des pages dans une partie du programme peut affecter d'autres parties.     <\/p>\n<p>En ce qui concerne la taille du code r\u00e9sultant, l'ancienne version du firmware pVM occupait 220 Ko, tandis que la nouvelle en occupe 460 Ko, mais des nouvelles fonctionnalit\u00e9s ont \u00e9t\u00e9 ajout\u00e9es dans la version r\u00e9\u00e9crite, permettant de se d\u00e9barrasser de certains autres composants utilis\u00e9s lors du d\u00e9marrage. Au final, la taille totale de tous les composants de d\u00e9marrage anciens et nouveaux s'est r\u00e9v\u00e9l\u00e9e comparable. Il est \u00e0 noter que lorsque la taille est plus importante que la performance, on peut obtenir des r\u00e9sultats comparables \u00e0 ceux du langage C en activant des modes d'optimisation suppl\u00e9mentaires dans le compilateur, en \u00e9liminant les d\u00e9pendances superflues et en n'utilisant pas de m\u00e9thodes de formatage de cha\u00eenes.    <\/p>\n<p>Il est \u00e9galement mentionn\u00e9 que le travail se poursuit sur la mise en \u0153uvre de la possibilit\u00e9 de lancer des applications dignes de confiance \u00e9crites en Rust (Trusted Application) dans le syst\u00e8me d'exploitation Trusty, qui fournit un environnement d'ex\u00e9cution de confiance (Trusted Execution Environment) pour Android, s'ex\u00e9cutant parall\u00e8lement \u00e0 Android sur le m\u00eame processeur dans un environnement isol\u00e9 distinct. Trusty est utilis\u00e9 dans les appareils Pixel et utilise d\u00e9j\u00e0 Rust dans les biblioth\u00e8ques et les composants syst\u00e8me (le noyau reste en C).<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59900\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u043c pVM \u0438\u0437 \u0441\u043e\u0441\u0442\u0430\u0432\u0430 Android Virtualization Framework. \u0420\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0432\u0435\u0440\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 U-Boot, \u0432 \u043a\u043e\u0434\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u043f\u0440\u0438 [&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-110721","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=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.\" \/>\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\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android\" \/>\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\udd47Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0432 Android | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android\" \/>\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=\"2023-10-10T13:10:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-10-10T13:10:19+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\udd47Google a r\u00e9\u00e9crit le firmware pvmfm en Rust, utilis\u00e9 dans Android | ProHoster","description":"Dans le cadre des efforts pour renforcer la s\u00e9curit\u00e9 des composants logiciels critiques de la plateforme Android, Google a r\u00e9\u00e9crit le firmware pvmfm en Rust, utilis\u00e9 pour organiser le fonctionnement des machines virtuelles.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","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\udd47Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0432 Android | ProHoster","og:description":"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","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":"2023-10-10T13:10:19+00:00","article:modified_time":"2023-10-10T13:10:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"110721","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 17:11:16","updated":"2026-02-09 17:11:16","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\/110721","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=110721"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/110721\/revisions"}],"predecessor-version":[{"id":159314,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/110721\/revisions\/159314"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=110721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=110721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=110721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}