{"id":1445,"date":"2026-07-30T16:47:08","date_gmt":"2026-07-30T14:47:08","guid":{"rendered":"https:\/\/communaute-omr.fr\/?p=1445"},"modified":"2026-07-30T17:22:58","modified_gmt":"2026-07-30T15:22:58","slug":"gestion-de-linterface","status":"publish","type":"post","link":"https:\/\/communaute-omr.fr\/?p=1445","title":{"rendered":"Gestion de l\u2019interface"},"content":{"rendered":"\n<h1 id=\"preambule\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Preambule\"><\/span>Pr\u00e9ambule<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Quand j\u2019ai commenc\u00e9 linux la premi\u00e8re phrase qu\u2019on peut lire dans la litt\u00e9rature consacr\u00e9e est&nbsp;: \u00ab&nbsp;tout est dans un fichier&nbsp;\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la gestion de l\u2019interface de centreon on peut dire \u00ab&nbsp;tout est en base&nbsp;\u00bb&nbsp;\ud83d\ude00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il m\u2019est arriv\u00e9 d\u2019avoir des donn\u00e9es corrompues ,en arrivant chez mes clients, parce que des personnes, certainement plus intelligentes que les autres, ont crues bon d\u2019\u00e9crire directement en base&nbsp;\ud83d\ude1b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il m\u2019a paru donc important d\u2019expliquer&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Comment est g\u00e9r\u00e9e l\u2019interface<\/li>\n\n\n\n<li>Comment sont affich\u00e9s les \u00e9l\u00e9ments de configuration<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cette suite d\u2019article nous verrons&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le lien entre la base de donn\u00e9es et l\u2019affichage des menus dans l\u2019interface<\/li>\n\n\n\n<li>Comment centreon affiche les informations dans l\u2019interface depuis les vues<\/li>\n\n\n\n<li>Menu Monitoring<\/li>\n\n\n\n<li>L\u2019\u00e9tat des services avec application de filtres<\/li>\n\n\n\n<li>Menu Configuration<\/li>\n\n\n\n<li>Liste des h\u00f4tes avec les diff\u00e9rents filtres disponibles<\/li>\n\n\n\n<li>Liste des services avec les diff\u00e9rents filtres<\/li>\n<\/ul>\n\n\n\n<h1 id=\"les-forces-en-presence\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Les_forces_en_presence\"><\/span>Les forces en pr\u00e9sence<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"les-fichiers\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Les_fichiers\"><\/span>Les fichiers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les fichiers de mise \u00e0 disposition de l\u2019interface \u00e0 apache sont pr\u00e9sents dans le r\u00e9pertoire \/usr\/share\/centreon\/www du serveur web<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Au premier niveau nous avons&nbsp;ci-dessous les r\u00e9pertoires les plus importants :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>include -&gt; Code php pour afficher les diff\u00e9rents menus<\/li>\n\n\n\n<li>modules -&gt; Les diff\u00e9rents modules opensource ou non install\u00e9s<\/li>\n\n\n\n<li>widgets -&gt; Code des widgets utilis\u00e9s dans les customviews<\/li>\n<\/ul>\n\n\n\n<h2 id=\"les-bases-de-donnees\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Les_bases_de_donnees\"><\/span>Les bases de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tous les \u00e9l\u00e9ments permettant le bon fonctionnement de l\u2019interface sont dans la database centreon. Donc on ne modifie rien dedans par une commande mysql, que ce soit par un insert, drop, update ou tout autre commande farfelue qui pour passer par la t\u00eate d\u2019un illumin\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><u><strong>On ne fait que des \u00ab&nbsp;select&nbsp;\u00bb et rien de plus.<\/strong><\/u><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J\u2019esp\u00e8re que c\u2019est \u00e9crit suffisamment gros pour que le message soit clair&nbsp;\ud83d\ude00<\/p>\n\n\n\n<h3 id=\"la-table-topology\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"La_table_topology\"><\/span>La table topology<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tout est g\u00e9r\u00e9 depuis la table topology dont le sch\u00e9ma est ci-dessous&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image1-17.png\" alt=\"\"\/><\/figure>\n\n\n\n<h1 id=\"menu-principal\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Menu_principal\"><\/span>Menu principal<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"depuis-linterface\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Depuis_linterface\"><\/span>Depuis l\u2019interface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La capture ci-dessous nous comment se pr\u00e9sente le menu principal de centreon  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image2-16.png\" alt=\"\"\/><\/figure>\n\n\n\n<h2 id=\"depuis-la-base-de-donnees\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Depuis_la_base_de_donnees\"><\/span>Depuis la base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 id=\"schema\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schema\"><\/span>Sch\u00e9ma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Comme pour les tables hosts et services il y a une relation hi\u00e9rarchique entre les diff\u00e9rents \u00e9l\u00e9ments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cependant nous n\u2019avons pas de table pour les relations, tout est stock\u00e9 directement dans la table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Liste des champs pertinents&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>topology_name&nbsp;: Nom du menu<\/li>\n\n\n\n<li>topology_parent&nbsp;: Vide pour le menu de 1er niveau<\/li>\n\n\n\n<li>topology_order&nbsp;: D\u00e9termine l\u2019ordre d\u2019affichage des diff\u00e9rents menus <\/li>\n<\/ul>\n\n\n\n<h3 id=\"schema-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schema-2\"><\/span>Sch\u00e9ma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image3-10.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 id=\"requete\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requete\"><\/span>Requ\u00eate<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour cette premi\u00e8re requ\u00eate on va \u00eatre au taquet tellement c\u2019est simple&nbsp;\ud83d\ude1b<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro omr-terminal\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT topology_name,\ntopology_page,\ntopology_order\nFROM centreon.topology\nWHERE topology_parent IS NULL\nORDER BY topology_order;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">SELECT<\/span><span style=\"color: #E1E4E8\"> topology_name,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">topology_page,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">topology_order<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">FROM<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">WHERE<\/span><span style=\"color: #E1E4E8\"> topology_parent <\/span><span style=\"color: #F97583\">IS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">NULL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">ORDER BY<\/span><span style=\"color: #E1E4E8\"> topology_order;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 id=\"resultat\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Resultat\"><\/span>R\u00e9sultat<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table tableau-sql\"><table><thead><tr><th><strong>topology_name<\/strong><\/th><th><strong>topology_page<\/strong><\/th><th><strong>topology_order<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Home<\/td><td>1<\/td><td>10<\/td><\/tr><tr><td>Monitoring<\/td><td>2<\/td><td>20<\/td><\/tr><tr><td>Reporting<\/td><td>3<\/td><td>40<\/td><\/tr><tr><td>Configuration<\/td><td>6<\/td><td>50<\/td><\/tr><tr><td>Administration<\/td><td>5<\/td><td>60<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 id=\"conclusion\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nous voyons maintenant le lien entre la capture et ce qui est stock\u00e9 en base de donn\u00e9es<\/p>\n\n\n\n<h1 id=\"menu-niveau-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Menu_Niveau_2\"><\/span>Menu Niveau 2<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"depuis-linterface-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Depuis_linterface-2\"><\/span>Depuis l\u2019interface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comme le montre la capture ci-dessous les menus sont affich\u00e9 dans un ordre pr\u00e9cis et non par ordre alphab\u00e9tique<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image4-10.png\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Voyons maintenant comment cela se concr\u00e9tise en base de donn\u00e9es<\/p>\n\n\n\n<h2 id=\"depuis-la-base-de-donnees-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Depuis_la_base_de_donnees-2\"><\/span>Depuis la base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans la requ\u00eate ci-dessous nous allons comprendre l\u2019ordre d\u2019affichage dans l\u2019interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons avoir besoin de tables temporaires pour faire les jointures \u00e0 l\u2019int\u00e9rieur de la table&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M1 pour le menu principal<\/li>\n\n\n\n<li>M2 pour le menu de 2\u00e8me niveau<\/li>\n<\/ul>\n\n\n\n<h3 id=\"schema-3\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schema-3\"><\/span>Sch\u00e9ma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image5-8.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 id=\"analyse\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Analyse\"><\/span>Analyse<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce sch\u00e9ma nous montre comment le lien est fait entre les menu de niveau 1 et les menus de niveau 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous aurons besoin pour comprendre les relations&nbsp;d\u2019afficher :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le nom des menus Niveau 1 et 2<\/li>\n\n\n\n<li>Le lien entre les menus Niveau 1 et 2<\/li>\n\n\n\n<li>L\u2019URL pour les menus n\u2019ayant pas de niveau 3<\/li>\n\n\n\n<li>L\u2019ordre d\u2019affichage des menus<\/li>\n<\/ul>\n\n\n\n<h3 id=\"requete-complete\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requete_complete\"><\/span>Requ\u00eate compl\u00e8te<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro omr-terminal\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT Menu1.topology_name AS \"Menu1\",\nMenu1.topology_page AS \"M1.page\",\nMenu1.topology_order AS \"M1.order\",\nMenu2.topology_name AS \"Menu2\",\nMenu2.topology_parent AS \"M2.parent\",\nMenu2.topology_page AS \"M2.page\",\nMenu2.topology_order AS \"M2.order\",\nMenu2.topology_url AS \"M2.url\"\nFROM centreon.topology AS Menu1\nLEFT JOIN centreon.topology AS Menu2 ON Menu2.topology_parent=Menu1.topology_page\nWHERE Menu1.topology_parent IS NULL\nORDER BY Menu1.topology_order, Menu2.topology_order;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">SELECT<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu1&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M1.page&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M1.order&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu2&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.parent&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.page&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.order&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_url<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.url&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">FROM<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">LEFT JOIN<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu2 <\/span><span style=\"color: #F97583\">ON<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">WHERE<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">IS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">NULL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">ORDER BY<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 id=\"requete-avec-filtre\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requete_avec_filtre\"><\/span>Requ\u00eate avec filtre<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro omr-terminal\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT DISTINCT\nMenu1.topology_name AS \"Menu1\",\nMenu1.topology_page AS \"M1.page\",\nMenu1.topology_order AS \"M1.order\",\nMenu2.topology_name AS \"Menu2\",\nMenu2.topology_parent AS \"M2.parent\",\nMenu1.topology_order AS \"M2.order\",\nMenu2.topology_group AS \"M2.group\",\nMenu2.topology_page AS \"M2.page\",\nFROM centreon.topology AS Menu1\nLEFT JOIN centreon.topology AS Menu2 ON Menu2.topology_parent=Menu1.topology_page\nWHERE Menu1.topology_parent IS NULL\nORDER BY Menu1.topology_order, Menu2.topology_group, Menu2.topology_order, Menu2.topology_page<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">SELECT DISTINCT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu1&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M1.page&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M1.order&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu2&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.parent&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.order&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_group<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.group&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M2.page&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">FROM<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">LEFT JOIN<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu2 <\/span><span style=\"color: #F97583\">ON<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">WHERE<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">IS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">NULL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">ORDER BY<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_group<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 id=\"explications\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Explications\"><\/span>Explications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9composition de la requ\u00eate&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nous voyons le lien entre le champ Menu2.topology_parent et Menu1.topology_page<\/li>\n\n\n\n<li>C\u2019est ce qui d\u00e9fini l\u2019appartenance du menu niveau 2 au menu niveau 1<\/li>\n\n\n\n<li>Le ORDER BY d\u00e9termine l\u2019ordre des menus<\/li>\n<\/ul>\n\n\n\n<h3 id=\"resultat-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Resultat-2\"><\/span>R\u00e9sultat<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table tableau-sql\"><table><thead><tr><th><strong>Menu1<\/strong><\/th><th><strong>Menu2<\/strong><\/th><th><strong>M2.parent<\/strong><\/th><th><strong>M2.order<\/strong><\/th><th><strong>M2.group<\/strong><\/th><th><strong>M2.page<\/strong><\/th><th><strong>topology_url<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Home<\/td><td>Dashboards<\/td><td>1<\/td><td>10<\/td><td>1<\/td><td>104<\/td><td>\/home\/dashboards<\/td><\/tr><tr><td>Home<\/td><td>Custom Views<\/td><td>1<\/td><td>10<\/td><td>1 <\/td><td>103<\/td><td>.\/include\/home\/customViews\/index.php<\/td><\/tr><tr><td>Monitoring<\/td><td>Resources Status<\/td><td>2<\/td><td>20<\/td><td>1<\/td><td>200<\/td><td>\/monitoring\/resources<\/td><\/tr><tr><td>Monitoring<\/td><td>Status Details<\/td><td>2<\/td><td>20<\/td><td>1<\/td><td>202<\/td><td>&nbsp;Null<\/td><\/tr><tr><td>Monitoring<\/td><td>Performances<\/td><td>2<\/td><td>20<\/td><td>1<\/td><td>204<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Monitoring<\/td><td>Downtimes<\/td><td>2<\/td><td>20<\/td><td>1<\/td><td>210<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Monitoring<\/td><td>Event Logs<\/td><td>2<\/td><td>20<\/td><td>31<\/td><td>203<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Reporting<\/td><td>Availability<\/td><td>3<\/td><td>40<\/td><td>1<\/td><td>307<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Hosts<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>601<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>602<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Users<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>603<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Commands<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>608<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>604<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>SNMP Traps<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>617<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>609<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Connectors<\/td><td>6<\/td><td>50<\/td><td>1<\/td><td>620<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Import\/Export<\/td><td>6<\/td><td>50<\/td><td>36<\/td><td>612<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Configuration<\/td><td>Knowledge Base<\/td><td>6<\/td><td>50<\/td><td>36<\/td><td>610<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Administration<\/td><td>Parameters<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>501<\/td><td>.\/include\/options\/oreon\/myAccount\/formMyAccount.php<\/td><\/tr><tr><td>Administration<\/td><td>ACL<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>502<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Administration<\/td><td>Extensions<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>507<\/td><td>&nbsp;&nbsp;Null<\/td><\/tr><tr><td>Administration<\/td><td>Authentication<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>509<\/td><td>\/administration\/authentication<\/td><\/tr><tr><td>Administration<\/td><td>Logs<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>508<\/td><td>.\/include\/Administration\/configChangelog\/viewLogs.php<\/td><\/tr><tr><td>Administration<\/td><td>Sessions<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>504<\/td><td>.\/include\/options\/session\/connected_user.php<\/td><\/tr><tr><td>Administration<\/td><td>Platform Status<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>505<\/td><td>.\/include\/Administration\/brokerPerformance\/brokerPerformance.php<\/td><\/tr><tr><td>Administration<\/td><td>About<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>506<\/td><td>\/administration\/about<\/td><\/tr><tr><td>Administration<\/td><td>Authentication Tokens<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>515<\/td><td>\/administration\/authentication-token<\/td><\/tr><tr><td>Administration<\/td><td>Customize Centreon<\/td><td>5<\/td><td>60<\/td><td>1<\/td><td>510<\/td><td>\/administration\/customize-centreon<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 id=\"menu-niveau-3\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Menu_Niveau_3\"><\/span>Menu Niveau 3<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"depuis-linterface-3\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Depuis_linterface-3\"><\/span>Depuis l\u2019interface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image6-6.png\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dans la capture ci-dessus nous voyons le menu niveau 3 affichant la configuration des services.<\/p>\n\n\n\n<h2 id=\"depuis-la-base-de-donnees-3\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Depuis_la_base_de_donnees-3\"><\/span>Depuis la base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 id=\"schema-4\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schema-4\"><\/span>Sch\u00e9ma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image7-4.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 id=\"analyse-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Analyse-2\"><\/span>Analyse<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce troisi\u00e8me sch\u00e9ma nous montre la philosophie de l\u2019h\u00e9ritage des menus<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous afficherons les m\u00eames champs que pr\u00e9c\u00e9demment pour le troisi\u00e8me niveau de menu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous n\u2019afficherons que les menus de niveau 3 et leur h\u00e9ritage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Afin de limiter le nombre de ligne nous avons vue plus haut que le menu de niveau 2 configuration -&gt; Services avait le num\u00e9ro de page 602. On va donc filtrer sur ce num\u00e9ro de page comme page parente pour le menu de niveau 3 <\/p>\n\n\n\n<h3 id=\"requete-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requete-2\"><\/span>Requ\u00eate<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro omr-terminal\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT DISTINCT\nMenu1.topology_name AS \"Menu1\",\nMenu2.topology_name AS \"Menu2\",\nMenu3.topology_name AS \"Menu3\",\nMenu3.topology_parent AS \"M3.parent\",\nMenu3.topology_page AS \"M3.page\",\nMenu3.topology_order AS \"M3.order\",\nMenu3.topology_group AS \"M3.group\",\nMenu3.topology_url AS \"M3.url\"\nFROM centreon.topology AS Menu1\nLEFT JOIN centreon.topology AS Menu2 ON Menu2.topology_parent=Menu1.topology_page\nLEFT JOIN centreon.topology AS Menu3 ON Menu3.topology_parent=Menu2.topology_page\nWHERE Menu2.topology_parent IS NOT NULL\nAND Menu3.topology_parent IS NOT NULL\nAND Menu3.topology_page IS NOT NULL\nAND Menu1.topology_name=\"Configuration\"\nORDER BY Menu1.topology_order, Menu2.topology_group, Menu2.topology_order, Menu2.topology_page, Menu3.topology_parent, Menu3.topology_group, Menu3.topology_order, Menu3.topology_page;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">SELECT DISTINCT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu1&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu2&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;Menu3&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M3.parent&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M3.page&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M3.order&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_group<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M3.group&quot;<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_url<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">&quot;M3.url&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">FROM<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">LEFT JOIN<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu2 <\/span><span style=\"color: #F97583\">ON<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">LEFT JOIN<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">centreon<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">AS<\/span><span style=\"color: #E1E4E8\"> Menu3 <\/span><span style=\"color: #F97583\">ON<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">WHERE<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">IS NOT NULL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">AND<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">IS NOT NULL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">AND<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">IS NOT NULL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">AND<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_name<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #9ECBFF\">&quot;Configuration&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">ORDER BY<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">Menu1<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_group<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu2<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_parent<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_group<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_order<\/span><span style=\"color: #E1E4E8\">, <\/span><span style=\"color: #79B8FF\">Menu3<\/span><span style=\"color: #E1E4E8\">.<\/span><span style=\"color: #79B8FF\">topology_page<\/span><span style=\"color: #E1E4E8\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 id=\"explications-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Explications-2\"><\/span>Explications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nous continuons avec les liaisons entre les diff\u00e9rents champs page\/Parent<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour limiter le nombre de lignes dans la requ\u00eate nous allons filtrer&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sur la page configuration des services<\/li>\n\n\n\n<li>Sur les pages renseign\u00e9es indiquant que nous somme sur un menu de niveau 3.<\/li>\n\n\n\n<li>Nous ne prenons que les champs url non vide<\/li>\n\n\n\n<li>Le champ group permet de regrouper les indicateurs dans un menu comme le montre la capture ci-dessous&nbsp;:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/communaute-omr.fr\/wp-content\/uploads\/2026\/07\/image8-4.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 id=\"resultat-3\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Resultat-3\"><\/span>R\u00e9sultat<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la capture ci-dessus&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-table tableau-sql\"><table><thead><tr><th><strong>Menu1<\/strong><\/th><th><strong>Menu2<\/strong><\/th><th><strong>Menu3<\/strong><\/th><th><strong>M2.page\/M3.parent<\/strong><\/th><th><strong>M3.page<\/strong><\/th><th><strong>M3.order<\/strong><\/th><th><strong>M3.group<\/strong><\/th><th><strong>M3.url<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Configuration<\/td><td>Services<\/td><td>Services by host<\/td><td>602<\/td><td>60201<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service\/serviceByHost.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Services by host group<\/td><td>602<\/td><td>60202<\/td><td>20<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service\/serviceByHostGroup.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Service Groups<\/td><td>602<\/td><td>60203<\/td><td>30<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/servicegroup\/serviceGroup.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Templates<\/td><td>602<\/td><td>60206<\/td><td>50<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service_template_model\/serviceTemplateModel.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Categories<\/td><td>602<\/td><td>60209<\/td><td>90<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service_categories\/serviceCategories.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Meta Services<\/td><td>602<\/td><td>60204<\/td><td>40<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/meta_service\/metaService.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Scan<\/td><td>602<\/td><td>60210<\/td><td>15<\/td><td>8<\/td><td>.\/modules\/centreon-autodiscovery-server\/views\/scan\/index.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Rules<\/td><td>602<\/td><td>60215<\/td><td>18<\/td><td>8<\/td><td>.\/modules\/centreon-autodiscovery-server\/views\/rules\/index.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Overview<\/td><td>602<\/td><td>60214<\/td><td>20<\/td><td>8<\/td><td>.\/modules\/centreon-autodiscovery-server\/views\/overview\/index.php<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour les \u00e9l\u00e9ments de configuration&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-table tableau-sql\"><table><thead><tr><th><strong>Menu1<\/strong><\/th><th><strong>Menu2<\/strong><\/th><th><strong>Menu3<\/strong><\/th><th><strong>M3.parent<\/strong><\/th><th><strong>M3.page<\/strong><\/th><th><strong>M3.order<\/strong><\/th><th><strong>M3.group<\/strong><\/th><th><strong><strong>M3.url<\/strong><\/strong><\/th><\/tr><\/thead><tbody><tr><td>Configuration<\/td><td>Hosts<\/td><td>Hosts<\/td><td>601<\/td><td>60101<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/host\/host.php<\/td><\/tr><tr><td>Configuration<\/td><td>Hosts<\/td><td>Host Groups<\/td><td>601<\/td><td>60102<\/td><td>20<\/td><td>1<\/td><td>\/configuration\/hosts\/groups<\/td><\/tr><tr><td>Configuration<\/td><td>Hosts<\/td><td>Templates<\/td><td>601<\/td><td>60103<\/td><td>30<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/host_template_model\/hostTemplateModel.php<\/td><\/tr><tr><td>Configuration<\/td><td>Hosts<\/td><td>Categories<\/td><td>601<\/td><td>60104<\/td><td>40<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/host_categories\/hostCategories.php<\/td><\/tr><tr><td>Configuration<\/td><td>Hosts<\/td><td>Discovery<\/td><td>601<\/td><td>60130<\/td><td>300<\/td><td>1<\/td><td>\/configuration\/hosts\/discovery\/jobs<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Services by host<\/td><td>602<\/td><td>60201<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service\/serviceByHost.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Services by host group<\/td><td>602<\/td><td>60202<\/td><td>20<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service\/serviceByHostGroup.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Service Groups<\/td><td>602<\/td><td>60203<\/td><td>30<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/servicegroup\/serviceGroup.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Templates<\/td><td>602<\/td><td>60206<\/td><td>50<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service_template_model\/serviceTemplateModel.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Categories<\/td><td>602<\/td><td>60209<\/td><td>90<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/service_categories\/serviceCategories.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Meta Services<\/td><td>602<\/td><td>60204<\/td><td>40<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/meta_service\/metaService.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Scan<\/td><td>602<\/td><td>60210<\/td><td>15<\/td><td>8<\/td><td>.\/modules\/centreon-autodiscovery-server\/views\/scan\/index.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Rules<\/td><td>602<\/td><td>60215<\/td><td>18<\/td><td>8<\/td><td>.\/modules\/centreon-autodiscovery-server\/views\/rules\/index.php<\/td><\/tr><tr><td>Configuration<\/td><td>Services<\/td><td>Overview<\/td><td>602<\/td><td>60214<\/td><td>20<\/td><td>8<\/td><td>.\/modules\/centreon-autodiscovery-server\/views\/overview\/index.php<\/td><\/tr><tr><td>Configuration<\/td><td>Users<\/td><td>Contacts \/ Users<\/td><td>603<\/td><td>60301<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/contact\/contact.php<\/td><\/tr><tr><td>Configuration<\/td><td>Users<\/td><td>Contact Templates<\/td><td>603<\/td><td>60306<\/td><td>13<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/contact_template_model\/contact_template.php<\/td><\/tr><tr><td>Configuration<\/td><td>Users<\/td><td>Contact Groups<\/td><td>603<\/td><td>60302<\/td><td>20<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/contactgroup\/contactGroup.php<\/td><\/tr><tr><td>Configuration<\/td><td>Users<\/td><td>Time Periods<\/td><td>603<\/td><td>60304<\/td><td>40<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/timeperiod\/timeperiod.php<\/td><\/tr><tr><td>Configuration<\/td><td>Commands<\/td><td>Checks<\/td><td>608<\/td><td>60801<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/command\/command.php<\/td><\/tr><tr><td>Configuration<\/td><td>Commands<\/td><td>Notifications<\/td><td>608<\/td><td>60802<\/td><td>20<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/command\/command.php<\/td><\/tr><tr><td>Configuration<\/td><td>Commands<\/td><td>Discovery<\/td><td>608<\/td><td>60807<\/td><td>21<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/command\/command.php<\/td><\/tr><tr><td>Configuration<\/td><td>Commands<\/td><td>Miscellaneous<\/td><td>608<\/td><td>60803<\/td><td>30<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/command\/command.php<\/td><\/tr><tr><td>Configuration<\/td><td>Commands<\/td><td>Connectors<\/td><td>608<\/td><td>60806<\/td><td>60<\/td><td>3<\/td><td>.\/include\/configuration\/configObject\/connector\/connector.php<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Notifications<\/td><td>604<\/td><td>60413<\/td><td>1<\/td><td>1<\/td><td>\/configuration\/notifications<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Escalations<\/td><td>604<\/td><td>60401<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/escalation\/escalation.php<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Hosts<\/td><td>604<\/td><td>60407<\/td><td>10<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/host_dependency\/hostDependency.php<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Host Groups<\/td><td>604<\/td><td>60408<\/td><td>20<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/hostgroup_dependency\/hostGroupDependency.php<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Services<\/td><td>604<\/td><td>60409<\/td><td>30<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/service_dependency\/serviceDependency.php<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Service Groups<\/td><td>604<\/td><td>60410<\/td><td>40<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/servicegroup_dependency\/serviceGroupDependency.php<\/td><\/tr><tr><td>Configuration<\/td><td>Notifications<\/td><td>Meta Services<\/td><td>604<\/td><td>60411<\/td><td>50<\/td><td>2<\/td><td>.\/include\/configuration\/configObject\/metaservice_dependency\/MetaServiceDependency.php<\/td><\/tr><tr><td>Configuration<\/td><td>SNMP Traps<\/td><td>SNMP Traps<\/td><td>617<\/td><td>61701<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/traps\/traps.php<\/td><\/tr><tr><td>Configuration<\/td><td>SNMP Traps<\/td><td>Manufacturer<\/td><td>617<\/td><td>61702<\/td><td>20<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/traps-manufacturer\/mnftr.php<\/td><\/tr><tr><td>Configuration<\/td><td>SNMP Traps<\/td><td>Group<\/td><td>617<\/td><td>61705<\/td><td>25<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/traps-groups\/groups.php<\/td><\/tr><tr><td>Configuration<\/td><td>SNMP Traps<\/td><td>MIBs<\/td><td>617<\/td><td>61703<\/td><td>30<\/td><td>1<\/td><td>.\/include\/configuration\/configObject\/traps-mibs\/mibs.php<\/td><\/tr><tr><td>Configuration<\/td><td>SNMP Traps<\/td><td>Generate<\/td><td>617<\/td><td>61704<\/td><td>40<\/td><td>1<\/td><td>.\/include\/configuration\/configGenerateTraps\/generateTraps.php<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>Pollers<\/td><td>609<\/td><td>60901<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configServers\/servers.php<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>Export configuration<\/td><td>609<\/td><td>60902<\/td><td>10<\/td><td>1<\/td><td>.\/include\/configuration\/configGenerate\/generateFiles.php<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>Engine configuration<\/td><td>609<\/td><td>60903<\/td><td>30<\/td><td>1<\/td><td>.\/include\/configuration\/configNagios\/nagios.php<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>Broker configuration<\/td><td>609<\/td><td>60909<\/td><td>35<\/td><td>1<\/td><td>.\/include\/configuration\/configCentreonBroker\/centreon-broker.php<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>Resources<\/td><td>609<\/td><td>60904<\/td><td>40<\/td><td>1<\/td><td>.\/include\/configuration\/configResources\/resources.php<\/td><\/tr><tr><td>Configuration<\/td><td>Pollers<\/td><td>Agent configurations<\/td><td>609<\/td><td>60905<\/td><td>50<\/td><td>1<\/td><td>\/configuration\/pollers\/agent-configurations<\/td><\/tr><tr><td>Configuration<\/td><td>Connectors<\/td><td>Monitoring Connectors<\/td><td>620<\/td><td>62001<\/td><td>70<\/td><td>1<\/td><td>.\/modules\/centreon-pp-manager\/core\/manager\/main.php<\/td><\/tr><tr><td>Configuration<\/td><td>Connectors<\/td><td>Additional Configurations<\/td><td>620<\/td><td>62002<\/td><td>91<\/td><td>1<\/td><td>\/configuration\/additional-connector-configurations<\/td><\/tr><tr><td>Configuration<\/td><td>Import\/Export<\/td><td>Export<\/td><td>612<\/td><td>61201<\/td><td>5<\/td><td>36<\/td><td>.\/modules\/centreon-awie\/core\/formExporter.php<\/td><\/tr><tr><td>Configuration<\/td><td>Import\/Export<\/td><td>Import<\/td><td>612<\/td><td>61202<\/td><td>6<\/td><td>36<\/td><td>.\/modules\/centreon-awie\/core\/formImporter.php<\/td><\/tr><tr><td>Configuration<\/td><td>Knowledge Base<\/td><td>Hosts<\/td><td>610<\/td><td>61001<\/td><td>5<\/td><td>36<\/td><td>.\/include\/configuration\/configKnowledge\/display-hosts.php<\/td><\/tr><tr><td>Configuration<\/td><td>Knowledge Base<\/td><td>Services<\/td><td>610<\/td><td>61002<\/td><td>10<\/td><td>36<\/td><td>.\/include\/configuration\/configKnowledge\/display-services.php<\/td><\/tr><tr><td>Configuration<\/td><td>Knowledge Base<\/td><td>Host Templates<\/td><td>610<\/td><td>61003<\/td><td>15<\/td><td>36<\/td><td>.\/include\/configuration\/configKnowledge\/display-hostTemplates.php<\/td><\/tr><tr><td>Configuration<\/td><td>Knowledge Base<\/td><td>Service Templates<\/td><td>610<\/td><td>61004<\/td><td>20<\/td><td>36<\/td><td>.\/include\/configuration\/configKnowledge\/display-serviceTemplates.php<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 id=\"construction-des-url\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Construction_des_URL\"><\/span>Construction des URL <span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"type-de-page\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Type_de_page\"><\/span>Type de page<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons plusieurs types d\u2019URL&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pour afficher une page<\/li>\n\n\n\n<li>Pour afficher un objet via un id<\/li>\n\n\n\n<li>Pour afficher un objet via un nom<\/li>\n<\/ul>\n\n\n\n<h2 id=\"laffichage-dune-page\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Laffichage_dune_page\"><\/span>L\u2019affichage d\u2019une page <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans la requ\u00eate php centreon envoie le num\u00e9ro de page par l\u2019appel&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>p=&lt;num\u00e9ro de page&gt; <\/li>\n\n\n\n<li>dans notre requ\u00eate pr\u00e9c\u00e9dente le champ M3.page<\/li>\n\n\n\n<li>Pour afficher la page de configuration des services l\u2019URL devient&nbsp;:\n<ul class=\"wp-block-list\">\n<li>https:\/\/&lt;Adresse du site&gt;\/centreon\/main.php?<span style=\"color:blue\"><strong>p<\/strong><strong>=60201<\/strong><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Donc il suffit de renseigner apr\u00e8s le \u2018p=\u2019 pour indiquer quelle page afficher<\/p>\n\n\n\n<h2 id=\"recherche-de-la-page-php-sur-le-serveur\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Recherche_de_la_page_php_sur_le_serveur\"><\/span>Recherche de la page php sur le serveur<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comme nous l\u2019avons vu plus haut la table topology contient un champ url.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce plut\u00f4t le chemin vers le fichier php pour afficher la page recherch\u00e9e<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la configuration des services&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>.\/include\/configuration\/configObject\/service\/serviceByHost.php<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est le lien entre l\u2019URL avec le num\u00e9ro de page et chemin complet sur le serveur de la page php.<\/p>\n\n\n\n<h3 id=\"configuration-dapache\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configuration_dapache\"><\/span> Configuration d\u2019apache<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro omr-terminal\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Define base_uri \"\/centreon\"\nDefine install_dir \"\/usr\/share\/centreon\"\nAlias ${base_uri} ${install_dir}\/www\/<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\">Define base_uri <\/span><span style=\"color: #9ECBFF\">&quot;\/centreon&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Define install_dir <\/span><span style=\"color: #9ECBFF\">&quot;\/usr\/share\/centreon&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Alias ${base_uri} ${install_dir}<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #E1E4E8\">www<\/span><span style=\"color: #F97583\">\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ce qu\u2019il faut comprendre&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u2019url de base pour le site c\u2019est \/centreon<\/li>\n\n\n\n<li>Le chemin d\u2019acc\u00e8s au site est \/usr\/share\/centreon<\/li>\n\n\n\n<li>Le l\u2019URL https:\/\/&lt;Site&gt; \/centreon correspond sur le serveur au chemin  \/usr\/share\/centreon\/www<\/li>\n<\/ul>\n\n\n\n<h3 id=\"chemin-du-fichier-sur-le-serveur\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Chemin_du_fichier_sur_le_serveur\"><\/span>Chemin du fichier sur le serveur<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le chemin relatif .\/include\/configuration\/configObject\/service\/serviceByHost.php indique que le fichier php est dans le r\u00e9pertoire correspondant \u00e0 l\u2019alias d\u2019apache <span style=\"color:red\"><em><strong>${<\/strong><\/em><em><strong>base_uri<\/strong><\/em><em><strong>}<\/strong><\/em><\/span>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce qui nous donne le chemin complet&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>${base_uri}<\/strong> pour <span style=\"color:blue\"><strong>\/usr\/share\/centreon\/www<\/strong><\/span><\/li>\n\n\n\n<li>L\u2019emplacement du fichier&nbsp;: <span style=\"color:green\"><strong>.<\/strong><strong>\/<\/strong><strong>include<\/strong><strong>\/configuration\/<\/strong><strong>configObject<\/strong><strong>\/service\/<\/strong><\/span><strong>serviceByHost.php<\/strong><\/li>\n\n\n\n<li>Ce qui nous donne le chemin absolu\u00a0: <span style=\"color:blue\"><strong>\/<\/strong><strong>usr\/share\/centreon\/www<\/strong><\/span><span style=\"color:green\"><strong>\/include\/configuration\/configObject\/service\/serviceByHost.php<\/strong><\/span> sur le serveur.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"configuration-dun-objet\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configuration_dun_objet\"><\/span>Configuration d\u2019un objet<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons vu plus haut que le p= dans l\u2019url indique une page. Dans un souci de logique pour un objet ce sera un o=&nbsp;\ud83d\ude00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour configurer un service&nbsp;par exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span style=\"color:blue\"><strong>p=60201<\/strong><\/span>  Configuration de service<\/li>\n\n\n\n<li>o=c&amp; contiendra le type d\u2019objet <\/li>\n\n\n\n<li><span style=\"color:green\"><strong>service_id<\/strong><strong>, <\/strong><strong>acl_group_id<\/strong><strong>, \u2026<\/strong><\/span><\/li>\n\n\n\n<li><span style=\"color:red\"><strong>10818<\/strong><\/span> pour le service App-Monitoring-Centreon-Broker-RRD-Stats-Central dans mon cas<\/li>\n\n\n\n<li>Nous obtenons une url du type&nbsp;pour configurer le service App-Monitoring-Centreon-Broker-RRD-Stats-Central ayant l\u2019ID dans la table centreon.service 10818 : https:\/\/&lt;Site&gt;\/centreon\/main.php?<span style=\"color:blue\"><strong><span style=\"color:blue\">p=60201<\/span><\/strong><\/span>&amp;o=c&amp;<span style=\"color:green\"><strong>service_id=<\/strong><\/span><strong><span style=\"color:red\">10818<\/span><\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour les menu de deuxi\u00e8me niveau n\u2019ayant de sous menu seul le num\u00e9ro de page est renseign\u00e9 par exemple l\u2019URL https:\/\/&lt;Site&gt;\/centreon\/main.php?<strong><span style=\"color:blue\">p=508<\/span><\/strong> renvoie vers la page des logs de modification des objets de configuration.<\/p>\n\n\n\n<h1 id=\"conclusion-2\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion-2\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Je n\u2019ai pas abord\u00e9 toutes les fa\u00e7ons dont centreon g\u00e9n\u00e8re les URL et faie le lien entre les base, l\u2019affichage des interfaces, le chemin sur le serveur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il est toujours int\u00e9ressant de regarder le fonctionnement du moteur de l\u2019outil pour comprendre ce qu\u2019il fait et pouvoir identifier la cause d\u2019un disfonctionnement quand il se produit. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans la d\u00e9marche&nbsp;d\u00e9terminer la cause d\u2019une panne :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On regarde en base&nbsp;: <strong><span style=\"color:red\">On ne fait que des \u00ab&nbsp;select&nbsp;\u00bb<\/span><\/strong><\/li>\n\n\n\n<li>On regarde comment est construit l\u2019arborescence du site<\/li>\n\n\n\n<li>Pb de droits<\/li>\n\n\n\n<li>Eventuellement voir les requ\u00eates qui sont lanc\u00e9es<\/li>\n\n\n\n<li>On contr\u00f4le les fichiers de configuration dans le r\u00e9pertoire \/etc<\/li>\n\n\n\n<li>On v\u00e9rifie l\u2019\u00e9tat des services<\/li>\n\n\n\n<li>On contr\u00f4le les logs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Je ne doute pas qu\u2019en ayant fait le tour de tout \u00e7a, on devrait \u00eatre en capacit\u00e9 d\u2019identifier la root cause d\u2019un disfonctionnement de l\u2019outil.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9ambule Quand j\u2019ai commenc\u00e9 linux la premi\u00e8re phrase qu\u2019on peut lire dans la litt\u00e9rature consacr\u00e9e est&nbsp;: \u00ab&nbsp;tout est dans un fichier&nbsp;\u00bb. Pour la gestion de l\u2019interface de centreon on peut dire \u00ab&nbsp;tout est en base&nbsp;\u00bb&nbsp;\ud83d\ude00 Il m\u2019est arriv\u00e9 d\u2019avoir des donn\u00e9es corrompues ,en arrivant chez mes clients, parce que des personnes, certainement plus intelligentes que les autres, ont crues bon d\u2019\u00e9crire directement en base&nbsp;\ud83d\ude1b Il m\u2019a paru donc important d\u2019expliquer&nbsp;: Dans cette suite d\u2019article nous verrons&nbsp;: Les forces en pr\u00e9sence Les fichiers Les fichiers de mise \u00e0 disposition de l\u2019interface \u00e0 apache sont pr\u00e9sents dans le r\u00e9pertoire \/usr\/share\/centreon\/www du serveur web Au premier niveau nous avons&nbsp;ci-dessous les r\u00e9pertoires les plus importants : Les bases de donn\u00e9es Tous les \u00e9l\u00e9ments permettant le bon fonctionnement de l\u2019interface&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[34,38,5,41,35],"tags":[],"class_list":["post-1445","post","type-post","status-publish","format-standard","hentry","category-base-de-donnees","category-bdd","category-centreon","category-interface","category-mysql"],"_links":{"self":[{"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=\/wp\/v2\/posts\/1445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1445"}],"version-history":[{"count":24,"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=\/wp\/v2\/posts\/1445\/revisions"}],"predecessor-version":[{"id":1488,"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=\/wp\/v2\/posts\/1445\/revisions\/1488"}],"wp:attachment":[{"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/communaute-omr.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}