{"id":3043,"date":"2026-10-14T12:58:42","date_gmt":"2026-10-14T10:58:42","guid":{"rendered":"https:\/\/loboguard.com\/?page_id=3043"},"modified":"2026-10-20T00:58:32","modified_gmt":"2026-10-19T22:58:32","slug":"loboguard-dc","status":"publish","type":"page","link":"https:\/\/loboguard.com\/fr\/loboguard-dc\/","title":{"rendered":"Home LoboGuard-DC"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3043\" class=\"elementor elementor-3043 elementor-3042\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35223913 e-flex e-con-boxed e-con e-parent\" data-id=\"35223913\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b9659ad e-con-full e-flex e-con e-child\" data-id=\"b9659ad\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-77fd4de4 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"77fd4de4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">LOBOGUARD<br>GESTION DE CENTRE DE DONN\u00c9ES PROXMOX<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c212b9c elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"4c212b9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:70}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Un seul point d&rsquo;acc\u00e8s. Tous les clusters. Un contr\u00f4le total. LoboGuard-DC unifie tous vos clusters, locataires et ressources Proxmox sur une plateforme unique. Visualisez, g\u00e9rez et s\u00e9curisez l&rsquo;ensemble de votre infrastructure. Vos locataires, vos d\u00e9cisions.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-411313e e-con-full e-flex e-con e-child\" data-id=\"411313e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-715240d elementor-invisible elementor-widget elementor-widget-image\" data-id=\"715240d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1919\" height=\"944\" src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png\" class=\"attachment-full size-full wp-image-3062\" alt=\"overview LoboGuard-DC\" srcset=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png 1919w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-300x148.png 300w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-1024x504.png 1024w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-768x378.png 768w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-1536x756.png 1536w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-600x295.png 600w\" sizes=\"(max-width: 1919px) 100vw, 1919px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6fa7b455 e-con-full e-flex e-con e-parent\" data-id=\"6fa7b455\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ab47ce3 elementor-widget elementor-widget-html\" data-id=\"ab47ce3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"lgdc-about\" aria-labelledby=\"lgdc-about-title\" data-scene=\"tenant\">\r\n  <style>\r\n    .lgdc-about {\r\n      --lgdc-heading: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-text: var(--e-global-color-text, #B9B9BF);\r\n      --lgdc-accent: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-off: var(--e-global-color-72b2dc9, #565660);\r\n      --lgdc-bg: var(--e-global-color-ad9a0db, #141A31);\r\n      --lgdc-card-bg: var(--e-global-color-secondary, #0C1226);\r\n      --lgdc-card-border: var(--e-global-color-34cc923, #FFFFFF33);\r\n      --lgdc-font-heading: var(--e-global-typography-primary-font-family, \"Chakra Petch\"), sans-serif;\r\n      --lgdc-font-text: var(--e-global-typography-text-font-family, \"IBM Plex Mono\"), monospace;\r\n\r\n      --mx: 0;\r\n      --my: 0;\r\n\r\n      position: relative;\r\n      overflow: clip;\r\n      isolation: isolate;\r\n      box-sizing: border-box;\r\n      width: 100%;\r\n      padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);\r\n      background: var(--lgdc-bg);\r\n      font-family: var(--lgdc-font-text);\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-about *, .lgdc-about *::before, .lgdc-about *::after { box-sizing: border-box; }\r\n\r\n    .lgdc-about .lgdc-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }\r\n    .lgdc-about .lgdc-glow {\r\n      position: absolute; inset: 0;\r\n      background:\r\n        radial-gradient(55% 40% at 50% 38%, color-mix(in srgb, var(--lgdc-accent) 16%, transparent), transparent 70%),\r\n        radial-gradient(40% 35% at 0% 100%, color-mix(in srgb, var(--lgdc-accent) 14%, transparent), transparent 70%),\r\n        radial-gradient(40% 35% at 100% 0%, color-mix(in srgb, var(--lgdc-accent) 12%, transparent), transparent 70%);\r\n    }\r\n    .lgdc-about .lgdc-honeywrap {\r\n      position: absolute; inset: 0;\r\n      -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 20%, transparent 75%);\r\n      mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 20%, transparent 75%);\r\n    }\r\n    .lgdc-about .lgdc-honey {\r\n      position: absolute; left: -56px; right: -56px; top: -100px;\r\n      width: calc(100% + 112px); height: calc(100% + 200px);\r\n      color: var(--lgdc-accent);\r\n      opacity: .22;\r\n      transform: translate3d(calc(var(--mx) * -20px), 0, 0);\r\n      transition: transform .3s ease-out;\r\n    }\r\n    .lgdc-about .lgdc-honey svg { display: block; width: 100%; height: 100%; animation: lgdc-drift 14s linear infinite; }\r\n    .lgdc-about .lgdc-radar {\r\n      position: absolute; left: 50%; top: 42%;\r\n      width: min(120vmin, 1100px); aspect-ratio: 1;\r\n      transform: translate(-50%, -50%) translate3d(calc(var(--mx) * -24px), calc(var(--my) * -18px), 0);\r\n      transition: transform .3s ease-out;\r\n      border-radius: 50%;\r\n      background: repeating-radial-gradient(circle, transparent 0 59px, color-mix(in srgb, var(--lgdc-accent) 14%, transparent) 59px 60px);\r\n      -webkit-mask-image: radial-gradient(circle, #000 30%, transparent 70%);\r\n      mask-image: radial-gradient(circle, #000 30%, transparent 70%);\r\n    }\r\n    .lgdc-about .lgdc-sweep {\r\n      position: absolute; inset: 0;\r\n      border-radius: 50%;\r\n      background: conic-gradient(from 0deg, transparent 0deg 290deg, color-mix(in srgb, var(--lgdc-accent) 6%, transparent) 300deg, color-mix(in srgb, var(--lgdc-accent) 30%, transparent) 359deg, transparent 360deg);\r\n      animation: lgdc-spin 7s linear infinite;\r\n    }\r\n    .lgdc-about .lgdc-layer { position: absolute; inset: 0; transition: transform .25s ease-out; }\r\n    .lgdc-about .lgdc-far  { transform: translate3d(calc(var(--mx) * -14px), calc(var(--my) * -10px), 0); }\r\n    .lgdc-about .lgdc-near { transform: translate3d(calc(var(--mx) * -38px), calc(var(--my) * -28px), 0); }\r\n    .lgdc-about .lgdc-layer i {\r\n      position: absolute;\r\n      width: var(--s); height: calc(var(--s) * 1.1547);\r\n      clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      background: color-mix(in srgb, var(--lgdc-accent) 50%, transparent);\r\n      animation: lgdc-float var(--d) ease-in-out infinite alternate;\r\n    }\r\n    .lgdc-about .lgdc-layer i::after {\r\n      content: \"\";\r\n      position: absolute; inset: 2px;\r\n      clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      background: var(--lgdc-bg);\r\n    }\r\n    .lgdc-about .lgdc-layer i:nth-child(3n) { background: color-mix(in srgb, var(--lgdc-accent) 28%, transparent); }\r\n    .lgdc-about .lgdc-layer i:nth-child(3n)::after { display: none; }\r\n    @keyframes lgdc-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, 100px, 0); } }\r\n    @keyframes lgdc-spin { to { transform: rotate(360deg); } }\r\n    @keyframes lgdc-float { from { transform: translate3d(0, 0, 0) rotate(0deg); } to { transform: translate3d(0, -22px, 0) rotate(60deg); } }\r\n\r\n    .lgdc-about .lgdc-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }\r\n\r\n    .lgdc-about .lgdc-head { max-width: 75ch; margin: 0 auto clamp(1.5rem, 4vw, 2.5rem); text-align: center; }\r\n    .lgdc-about .lgdc-title {\r\n      margin: 0 0 1rem;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.9rem, 4.5vw, 3rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.15;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-about .lgdc-intro {\r\n      margin: 0;\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: clamp(1rem, 2vw, 1.125rem);\r\n      font-weight: 400;\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n    }\r\n\r\n    .lgdc-about .lgdc-stage { max-width: 900px; margin: 0 auto clamp(1.5rem, 4vw, 2.5rem); text-align: center; perspective: 1100px; }\r\n    .lgdc-about .lgdc-diagram {\r\n      display: block; width: 100%; height: auto; overflow: visible;\r\n      color: var(--lgdc-accent);\r\n      transform-origin: 50% 60%;\r\n      transform: rotateX(calc(10deg + var(--my) * -5deg)) rotateY(calc(var(--mx) * 8deg));\r\n      transition: transform .25s ease-out;\r\n      filter: drop-shadow(0 28px 24px rgba(0, 0, 0, .45));\r\n    }\r\n    .lgdc-about .lgdc-caption {\r\n      min-height: 3.2em;\r\n      margin: .5rem 0 0;\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: clamp(.8rem, 1.6vw, .95rem);\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-about .lgdc-caption::before {\r\n      content: \"\";\r\n      display: inline-block;\r\n      width: .6em; height: .6em;\r\n      margin-right: .6em;\r\n      clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      background: var(--lgdc-accent);\r\n    }\r\n\r\n    .lgdc-about .gbox { fill: color-mix(in srgb, var(--lgdc-card-bg) 70%, transparent); stroke: var(--lgdc-card-border); stroke-width: 1.5; stroke-dasharray: 10 6; vector-effect: non-scaling-stroke; transition: stroke .4s ease; }\r\n    .lgdc-about .glabel { fill: var(--lgdc-heading); font-family: var(--lgdc-font-heading); font-size: 15px; font-weight: 700; letter-spacing: .12em; }\r\n    .lgdc-about .glabel-b { text-anchor: end; }\r\n    .lgdc-about .rk { transition: opacity .5s ease; }\r\n    .lgdc-about .rack { fill: var(--lgdc-card-bg); stroke: var(--lgdc-card-border); stroke-width: 1.5; vector-effect: non-scaling-stroke; transition: stroke .4s ease; }\r\n    .lgdc-about .unit {\r\n      fill: transparent;\r\n      stroke: var(--lgdc-accent);\r\n      stroke-width: 1.5;\r\n      stroke-dasharray: 4 3;\r\n      vector-effect: non-scaling-stroke;\r\n      transition: fill .4s ease, stroke-dasharray .4s ease;\r\n    }\r\n    .lgdc-about .led { fill: var(--lgdc-accent); transition: fill .4s ease; }\r\n\r\n    .lgdc-about .hub { fill: var(--lgdc-card-bg); stroke: var(--lgdc-accent); stroke-width: 2.5; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .hubtxt { fill: var(--lgdc-heading); font-family: var(--lgdc-font-heading); font-size: 30px; font-weight: 700; text-anchor: middle; }\r\n    .lgdc-about .hubring { fill: none; stroke: var(--lgdc-accent); stroke-width: 2; vector-effect: non-scaling-stroke; opacity: 0; transform-box: fill-box; transform-origin: center; }\r\n\r\n    .lgdc-about .tr { fill: none; stroke: var(--lgdc-card-border); stroke-width: 2; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .mtr { fill: none; stroke: var(--lgdc-card-border); stroke-width: 1.5; stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .flow {\r\n      fill: none;\r\n      stroke: var(--lgdc-accent);\r\n      stroke-width: 5;\r\n      stroke-linecap: round;\r\n      stroke-dasharray: 0.1 16;\r\n      vector-effect: non-scaling-stroke;\r\n      opacity: 0;\r\n      transition: opacity .4s ease;\r\n      filter: drop-shadow(0 0 3px var(--lgdc-accent));\r\n    }\r\n\r\n    .lgdc-about .chan { fill: var(--lgdc-card-bg); stroke: var(--lgdc-card-border); stroke-width: 2; vector-effect: non-scaling-stroke; transition: stroke .4s ease; }\r\n    .lgdc-about .chandot { fill: var(--lgdc-off); transition: fill .4s ease; }\r\n\r\n    .lgdc-about .xm { opacity: 0; transition: opacity .4s ease; }\r\n    .lgdc-about .xm path { fill: none; stroke: var(--lgdc-accent); stroke-width: 3.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .xm circle { fill: var(--lgdc-card-bg); stroke: var(--lgdc-accent); stroke-width: 2; vector-effect: non-scaling-stroke; }\r\n\r\n    .lgdc-about .shield { opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(.6); transition: opacity .4s ease, transform .4s ease; }\r\n    .lgdc-about .shield path, .lgdc-about .shield rect { fill: var(--lgdc-card-bg); stroke: var(--lgdc-accent); stroke-width: 2.5; stroke-linejoin: round; }\r\n    .lgdc-about .shield .lockarc { fill: none; }\r\n\r\n    .lgdc-about .scan { opacity: 0; transition: opacity .4s ease; }\r\n    .lgdc-about .scanline { fill: var(--lgdc-accent); filter: drop-shadow(0 0 6px var(--lgdc-accent)); }\r\n\r\n    .lgdc-about[data-scene=\"tenant\"] .l1, .lgdc-about[data-scene=\"tenant\"] .l2,\r\n    .lgdc-about[data-scene=\"tenant\"] .l3, .lgdc-about[data-scene=\"tenant\"] .l4 { opacity: 1; animation: lgdc-flow 1s linear infinite; }\r\n    .lgdc-about[data-scene=\"tenant\"] .gbox { stroke: var(--lgdc-accent); }\r\n    .lgdc-about[data-scene=\"tenant\"] .k1, .lgdc-about[data-scene=\"tenant\"] .k2 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n\r\n    .lgdc-about[data-scene=\"ransom\"] .l3, .lgdc-about[data-scene=\"ransom\"] .l4 { opacity: 1; animation: lgdc-flow 1s linear infinite; }\r\n    .lgdc-about[data-scene=\"ransom\"] .r1 { opacity: .35; }\r\n    .lgdc-about[data-scene=\"ransom\"] .r1 .rack { stroke-dasharray: 8 6; }\r\n    .lgdc-about[data-scene=\"ransom\"] .r1 .led { fill: var(--lgdc-off); }\r\n    .lgdc-about[data-scene=\"ransom\"] .xm { opacity: 1; }\r\n    .lgdc-about[data-scene=\"ransom\"] .shield { opacity: 1; transform: scale(1); }\r\n    .lgdc-about[data-scene=\"ransom\"] .r2 .k1, .lgdc-about[data-scene=\"ransom\"] .r3 .k1, .lgdc-about[data-scene=\"ransom\"] .r3 .k2,\r\n    .lgdc-about[data-scene=\"ransom\"] .r4 .k1, .lgdc-about[data-scene=\"ransom\"] .r4 .k2 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n\r\n    .lgdc-about[data-scene=\"trouble\"] .m1 { opacity: 1; animation: lgdc-flow .6s linear infinite; }\r\n    .lgdc-about[data-scene=\"trouble\"] .m2 { opacity: 1; animation: lgdc-flow .6s linear infinite reverse; }\r\n    .lgdc-about[data-scene=\"trouble\"] .l1, .lgdc-about[data-scene=\"trouble\"] .l2,\r\n    .lgdc-about[data-scene=\"trouble\"] .l3, .lgdc-about[data-scene=\"trouble\"] .l4 { opacity: .35; animation: lgdc-flow 2s linear infinite; }\r\n    .lgdc-about[data-scene=\"trouble\"] .k1, .lgdc-about[data-scene=\"trouble\"] .k3 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n    .lgdc-about[data-scene=\"trouble\"] .led { animation: lgdc-blink .5s ease-in-out infinite; }\r\n\r\n    .lgdc-about[data-scene=\"scan\"] .scan { opacity: 1; }\r\n    .lgdc-about[data-scene=\"scan\"] .scanmove { animation: lgdc-scan 2.2s ease-in-out infinite alternate; }\r\n    .lgdc-about[data-scene=\"scan\"] .k2 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n    .lgdc-about[data-scene=\"scan\"] .led { animation: lgdc-blink 1s ease-in-out infinite; }\r\n\r\n    .lgdc-about[data-scene=\"topology\"] .l1, .lgdc-about[data-scene=\"topology\"] .l2,\r\n    .lgdc-about[data-scene=\"topology\"] .l3, .lgdc-about[data-scene=\"topology\"] .l4 { opacity: .6; animation: lgdc-flow 2s linear infinite; }\r\n    .lgdc-about[data-scene=\"topology\"] .m1, .lgdc-about[data-scene=\"topology\"] .m2 { opacity: .45; animation: lgdc-flow 2s linear infinite; }\r\n    .lgdc-about[data-scene=\"topology\"] .unit { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n    .lgdc-about[data-scene=\"topology\"] .gbox, .lgdc-about[data-scene=\"topology\"] .rack { stroke: var(--lgdc-accent); }\r\n    .lgdc-about[data-scene=\"topology\"] .hubring { animation: lgdc-pulse 2s ease-out infinite; }\r\n\r\n    .lgdc-about[data-scene=\"alerts\"] .c1, .lgdc-about[data-scene=\"alerts\"] .c2, .lgdc-about[data-scene=\"alerts\"] .c3 { opacity: 1; animation: lgdc-flow .7s linear infinite; }\r\n    .lgdc-about[data-scene=\"alerts\"] .chan { stroke: var(--lgdc-accent); }\r\n    .lgdc-about[data-scene=\"alerts\"] .chandot { fill: var(--lgdc-accent); animation: lgdc-blink .9s ease-in-out infinite; }\r\n    .lgdc-about[data-scene=\"alerts\"] .ch2 .chandot { animation-delay: .15s; }\r\n    .lgdc-about[data-scene=\"alerts\"] .ch3 .chandot { animation-delay: .3s; }\r\n    .lgdc-about[data-scene=\"alerts\"] .hubring { animation: lgdc-pulse 1.2s ease-out infinite; }\r\n    .lgdc-about[data-scene=\"alerts\"] .k1 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n\r\n    @keyframes lgdc-flow { to { stroke-dashoffset: -16.1; } }\r\n    @keyframes lgdc-blink { 50% { opacity: .25; } }\r\n    @keyframes lgdc-scan { from { transform: translateX(40px); } to { transform: translateX(960px); } }\r\n    @keyframes lgdc-pulse { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(1.7); } }\r\n\r\n    .lgdc-about .lgdc-grid {\r\n      display: grid;\r\n      grid-template-columns: 1fr;\r\n      gap: clamp(1rem, 2.5vw, 1.75rem);\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n    @media (min-width: 640px) { .lgdc-about .lgdc-grid { grid-template-columns: repeat(2, 1fr); } }\r\n    @media (min-width: 1000px) { .lgdc-about .lgdc-grid { grid-template-columns: repeat(3, 1fr); } }\r\n\r\n    @media (max-width: 999px) {\r\n      .lgdc-about .lgdc-stage {\r\n        position: sticky;\r\n        top: var(--lgdc-sticky-top, 0px);\r\n        z-index: 2;\r\n        padding: .5rem 0;\r\n        background: var(--lgdc-bg);\r\n      }\r\n      .lgdc-about .lgdc-diagram { max-height: 30vh; max-height: 30svh; }\r\n      .lgdc-about .lgdc-caption { min-height: 3.2em; }\r\n    }\r\n\r\n    .lgdc-about .lgdc-card { min-width: 0; display: flex; perspective: 900px; cursor: pointer; }\r\n    .lgdc-about .lgdc-face {\r\n      position: relative;\r\n      flex: 1 1 auto;\r\n      min-width: 0;\r\n      padding: clamp(1.1rem, 2.5vw, 1.75rem);\r\n      background: var(--lgdc-card-bg);\r\n      border: 1px solid var(--lgdc-card-border);\r\n      text-align: center;\r\n      transform-style: preserve-3d;\r\n      transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));\r\n      transition: transform .2s ease-out, border-color .3s ease, box-shadow .3s ease;\r\n    }\r\n    .lgdc-about .lgdc-face::after {\r\n      content: \"\";\r\n      position: absolute; inset: 0;\r\n      background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .12), transparent 55%);\r\n      opacity: 0;\r\n      transition: opacity .3s ease;\r\n      pointer-events: none;\r\n    }\r\n    .lgdc-about .lgdc-card.is-tilting .lgdc-face::after { opacity: 1; }\r\n    .lgdc-about .lgdc-card.is-active .lgdc-face { border-color: var(--lgdc-accent); box-shadow: 0 0 0 1px var(--lgdc-accent), 0 18px 40px -14px color-mix(in srgb, var(--lgdc-accent) 55%, transparent); }\r\n    .lgdc-about .lgdc-card:focus-visible { outline: none; }\r\n    .lgdc-about .lgdc-card:focus-visible .lgdc-face { outline: 2px solid var(--lgdc-accent); outline-offset: 3px; }\r\n    .lgdc-about .lgdc-card h3 {\r\n      transform: translateZ(28px);\r\n      margin: 0 0 .6rem;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.05rem, 2.2vw, 1.4rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.25;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-about .lgdc-card p {\r\n      transform: translateZ(12px);\r\n      margin: 0;\r\n      font-family: var(--lgdc-font-text);\r\n      font-weight: 400;\r\n      text-transform: none;\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n      overflow-wrap: anywhere;\r\n    }\r\n\r\n    @media (prefers-reduced-motion: no-preference) {\r\n      .lgdc-about.lgdc-anim .lgdc-card {\r\n        opacity: 0;\r\n        transform: scale(.92);\r\n        transition: opacity .5s ease, transform .5s ease;\r\n      }\r\n      .lgdc-about.lgdc-anim .lgdc-card.is-visible { opacity: 1; transform: none; }\r\n    }\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .lgdc-about .flow, .lgdc-about .led, .lgdc-about .chandot, .lgdc-about .hubring, .lgdc-about .scanmove,\r\n      .lgdc-about .lgdc-sweep, .lgdc-about .lgdc-honey svg, .lgdc-about .lgdc-layer i { animation: none !important; }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"lgdc-bg\" aria-hidden=\"true\">\r\n    <div class=\"lgdc-glow\"><\/div>\r\n    <div class=\"lgdc-honeywrap\">\r\n      <div class=\"lgdc-honey\">\r\n        <svg focusable=\"false\">\r\n          <defs>\r\n            <pattern id=\"lgdc-hex-pattern\" width=\"56\" height=\"100\" patternUnits=\"userSpaceOnUse\">\r\n              <path d=\"M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\"\/>\r\n            <\/pattern>\r\n          <\/defs>\r\n          <rect width=\"100%\" height=\"100%\" fill=\"url(#lgdc-hex-pattern)\"\/>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"lgdc-radar\"><div class=\"lgdc-sweep\"><\/div><\/div>\r\n    <div class=\"lgdc-layer lgdc-far\"><i style=\"left:6%;top:12%;--s:16px;--d:7s\"><\/i><i style=\"left:22%;top:62%;--s:24px;--d:9s\"><\/i><i style=\"left:48%;top:8%;--s:12px;--d:6s\"><\/i><i style=\"left:74%;top:70%;--s:20px;--d:8s\"><\/i><i style=\"left:92%;top:24%;--s:14px;--d:10s\"><\/i><\/div>\r\n    <div class=\"lgdc-layer lgdc-near\"><i style=\"left:12%;top:38%;--s:30px;--d:8s\"><\/i><i style=\"left:34%;top:80%;--s:14px;--d:6s\"><\/i><i style=\"left:63%;top:30%;--s:26px;--d:9s\"><\/i><i style=\"left:86%;top:52%;--s:34px;--d:7s\"><\/i><i style=\"left:56%;top:86%;--s:12px;--d:11s\"><\/i><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"lgdc-inner\">\r\n    <header class=\"lgdc-head\">\r\n      <h2 class=\"lgdc-title\" id=\"lgdc-about-title\">Qu\u2019est-ce que LoboGuard-DC<\/h2>\r\n      <p class=\"lgdc-intro\">LoboGuard-DC est une plateforme de gestion unifi\u00e9e pour les infrastructures Proxmox VE de toute taille, d\u2019un seul cluster \u00e0 un d\u00e9ploiement multi-tenant de services manag\u00e9s. Une seule interface pour exploiter clusters, n\u0153uds, machines virtuelles, conteneurs, stockage, r\u00e9seaux et s\u00e9curit\u00e9. Con\u00e7ue pour tous les environnements, pr\u00eate pour les plus exigeants.<\/p>\r\n    <\/header>\r\n\r\n    <div class=\"lgdc-stage\">\r\n      <svg class=\"lgdc-diagram\" viewBox=\"0 0 1000 300\" aria-hidden=\"true\" focusable=\"false\">\r\n        <defs>\r\n          <linearGradient id=\"lgdc-scan-grad\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\r\n            <stop offset=\"0\" stop-color=\"currentColor\" stop-opacity=\"0\"\/>\r\n            <stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\".4\"\/>\r\n          <\/linearGradient>\r\n        <\/defs>\r\n\r\n        <rect class=\"gbox\" x=\"30\" y=\"30\" width=\"300\" height=\"235\"\/>\r\n        <rect class=\"gbox\" x=\"670\" y=\"30\" width=\"300\" height=\"235\"\/>\r\n        <text class=\"glabel\" x=\"30\" y=\"292\">TENANT A<\/text>\r\n        <text class=\"glabel glabel-b\" x=\"970\" y=\"292\">TENANT B<\/text>\r\n\r\n        <path class=\"mtr\" d=\"M245 70 C245 20 755 20 755 70\"\/>\r\n        <path class=\"mtr\" d=\"M115 70 C115 -10 885 -10 885 70\"\/>\r\n        <path class=\"flow m1\" d=\"M245 70 C245 20 755 20 755 70\"\/>\r\n        <path class=\"flow m2\" d=\"M115 70 C115 -10 885 -10 885 70\"\/>\r\n\r\n        <path class=\"tr\" d=\"M448 150 H290\"\/>\r\n        <path class=\"tr\" d=\"M448 150 H380 V245 H115 V220\"\/>\r\n        <path class=\"tr\" d=\"M552 150 H710\"\/>\r\n        <path class=\"tr\" d=\"M552 150 H620 V245 H885 V220\"\/>\r\n        <path class=\"tr\" d=\"M474 195 L450 261\"\/>\r\n        <path class=\"tr\" d=\"M500 195 V261\"\/>\r\n        <path class=\"tr\" d=\"M526 195 L550 261\"\/>\r\n        <path class=\"flow l1\" d=\"M448 150 H290\"\/>\r\n        <path class=\"flow l2\" d=\"M448 150 H380 V245 H115 V220\"\/>\r\n        <path class=\"flow l3\" d=\"M552 150 H710\"\/>\r\n        <path class=\"flow l4\" d=\"M552 150 H620 V245 H885 V220\"\/>\r\n        <path class=\"flow c1\" d=\"M474 195 L450 261\"\/>\r\n        <path class=\"flow c2\" d=\"M500 195 V261\"\/>\r\n        <path class=\"flow c3\" d=\"M526 195 L550 261\"\/>\r\n\r\n        <g class=\"rk r1\">\r\n          <rect class=\"rack\" x=\"70\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"80\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"80\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"80\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"80\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"140\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"140\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"140\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"140\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n        <g class=\"rk r2\">\r\n          <rect class=\"rack\" x=\"200\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"210\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"210\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"210\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"210\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"270\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"270\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"270\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"270\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n        <g class=\"rk r3\">\r\n          <rect class=\"rack\" x=\"710\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"720\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"720\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"720\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"720\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"730\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"730\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"730\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"730\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n        <g class=\"rk r4\">\r\n          <rect class=\"rack\" x=\"840\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"850\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"850\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"850\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"850\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"860\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"860\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"860\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"860\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n\r\n        <polygon class=\"hubring\" points=\"552,150 526,195 474,195 448,150 474,105 526,105\"\/>\r\n        <polygon class=\"hub\" points=\"552,150 526,195 474,195 448,150 474,105 526,105\"\/>\r\n        <text class=\"hubtxt\" x=\"500\" y=\"161\">DC<\/text>\r\n\r\n        <g class=\"ch1\"><circle class=\"chan\" cx=\"450\" cy=\"272\" r=\"11\"\/><circle class=\"chandot\" cx=\"450\" cy=\"272\" r=\"4\"\/><\/g>\r\n        <g class=\"ch2\"><circle class=\"chan\" cx=\"500\" cy=\"272\" r=\"11\"\/><circle class=\"chandot\" cx=\"500\" cy=\"272\" r=\"4\"\/><\/g>\r\n        <g class=\"ch3\"><circle class=\"chan\" cx=\"550\" cy=\"272\" r=\"11\"\/><circle class=\"chandot\" cx=\"550\" cy=\"272\" r=\"4\"\/><\/g>\r\n\r\n        <g class=\"xm\">\r\n          <circle cx=\"345\" cy=\"150\" r=\"13\"\/>\r\n          <path d=\"M339 144 L351 156 M351 144 L339 156\"\/>\r\n          <circle cx=\"380\" cy=\"210\" r=\"13\"\/>\r\n          <path d=\"M374 204 L386 216 M386 204 L374 216\"\/>\r\n        <\/g>\r\n\r\n        <g transform=\"translate(-385 -25)\">\r\n          <g class=\"shield\">\r\n            <path d=\"M500 132 L532 145 V173 C532 192 516 203 500 209 C484 203 468 192 468 173 V145 Z\"\/>\r\n            <rect x=\"489\" y=\"168\" width=\"22\" height=\"18\"\/>\r\n            <path class=\"lockarc\" d=\"M493 168 V162 A7 7 0 0 1 507 162 V168\"\/>\r\n          <\/g>\r\n        <\/g>\r\n\r\n        <g class=\"scan\">\r\n          <g class=\"scanmove\">\r\n            <rect x=\"-70\" y=\"30\" width=\"70\" height=\"235\" fill=\"url(#lgdc-scan-grad)\"\/>\r\n            <rect class=\"scanline\" x=\"0\" y=\"30\" width=\"3\" height=\"235\"\/>\r\n          <\/g>\r\n        <\/g>\r\n      <\/svg>\r\n      <p class=\"lgdc-caption\" aria-live=\"polite\"><\/p>\r\n    <\/div>\r\n\r\n    <ul class=\"lgdc-grid\">\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"tenant\" data-caption=\"Un seul arbre pour tous les clusters, chaque tenant isol\u00e9 dans sa propre vue\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Multi-cluster, multi-tenant<\/h3>\r\n        <p>Pilotez tous vos clusters Proxmox VE depuis un seul arbre. Regroupez-les par client pour que chaque tenant ne voie que son propre p\u00e9rim\u00e8tre, avec des permissions en cascade de l\u2019administrateur jusqu\u2019\u00e0 l\u2019utilisateur en lecture seule. D\u2019un cluster \u00e0 cinquante, de l\u2019IT interne \u00e0 l\u2019h\u00e9bergement multi-clients : la structure \u00e9volue avec vous.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"ransom\" data-caption=\"VM compromise isol\u00e9e, sortie Tor et IP malveillantes bloqu\u00e9es\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Anti-ransomware<\/h3>\r\n        <p>Trois couches de d\u00e9fense en parall\u00e8le : protection canary par VM avec isolation automatique et snapshots forensiques, blocage de la sortie Tor sur tout le cluster et blocage des menaces sur tout le cluster selon la liste de r\u00e9putation FireHOL Level 1. La d\u00e9tection est automatique, la r\u00e9ponse tient en un clic.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"trouble\" data-caption=\"Tests de latence et de bande passante en full-mesh entre les n\u0153uds\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Diagnostic<\/h3>\r\n        <p>Lancez des benchmarks de n\u0153uds, des tests de latence et de bande passante, des tests r\u00e9seau full-mesh, des contr\u00f4les de sant\u00e9 et le nettoyage Ceph, le tout depuis la m\u00eame console. Chaque ex\u00e9cution est enregistr\u00e9e avec export PDF. Diagnostiquez les probl\u00e8mes en quelques minutes au lieu de jongler entre les sessions SSH du cluster.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"scan\" data-caption=\"Scan CVE de toutes les machines invit\u00e9es sur tous les clusters\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Scanner de vuln\u00e9rabilit\u00e9s<\/h3>\r\n        <p>Scan CVE \u00e0 la demande ou planifi\u00e9 sur toutes les machines invit\u00e9es. Notation de la s\u00e9v\u00e9rit\u00e9, comparaison historique et exports Excel, CSV et PDF, pr\u00eats \u00e0 int\u00e9grer vos rapports de conformit\u00e9 ou \u00e0 remettre \u00e0 l\u2019auditeur.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"topology\" data-caption=\"Carte en direct des clusters, n\u0153uds, invit\u00e9s, stockage et r\u00e9seaux\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Topologie en direct<\/h3>\r\n        <p>Sch\u00e9ma de l\u2019infrastructure en temps r\u00e9el avec clusters, n\u0153uds, invit\u00e9s, stockage et r\u00e9seaux. Vues arbre et rack, avec export SVG et draw.io.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"alerts\" data-caption=\"Une alerte diffus\u00e9e par e-mail, Slack, Teams et tous les autres canaux\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Centre d\u2019incidents + alertes<\/h3>\r\n        <p>Ticketing int\u00e9gr\u00e9 avec chronologie, base de connaissances et synchronisation bidirectionnelle avec Zoho Desk. Moteur d\u2019alertes qui diffuse vers e-mail, Slack, Microsoft Teams, Discord, ntfy, Gotify et webhooks g\u00e9n\u00e9riques : chaque alerte atteint tous les canaux qui comptent.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <script nowprocket>\r\n    (function () {\r\n      var s = document.currentScript;\r\n      var root = s && s.closest ? s.closest('.lgdc-about') : null;\r\n      if (!root) {\r\n        var all = document.querySelectorAll('.lgdc-about');\r\n        for (var n = 0; n < all.length; n++) { if (!all[n].__lgdcInit) { root = all[n]; break; } }\r\n      }\r\n      if (!root || root.__lgdcInit) return;\r\n      root.__lgdcInit = true;\r\n\r\n      var cards = Array.prototype.slice.call(root.querySelectorAll('.lgdc-card'));\r\n      var caption = root.querySelector('.lgdc-caption');\r\n      var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      var current = 0, timer = null, resume = null, visible = false;\r\n\r\n      function show(i) {\r\n        current = i;\r\n        root.setAttribute('data-scene', cards[i].getAttribute('data-scene'));\r\n        caption.textContent = cards[i].getAttribute('data-caption');\r\n        cards.forEach(function (c, k) {\r\n          c.classList.toggle('is-active', k === i);\r\n          if (k === i) { c.setAttribute('aria-current', 'true'); } else { c.removeAttribute('aria-current'); }\r\n        });\r\n      }\r\n      function stop() { clearInterval(timer); timer = null; clearTimeout(resume); }\r\n      function start() {\r\n        if (reduce || timer || !visible) return;\r\n        timer = setInterval(function () { show((current + 1) % cards.length); }, 4500);\r\n      }\r\n      function pauseThenResume(ms) { stop(); resume = setTimeout(start, ms); }\r\n\r\n      show(0);\r\n\r\n      var fine = window.matchMedia('(hover: hover) and (pointer: fine)').matches;\r\n      if (fine && !reduce) {\r\n        var raf = null;\r\n        root.addEventListener('pointermove', function (e) {\r\n          if (raf) return;\r\n          raf = requestAnimationFrame(function () {\r\n            raf = null;\r\n            var r = root.getBoundingClientRect();\r\n            root.style.setProperty('--mx', (((e.clientX - r.left) \/ r.width) * 2 - 1).toFixed(3));\r\n            root.style.setProperty('--my', (((e.clientY - r.top) \/ r.height) * 2 - 1).toFixed(3));\r\n          });\r\n        });\r\n        root.addEventListener('pointerleave', function () {\r\n          root.style.setProperty('--mx', 0);\r\n          root.style.setProperty('--my', 0);\r\n        });\r\n        cards.forEach(function (c) {\r\n          var face = c.querySelector('.lgdc-face');\r\n          c.addEventListener('pointermove', function (e) {\r\n            var r = face.getBoundingClientRect();\r\n            var x = (e.clientX - r.left) \/ r.width, y = (e.clientY - r.top) \/ r.height;\r\n            face.style.setProperty('--ry', ((x - 0.5) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--rx', ((0.5 - y) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--gx', (x * 100).toFixed(1) + '%');\r\n            face.style.setProperty('--gy', (y * 100).toFixed(1) + '%');\r\n            c.classList.add('is-tilting');\r\n          });\r\n          c.addEventListener('pointerleave', function () {\r\n            face.style.setProperty('--rx', '0deg');\r\n            face.style.setProperty('--ry', '0deg');\r\n            c.classList.remove('is-tilting');\r\n          });\r\n        });\r\n      }\r\n\r\n      cards.forEach(function (c, i) {\r\n        c.addEventListener('mouseenter', function () { stop(); show(i); });\r\n        c.addEventListener('mouseleave', function () { pauseThenResume(2500); });\r\n        c.addEventListener('focus', function () { stop(); show(i); });\r\n        c.addEventListener('blur', function () { pauseThenResume(2500); });\r\n        c.addEventListener('click', function () { show(i); pauseThenResume(9000); });\r\n      });\r\n\r\n      if ('IntersectionObserver' in window) {\r\n        new IntersectionObserver(function (entries) {\r\n          visible = entries[0].isIntersecting;\r\n          if (visible) { start(); } else { stop(); }\r\n        }, { threshold: 0 }).observe(root);\r\n      } else { visible = true; start(); }\r\n\r\n      if (!('IntersectionObserver' in window) || reduce) return;\r\n\r\n      var vh = window.innerHeight;\r\n      cards.forEach(function (c) { if (c.getBoundingClientRect().top < vh) c.classList.add('is-visible'); });\r\n      root.classList.add('lgdc-anim');\r\n\r\n      var io = new IntersectionObserver(function (entries) {\r\n        entries.forEach(function (e) {\r\n          if (e.isIntersecting) {\r\n            var i = cards.indexOf(e.target) % 3;\r\n            e.target.style.transitionDelay = (i * 80) + 'ms';\r\n            e.target.classList.add('is-visible');\r\n            (function (t) { setTimeout(function () { t.style.transitionDelay = ''; }, 800); })(e.target);\r\n            io.unobserve(e.target);\r\n          }\r\n        });\r\n      }, { threshold: 0.15 });\r\n      cards.forEach(function (c) { if (!c.classList.contains('is-visible')) io.observe(c); });\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0478d09 e-flex e-con-boxed e-con e-parent\" data-id=\"0478d09\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8341d0f elementor-widget elementor-widget-html\" data-id=\"8341d0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n    .lg-cta-section {\r\n        border-radius: 20px;\r\n        padding: 60px;\r\n        text-align: center;\r\n        position: relative;\r\n        overflow: hidden;\r\n        border: 1px solid var(--e-global-color-primary);\r\n        background: linear-gradient(135deg, var(--e-global-color-ffb3e68) 0%, var(--e-global-color-c502742) 100%);\r\n    }\r\n\r\n    .lg-cta-section::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: radial-gradient(circle, rgba(20, 194, 163, 0.1) 0%, transparent 70%);\r\n        animation: lg-rotate 20s linear infinite;\r\n    }\r\n\r\n    @keyframes lg-rotate {\r\n        from { transform: rotate(0deg); }\r\n        to { transform: rotate(360deg); }\r\n    }\r\n\r\n    .lg-cta-section h2 {\r\n        text-transform: uppercase;\r\n        color: var(--e-global-color-accent);\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    .lg-cta-section p {\r\n        text-transform: uppercase;\r\n        color: var(--e-global-color-text);\r\n        margin-bottom: 40px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    .lg-btn {\r\n        padding: 20px 50px;\r\n        text-transform: uppercase;\r\n        border: none;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        text-decoration: none;\r\n        display: inline-block;\r\n        border-radius: 10px;\r\n        position: relative;\r\n        z-index: 1;\r\n        background: linear-gradient(135deg, var(--e-global-color-primary) 0%, #0fa589 100%);\r\n        color: var(--e-global-color-secondary);\r\n        box-shadow: 0 10px 30px rgba(20, 194, 163, 0.5);\r\n    }\r\n\r\n    .lg-btn:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: 0 15px 40px rgba(20, 194, 163, 0.7);\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .lg-cta-section {\r\n            padding: 40px 30px;\r\n        }\r\n\r\n        .lg-btn {\r\n            display: block;\r\n            margin: 10px 0;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"lg-cta-section\">\r\n    <h2>Pr\u00eat \u00e0 centraliser votre infrastructure Proxmox ?<\/h2>\r\n    <p>\r\n        Rejoignez les entreprises et fournisseurs de services qui utilisent d\u00e9j\u00e0 LoboGuard-DC<br>\r\n        pour simplifier la gestion multi-cluster, am\u00e9liorer la visibilit\u00e9 et faire \u00e9voluer leurs environnements Proxmox en toute confiance.\r\n    <\/p>\r\n    <a href=\"https:\/\/loboguard.com\/fr\/contact\/\" class=\"lg-btn\">Contactez-nous maintenant<\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-694779d e-con-full e-flex e-con e-parent\" data-id=\"694779d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6667094 elementor-widget elementor-widget-html\" data-id=\"6667094\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"lgdc-setup\" aria-labelledby=\"lgdc-setup-title\">\r\n  <style>\r\n    .lgdc-setup {\r\n      --lgdc-heading: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-text: var(--e-global-color-text, #B9B9BF);\r\n      --lgdc-accent: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-bg: var(--e-global-color-ad9a0db, #141A31);\r\n      --lgdc-card-bg: var(--e-global-color-secondary, #0C1226);\r\n      --lgdc-card-border: var(--e-global-color-34cc923, #FFFFFF33);\r\n      --lgdc-font-heading: var(--e-global-typography-primary-font-family, \"Chakra Petch\"), sans-serif;\r\n      --lgdc-font-text: var(--e-global-typography-text-font-family, \"IBM Plex Mono\"), monospace;\r\n\r\n      --lgdc-dim: var(--e-global-color-34cc923, #FFFFFF33);\r\n      --cut: clamp(24px, 5vw, 56px);\r\n      --lgdc-hex: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      --lgdc-shape: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));\r\n\r\n      position: relative;\r\n      clip-path: var(--lgdc-shape);\r\n      overflow: clip;\r\n      isolation: isolate;\r\n      box-sizing: border-box;\r\n      width: 100%;\r\n      padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);\r\n      background: var(--lgdc-bg);\r\n      font-family: var(--lgdc-font-text);\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-setup *, .lgdc-setup *::before, .lgdc-setup *::after { box-sizing: border-box; }\r\n\r\n    .lgdc-setup::before {\r\n      content: \"\";\r\n      position: absolute; inset: 0; z-index: 0;\r\n      background: linear-gradient(225deg, var(--lgdc-accent), var(--lgdc-dim) 22%, var(--lgdc-dim) 78%, var(--lgdc-accent));\r\n      clip-path: var(--lgdc-shape);\r\n    }\r\n    .lgdc-setup .lgdc-bg {\r\n      position: absolute; inset: 1px; z-index: 0;\r\n      overflow: hidden; pointer-events: none;\r\n      background: var(--lgdc-bg);\r\n      clip-path: polygon(0 0, calc(100% - var(--cut) + .5px) 0, 100% calc(var(--cut) - .5px), 100% 100%, calc(var(--cut) - .5px) 100%, 0 calc(100% - var(--cut) + .5px));\r\n    }\r\n    .lgdc-setup .lgdc-glow {\r\n      position: absolute; inset: 0;\r\n      background:\r\n        radial-gradient(50% 40% at 100% 0%, color-mix(in srgb, var(--lgdc-accent) 18%, transparent), transparent 70%),\r\n        radial-gradient(50% 40% at 0% 100%, color-mix(in srgb, var(--lgdc-accent) 18%, transparent), transparent 70%),\r\n        radial-gradient(40% 30% at 50% 50%, color-mix(in srgb, var(--lgdc-accent) 8%, transparent), transparent 70%);\r\n    }\r\n    .lgdc-setup .lgdc-honey {\r\n      position: absolute; left: 0; right: 0; top: -100px;\r\n      height: calc(100% + 200px);\r\n      color: var(--lgdc-accent);\r\n      opacity: .16;\r\n      -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 30%, transparent 70%, #000 100%);\r\n      mask-image: linear-gradient(90deg, #000 0%, transparent 30%, transparent 70%, #000 100%);\r\n    }\r\n    .lgdc-setup .lgdc-honey svg { display: block; width: 100%; height: 100%; animation: lgdc-drift 16s linear infinite; }\r\n    .lgdc-setup .lgdc-rain { position: absolute; inset: 0; }\r\n    .lgdc-setup .lgdc-rain i {\r\n      position: absolute; top: 0; bottom: 0;\r\n      width: 1px;\r\n      background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--lgdc-accent) 14%, transparent) 20%, color-mix(in srgb, var(--lgdc-accent) 14%, transparent) 80%, transparent);\r\n      overflow: hidden;\r\n    }\r\n    .lgdc-setup .lgdc-rain b {\r\n      position: absolute; left: -1px; top: 0;\r\n      width: 3px; height: 22%;\r\n      background: linear-gradient(to bottom, transparent, var(--lgdc-accent));\r\n      box-shadow: 0 0 8px var(--lgdc-accent);\r\n      transform: translate3d(0, -100%, 0);\r\n      animation: lgdc-rain var(--d, 7s) linear var(--o, 0s) infinite;\r\n    }\r\n    .lgdc-setup .lgdc-vignette {\r\n      position: absolute; inset: 0;\r\n      background: radial-gradient(ellipse at 50% 50%, transparent 45%, rgba(0, 0, 0, .4) 100%);\r\n    }\r\n    .lgdc-setup .lgdc-frame { position: absolute; inset: 0; }\r\n    .lgdc-setup .lgdc-frame i {\r\n      position: absolute;\r\n      width: 12px; height: 14px;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--lgdc-accent);\r\n      animation: lgdc-port 2.6s ease-in-out infinite alternate;\r\n    }\r\n    .lgdc-setup .lgdc-frame .c1 { left: 14px; top: 14px; }\r\n    .lgdc-setup .lgdc-frame .c2 { right: calc(var(--cut) \/ 2 - 6px); top: calc(var(--cut) \/ 2 - 7px); animation-delay: -.6s; }\r\n    .lgdc-setup .lgdc-frame .c3 { left: calc(var(--cut) \/ 2 - 6px); bottom: calc(var(--cut) \/ 2 - 7px); animation-delay: -1.2s; }\r\n    .lgdc-setup .lgdc-frame .c4 { right: 14px; bottom: 14px; animation-delay: -1.8s; }\r\n    @keyframes lgdc-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, 100px, 0); } }\r\n    @keyframes lgdc-rain { to { transform: translate3d(0, 560%, 0); } }\r\n    @keyframes lgdc-port { from { opacity: .35; } to { opacity: 1; } }\r\n\r\n    .lgdc-setup .lgdc-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }\r\n    .lgdc-setup .lgdc-head { max-width: 70ch; margin: 0 auto clamp(2rem, 5vw, 3.5rem); text-align: center; }\r\n    .lgdc-setup .lgdc-title {\r\n      margin: 0 0 1rem;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.9rem, 4.5vw, 3rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.15;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-setup .lgdc-intro { font-family: var(--lgdc-font-text); margin: 0; font-size: clamp(1rem, 2vw, 1.125rem); font-weight: 400; line-height: 1.6; color: var(--lgdc-text); }\r\n\r\n    .lgdc-setup .lgdc-steps {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: clamp(1rem, 2.5vw, 1.75rem);\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n    .lgdc-setup .lgdc-step { display: flex; align-items: center; position: relative; }\r\n\r\n    .lgdc-setup .lgdc-card { flex: 1 1 auto; min-width: 0; display: flex; perspective: 900px; }\r\n    .lgdc-setup .lgdc-face {\r\n      position: relative;\r\n      flex: 1 1 auto;\r\n      min-width: 0;\r\n      padding: clamp(1.1rem, 2.5vw, 1.75rem);\r\n      background: var(--lgdc-card-bg);\r\n      border: 1px solid var(--lgdc-card-border);\r\n      transform-style: preserve-3d;\r\n      transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));\r\n      transition: transform .2s ease-out, border-color .5s ease, box-shadow .5s ease;\r\n    }\r\n    .lgdc-setup .lgdc-face::after {\r\n      content: \"\";\r\n      position: absolute; inset: 0;\r\n      background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .12), transparent 55%);\r\n      opacity: 0;\r\n      transition: opacity .3s ease;\r\n      pointer-events: none;\r\n    }\r\n    .lgdc-setup .lgdc-card.is-tilting .lgdc-face::after { opacity: 1; }\r\n    .lgdc-setup .lgdc-step.is-lit .lgdc-face {\r\n      border-color: var(--lgdc-accent);\r\n      box-shadow: 0 0 0 1px var(--lgdc-accent), 0 18px 40px -14px color-mix(in srgb, var(--lgdc-accent) 55%, transparent);\r\n    }\r\n    .lgdc-setup .lgdc-top {\r\n      display: flex; align-items: center; gap: .85rem;\r\n      margin: 0 0 .7rem;\r\n      transform: translateZ(28px);\r\n    }\r\n    .lgdc-setup .lgdc-num {\r\n      position: relative;\r\n      flex: 0 0 auto;\r\n      display: grid; place-items: center;\r\n      width: 2.6rem; height: 3rem;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--c);\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: .95rem;\r\n      font-weight: 700;\r\n      color: var(--lgdc-heading);\r\n      transition: background .5s ease, color .5s ease;\r\n    }\r\n    .lgdc-setup .lgdc-num::before {\r\n      content: \"\";\r\n      position: absolute; inset: 2px;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--lgdc-card-bg);\r\n      transition: opacity .5s ease;\r\n    }\r\n    .lgdc-setup .lgdc-num span { position: relative; }\r\n    .lgdc-setup .lgdc-step.is-lit .lgdc-num { color: var(--lgdc-card-bg); }\r\n    .lgdc-setup .lgdc-step.is-lit .lgdc-num::before { opacity: 0; }\r\n    .lgdc-setup .lgdc-card h3 {\r\n      margin: 0;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.05rem, 2.2vw, 1.4rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.25;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-setup .lgdc-card p { transform: translateZ(12px); margin: 0; font-family: var(--lgdc-font-text); font-weight: 400; text-transform: none; line-height: 1.6; color: var(--lgdc-text); overflow-wrap: anywhere; }\r\n\r\n    .lgdc-setup .lgdc-line { display: none; }\r\n\r\n    .lgdc-setup .lgdc-step {\r\n      --c: var(--lgdc-dim);\r\n      --glow: none;\r\n      --dash-v: repeating-linear-gradient(to bottom, var(--lgdc-dim) 0 8px, transparent 8px 14px);\r\n      --dash-h: repeating-linear-gradient(to right, var(--lgdc-dim) 0 8px, transparent 8px 14px);\r\n    }\r\n    .lgdc-setup .lgdc-step.is-lit, .lgdc-setup .lgdc-step:hover {\r\n      --c: var(--lgdc-accent);\r\n      --dash-v: var(--lgdc-accent);\r\n      --dash-h: var(--lgdc-accent);\r\n    }\r\n    .lgdc-setup .lgdc-step.is-lit { --glow: 0 0 10px var(--lgdc-accent); }\r\n    .lgdc-setup.is-complete .lgdc-step { --glow: 0 0 16px var(--lgdc-accent); }\r\n\r\n    @media (min-width: 900px) {\r\n      .lgdc-setup {\r\n        --lgdc-trace: 2px;\r\n        --lgdc-branch: clamp(3rem, 7vw, 6rem);\r\n        --lgdc-pad: 16px;\r\n        --lgdc-gap: clamp(1.5rem, 3vw, 2.5rem);\r\n        --lgdc-top: 1.5rem;\r\n      }\r\n      .lgdc-setup .lgdc-steps { gap: var(--lgdc-gap); padding: var(--lgdc-top) 0 0; }\r\n\r\n      .lgdc-setup .lgdc-step { width: 50%; }\r\n      .lgdc-setup .lgdc-step:nth-child(even) { margin-left: auto; flex-direction: row-reverse; }\r\n\r\n      .lgdc-setup .lgdc-step:nth-child(-n+5)::after {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: calc(var(--lgdc-gap) * -1);\r\n        bottom: calc(var(--lgdc-gap) * -1);\r\n        width: var(--lgdc-trace);\r\n        background: var(--dash-v);\r\n        box-shadow: var(--glow);\r\n        transform: translateX(-50%);\r\n        transition: box-shadow .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(1)::after { top: calc(var(--lgdc-top) * -1); }\r\n      .lgdc-setup .lgdc-step:nth-child(odd)::after  { left: 100%; }\r\n      .lgdc-setup .lgdc-step:nth-child(even)::after { left: 0; }\r\n\r\n      .lgdc-setup .lgdc-step:first-child::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        left: 100%;\r\n        top: calc(var(--lgdc-top) * -1);\r\n        width: 18px; height: 20px;\r\n        transform: translate(-50%, -50%);\r\n        clip-path: var(--lgdc-hex);\r\n        background: var(--c);\r\n        transition: background .5s ease;\r\n      }\r\n\r\n      .lgdc-setup .lgdc-line {\r\n        display: block;\r\n        position: relative;\r\n        flex: 0 0 var(--lgdc-branch);\r\n        height: var(--lgdc-trace);\r\n        background: var(--dash-h);\r\n        box-shadow: var(--glow);\r\n        transition: box-shadow .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-line::after {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 50%;\r\n        width: var(--lgdc-pad); height: calc(var(--lgdc-pad) * 1.1547);\r\n        clip-path: var(--lgdc-hex);\r\n        background: var(--c);\r\n        transition: background .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(odd)  .lgdc-line::after { right: 0; transform: translate(50%, -50%); }\r\n      .lgdc-setup .lgdc-step:nth-child(even) .lgdc-line::after { left: 0;  transform: translate(-50%, -50%); }\r\n\r\n      .lgdc-setup .lgdc-line::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 50%;\r\n        width: 9px; height: 9px;\r\n        border: var(--lgdc-trace) solid var(--c);\r\n        background: var(--lgdc-bg);\r\n        transform: translateY(-50%) rotate(45deg);\r\n        transition: border-color .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(odd)  .lgdc-line::before { left: -5px; }\r\n      .lgdc-setup .lgdc-step:nth-child(even) .lgdc-line::before { right: -5px; }\r\n\r\n      .lgdc-setup .lgdc-step:nth-child(6) {\r\n        width: min(100%, 40rem);\r\n        margin: 0 auto;\r\n        flex-direction: column-reverse;\r\n        align-items: center;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-card { width: 100%; }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-top { justify-content: center; }\r\n      .lgdc-setup .lgdc-step:nth-child(6) p { text-align: center; }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-line {\r\n        flex: 0 0 var(--lgdc-branch);\r\n        width: var(--lgdc-trace);\r\n        height: auto;\r\n        background: var(--dash-v);\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-line::after {\r\n        top: 0; left: 50%; right: auto;\r\n        transform: translate(-50%, -50%);\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-line::before {\r\n        top: auto; bottom: -5px; left: 50%; right: auto;\r\n        transform: translateX(-50%) rotate(45deg);\r\n      }\r\n    }\r\n\r\n    .lgdc-setup .lgdc-status {\r\n      margin: clamp(1.5rem, 4vw, 2.5rem) 0 0;\r\n      text-align: center;\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: clamp(.8rem, 1.6vw, .95rem);\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n      opacity: 0;\r\n      transform: translateY(8px);\r\n      transition: opacity .6s ease, transform .6s ease;\r\n    }\r\n    .lgdc-setup .lgdc-status::before {\r\n      content: \"\";\r\n      display: inline-block;\r\n      width: .6em; height: .7em;\r\n      margin-right: .6em;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--lgdc-accent);\r\n    }\r\n    .lgdc-setup.is-complete .lgdc-status { opacity: 1; transform: none; }\r\n\r\n    .lgdc-setup .lgdc-sheet { display: none; position: absolute; inset: 0; z-index: 5; overflow: hidden; }\r\n    .lgdc-setup.lgdc-cover .lgdc-sheet { display: block; }\r\n    .lgdc-setup .lgdc-base { position: absolute; inset: 0; background: var(--lgdc-card-bg); }\r\n    .lgdc-setup .lgdc-tiles { position: absolute; inset: 0; }\r\n    .lgdc-setup .lgdc-tile {\r\n      position: absolute;\r\n      clip-path: var(--lgdc-hex);\r\n      background: color-mix(in srgb, var(--lgdc-accent) 22%, var(--lgdc-card-bg));\r\n      backface-visibility: hidden;\r\n    }\r\n    .lgdc-setup .lgdc-tile::after {\r\n      content: \"\";\r\n      position: absolute; inset: 1.5px;\r\n      clip-path: var(--lgdc-hex);\r\n      background: linear-gradient(160deg, color-mix(in srgb, var(--lgdc-card-bg) 86%, var(--lgdc-accent)), var(--lgdc-card-bg) 70%);\r\n    }\r\n    .lgdc-setup .lgdc-tile:nth-child(7n+3)::after { background: linear-gradient(160deg, color-mix(in srgb, var(--lgdc-card-bg) 74%, var(--lgdc-accent)), var(--lgdc-card-bg) 80%); }\r\n    .lgdc-setup .lgdc-scan {\r\n      position: absolute;\r\n      left: 50%; top: var(--cy, 50%);\r\n      width: 160vmax; height: 160vmax;\r\n      margin: -80vmax 0 0 -80vmax;\r\n      border-radius: 50%;\r\n      background: conic-gradient(from 0deg, transparent 0deg 280deg, color-mix(in srgb, var(--lgdc-accent) 8%, transparent) 300deg, color-mix(in srgb, var(--lgdc-accent) 32%, transparent) 359deg, transparent 360deg);\r\n      opacity: 0;\r\n      pointer-events: none;\r\n    }\r\n    .lgdc-setup .lgdc-boot {\r\n      position: absolute;\r\n      left: 50%; top: var(--cy, 50%);\r\n      width: min(90%, 30rem);\r\n      transform: translate(-50%, -50%);\r\n      display: grid; justify-items: center; gap: .7rem;\r\n      padding: 1.4rem 1.2rem;\r\n      text-align: center;\r\n      background: color-mix(in srgb, var(--lgdc-card-bg) 85%, transparent);\r\n      border: 1px solid color-mix(in srgb, var(--lgdc-accent) 45%, transparent);\r\n      box-shadow: 0 0 40px -10px color-mix(in srgb, var(--lgdc-accent) 60%, transparent);\r\n    }\r\n    .lgdc-setup .lgdc-boot-title {\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.4rem, 5vw, 2.4rem);\r\n      font-weight: 700;\r\n      letter-spacing: .12em;\r\n      text-transform: uppercase;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-setup .lgdc-boot-sub {\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: .8rem;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-setup .lgdc-boot-sub::after { content: \"_\"; animation: lgdc-caret .8s steps(1) infinite; }\r\n    .lgdc-setup .lgdc-bar {\r\n      position: relative;\r\n      width: 100%; height: 6px;\r\n      overflow: hidden;\r\n      background: color-mix(in srgb, var(--lgdc-accent) 15%, transparent);\r\n    }\r\n    .lgdc-setup .lgdc-bar i {\r\n      position: absolute; inset: 0;\r\n      background: repeating-linear-gradient(90deg, var(--lgdc-accent) 0 10px, color-mix(in srgb, var(--lgdc-accent) 60%, transparent) 10px 14px);\r\n      box-shadow: 0 0 10px var(--lgdc-accent);\r\n      transform-origin: 0 50%;\r\n      transform: scaleX(.04);\r\n    }\r\n    .lgdc-setup .lgdc-wave {\r\n      position: absolute;\r\n      left: 50%; top: var(--cy, 50%);\r\n      width: 40px; height: 40px;\r\n      margin: -20px 0 0 -20px;\r\n      border: 3px solid var(--lgdc-accent);\r\n      border-radius: 50%;\r\n      box-shadow: 0 0 24px var(--lgdc-accent), inset 0 0 24px var(--lgdc-accent);\r\n      opacity: 0;\r\n      pointer-events: none;\r\n    }\r\n\r\n    .lgdc-setup.is-boot .lgdc-scan { opacity: 1; animation: lgdc-spin 1.1s linear infinite; }\r\n    .lgdc-setup.is-boot .lgdc-bar i { animation: lgdc-load 1.6s cubic-bezier(.4, 0, .2, 1) forwards; }\r\n    .lgdc-setup.is-boot .lgdc-tile { animation: lgdc-ping 1.6s ease-in-out var(--pl, 0s) 1; }\r\n    .lgdc-setup.is-open .lgdc-scan { animation: none; opacity: 0; }\r\n    .lgdc-setup.is-open .lgdc-base { animation: lgdc-fadeout .35s ease forwards; }\r\n    .lgdc-setup.is-open .lgdc-boot { animation: lgdc-bootout .4s ease-in forwards; }\r\n    .lgdc-setup.is-open .lgdc-wave { animation: lgdc-wave 1.3s cubic-bezier(.2, .7, .3, 1) forwards; }\r\n    .lgdc-setup.is-open .lgdc-tile { animation: lgdc-tile .75s cubic-bezier(.55, 0, .75, .2) var(--dl, 0s) forwards; }\r\n\r\n    @keyframes lgdc-caret { 50% { opacity: 0; } }\r\n    @keyframes lgdc-spin { to { transform: rotate(360deg); } }\r\n    @keyframes lgdc-load { 0% { transform: scaleX(.04); } 35% { transform: scaleX(.45); } 60% { transform: scaleX(.58); } 100% { transform: scaleX(1); } }\r\n    @keyframes lgdc-ping { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }\r\n    @keyframes lgdc-fadeout { to { opacity: 0; } }\r\n    @keyframes lgdc-bootout { 0% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.25); } }\r\n    @keyframes lgdc-wave { 0% { opacity: 1; transform: scale(.2); } 100% { opacity: 0; transform: scale(var(--ws, 40)); } }\r\n    @keyframes lgdc-tile {\r\n      0% { opacity: 1; transform: scale(1) rotate(0deg); }\r\n      25% { opacity: 1; transform: scale(1.12) rotate(0deg); }\r\n      100% { opacity: 0; transform: scale(0) rotate(120deg); }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: no-preference) {\r\n      .lgdc-setup.lgdc-anim .lgdc-card {\r\n        opacity: 0; transform: translateY(26px) scale(.96);\r\n        transition: opacity .7s ease var(--lgdc-delay, 0ms), transform .7s cubic-bezier(.2, .9, .3, 1.15) var(--lgdc-delay, 0ms);\r\n      }\r\n      .lgdc-setup.lgdc-anim .lgdc-step.is-visible .lgdc-card { opacity: 1; transform: none; }\r\n    }\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .lgdc-setup .lgdc-frame i, .lgdc-setup .lgdc-rain b, .lgdc-setup .lgdc-honey svg { animation: none !important; }\r\n      .lgdc-setup .lgdc-step::after, .lgdc-setup .lgdc-step::before, .lgdc-setup .lgdc-line,\r\n      .lgdc-setup .lgdc-line::after, .lgdc-setup .lgdc-line::before, .lgdc-setup .lgdc-face, .lgdc-setup .lgdc-status, .lgdc-setup .lgdc-num { transition: none; }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"lgdc-bg\" aria-hidden=\"true\">\r\n    <div class=\"lgdc-glow\"><\/div>\r\n    <div class=\"lgdc-honey\">\r\n      <svg focusable=\"false\">\r\n        <defs>\r\n          <pattern id=\"lgdc-setup-hex\" width=\"56\" height=\"100\" patternUnits=\"userSpaceOnUse\">\r\n            <path d=\"M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\"\/>\r\n          <\/pattern>\r\n        <\/defs>\r\n        <rect width=\"100%\" height=\"100%\" fill=\"url(#lgdc-setup-hex)\"\/>\r\n      <\/svg>\r\n    <\/div>\r\n    <div class=\"lgdc-rain\">\r\n      <i style=\"left:3%\"><b style=\"--d:7s;--o:-1s\"><\/b><\/i>\r\n      <i style=\"left:7.5%\"><b style=\"--d:9s;--o:-5s\"><\/b><\/i>\r\n      <i style=\"left:12%\"><b style=\"--d:6s;--o:-3s\"><\/b><\/i>\r\n      <i style=\"left:88%\"><b style=\"--d:8s;--o:-2s\"><\/b><\/i>\r\n      <i style=\"left:92.5%\"><b style=\"--d:6.5s;--o:-4s\"><\/b><\/i>\r\n      <i style=\"left:97%\"><b style=\"--d:9.5s;--o:-7s\"><\/b><\/i>\r\n    <\/div>\r\n    <div class=\"lgdc-vignette\"><\/div>\r\n    <div class=\"lgdc-frame\">\r\n      <i class=\"c1\"><\/i><i class=\"c2\"><\/i><i class=\"c3\"><\/i><i class=\"c4\"><\/i>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"lgdc-inner\">\r\n  <header class=\"lgdc-head\">\r\n    <h2 class=\"lgdc-title\" id=\"lgdc-setup-title\">De quoi ai-je besoin ?<\/h2>\r\n    <p class=\"lgdc-intro\">Pour mettre en place LoboGuard-DC, il vous faut une licence valide, le serveur install\u00e9 sur n\u2019importe quelle machine et un acc\u00e8s de LoboGuard-DC \u00e0 l\u2019API de vos clusters Proxmox.<\/p>\r\n  <\/header>\r\n\r\n  <ol class=\"lgdc-steps\">\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>01<\/span><\/span><h3>D\u00e9ployez le serveur o\u00f9 vous voulez<\/h3><\/div>\r\n        <p>D\u00e9ployez LoboGuard-DC sur n\u2019importe quelle machine disponible, d\u2019une machine virtuelle \u00e0 un serveur d\u00e9di\u00e9. Il vous suffit de Docker et d\u2019une connectivit\u00e9 r\u00e9seau vers vos clusters Proxmox.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>02<\/span><\/span><h3>Acc\u00e9dez au serveur<\/h3><\/div>\r\n        <p>Par d\u00e9faut, LoboGuard-DC est accessible via https:\/\/iploboguarddc:9443 ou via le port externe d\u00e9fini au lancement de Docker.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>03<\/span><\/span><h3>Changez le mot de passe<\/h3><\/div>\r\n        <p>Lors de votre premi\u00e8re connexion, vous devrez obligatoirement changer votre mot de passe.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>04<\/span><\/span><h3>Lancez l\u2019assistant<\/h3><\/div>\r\n        <p>Lancez l\u2019assistant de configuration intelligent, qui vous guide pas \u00e0 pas dans l\u2019activation de la licence, l\u2019enregistrement des clusters et les pr\u00e9f\u00e9rences initiales.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>05<\/span><\/span><h3>Ajoutez vos clusters<\/h3><\/div>\r\n        <p>Enregistrez chaque cluster Proxmox VE avec son point d\u2019acc\u00e8s API et ses identifiants. LoboGuard-DC d\u00e9couvre automatiquement chaque n\u0153ud, invit\u00e9, stockage et r\u00e9seau. Regroupez-les par client si vous travaillez en multi-tenant.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>06<\/span><\/span><h3>Commencez \u00e0 exploiter<\/h3><\/div>\r\n        <p>Ouvrez la vue Datacenter. L\u2019arborescence compl\u00e8te de votre infrastructure appara\u00eet \u00e0 gauche. Passez d\u2019Overview \u00e0 Topology, Inventory, Monitor, Incidents, Capacity et aux autres outils depuis la barre sup\u00e9rieure. Configurez les alertes, d\u00e9finissez les permissions, recherchez les vuln\u00e9rabilit\u00e9s. \u00c0 vous de mener la meute.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n  <\/ol>\r\n  <p class=\"lgdc-status\" aria-live=\"polite\">Datacenter en ligne. LoboGuard-DC pilote votre infrastructure.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"lgdc-sheet\" aria-hidden=\"true\">\r\n    <div class=\"lgdc-base\"><\/div>\r\n    <div class=\"lgdc-tiles\"><\/div>\r\n    <div class=\"lgdc-scan\"><\/div>\r\n    <div class=\"lgdc-wave\"><\/div>\r\n    <div class=\"lgdc-boot\">\r\n      <span class=\"lgdc-boot-title\">LoboGuard-DC<\/span>\r\n      <span class=\"lgdc-boot-sub\">Initialisation du datacenter<\/span>\r\n      <span class=\"lgdc-bar\"><i><\/i><\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script nowprocket>\r\n    (function () {\r\n      var s = document.currentScript;\r\n      var root = s && s.closest ? s.closest('.lgdc-setup') : null;\r\n      if (!root) {\r\n        var all = document.querySelectorAll('.lgdc-setup');\r\n        for (var n = 0; n < all.length; n++) { if (!all[n].__lgdcInit) { root = all[n]; break; } }\r\n      }\r\n      if (!root || root.__lgdcInit) return;\r\n      root.__lgdcInit = true;\r\n\r\n      var steps = Array.prototype.slice.call(root.querySelectorAll('.lgdc-step'));\r\n      var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      var fine = window.matchMedia('(hover: hover) and (pointer: fine)').matches;\r\n      var ticking = false;\r\n\r\n      function update() {\r\n        ticking = false;\r\n        var line = window.innerHeight * 0.65;\r\n        steps.forEach(function (li) {\r\n          var r = li.getBoundingClientRect();\r\n          li.classList.toggle('is-lit', r.top + r.height \/ 2 < line);\r\n        });\r\n        root.classList.toggle('is-complete', steps[steps.length - 1].classList.contains('is-lit'));\r\n      }\r\n      function request() { if (!ticking) { ticking = true; requestAnimationFrame(update); } }\r\n      window.addEventListener('scroll', request, { passive: true });\r\n      window.addEventListener('resize', request);\r\n      update();\r\n\r\n      if (fine && !reduce) {\r\n        steps.forEach(function (li) {\r\n          var card = li.querySelector('.lgdc-card');\r\n          var face = li.querySelector('.lgdc-face');\r\n          card.addEventListener('pointermove', function (e) {\r\n            var r = face.getBoundingClientRect();\r\n            var x = (e.clientX - r.left) \/ r.width, y = (e.clientY - r.top) \/ r.height;\r\n            face.style.setProperty('--ry', ((x - 0.5) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--rx', ((0.5 - y) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--gx', (x * 100).toFixed(1) + '%');\r\n            face.style.setProperty('--gy', (y * 100).toFixed(1) + '%');\r\n            card.classList.add('is-tilting');\r\n          });\r\n          card.addEventListener('pointerleave', function () {\r\n            face.style.setProperty('--rx', '0deg');\r\n            face.style.setProperty('--ry', '0deg');\r\n            card.classList.remove('is-tilting');\r\n          });\r\n        });\r\n      }\r\n\r\n      function revealCards() {\r\n        var io = new IntersectionObserver(function (entries) {\r\n          var k = 0;\r\n          entries.forEach(function (e) {\r\n            if (e.isIntersecting) {\r\n              e.target.style.setProperty('--lgdc-delay', (k++ * 140) + 'ms');\r\n              e.target.classList.add('is-visible');\r\n              io.unobserve(e.target);\r\n            }\r\n          });\r\n        }, { threshold: 0.15 });\r\n        steps.forEach(function (st) { io.observe(st); });\r\n      }\r\n\r\n      if (!('IntersectionObserver' in window) || reduce) return;\r\n      if (root.getBoundingClientRect().top < window.innerHeight * 0.6) return;\r\n\r\n      root.classList.add('lgdc-anim');\r\n      root.classList.add('lgdc-cover');\r\n\r\n      var sheet = root.querySelector('.lgdc-sheet');\r\n      var tilesBox = root.querySelector('.lgdc-tiles');\r\n      var tiles = [];\r\n      var builtW = 0, builtH = 0;\r\n\r\n      function buildTiles() {\r\n        var W = sheet.offsetWidth, H = sheet.offsetHeight;\r\n        if (!W || !H || (W === builtW && H === builtH)) return;\r\n        builtW = W; builtH = H;\r\n        var tw = Math.max(70, W \/ 12, Math.sqrt(W * H \/ 150));\r\n        var th = tw * 1.1547;\r\n        var step = th * 0.75;\r\n        var rows = Math.ceil(H \/ step) + 1;\r\n        var cols = Math.ceil(W \/ tw) + 1;\r\n        var frag = document.createDocumentFragment();\r\n        tiles = [];\r\n        for (var r = 0; r < rows; r++) {\r\n          for (var c = 0; c < cols; c++) {\r\n            var x = c * tw - (r % 2 ? 0 : tw \/ 2);\r\n            var y = r * step - th \/ 4;\r\n            var el = document.createElement('i');\r\n            el.className = 'lgdc-tile';\r\n            el.style.left = x.toFixed(1) + 'px';\r\n            el.style.top = y.toFixed(1) + 'px';\r\n            el.style.width = (tw + 1).toFixed(1) + 'px';\r\n            el.style.height = (th + 1).toFixed(1) + 'px';\r\n            el.style.setProperty('--pl', (Math.random() * 1.2).toFixed(2) + 's');\r\n            frag.appendChild(el);\r\n            tiles.push({ el: el, cx: x + tw \/ 2, cy: y + th \/ 2 });\r\n          }\r\n        }\r\n        tilesBox.textContent = '';\r\n        tilesBox.appendChild(frag);\r\n      }\r\n\r\n      function aim() {\r\n        var r = root.getBoundingClientRect();\r\n        var cy = Math.min(Math.max(window.innerHeight \/ 2 - r.top, 120), sheet.offsetHeight - 120);\r\n        var cx = sheet.offsetWidth \/ 2;\r\n        root.style.setProperty('--cy', cy.toFixed(0) + 'px');\r\n        var reach = Math.hypot(Math.max(cx, sheet.offsetWidth - cx), window.innerHeight) || 1;\r\n        root.style.setProperty('--ws', (reach * 2.2 \/ 40).toFixed(1));\r\n        tiles.forEach(function (t) {\r\n          var d = Math.hypot(t.cx - cx, t.cy - cy) \/ reach;\r\n          t.el.style.setProperty('--dl', (Math.min(d, 1) * 0.85 + Math.random() * 0.08).toFixed(3) + 's');\r\n        });\r\n      }\r\n\r\n      buildTiles();\r\n\r\n      var done = false;\r\n      function cleanup() {\r\n        if (done) return;\r\n        done = true;\r\n        root.classList.remove('lgdc-cover', 'is-boot', 'is-open');\r\n        tilesBox.textContent = '';\r\n      }\r\n\r\n      var watcher = new IntersectionObserver(function (entries) {\r\n        if (!entries[0].isIntersecting) return;\r\n        watcher.disconnect();\r\n        buildTiles();\r\n        aim();\r\n        requestAnimationFrame(function () {\r\n          root.classList.add('is-boot');\r\n          setTimeout(function () {\r\n            root.classList.add('is-open');\r\n            setTimeout(revealCards, 350);\r\n            setTimeout(cleanup, 1900);\r\n          }, 1700);\r\n        });\r\n      }, { rootMargin: '0px 0px -40% 0px', threshold: 0 });\r\n      watcher.observe(root);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29f7fa22 e-flex e-con-boxed e-con e-parent\" data-id=\"29f7fa22\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-159a66a9 e-con-full e-flex e-con e-child\" data-id=\"159a66a9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54c92bb2 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"54c92bb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PARTENAIRES<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-71f65487 e-flex e-con-boxed e-con e-parent\" data-id=\"71f65487\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-636450df e-con-full e-flex e-con e-child\" data-id=\"636450df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6dd665f4 elementor-invisible elementor-widget elementor-widget-image-carousel\" data-id=\"6dd665f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;5&quot;,&quot;navigation&quot;:&quot;none&quot;,&quot;slides_to_show_tablet&quot;:&quot;4&quot;,&quot;slides_to_show_mobile&quot;:&quot;2&quot;,&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:280,&quot;lazyload&quot;:&quot;yes&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Image Carousel\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-proxmox-2.svg\" alt=\"Proxmox\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-fujitsu-2.svg\" alt=\"Fujitsu\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-ovh-vertical-2.svg\" alt=\"OVHcloud\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-virtual-cable-vertical-2.svg\" alt=\"VirtualCable\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-ucm-2.svg\" alt=\"Universidad Complutense de Madrid\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/Velorcios-scaled.png\" alt=\"Velorcios\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-160e8eca e-flex e-con-boxed e-con e-parent\" data-id=\"160e8eca\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3fb1c307 e-con-full e-flex e-con e-child\" data-id=\"3fb1c307\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57b67ad2 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"57b67ad2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">BLOG<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13515079 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"13515079\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:70}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Derni\u00e8res nouvelles<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4ee44657 e-flex e-con-boxed e-con e-parent\" data-id=\"4ee44657\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3413a16c e-con-full e-flex e-con e-child\" data-id=\"3413a16c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c0cc9d0 elementor-widget elementor-widget-shortcode\" data-id=\"c0cc9d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"feedzy-914bee3c1118afbbb833ea4d58b28963 feedzy-rss\"><ul><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/smart-honeypot-that-returns-attacks-to-the-attacker\/\" target=\"_blank\" rel=\" noopener\">Smart Honeypot that Returns Attacks to the Attacker<\/a><\/span><div class=\"rss_content\" style=\"\"><small>par <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">admin<\/a> le 26 juillet 2025 \u00e0 17h20 <\/small><p>The Attacker\u2019s Infinite Loop In this guide, I will teach you how to deploy a honeypot that not only simulates [&hellip;]<\/p><\/div><\/li><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/send-all-traffic-through-the-tor-network\/\" target=\"_blank\" rel=\" noopener\">Send all traffic through the Tor network<\/a><\/span><div class=\"rss_content\" style=\"\"><small>par <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">TL<\/a> le 3 juillet 2025 \u00e0 17h41 <\/small><p>Torifying Traffic Let\u2019s create a short guide on how to route all your machine\u2019s traffic through the Tor network. [&hellip;]<\/p><\/div><\/li><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/har2locust\/\" target=\"_blank\" rel=\" noopener\">Har2locust<\/a><\/span><div class=\"rss_content\" style=\"\"><small>par <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">TL<\/a> le 26 avril 2025 \u00e0 11h30 <\/small><p>Creating a Locust file with Har2Locust As promised, if you have followed the locust.io post: load testing made easy, I [&hellip;]<\/p><\/div><\/li><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/locust-io-load-testing-made-easy\/\" target=\"_blank\" rel=\" noopener\">Locust.io: Load Testing Made Easy<\/a><\/span><div class=\"rss_content\" style=\"\"><small>par <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">TL<\/a> le 17 avril 2025 \u00e0 10h31 <\/small><p>What is Locust.io and why should you care? Imagine you\u2019ve just launched your website or app. Everything looks great, [&hellip;]<\/p><\/div><\/li><\/ul> <\/div><style type=\"text\/css\" media=\"all\">.feedzy-rss .rss_item .rss_image{float:left;position:relative;border:none;text-decoration:none;max-width:100%}.feedzy-rss .rss_item .rss_image span{display:inline-block;position:absolute;width:100%;height:100%;background-position:50%;background-size:cover}.feedzy-rss .rss_item .rss_image{margin:.3em 1em 0 0;content-visibility:auto}.feedzy-rss ul{list-style:none}.feedzy-rss ul li{display:inline-block}<\/style><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>LOBOGUARDGESTION DE CENTRE DE DONN\u00c9ES PROXMOX Un seul point d&rsquo;acc\u00e8s. Tous les clusters. Un contr\u00f4le total. LoboGuard-DC unifie tous vos clusters, locataires et ressources Proxmox sur une plateforme unique. Visualisez, g\u00e9rez et s\u00e9curisez l&rsquo;ensemble de votre infrastructure. Vos locataires, vos d\u00e9cisions. Qu\u2019est-ce que LoboGuard-DC LoboGuard-DC est une plateforme de gestion unifi\u00e9e pour les infrastructures Proxmox [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3043","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Home LoboGuard-DC - LoboGuard<\/title>\n<meta name=\"description\" content=\"Gestion unifi\u00e9e de Proxmox VE \u00e0 toutes les \u00e9chelles. Architecture multi-cluster et multi-tenant, avec topologie int\u00e9gr\u00e9e, protection anti-ransomware, analyseur CVE et syst\u00e8me de gestion des incidents.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/loboguard.com\/fr\/loboguard-dc\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Home LoboGuard-DC - LoboGuard\" \/>\n<meta property=\"og:description\" content=\"Gestion unifi\u00e9e de Proxmox VE \u00e0 toutes les \u00e9chelles. Architecture multi-cluster et multi-tenant, avec topologie int\u00e9gr\u00e9e, protection anti-ransomware, analyseur CVE et syst\u00e8me de gestion des incidents.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/loboguard.com\/fr\/loboguard-dc\/\" \/>\n<meta property=\"og:site_name\" content=\"LoboGuard\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-19T22:58:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1919\" \/>\n\t<meta property=\"og:image:height\" content=\"944\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@LoboBrothers\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/\",\"url\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/\",\"name\":\"Home LoboGuard-DC - LoboGuard\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/loboguard-dc.png\",\"datePublished\":\"2026-10-14T10:58:42+00:00\",\"dateModified\":\"2026-10-19T22:58:32+00:00\",\"description\":\"Gestion unifi\u00e9e de Proxmox VE \u00e0 toutes les \u00e9chelles. Architecture multi-cluster et multi-tenant, avec topologie int\u00e9gr\u00e9e, protection anti-ransomware, analyseur CVE et syst\u00e8me de gestion des incidents.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/#primaryimage\",\"url\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/loboguard-dc.png\",\"contentUrl\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/loboguard-dc.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/loboguard-dc\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home LoboGuard-DC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/\",\"name\":\"LoboGuard\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/#organization\",\"name\":\"Lobo Brothers Technology\",\"alternateName\":\"LoboGuard\",\"url\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cropped-loboguard.png\",\"contentUrl\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cropped-loboguard.png\",\"width\":512,\"height\":512,\"caption\":\"Lobo Brothers Technology\"},\"image\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/LoboBrothers\",\"https:\\\/\\\/es.linkedin.com\\\/company\\\/lobobrothers\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Home LoboGuard-DC - LoboGuard","description":"Gestion unifi\u00e9e de Proxmox VE \u00e0 toutes les \u00e9chelles. Architecture multi-cluster et multi-tenant, avec topologie int\u00e9gr\u00e9e, protection anti-ransomware, analyseur CVE et syst\u00e8me de gestion des incidents.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/loboguard.com\/fr\/loboguard-dc\/","og_locale":"fr_FR","og_type":"article","og_title":"Home LoboGuard-DC - LoboGuard","og_description":"Gestion unifi\u00e9e de Proxmox VE \u00e0 toutes les \u00e9chelles. Architecture multi-cluster et multi-tenant, avec topologie int\u00e9gr\u00e9e, protection anti-ransomware, analyseur CVE et syst\u00e8me de gestion des incidents.","og_url":"https:\/\/loboguard.com\/fr\/loboguard-dc\/","og_site_name":"LoboGuard","article_modified_time":"2026-10-19T22:58:32+00:00","og_image":[{"width":1919,"height":944,"url":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@LoboBrothers","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/loboguard.com\/fr\/loboguard-dc\/","url":"https:\/\/loboguard.com\/fr\/loboguard-dc\/","name":"Home LoboGuard-DC - LoboGuard","isPartOf":{"@id":"https:\/\/loboguard.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/loboguard.com\/fr\/loboguard-dc\/#primaryimage"},"image":{"@id":"https:\/\/loboguard.com\/fr\/loboguard-dc\/#primaryimage"},"thumbnailUrl":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png","datePublished":"2026-10-14T10:58:42+00:00","dateModified":"2026-10-19T22:58:32+00:00","description":"Gestion unifi\u00e9e de Proxmox VE \u00e0 toutes les \u00e9chelles. Architecture multi-cluster et multi-tenant, avec topologie int\u00e9gr\u00e9e, protection anti-ransomware, analyseur CVE et syst\u00e8me de gestion des incidents.","breadcrumb":{"@id":"https:\/\/loboguard.com\/fr\/loboguard-dc\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/loboguard.com\/fr\/loboguard-dc\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/loboguard.com\/fr\/loboguard-dc\/#primaryimage","url":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png","contentUrl":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png"},{"@type":"BreadcrumbList","@id":"https:\/\/loboguard.com\/fr\/loboguard-dc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/loboguard.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Home LoboGuard-DC"}]},{"@type":"WebSite","@id":"https:\/\/loboguard.com\/fr\/#website","url":"https:\/\/loboguard.com\/fr\/","name":"LoboGuard","description":"","publisher":{"@id":"https:\/\/loboguard.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/loboguard.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/loboguard.com\/fr\/#organization","name":"Lobo Brothers Technology","alternateName":"LoboGuard","url":"https:\/\/loboguard.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/loboguard.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png","contentUrl":"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png","width":512,"height":512,"caption":"Lobo Brothers Technology"},"image":{"@id":"https:\/\/loboguard.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/LoboBrothers","https:\/\/es.linkedin.com\/company\/lobobrothers"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/pages\/3043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/comments?post=3043"}],"version-history":[{"count":27,"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/pages\/3043\/revisions"}],"predecessor-version":[{"id":4103,"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/pages\/3043\/revisions\/4103"}],"wp:attachment":[{"href":"https:\/\/loboguard.com\/fr\/wp-json\/wp\/v2\/media?parent=3043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}