{"id":108413,"date":"2023-05-08T12:48:42","date_gmt":"2023-05-08T10:48:43","guid":{"rendered":"https:\/\/prohoster.info\/?p=108413"},"modified":"2023-05-08T16:10:08","modified_gmt":"2023-05-08T14:10:08","slug":"sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","title":{"rendered":"Le cr\u00e9ateur de LLVM d\u00e9veloppe un nouveau langage de programmation Mojo","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Chris Lattner, fondateur et architecte en chef de LLVM, ainsi que cr\u00e9ateur du langage de programmation Swift, et Tim Davis, ancien responsable des projets IA chez Google tels que TensorFlow et JAX, ont pr\u00e9sent\u00e9 un nouveau langage de programmation, Mojo, alliant simplicit\u00e9 pour la recherche et prototypage rapide \u00e0 l'aptitude \u00e0 cr\u00e9er des produits finaux hautes performances. Cela est rendu possible gr\u00e2ce \u00e0 la syntaxe famili\u00e8re du langage Python et \u00e0 sa capacit\u00e9 de compilation en code machine, \u00e0 des m\u00e9canismes de gestion de la m\u00e9moire s\u00fbrs et \u00e0 des outils pour l'acc\u00e9l\u00e9ration mat\u00e9rielle des calculs.    <\/p>\n<p>Le projet se concentre sur l'utilisation pour le d\u00e9veloppement dans le domaine de l'apprentissage automatique, tout en \u00e9tant pr\u00e9sent\u00e9 comme un langage g\u00e9n\u00e9raliste, \u00e9largissant les capacit\u00e9s du langage Python avec des outils de programmation syst\u00e8me et convenant \u00e0 un large \u00e9ventail de t\u00e2ches. Par exemple, le langage est applicable dans des domaines tels que l'informatique haute performance, le traitement et la transformation des donn\u00e9es. Une caract\u00e9ristique int\u00e9ressante de Mojo est la possibilit\u00e9 d'indiquer un symbole emoji &#171;&#128293;&#187; en tant qu'extension pour les fichiers de code (par exemple, &#171;helloworld.&#128293;&#187;), en plus de l'extension textuelle &#171;.mojo&#187;.       <\/p>\n<p>Actuellement, le langage est en phase de d\u00e9veloppement intensif et propose uniquement une interface en ligne pour les tests. Des versions distinctes pour une ex\u00e9cution sur les syst\u00e8mes locaux seront promises ult\u00e9rieurement, apr\u00e8s avoir recueilli des retours sur le fonctionnement de l'environnement web interactif. Le code source du compilateur, JIT et d'autres \u00e9l\u00e9ments li\u00e9s au projet est pr\u00e9vu d'\u00eatre rendu public apr\u00e8s la finalisation de l'architecture interne (le mod\u00e8le de d\u00e9veloppement d'un prototype fonctionnel derri\u00e8re des portes closes rappelle les premi\u00e8res \u00e9tapes de d\u00e9veloppement de LLVM, Clang et Swift). \u00c9tant donn\u00e9 que la syntaxe de Mojo est bas\u00e9e sur Python et que le syst\u00e8me de types est proche de C\/C++, des outils pour faciliter la transition vers Mojo de projets existants en C\/C++ et Python, ainsi que pour le d\u00e9veloppement de projets hybrides combinant le code en Python et Mojo, sont pr\u00e9vus pour l'avenir.        <\/p>\n<p>Le projet est con\u00e7u pour tirer parti des ressources mat\u00e9rielles existantes dans des syst\u00e8mes h\u00e9t\u00e9rog\u00e8nes pour ex\u00e9cuter des calculs. Par exemple, pour le d\u00e9veloppement d'applications en Mojo et le parall\u00e9lisme des calculs, des GPU, des acc\u00e9l\u00e9rateurs sp\u00e9cialis\u00e9s pour l'apprentissage automatique et des instructions de processeur vectoriel (SIMD) peuvent \u00eatre utilis\u00e9s. La raison du d\u00e9veloppement d'un sous-ensemble distinct du langage Python, au lieu de travailler sur l'optimisation de l'existant CPython, est l'orientation vers la compilation, l'int\u00e9gration des possibilit\u00e9s de programmation syst\u00e8me et l'application d'architectures internes fondamentalement diff\u00e9rentes permettant d'ex\u00e9cuter du code sur des GPU et divers acc\u00e9l\u00e9rateurs mat\u00e9riels. Les d\u00e9veloppeurs de Mojo souhaitent, autant que possible, maintenir la compatibilit\u00e9 avec CPython.            <\/p>\n<p>Mojo peut \u00eatre utilis\u00e9 \u00e0 la fois en mode interpr\u00e9tation avec JIT et pour la compilation en fichiers ex\u00e9cutables (AOT, ahead-of-time). Le compilateur int\u00e8gre des technologies modernes d'optimisation automatique, de mise en cache et de compilation distribu\u00e9e. Les sources \u00e9crites en Mojo sont transform\u00e9es en un code interm\u00e9diaire de bas niveau MLIR (Multi-Level Intermediate Representation), d\u00e9velopp\u00e9 dans le cadre du projet LLVM, offrant des possibilit\u00e9s suppl\u00e9mentaires pour l'optimisation du traitement des graphes de flux de donn\u00e9es. Le compilateur permet d'utiliser diff\u00e9rents backends supportant MLIR pour la g\u00e9n\u00e9ration de code machine.        <\/p>\n<p>L'utilisation de m\u00e9canismes mat\u00e9riels suppl\u00e9mentaires pour acc\u00e9l\u00e9rer les calculs permet d'atteindre une performance qui, lors de calculs intensifs, surpasse les applications en C\/C++. Par exemple, lors des tests d'une application pour g\u00e9n\u00e9rer des ensembles de Mandelbrot, l'application compil\u00e9e en Mojo, ex\u00e9cut\u00e9e sur le cloud AWS (r7iz.metal-16xl), s'est r\u00e9v\u00e9l\u00e9e six fois plus rapide qu'une impl\u00e9mentation en C++ (0,03 s contre 0,20 s), et \u00e9galement 35 000 fois plus rapide qu'une application en Python avec CPython 3.10.9 (0,03 s contre 1027 s), et 1500 fois plus rapide avec PYPY (0,03 s contre 46,1 s).    <\/p>\n<p>Lors de l'\u00e9valuation des performances dans le domaine des t\u00e2ches d'apprentissage automatique, la pile AI Modular Inference Engine, \u00e9crite dans le langage Mojo, s'est r\u00e9v\u00e9l\u00e9e trois fois plus rapide sur un syst\u00e8me avec un processeur Intel lors du traitement d'un mod\u00e8le de langage, 6,4 fois plus rapide lors de l'ex\u00e9cution d'un mod\u00e8le de recommandation et 2,1 fois plus rapide pour le traitement de mod\u00e8les d'informations visuelles. L'utilisation de processeurs AMD a permis un gain de 3,2, 5 et 2,2 fois, tandis que avec des processeurs ARM, les gains observ\u00e9s \u00e9taient de 5,3, 7,5 et 1,7 fois, respectivement. Le mod\u00e8le bas\u00e9 sur PyTorch \u00e9tait en retard par rapport \u00e0 Mojo de 1,4, 1,1 et 1,5 fois sur le CPU Intel, de 2,1, 1,2 et 1,5 fois sur le CPU AMD et de 4, 4,3 et 1,3 fois sur le CPU ARM.      <center><img decoding=\"async\" alt=\"Le cr\u00e9ateur de LLVM d\u00e9veloppe un nouveau langage de programmation Mojo\" src=\"\/wp-content\/uploads\/2023\/05\/df2598980ce4ed179ec3042d500235db.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>          <\/p>\n<p>Le langage prend en charge la typage statique et des outils pour un travail s\u00e9curis\u00e9 \u00e0 bas niveau avec la m\u00e9moire, rappelant les capacit\u00e9s du langage Rust, comme le suivi de la dur\u00e9e de vie des r\u00e9f\u00e9rences et la v\u00e9rification de l'emprunt des variables (borrow checker). En plus des outils pour un travail s\u00e9curis\u00e9 avec des pointeurs, le langage offre \u00e9galement des possibilit\u00e9s de travail \u00e0 bas niveau, par exemple, l'acc\u00e8s direct \u00e0 la m\u00e9moire en mode unsafe en utilisant le type Pointer, l'appel d'instructions SIMD sp\u00e9cifiques ou l'acc\u00e8s aux extensions mat\u00e9rielles telles que les TensorCores et l'AMX.    <center><img decoding=\"async\" alt=\"Le cr\u00e9ateur de LLVM d\u00e9veloppe un nouveau langage de programmation Mojo\" src=\"\/wp-content\/uploads\/2023\/05\/000b92c5bbb54eec64649b30a434be6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Pour simplifier la distinction entre le code Python classique et optimis\u00e9 pour les fonctions ayant une d\u00e9finition explicite des types pour toutes les variables, il est propos\u00e9 d'utiliser un mot-cl\u00e9 distinct &#171;fn&#187; au lieu de &#171;def&#187;. De m\u00eame, pour les classes, lorsque l'emballage statique des donn\u00e9es en m\u00e9moire pendant la compilation (comme en C) est n\u00e9cessaire, le type &#171;struct&#187; peut \u00eatre utilis\u00e9 \u00e0 la place de &#171;class&#187;. Un import simple de modules en C\/C++ est \u00e9galement possible, par exemple, pour importer la fonction cos de la biblioth\u00e8que math, on peut sp\u00e9cifier &#171;from &#171;math.h&#187; import cos&#187;.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59094\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo, \u0441\u043e\u0447\u0435\u0442\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0441 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u0435\u0440\u0432\u043e\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":108414,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-108413","post","type-post","status-publish","format-standard","has-post-thumbnail","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\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.\" \/>\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\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo\" \/>\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\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c LLVM \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo\" \/>\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-05-08T10:48:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-05-08T14:10:08+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\udd47 Le cr\u00e9ateur de LLVM d\u00e9veloppe un nouveau langage de programmation Mojo | ProHoster","description":"Chris Lattner, le fondateur et architecte principal de LLVM, ainsi que le cr\u00e9ateur du langage de programmation Swift, et Tim Davis, ancien responsable des projets AI chez Google, tels que Tensorflow et JAX.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","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\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c LLVM \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Mojo | ProHoster","og:description":"\u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u043d\u0435\u0440 (Chris Lattner), \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 LLVM, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift, \u0438 \u0422\u0438\u043c \u0414\u044d\u0432\u0438\u0441 (Tim Davis), \u0431\u044b\u0432\u0448\u0438\u0439 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Google, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Tensorflow \u0438 JAX.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/sozdatel-llvm-razvivaet-novyj-yazyk-programmirovaniya-mojo","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-05-08T10:48:43+00:00","article:modified_time":"2023-05-08T14:10:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/108413","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=108413"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/108413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/108414"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=108413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=108413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=108413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}