{"id":104906,"date":"2022-08-21T15:36:41","date_gmt":"2022-08-21T13:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov"},"modified":"2022-08-21T15:36:41","modified_gmt":"2022-08-21T13:36:41","slug":"vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","title":{"rendered":"Sortie de la biblioth\u00e8que standard C Cosmopolitan 2.0, d\u00e9velopp\u00e9e pour les fichiers ex\u00e9cutables portables.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La publication de la version 2.0 du projet Cosmopolitan a \u00e9t\u00e9 r\u00e9alis\u00e9e, d\u00e9veloppant la biblioth\u00e8que standard en C et un format universel de fichiers ex\u00e9cutables, pouvant \u00eatre utilis\u00e9 pour la distribution de programmes sur divers syst\u00e8mes d'exploitation sans recourir \u00e0 des interpr\u00e8tes ou des machines virtuelles. Le r\u00e9sultat obtenu via la compilation avec GCC et Clang est assembl\u00e9 dans un fichier ex\u00e9cutable universel statiquement li\u00e9, qui est apte \u00e0 \u00eatre ex\u00e9cut\u00e9 sur n'importe quelle distribution de Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD et m\u00eame \u00e0 \u00eatre appel\u00e9 depuis le BIOS. Le code du projet est distribu\u00e9 sous la licence ISC (version simplifi\u00e9e de MIT\/BSD).         <\/p>\n<p>Le conteneur pour la cr\u00e9ation de fichiers ex\u00e9cutables universels est bas\u00e9 sur la combinaison de segments et d'en-t\u00eates sp\u00e9cifiques \u00e0 diff\u00e9rents syst\u00e8mes d'exploitation (PE, ELF, MACHO, OPENBSD) dans un seul fichier, combinant plusieurs formats utilis\u00e9s sous Unix, Windows et macOS. Pour permettre l'ex\u00e9cution d'un seul fichier ex\u00e9cutable sous Windows et les syst\u00e8mes Unix, une astuce est appliqu\u00e9e, consistant \u00e0 encoder les fichiers Windows PE sous forme de script shell, en tirant parti du fait que le Thompson Shell n'utilise pas le marqueur de script \u00ab#!\u00bb. Pour cr\u00e9er des programmes incluant plusieurs fichiers (assemblage de toutes les ressources en un seul fichier), la g\u00e9n\u00e9ration d'un fichier ex\u00e9cutable sous forme d'une archive ZIP sp\u00e9cialement format\u00e9e est prise en charge. Le sch\u00e9ma du format propos\u00e9 (exemple de l'application hello.com):        <\/p>\n<p>     MZqFpD='     BIOS BOOT SECTOR'     exec 7 $(command -v $0)     printf '0177ELF\u2026LINKER-ENCODED-FREEBSD-HEADER' &gt; &amp;7     exec '$0' '$@'     exec qemu-x86_64 '$0' '$@'     exit 1     REAL MODE\u2026     ELF SEGMENTS\u2026     OPENBSD NOTE\u2026     MACHO HEADERS\u2026     CODE AND DATA\u2026     ZIP DIRECTORY\u2026      <\/p>\n<p>Au d\u00e9but du fichier, une \u00e9tiquette \u00abMZqFpD\u00bb est indiqu\u00e9e, interpr\u00e9t\u00e9e comme l'en-t\u00eate du format Windows PE. Cette s\u00e9quence est \u00e9galement d\u00e9cod\u00e9e en l'instruction \u00abpop %r10 ; jno 0x4a ; jo 0x4a\u00bb, et la cha\u00eene \u00abELF\u00bb en l'instruction \u00abjg 0x47\u00bb, qui sont utilis\u00e9es pour le transfert vers le point d'entr\u00e9e. Dans les syst\u00e8mes Unix, du code shell est ex\u00e9cut\u00e9, utilisant la commande exec en transmettant le code ex\u00e9cutable via un canal sans nom. La limitation de la m\u00e9thode propos\u00e9e est que l'ex\u00e9cution sur les OS assimil\u00e9s \u00e0 Unix n'est possible qu'avec des shells supportant le mode de compatibilit\u00e9 avec le Thompson Shell.       <\/p>\n<p>L'appel \u00e0 qemu-x86_64 est pr\u00e9vu pour r\u00e9aliser une portabilit\u00e9 suppl\u00e9mentaire et permet d'ex\u00e9cuter du code compil\u00e9 pour l'architecture x86_64 sur des plateformes autres que x86, comme sur des cartes Raspberry Pi et des appareils Apple \u00e9quip\u00e9s de processeurs ARM. Le projet peut \u00e9galement \u00eatre utilis\u00e9 pour cr\u00e9er des applications autonomes fonctionnant sans syst\u00e8me d'exploitation (bare metal). Dans de telles applications, un chargeur est attach\u00e9 au fichier ex\u00e9cutable, et le programme agit comme un syst\u00e8me d'exploitation charg\u00e9.         <\/p>\n<p>La biblioth\u00e8que standard C libc d\u00e9velopp\u00e9e dans le projet propose 2024 fonctions (le premier lancement comptait environ 1400 fonctions). En termes de performance, Cosmopolitan fonctionne aussi rapidement que glibc et devance nettement Musl et Newlib, tout en \u00e9tant un ordre de grandeur plus petite en taille de code que glibc et correspondant \u00e0 peu pr\u00e8s \u00e0 Musl et Newlib. Pour optimiser les fonctions souvent appel\u00e9es telles que memcpy et strlen, une technique de \u00abperformance par goutte-\u00e0-goutte\u00bb est \u00e9galement utilis\u00e9e, o\u00f9 un macro-wrapper est appliqu\u00e9 pour l'appel de fonction, permettant au compilateur d'\u00eatre inform\u00e9 des registres CPU utilis\u00e9s lors de l'ex\u00e9cution du code, ce qui permet d'\u00e9conomiser des ressources en sauvegardant uniquement les registres modifi\u00e9s.    <\/p>\n<p>Parmi les changements de la nouvelle version :  <\/p>\n<ul>\n<li class=\"l\"> Le sch\u00e9ma d'acc\u00e8s aux ressources internes \u00e0 l'int\u00e9rieur des fichiers zip a \u00e9t\u00e9 modifi\u00e9 (lors de l'ouverture des fichiers, des chemins habituels \/zip\/... sont d\u00e9sormais utilis\u00e9s au lieu de l'acc\u00e8s par le pr\u00e9fixe zip:..). De m\u00eame, pour l'acc\u00e8s aux disques sous Windows, il est d\u00e9sormais possible d'utiliser des chemins de type \u00ab \/c\/... \u00bb au lieu de \u00ab C:\/... \u00bb.\n<li class=\"l\"> Un nouveau chargeur APE (Actually Portable Executable) a \u00e9t\u00e9 propos\u00e9, d\u00e9finissant le format des fichiers ex\u00e9cutables universels. Ce nouveau chargeur utilise mmap pour placer le programme en m\u00e9moire et ne modifie plus le contenu \u00e0 la vol\u00e9e. Au besoin, un fichier ex\u00e9cutable universel peut \u00eatre converti en fichiers ex\u00e9cutables normaux li\u00e9s \u00e0 des plateformes sp\u00e9cifiques.\n<li class=\"l\"> Sur la plateforme Linux, la possibilit\u00e9 d'utiliser le module du noyau binfmt_misc pour ex\u00e9cuter des programmes APE a \u00e9t\u00e9 mise en \u0153uvre. Il est not\u00e9 que l'utilisation de binfmt_misc est le moyen le plus rapide de lancer.\n<li class=\"l\"> Pour Linux, une impl\u00e9mentation des fonctionnalit\u00e9s des appels syst\u00e8me pledge() et unveil(), d\u00e9velopp\u00e9es par le projet OpenBSD, est propos\u00e9e. Une API est fournie pour utiliser ces appels dans des programmes en C, C++, Python et Redbean, ainsi qu'un outil pledge.com pour isoler des processus arbitraires.\n<li class=\"l\"> Pour la compilation, l'outil Landlock Make a \u00e9t\u00e9 utilis\u00e9 \u2014 une \u00e9dition de GNU Make avec des v\u00e9rifications de d\u00e9pendances plus strictes et l'utilisation de l'appel syst\u00e8me Landlock pour isoler le programme du reste du syst\u00e8me et am\u00e9liorer l'efficacit\u00e9 du cache. La possibilit\u00e9 de compilation avec le GNU Make classique a \u00e9t\u00e9 conserv\u00e9e comme option.\n<li class=\"l\"> Des fonctions pour le multithreading ont \u00e9t\u00e9 mises en \u0153uvre \u2014 _spawn() et _join(), qui repr\u00e9sentent des wrappers universels pour les API sp\u00e9cifiques aux diff\u00e9rents syst\u00e8mes d'exploitation. Des travaux sont \u00e9galement en cours pour la prise en charge des threads POSIX.\n<li class=\"l\"> La possibilit\u00e9 d'utiliser le mot-cl\u00e9 _Thread_local pour des espaces de stockage sp\u00e9cifiques \u00e0 chaque thread (TLS, Thread-Local Storage) a \u00e9t\u00e9 offerte. Par d\u00e9faut, le runtime C initialise TLS pour le thread principal, ce qui a entra\u00een\u00e9 une augmentation de la taille minimale de l'ex\u00e9cutable de 12 \u00e0 16 Ko.\n<li class=\"l\"> Des param\u00e8tres \u00ab --ftrace \u00bb et \u00ab --strace \u00bb ont \u00e9t\u00e9 ajout\u00e9s aux fichiers ex\u00e9cutables pour afficher dans stderr des informations sur tous les appels de fonctions et les appels syst\u00e8me.\n<li class=\"l\"> Le support de l'appel syst\u00e8me closefrom(), pris en charge dans Linux 5.9+, FreeBSD 8+ et OpenBSD, a \u00e9t\u00e9 ajout\u00e9.\n<li class=\"l\"> Sur la plateforme Linux, les performances des appels clock_gettime et gettimeofday ont \u00e9t\u00e9 augment\u00e9es jusqu'\u00e0 10 fois gr\u00e2ce \u00e0 l'utilisation du m\u00e9canisme vDSO (objet partag\u00e9 dynamique virtuel), qui permet de transf\u00e9rer le gestionnaire d'appels syst\u00e8me dans l'espace utilisateur et d'\u00e9viter les commutations de contexte.\n<li class=\"l\"> Des fonctions math\u00e9matiques de la biblioth\u00e8que Musl ont \u00e9t\u00e9 transf\u00e9r\u00e9es pour travailler avec des nombres complexes. De nombreuses fonctions math\u00e9matiques ont \u00e9t\u00e9 acc\u00e9l\u00e9r\u00e9es.\n<li class=\"l\"> Une fonction nointernet() a \u00e9t\u00e9 propos\u00e9e, d\u00e9sactivant les capacit\u00e9s r\u00e9seau.\n<li class=\"l\"> De nouvelles fonctions pour la concat\u00e9nation efficace de cha\u00eenes ont \u00e9t\u00e9 ajout\u00e9es : appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf et vappendf.\n<li class=\"l\"> Une variante s\u00e9curis\u00e9e de la famille de fonctions kprintf(), con\u00e7ue pour un fonctionnement avec des privil\u00e8ges \u00e9lev\u00e9s, a \u00e9t\u00e9 ajout\u00e9e.\n<li class=\"l\"> Les performances des mises en \u0153uvre ont \u00e9t\u00e9 consid\u00e9rablement am\u00e9lior\u00e9es <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2309\">SSL<\/a>, SHA, curve25519 et RSA.      <\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57663\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 GCC \u0438 Clang \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Linux, macOS, Windows, [&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-104906","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=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\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-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\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\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\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=\"2022-08-21T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-08-21T13:36:41+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 biblioth\u00e8que standard en C Cosmopolitan 2.0, d\u00e9velopp\u00e9e pour des fichiers ex\u00e9cutables portables | ProHoster","description":"La version du projet Cosmopolitan 2.0 a \u00e9t\u00e9 publi\u00e9e, d\u00e9veloppant la biblioth\u00e8que standard en C et un format universel de fichiers ex\u00e9cutables pouvant \u00eatre utilis\u00e9 pour distribuer des programmes sur diff\u00e9rents syst\u00e8mes d'exploitation.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","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\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","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":"2022-08-21T13:36:41+00:00","article:modified_time":"2022-08-21T13:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104906","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":"2022-08-21 13:37:50","updated":"2026-02-09 17:29:04","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\/104906","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=104906"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/104906\/revisions"}],"predecessor-version":[{"id":159554,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/104906\/revisions\/159554"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=104906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=104906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=104906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}