{"id":379579,"date":"2024-06-21T09:02:39","date_gmt":"2024-06-21T09:02:39","guid":{"rendered":"https:\/\/pandorafms.com\/non-classifiee\/que-es-ebpf\/"},"modified":"2026-04-23T09:19:36","modified_gmt":"2026-04-23T09:19:36","slug":"quest-ce-que-lebpf","status":"publish","type":"post","link":"https:\/\/pandorafms.com\/fr\/it-topics\/quest-ce-que-lebpf\/","title":{"rendered":"Qu\u2019est-ce que l\u2019eBPF ? Un examen approfondi de l\u2019observabilit\u00e9 dans le noyau Linux"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00a0\u00bb1&Prime; admin_label=\u00a0\u00bbSection\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_row column_structure=\u00a0\u00bb1_4,3_4&Prime; _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb50px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_4&Prime; disabled_on=\u00a0\u00bbon|on|off\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb||||false|false\u00a0\u00bb sticky_position=\u00a0\u00bbtop\u00a0\u00bb sticky_offset_top=\u00a0\u00bb100px\u00a0\u00bb sticky_limit_bottom=\u00a0\u00bbsection\u00a0\u00bb motion_trigger_start=\u00a0\u00bbtop\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text admin_label=\u00a0\u00bbindice\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb||14px||false|false\u00a0\u00bb link_option_url=\u00a0\u00bb#1&Prime; global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<\/p>\n<p style=\"font-size: 0.9em; line-height: 1.4em; color: #333333;\"><strong>Sections<\/strong><\/p>\n<ul class=\"ittopicsul\">\n<li><a href=\"#1\">D\u00e9fis de d\u00e9veloppement du noyau Linux<\/a><\/li>\n<li><a href=\"#2\">Qu\u2019est-ce que l\u2019eBPF ?<\/a><\/li>\n<li><a href=\"#3\">Comment fonctionne l\u2019eBPF<\/a><\/li>\n<li><a href=\"#4\">Avantages de l\u2019eBPF<\/a><\/li>\n<li><a href=\"#5\">Meilleures pratiques eBPF<\/a><\/li>\n<li><a href=\"#6\">Inconv\u00e9nients de l&rsquo;eBPF<\/a><\/li>\n<li><a href=\"#7\">Cas d&rsquo;utilisation d&rsquo;eBPF<\/a><\/li>\n<li><a href=\"#8\">Applications d&rsquo;eBPF en observabilit\u00e9<\/a><\/li>\n<li><a href=\"#9\">Comment d\u00e9marrer avec eBPF<\/a><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00a0\u00bb3_4&Prime; _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text admin_label=\u00a0\u00bbseccion\u00a0\u00bb module_id=\u00a0\u00bb1&Prime; module_class=\u00a0\u00bbittopicscontent\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb z_index=\u00a0\u00bb0&Prime; custom_margin=\u00a0\u00bb0px||0px||true|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb hover_enabled=\u00a0\u00bb0&Prime; custom_css_main_element=\u00a0\u00bbfont-family:%22Pandora-Light%22;\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb sticky_enabled=\u00a0\u00bb0&Prime;]<\/p>\n<p>Le noyau du syst\u00e8me d\u2019exploitation Linux est le programme principal qui s\u2019ex\u00e9cute apr\u00e8s le d\u00e9marrage de l\u2019ordinateur et permet au mat\u00e9riel et aux logiciels de \u00ab communiquer entre eux \u00bb. Comprendre cela permet de comprendre plus facilement pourquoi la technologie eBPF exploite le syst\u00e8me d\u2019exploitation pour mettre en \u0153uvre l\u2019observabilit\u00e9, la s\u00e9curit\u00e9 et les performances du r\u00e9seau, ce qui est essentiel \u00e0 la connectivit\u00e9 exig\u00e9e par la num\u00e9risation des entreprises d\u2019aujourd\u2019hui.<\/p>\n<h2 id=\"1\">D\u00e9fis de d\u00e9veloppement du noyau Linux<\/h2>\n<p><a href=\"https:\/\/pandorafms.com\/blog\/es\/linux-computers\/\" target=\"_blank\" rel=\"noopener\">Linux <\/a>s\u2019est caract\u00e9ris\u00e9 par l\u2019ouverture et la collaboration tout au long de son \u00e9volution depuis ses origines dans les ann\u00e9es 90, ouvert aux modifications et aux redistributions au fil du temps. Ce mod\u00e8le de licence open source a g\u00e9n\u00e9r\u00e9 des contributions du monde entier, jetant les bases d\u2019un d\u00e9veloppement collaboratif. Il est clair qu\u2019il y avait initialement un certain scepticisme quant \u00e0 la viabilit\u00e9 et au potentiel de Linux, car \u00e0 cette \u00e9poque, les syst\u00e8mes propri\u00e9taires \u00e9taient pr\u00e9f\u00e9r\u00e9s et l\u2019id\u00e9e d\u2019un syst\u00e8me d\u2019exploitation libre et d\u00e9velopp\u00e9 en collaboration soulevait des doutes. Cependant, l\u2019ouverture et l\u2019inclusion de Linux ont attir\u00e9 les d\u00e9veloppeurs en raison de la possibilit\u00e9 d\u2019utiliser, de modifier et de distribuer librement un syst\u00e8me, une tendance qui se poursuit encore aujourd\u2019hui.<\/p>\n<h3>Solution : Extended Berkeley Packet Filter (<a href=\"https:\/\/ebpf.io\/what-is-ebpf\/\" target=\"_blank\" rel=\"nofollow noopener\">eBPF<\/a>)<\/h3>\n<p>Les capacit\u00e9s du noyau ont continu\u00e9 \u00e0 s\u2019\u00e9tendre, pouss\u00e9es par la collaboration et l\u2019intelligence collective par les contributions des d\u00e9veloppeurs du monde entier. \u00c0 cela s\u2019est ajout\u00e9e l\u2019adoption d\u2019Internet : au d\u00e9but des ann\u00e9es 90, Internet en \u00e9tait encore \u00e0 ses d\u00e9buts et les ing\u00e9nieurs souhaitaient trouver des moyens de mieux comprendre le trafic circulant sur leurs r\u00e9seaux. BPF a \u00e9t\u00e9 con\u00e7u pour fournir un moyen de le faire sans avoir \u00e0 modifier le code de tous les serveurs d\u2019une organisation ou \u00e0 dupliquer le code du noyau et \u00e0 le mettre \u00e0 jour avec des instructions d\u2019instrumentation.<\/p>\n<h2 id=\"2\">Qu\u2019est-ce que l\u2019eBPF ?<\/h2>\n<p>BPF signifiait \u00e0 l\u2019origine Berkeley Packet Filter et \u00e9tait utilis\u00e9 pour enregistrer toutes les communications entrantes et sortantes <a href=\"https:\/\/es.wikipedia.org\/wiki\/Protocolo_de_control_de_transmisi%C3%B3n\" target=\"_blank\" rel=\"nofollow noopener\">TCP<\/a> sur un serveur. Bien que cette approche n\u00e9cessite moins de travail que la modification du code sur tous les serveurs, elle n\u00e9cessitait tout de m\u00eame des efforts importants pour cr\u00e9er le code et le d\u00e9ployer sur tous les serveurs de l\u2019organisation, et elle ne pouvait accepter que les paquets avec un hachage sign\u00e9 dans l\u2019en-t\u00eate. Lorsqu\u2019un paquet entrant arrivait, le programme BPF \u00e9tait d\u00e9marr\u00e9 et l\u2019en-t\u00eate \u00e9tait v\u00e9rifi\u00e9 pour voir si la valeur attendue \u00e9tait pr\u00e9sente. En fonction des r\u00e9sultats, le paquet a \u00e9t\u00e9 accept\u00e9 ou rejet\u00e9. Cependant, il ne s\u2019agissait plus seulement d\u2019un filtrage, alors une version de BPF \u00e9tendu ou eBPF est n\u00e9e.<\/p>\n<h3>Diff\u00e9rences entre eBPF et GMP<\/h3>\n<p>Comme nous l\u2019avons d\u00e9j\u00e0 mentionn\u00e9, BPF est actuellement utilis\u00e9 \u00e0 diverses fins au-del\u00e0 de la simple analyse et du filtrage du trafic r\u00e9seau, en \u00e9tendant ses fonctions et sa compatibilit\u00e9 avec 64 octets, ce qui permet une plus grande collecte et stockage d\u2019informations. En effet, depuis la sortie du noyau 3.18, des filtres de paquets \u00e9tendus Berkeley (eBPF) ont \u00e9t\u00e9 cr\u00e9\u00e9s pour enregistrer presque tous les \u00e9v\u00e9nements du noyau. Les eBPF peuvent stocker et \u00e9changer plus de donn\u00e9es et \u00eatre utilis\u00e9s \u00e0 diverses fins, notamment la supervision, le suivi et l\u2019optimisation des fonctions du noyau.<br \/>\nDans le code source de Linux, on observe que le terme BPF persiste ; et dans les outils et la documentation, les termes BPF et eBPF sont g\u00e9n\u00e9ralement utilis\u00e9s de mani\u00e8re interchangeable. Il a \u00e9galement \u00e9t\u00e9 constat\u00e9 que le BPF original est parfois appel\u00e9 cBPF (BPF classique) pour le distinguer de l\u2019eBPF.<\/p>\n<h2 id=\"3\">Comment fonctionne l\u2019eBPF<\/h2>\n<p>Pour comprendre comment l\u2019eBPF est utilis\u00e9, il est important de comprendre les concepts cl\u00e9s :<\/p>\n<ul class=\"lista\">\n<li><strong>Hooks pr\u00e9d\u00e9finis.<\/strong> Les programmes eBPF s\u2019ex\u00e9cutent en fonction des \u00e9v\u00e9nements qui les d\u00e9clenchent : une application (ou le noyau) franchit un seuil appel\u00e9 point de terminaison. Les hooks sont pr\u00e9d\u00e9finis et incluent les \u00e9v\u00e9nements r\u00e9seau, les appels syst\u00e8me ou sys, l\u2019entr\u00e9e et la sortie de fonction et les points de trace du noyau. S\u2019il n\u2019y a pas de liaison pr\u00e9d\u00e9finie pour une exigence particuli\u00e8re, une sonde utilisateur ou un noyau (uprobe ou ksonde) peut \u00eatre cr\u00e9\u00e9.<\/li>\n<li><strong>V\u00e9rification du programme.<\/strong> Une fois qu\u2019une liaison est identifi\u00e9e, l\u2019appel syst\u00e8me BPF peut \u00eatre utilis\u00e9 pour charger le programme eBPF correspondant dans le noyau Linux. Cela implique l\u2019utilisation d\u2019une biblioth\u00e8que eBPF. Lorsqu\u2019un programme est charg\u00e9 dans le noyau, il est v\u00e9rifi\u00e9 pour s\u2019assurer qu\u2019il peut \u00eatre ex\u00e9cut\u00e9 en toute s\u00e9curit\u00e9, en tenant compte de conditions telles que :\n<ul class=\"lista\">\n<li>Le programme ne peut \u00eatre charg\u00e9 qu\u2019\u00e0 l\u2019aide d\u2019un processus eBPF privil\u00e9gi\u00e9 (sauf indication contraire).<\/li>\n<li>Le programme n\u2019endommagera pas ou ne plantera pas le syst\u00e8me.<\/li>\n<li>Le programme fonctionnera toujours jusqu\u2019\u00e0 la fin (il ne restera pas dans une boucle sans fin).<\/li>\n<\/ul>\n<\/li>\n<li><strong>Cartes eBPF.<\/strong> Un programme eBPF doit \u00eatre capable de stocker son \u00e9tat et de partager les donn\u00e9es collect\u00e9es. Les cartes eBPF peuvent aider les programmes \u00e0 r\u00e9cup\u00e9rer et \u00e0 stocker des informations selon une vari\u00e9t\u00e9 de structures de donn\u00e9es. Les utilisateurs peuvent acc\u00e9der aux cartes eBPF via des appels syst\u00e8me, \u00e0 la fois \u00e0 partir de programmes eBPF et d\u2019applications. Les types de cartes sont les tables ou les tableaux de hachage, les tampons circulaires, le suivi de pile ou la correspondance de pr\u00e9fixes plus longues, entre autres.<\/li>\n<li><strong>Appels d\u2019aide (helper calls). <\/strong>Un programme eBPF ne peut pas appeler arbitrairement une fonction du noyau, car la compatibilit\u00e9 doit \u00eatre maintenue ; donc les eBPF utilisent des fonctions d\u2019assistance pour faire des appels de fonction. Les fonctions d\u2019assistance sont des API (interfaces) fournies par le noyau et peuvent \u00eatre facilement ajust\u00e9es.<br \/>\nLes helper calls permettent aux programmes de g\u00e9n\u00e9rer des nombres al\u00e9atoires, de recevoir la date et l\u2019heure actuelles, d\u2019acc\u00e9der aux cartes eBPF, de manipuler la logique de transfert et les paquets r\u00e9seau, entre autres.<\/li>\n<li><strong>Appel de fonction (function call) et appel de queue (tail call)<\/strong> Ces appels signifient que les programmes eBPF peuvent \u00eatre constitu\u00e9s de plusieurs \u00e9l\u00e9ments. Les appels de fonction vous permettent de d\u00e9finir et d\u2019appeler des fonctions dans un programme. Les appels de file d\u2019attente permettent \u00e0 d\u2019autres programmes eBPF de s\u2019ex\u00e9cuter. Ils peuvent \u00e9galement modifier le contexte d\u2019ex\u00e9cution.<\/li>\n<\/ul>\n<h3>Processus d\u2019ex\u00e9cution du programme eBPF<\/h3>\n<p>eBPF permet aux d\u00e9veloppeurs d\u2019\u00e9crire de petits programmes qui peuvent \u00eatre attach\u00e9s \u00e0 diff\u00e9rents points du noyau pour intercepter et traiter des donn\u00e9es. G\u00e9n\u00e9ralement \u00e9crits dans un sous-ensemble du langage de programmation C, les programmes sont ensuite compil\u00e9s dans le bytecode eBPF, qui est ensuite charg\u00e9 dans le noyau et ex\u00e9cut\u00e9. Contrairement aux modules de noyau traditionnels, les programmes eBPF sont faciles \u00e0 d\u00e9ployer et \u00e0 g\u00e9rer, car ils ne n\u00e9cessitent pas de modifications ou de compilation du code source du noyau.<\/p>\n<p>Le programme eBPF suit une s\u00e9rie d\u2019\u00e9tapes lorsqu\u2019il s\u2019ex\u00e9cute dans le noyau Linux :<\/p>\n<ul class=\"lista\">\n<li>Une fois le programme eBPF \u00e9crit, il est compil\u00e9 dans le bytecode eBPF. Le r\u00e9sultat est une repr\u00e9sentation ind\u00e9pendante de la plate-forme du programme eBPF qui peut \u00eatre ex\u00e9cut\u00e9e dans le noyau.<\/li>\n<li>Ensuite, le bytecode eBPF est charg\u00e9 dans le noyau. Le processus de chargement implique la v\u00e9rification de la s\u00e9curit\u00e9 et de la compatibilit\u00e9 du bytecode avec le noyau en cours d\u2019ex\u00e9cution, et l\u2019allocation des ressources n\u00e9cessaires \u00e0 l\u2019ex\u00e9cution du programme eBPF.<\/li>\n<li>Une fois le programme eBPF charg\u00e9, il peut \u00eatre attach\u00e9 \u00e0 un \u00e9v\u00e9nement sp\u00e9cifique du noyau, tel qu\u2019un paquet r\u00e9seau ou un appel syst\u00e8me.<\/li>\n<li>Lorsque l\u2019\u00e9v\u00e9nement de noyau attach\u00e9 se produit, il ex\u00e9cute automatiquement le programme eBPF. Le programme eBPF peut acc\u00e9der aux donn\u00e9es associ\u00e9es \u00e0 l\u2019\u00e9v\u00e9nement et les modifier, en utilisant la programmation C standard, comme les bloops et les conditionnels.<\/li>\n<li>Une fois que le programme eBPF a trait\u00e9 les donn\u00e9es, il peut renvoyer un r\u00e9sultat au noyau. Par exemple, un programme eBPF attach\u00e9 \u00e0 une interface r\u00e9seau peut supprimer un paquet s\u2019il r\u00e9pond \u00e0 certains crit\u00e8res, ou un programme eBPF attach\u00e9 \u00e0 un appel syst\u00e8me peut modifier les arguments transmis \u00e0 l\u2019appel avant de l\u2019autoriser \u00e0 continuer.<\/li>\n<li>Lorsque le programme eBPF n\u2019est plus n\u00e9cessaire, il peut \u00eatre t\u00e9l\u00e9charg\u00e9 \u00e0 partir du noyau, lib\u00e9rant ainsi les ressources allou\u00e9es au programme eBPF et garantissant qu\u2019il ne s\u2019ex\u00e9cutera plus lorsque l\u2019\u00e9v\u00e9nement de noyau attach\u00e9 se produit.<\/li>\n<\/ul>\n<p>Il est \u00e0 noter que l\u2019une des principales caract\u00e9ristiques d\u2019eBPF est ses garanties de s\u00e9curit\u00e9. Les programmes eBPF s\u2019ex\u00e9cutent sur une machine virtuelle restreinte au sein du noyau et ne peuvent pas acc\u00e9der directement aux structures de donn\u00e9es du noyau ou les modifier, ni provoquer des failles de s\u00e9curit\u00e9 ou des vuln\u00e9rabilit\u00e9s. En outre, les programmes eBPF sont soumis \u00e0 diverses v\u00e9rifications d\u2019ex\u00e9cution, telles que la v\u00e9rification des limites et la v\u00e9rification du type, pour s\u2019assurer qu\u2019ils ne violent pas la s\u00e9curit\u00e9 de la m\u00e9moire ou d\u2019autres propri\u00e9t\u00e9s de s\u00e9curit\u00e9.<\/p>\n<p><img decoding=\"async\" class=\"imgpostcapture lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/pandorafms.com\/wp-content\/uploads\/2024\/06\/ebpf-pfms-blog.png\"><\/p>\n<h2 id=\"4\">Avantages de l\u2019eBPF<\/h2>\n<p>La mise en \u0153uvre de l\u2019eBPF pr\u00e9sente des avantages tels que :<\/p>\n<ul class=\"lista\">\n<li><strong>Vitesse et performances : <\/strong>eBPF est une solution universelle et efficace que les d\u00e9veloppeurs utilisent pour assurer les performances et la stabilit\u00e9 des syst\u00e8mes.<\/li>\n<li><strong>Faible intrusivit\u00e9 :<\/strong> Comme les programmes eBPF s\u2019ex\u00e9cutent dans le noyau Linux, ils fonctionnent avec une surcharge minimale par rapport aux programmes traditionnels de l\u2019espace utilisateur.<\/li>\n<li><strong>S\u00e9curit\u00e9:<\/strong> eBPF visualise et explique les appels syst\u00e8me, ce qui permet de contr\u00f4ler les processus r\u00e9seau.<\/li>\n<li><strong>Commodit\u00e9 :<\/strong> La technologie n\u00e9cessite une configuration minimale par rapport aux autres solutions afin que les d\u00e9veloppeurs puissent d\u00e9ployer rapidement leurs applications dans des environnements de production avec le moins d\u2019effort possible.<\/li>\n<li><strong>Tra\u00e7abilit\u00e9 unifi\u00e9e : <\/strong>Avec eBPF, les donn\u00e9es sur les performances des applications et services bas\u00e9s sur Linux peuvent \u00eatre collect\u00e9es via des programmes s\u2019ex\u00e9cutant dans l\u2019espace noyau. Ces donn\u00e9es peuvent \u00eatre utilis\u00e9es pour r\u00e9soudre les probl\u00e8mes de performances.<\/li>\n<li><strong>Programmabilit\u00e9 : <\/strong>Les d\u00e9veloppeurs utilisant eBPF peuvent \u00e9crire de nouvelles fonctionnalit\u00e9s qui n\u2019auraient pas pu \u00eatre ex\u00e9cut\u00e9es auparavant en raison de limitations techniques ou de probl\u00e8mes de s\u00e9curit\u00e9. Avec eBPF, vous pouvez \u00e9crire des applications qui tirent parti de l&rsquo;acc\u00e9l\u00e9ration mat\u00e9rielle sur des p\u00e9riph\u00e9riques int\u00e9gr\u00e9s tels que Raspberry Pi (un micro-ordinateur peu co\u00fbteux qui peut \u00eatre ins\u00e9r\u00e9 dans un moniteur ou un t\u00e9l\u00e9viseur) ou d&rsquo;autres syst\u00e8mes bas\u00e9s sur ARM, qui est une architecture de processeur largement utilis\u00e9e sur les appareils mobiles, les serveurs et les syst\u00e8mes embarqu\u00e9s.<\/li>\n<li><strong>Expressivit\u00e9 : <\/strong>Avec eBPF, il est possible d&rsquo;extraire des donn\u00e9es d&rsquo;observabilit\u00e9 de s\u00e9curit\u00e9 qui aident les d\u00e9veloppeurs d&rsquo;applications \u00e0 suivre les applications, \u00e0 fournir des informations pour la r\u00e9solution des probl\u00e8mes de performance, \u00e0 appliquer la s\u00e9curit\u00e9 lors de l&rsquo;ex\u00e9cution des applications et des conteneurs, entre autres.<\/li>\n<\/ul>\n<h2 id=\"5\">Meilleures pratiques eBPF<\/h2>\n<ul class=\"lista\">\n<li><strong>Compilation avec LLVM et Clang :<\/strong> Clang est utilis\u00e9 pour compiler des programmes eBPF \u00e0 partir du code C et s&rsquo;appuie sur LLVM comme backend pour assurer la correction et la s\u00e9curit\u00e9.<\/li>\n<li><strong>Utilisation de la bo\u00eete \u00e0 outils BCC :<\/strong> BCC est un ensemble d&rsquo;outils pour cr\u00e9er des programmes efficaces de manipulation et de suivi du noyau et comprend des exemples utiles.<\/li>\n<li><strong>Utilisation des fonctions auxiliaires d&rsquo;eBPF :<\/strong> Utilisation de la connexion de petits programmes efficaces \u00e0 plusieurs hooks du noyau pour obtenir une visibilit\u00e9 et une supervision des capacit\u00e9s, assurer la s\u00e9curit\u00e9 du r\u00e9seau et des conteneurs\/microservices des applications, ainsi que d\u00e9tecter\/pr\u00e9venir les intrusions et renforcer les politiques de s\u00e9curit\u00e9.<\/li>\n<li><strong>Utilisation de cartes pour partager des donn\u00e9es : <\/strong>Les cartes eBPF peuvent \u00eatre partag\u00e9es entre des ex\u00e9cutions cons\u00e9cutives de programmes, entre le noyau et l&rsquo;espace utilisateur ou, selon le cas d&rsquo;utilisation, entre diff\u00e9rents programmes eBPF, quelles que soient les interfaces auxquelles ils sont connect\u00e9s.<\/li>\n<li><strong>Supervision des limites de ressources : <\/strong>La supervision de la capacit\u00e9 des ressources permet de mettre en \u0153uvre des actions pr\u00e9ventives de la part des employ\u00e9s informatiques.<\/li>\n<li><strong>Validation des entr\u00e9es utilisateur : <\/strong>Des programmes eBPF personnalis\u00e9s peuvent \u00eatre cr\u00e9\u00e9s pour faire respecter les contr\u00f4les d&rsquo;acc\u00e8s, r\u00e9guler l&rsquo;utilisation des ressources et prot\u00e9ger les composants sensibles du syst\u00e8me contre les manipulations.<\/li>\n<li><strong>Maintenance \u00e0 jour du noyau : <\/strong>Les fabricants de mat\u00e9riel font des progr\u00e8s constants, de sorte que la mise \u00e0 niveau permet d&rsquo;int\u00e9grer de nouvelles technologies, en plus d&rsquo;am\u00e9liorer les performances.<\/li>\n<li><strong>Utilisation des biblioth\u00e8ques et des frameworks eBPF : <\/strong>Les frameworks et les biblioth\u00e8ques de supervision eBPF permettent un suivi efficace des processus et des \u00e9v\u00e9nements r\u00e9seau, ainsi que l&rsquo;analyse des symboles de d\u00e9bogage du noyau.<\/li>\n<li><strong>Documentation du code : <\/strong>La documentation aide les d\u00e9veloppeurs \u00e0 suivre les applications et \u00e0 garder une trace de la r\u00e9solution des probl\u00e8mes de performance.<\/li>\n<\/ul>\n<h2 id=\"6\">Inconv\u00e9nients de l&rsquo;eBPF<\/h2>\n<ul class=\"lista\">\n<li><strong>Limitations de portabilit\u00e9 : <\/strong>L&rsquo;utilisation d&rsquo;eBPF pour effectuer un traitement intensif de CPU ou de paquet par paquet ne serait pas efficace car il faudrait construire une structure et effectuer une recherche pour chaque paquet, ce qui peut devenir co\u00fbteux.<\/li>\n<li><strong>Limitations des programmes sandboxed : <\/strong>Une chose est s\u00fbre : eBPF n&rsquo;a pas \u00e9t\u00e9 con\u00e7u pour la supervision de la s\u00e9curit\u00e9. Les programmes sandboxed ont leurs limites :\n<ul class=\"\">\n<li><strong>M\u00e9moire :<\/strong> Ils fonctionnent dans un espace m\u00e9moire restreint.<\/li>\n<li><strong>Syscall :<\/strong> Ils ne peuvent effectuer que des syscalls sp\u00e9cifiques autoris\u00e9s par le v\u00e9rificateur eBPF.<\/li>\n<li><strong>Acc\u00e8s aux structures de donn\u00e9es du noyau :<\/strong> L&rsquo;acc\u00e8s direct aux structures de donn\u00e9es du noyau est restreint.<\/li>\n<li><strong>Acc\u00e8s au syst\u00e8me de fichiers :<\/strong> Ils ne peuvent pas lire ou \u00e9crire des fichiers directement.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"7\">Cas d&rsquo;utilisation d&rsquo;eBPF<\/h2>\n<ul class=\"lista\">\n<li><strong>Supervision du syst\u00e8me en temps r\u00e9el.<\/strong> Contrairement aux indicateurs et compteurs statiques, eBPF permet la g\u00e9n\u00e9ration d&rsquo;\u00e9v\u00e9nements de visibilit\u00e9 ainsi que la collecte et l&rsquo;agr\u00e9gation de m\u00e9triques personnalis\u00e9es en temps r\u00e9el. Cela augmente la profondeur de la visibilit\u00e9 qui peut \u00eatre atteinte et r\u00e9duit consid\u00e9rablement la surcharge globale du syst\u00e8me.\n<\/li>\n<li><strong>S\u00e9curit\u00e9 informatique.<\/strong> eBPF permet de d\u00e9tecter et d&rsquo;enqu\u00eater sur les anomalies dans les op\u00e9rations, telles qu&rsquo;un processus inhabituel d\u00e9marr\u00e9 dans un syst\u00e8me, et de suivre leur comportement pour d\u00e9terminer quelles ressources tentent d&rsquo;acc\u00e9der ou quelles donn\u00e9es sont transmises sur le r\u00e9seau. De cette fa\u00e7on, eBPF compl\u00e8te et aide \u00e0 soutenir d&rsquo;autres processus dans le cadre des syst\u00e8mes de s\u00e9curit\u00e9 qui prot\u00e8gent votre serveur.<\/li>\n<li><strong>R\u00e9seaux.<\/strong> La possibilit\u00e9 d&rsquo;inspecter tous les \u00e9v\u00e9nements de r\u00e9seau et les flux de trafic r\u00e9seau entrant et sortant d&rsquo;un syst\u00e8me et de d\u00e9terminer quels processus interagissent avec eux aide les administrateurs \u00e0 r\u00e9soudre les probl\u00e8mes de r\u00e9seau. Il fournit \u00e9galement un contexte qui peut \u00eatre utile lorsque l&rsquo;on cherche \u00e0 d\u00e9terminer si un probl\u00e8me de performance avec une application est caus\u00e9 par un \u00e9v\u00e9nement r\u00e9seau ou par l&rsquo;application elle-m\u00eame.<\/li>\n<li><strong>Supervision des performances des applications.<\/strong> Des mesures de performance peuvent \u00eatre calcul\u00e9es pour des applications, des microservices et des processus individuels de mani\u00e8re granulaire. Cela permet d&rsquo;\u00e9tablir des profils de performance et de suivre en permanence les anomalies. Avec eBPF, il n&rsquo;est pas n\u00e9cessaire de d\u00e9ployer et de configurer des agents pour suivre chaque application ou processus.<\/li>\n<li><strong>Polyvalence.<\/strong> Contrairement aux outils de supervision traditionnels, principalement ax\u00e9s sur la consommation de ressources syst\u00e8me, le profilage eBPF fournit une compr\u00e9hension granulaire de la quantit\u00e9 d&rsquo;UCT, de m\u00e9moire et de ressources r\u00e9seau consomm\u00e9e par une application ou un processus sp\u00e9cifique. Ces donn\u00e9es d\u00e9taill\u00e9es permettent d&rsquo;identifier les applications gourmandes en ressources, de d\u00e9finir les optimisations possibles et de prendre des d\u00e9cisions \u00e9clair\u00e9es sur la migration des charges de travail.<\/li>\n<\/ul>\n<h2 id=\"8\">Applications d&rsquo;eBPF en observabilit\u00e9<\/h2>\n<p><strong>Acc\u00e8s aux \u00e9v\u00e9nements de bas niveau du syst\u00e8me :<strong> eBPF permet la collecte et l&rsquo;agr\u00e9gation dans le noyau de m\u00e9triques personnalis\u00e9es, \u00e0 l&rsquo;aide d&rsquo;\u00e9v\u00e9nements de visibilit\u00e9 et de structures de donn\u00e9es provenant de diverses sources sans avoir \u00e0 exporter d&rsquo;\u00e9chantillons.<\/p>\n<p><strong>Applications en s\u00e9curit\u00e9, performance et mise en r\u00e9seau :<\/strong> eBPF est utilis\u00e9 pour fournir des moyens plus efficaces et plus s\u00fbrs de g\u00e9rer les applications conteneuris\u00e9es et d&rsquo;analyser les performances des syst\u00e8mes. Par exemple :<\/p>\n<ul class=\"lista\">\n<li><a href=\"https:\/\/falco.org\/blog\/falco-modern-bpf-0-35-0\/\" target=\"_blank\" rel=\"nofollow noopener\">Le projet Falco<\/a> utilise eBPF pour assurer la s\u00e9curit\u00e9 au moment de l&rsquo;ex\u00e9cution pour les applications en conteneurs.<\/li>\n<li><a href=\"https:\/\/github.com\/cilium\/cilium\" target=\"_blank\" rel=\"nofollow noopener\">Le projet Cilium<\/a> utilise eBPF pour effectuer le filtrage r\u00e9seau, l&rsquo;\u00e9quilibrage de charge et m\u00eame la s\u00e9curit\u00e9 dans l&rsquo;espace du noyau, ce qui am\u00e9liore l&rsquo;efficacit\u00e9 des applications conteneuris\u00e9es.<\/li>\n<li><a href=\"https:\/\/github.com\/iovisor\/bcc\" target=\"_blank\" rel=\"nofollow noopener\">BCC<\/a> (BPF Compiler Collection) est un ensemble d&rsquo;outils et de biblioth\u00e8ques utilis\u00e9s par eBPF pour le suivi et l&rsquo;analyse des performances des syst\u00e8mes Linux.<\/li>\n<\/ul>\n<h2 id=\"9\">Comment d\u00e9marrer avec eBPF<\/h2>\n<p>Maintenant que vous savez comment tirer parti de eBPF, de ses avantages et de ses consid\u00e9rations, il ne vous reste plus qu&rsquo;\u00e0 partager avec vous quelques recommandations pour commencer \u00e0 utiliser eBPF. L&rsquo;enrichissement d&rsquo;eBPF fait partie des contributions de d\u00e9veloppeurs ind\u00e9pendants, nous pouvons donc vous fournir des liens vers des ressources et des outils dont vous pouvez profiter :<\/p>\n<ul class=\"lista\">\n<li><a href=\"https:\/\/github.com\/iovisor\/bcc\" target=\"_blank\" rel=\"nofollow noopener\">BCC Toolkit<\/a>, avec des outils et des exemples d&rsquo;utilisation d&rsquo;eBPF et de ressources de programmation en C et Python.<\/li>\n<li><a href=\"https:\/\/ebpf.io\/infrastructure\" target=\"_blank\" rel=\"nofollow noopener\">Page d&rsquo;infrastructure eBPF<\/a>, o\u00f9 vous pouvez trouver les compilateurs de l&rsquo;infrastructure LLVM et GCC, y compris les codes de programme, les contributions sur les lacunes \u00e0 r\u00e9soudre et les blogs de support, entre autres.<\/li>\n<li><a href=\"https:\/\/ebpf.io\/\" target=\"_blank\" rel=\"nofollow noopener\">Cas de r\u00e9ussite mondiaux d&rsquo;utilisation de eBPF<\/a>, tels que Google, Netflix, Android, Cloudflare, Android, Microsoft, entre autres.<\/li>\n<li><a href=\"https:\/\/www.linuxfoundation.org\/blog\/ebpf-the-technology-that-enables-customizable-observable-and-high-performing-linux-programs-a-whitepaper-from-the-linux-foundation\" target=\"_blank\" rel=\"nofollow noopener\">Linux Foundation<\/a>, o\u00f9 vous trouverez des informations int\u00e9ressantes sur la communaut\u00e9 impliqu\u00e9e dans l&rsquo;\u00e9volution d&rsquo;eBPF et de son \u00e9cosyst\u00e8me. Vous trouverez \u00e9galement dans le rapport <a href=\"https:\/\/www.linuxfoundation.org\/research\/state-of-ebpf\" target=\"_blank\" rel=\"nofollow noopener\">State of eBPF<\/a> un peu de son histoire et de ses perspectives d&rsquo;avenir.<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_button button_url=\u00a0\u00bb@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wYWdlIiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjM2MjI3MCJ9fQ==@\u00a0\u00bb button_text=\u00a0\u00bb\u2190 Retour \u00e0 Th\u00e8mes IT\u00a0\u00bb button_alignment=\u00a0\u00bbleft\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _dynamic_attributes=\u00a0\u00bbbutton_url\u00a0\u00bb _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_size=\u00a0\u00bb1em\u00a0\u00bb button_text_color=\u00a0\u00bb#0C312F\u00a0\u00bb button_bg_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color_gradient_direction=\u00a0\u00bb90deg\u00a0\u00bb button_bg_color_gradient_stops=\u00a0\u00bb#82B92E 0%|#3CB92E 100%\u00a0\u00bb button_bg_color_gradient_start=\u00a0\u00bb#82B92E\u00a0\u00bb button_bg_color_gradient_end=\u00a0\u00bb#3CB92E\u00a0\u00bb button_border_width=\u00a0\u00bb1px\u00a0\u00bb button_border_color=\u00a0\u00bb#eaeaea\u00a0\u00bb button_border_radius=\u00a0\u00bb100px\u00a0\u00bb button_use_icon=\u00a0\u00bboff\u00a0\u00bb z_index=\u00a0\u00bb0&Prime; custom_margin=\u00a0\u00bb60px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|50px|10px|50px|true|true\u00a0\u00bb custom_padding_tablet=\u00a0\u00bb\u00a0\u00bb custom_padding_phone=\u00a0\u00bb10px|20px|10px|20px|true|true\u00a0\u00bb custom_padding_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb custom_css_main_element=\u00a0\u00bbright:0!important;||font-family:%22Pandora-Bold%22!important;\u00a0\u00bb global_module=\u00a0\u00bb367749&Prime; locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb button_bg_color__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_bg_color_gradient_start__hover=\u00a0\u00bb#eaeaea\u00a0\u00bb button_bg_color_gradient_end__hover=\u00a0\u00bb#f4f4f4&Prime; button_bg_color__hover=\u00a0\u00bb#eaeaea\u00a0\u00bb button_bg_enable_color__hover=\u00a0\u00bbon\u00a0\u00bb button_bg_use_color_gradient__hover=\u00a0\u00bbon\u00a0\u00bb button_bg_color_gradient_stops__hover=\u00a0\u00bb#eaeaea 0%|#f4f4f4 100%\u00a0\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00a0\u00bb1&Prime; custom_padding_last_edited=\u00a0\u00bbon|desktop\u00a0\u00bb admin_label=\u00a0\u00bbFinal CTA\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb background_color=\u00a0\u00bb#161327&Prime; use_background_color_gradient=\u00a0\u00bbon\u00a0\u00bb background_color_gradient_stops=\u00a0\u00bbrgba(22,19,39,0.5) 17%|rgba(22,19,39,0.5) 100%\u00a0\u00bb background_color_gradient_overlays_image=\u00a0\u00bbon\u00a0\u00bb background_image=\u00a0\u00bbhttps:\/\/pandorafms.com\/wp-content\/uploads\/2024\/01\/Try-Pandora-FMS-scaled.webp\u00a0\u00bb background_position=\u00a0\u00bbtop_center\u00a0\u00bb background_vertical_offset=\u00a0\u00bb0%\u00a0\u00bb z_index=\u00a0\u00bb1&Prime; max_width=\u00a0\u00bb1080px\u00a0\u00bb max_width_tablet=\u00a0\u00bb98%\u00a0\u00bb max_width_phone=\u00a0\u00bb98%\u00a0\u00bb max_width_last_edited=\u00a0\u00bbon|tablet\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb custom_margin=\u00a0\u00bb80px||80px||true|false\u00a0\u00bb custom_padding=\u00a0\u00bb40px|20px|160px|20px|false|true\u00a0\u00bb custom_padding_tablet=\u00a0\u00bb40px|0px|120px|0px|false|true\u00a0\u00bb custom_padding_phone=\u00a0\u00bb40px|0px|120px|0px|false|true\u00a0\u00bb scroll_scaling=\u00a0\u00bb40|55|85|100|100%|120%|100%\u00a0\u00bb motion_trigger_start=\u00a0\u00bbtop\u00a0\u00bb background_last_edited=\u00a0\u00bboff|desktop\u00a0\u00bb border_radii=\u00a0\u00bboff|20px|20px|20px|20px\u00a0\u00bb border_color_all=\u00a0\u00bb#ffffff\u00a0\u00bb box_shadow_style=\u00a0\u00bbpreset1&Prime; box_shadow_vertical=\u00a0\u00bb0px\u00a0\u00bb box_shadow_blur=\u00a0\u00bb80px\u00a0\u00bb box_shadow_color=\u00a0\u00bb#506da0&Prime; global_module=\u00a0\u00bb367078&Prime; global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_row use_custom_gutter=\u00a0\u00bbon\u00a0\u00bb gutter_width=\u00a0\u00bb2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb max_width=\u00a0\u00bb550px\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||true|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px|0px|0px|0px|true|true\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_2_font_size=\u00a0\u00bb2em\u00a0\u00bb text_orientation=\u00a0\u00bbcenter\u00a0\u00bb module_alignment=\u00a0\u00bbleft\u00a0\u00bb custom_margin=\u00a0\u00bb0px||20px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||true|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<\/p>\n<p class=\"h2-w\">Au-del\u00e0 des limites, au-del\u00e0 des attentes<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=\u00a0\u00bb@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wYWdlIiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjM0MTk5NSJ9fQ==@\u00a0\u00bb button_text=\u00a0\u00bbObtenez votre essai GRATUIT !\u00a0\u00bb button_alignment=\u00a0\u00bbcenter\u00a0\u00bb button_alignment_tablet=\u00a0\u00bbcenter\u00a0\u00bb button_alignment_phone=\u00a0\u00bbcenter\u00a0\u00bb button_alignment_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.0&Prime; _dynamic_attributes=\u00a0\u00bbbutton_url\u00a0\u00bb _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_size=\u00a0\u00bb1em\u00a0\u00bb button_text_color=\u00a0\u00bb#ffffff\u00a0\u00bb button_bg_use_color_gradient=\u00a0\u00bbon\u00a0\u00bb button_bg_color_gradient_direction=\u00a0\u00bb90deg\u00a0\u00bb button_bg_color_gradient_stops=\u00a0\u00bb#82B92E 0%|#3CB92E 100%\u00a0\u00bb button_bg_color_gradient_start=\u00a0\u00bb#82B92E\u00a0\u00bb button_bg_color_gradient_end=\u00a0\u00bb#3CB92E\u00a0\u00bb button_border_width=\u00a0\u00bb0px\u00a0\u00bb button_border_radius=\u00a0\u00bb100px\u00a0\u00bb button_use_icon=\u00a0\u00bboff\u00a0\u00bb z_index=\u00a0\u00bb0&Prime; custom_margin=\u00a0\u00bb40px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|40px|10px|40px|true|true\u00a0\u00bb custom_padding_tablet=\u00a0\u00bb\u00a0\u00bb custom_padding_phone=\u00a0\u00bb15px|15px|15px|15px|true|true\u00a0\u00bb custom_padding_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb custom_css_main_element=\u00a0\u00bbright:0!important;||font-family:%22Pandora-Bold%22!important;\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb button_bg_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_bg_color_gradient_start__hover=\u00a0\u00bb#05201F\u00a0\u00bb button_bg_color_gradient_end__hover=\u00a0\u00bb#05201F\u00a0\u00bb button_bg_color_gradient_stops__hover=\u00a0\u00bb#181818 0%|#181818 58%|#181818 100%\u00a0\u00bb button_bg_use_color_gradient__hover=\u00a0\u00bbon\u00a0\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sections D\u00e9fis de d\u00e9veloppement du noyau Linux Qu\u2019est-ce que l\u2019eBPF ? Comment fonctionne l\u2019eBPF Avantages de l\u2019eBPF Meilleures pratiques eBPF Inconv\u00e9nients de l&rsquo;eBPF Cas d&rsquo;utilisation d&rsquo;eBPF Applications d&rsquo;eBPF en observabilit\u00e9 Comment d\u00e9marrer avec eBPF Le noyau du syst\u00e8me d\u2019exploitation Linux est le programme principal qui s\u2019ex\u00e9cute apr\u00e8s le d\u00e9marrage de l\u2019ordinateur et permet au mat\u00e9riel [&hellip;]<\/p>\n","protected":false},"author":33,"featured_media":379571,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","_joinchat":[],"footnotes":""},"categories":[3507,7758],"tags":[],"class_list":["post-379579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-topics","category-surveillance"],"_links":{"self":[{"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/posts\/379579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/comments?post=379579"}],"version-history":[{"count":4,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/posts\/379579\/revisions"}],"predecessor-version":[{"id":379603,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/posts\/379579\/revisions\/379603"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/media\/379571"}],"wp:attachment":[{"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/media?parent=379579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/categories?post=379579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pandorafms.com\/fr\/wp-json\/wp\/v2\/tags?post=379579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}