add github page

This commit is contained in:
Eduardo Silva
2026-03-18 22:17:13 -03:00
parent 35fa484972
commit 30074e5bd6
64 changed files with 705 additions and 10 deletions

View File

@@ -0,0 +1,11 @@
<!doctype html><html lang=fr><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Categories · wireguard_webadmin</title><meta name=description content="Self-hosted VPN management and Zero Trust access control."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/categories/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/categories/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/categories/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/categories/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/categories/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/fr/categories/"><meta property="og:title" content="Categories · wireguard_webadmin"><meta property="og:description" content="Self-hosted VPN management and Zero Trust access control."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Categories · wireguard_webadmin"><meta name=twitter:description content="Self-hosted VPN management and Zero Trust access control."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/fr/ class=nav-logo>wireguard_<span>webadmin</span></a>
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/fr/>Accueil</a></li><li><a href=/fr/zero-trust/>Zero Trust</a></li><li><a href=/fr/deployment/>Installation</a></li><li><a href=/fr/get-involved/>Contribuer</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
🇫🇷 FR
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/categories/ hreflang=en><span class=lang-flag>🇬🇧</span>
<span>English</span></a></li><li><a href=/pt-br/categories/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
<span>Português</span></a></li><li><a href=/es/categories/ hreflang=es><span class=lang-flag>🇪🇸</span>
<span>Español</span></a></li><li><a href=/fr/categories/ hreflang=fr class=lang-active><span class=lang-flag>🇫🇷</span>
<span>Français</span></a></li><li><a href=/de/categories/ hreflang=de><span class=lang-flag>🇩🇪</span>
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><div class=container style="padding:4rem 0"><h1>Categories</h1></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/fr/zero-trust/>Zero Trust</a></li><li><a href=/fr/deployment/>Deployment</a></li><li><a href=/fr/get-involved/>Get Involved</a></li></ul><div class=footer-built>développé par <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on wireguard_webadmin</title><link>https://wireguard-webadmin.com/fr/categories/</link><description>Recent content in Categories on wireguard_webadmin</description><generator>Hugo</generator><language>fr</language><atom:link href="https://wireguard-webadmin.com/fr/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

14
docs/fr/index.html Normal file

File diff suppressed because one or more lines are too long

49
docs/fr/index.xml Normal file
View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>wireguard_webadmin</title><link>https://wireguard-webadmin.com/fr/</link><description>Recent content on wireguard_webadmin</description><generator>Hugo</generator><language>fr</language><atom:link href="https://wireguard-webadmin.com/fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Guide de déploiement</title><link>https://wireguard-webadmin.com/fr/deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wireguard-webadmin.com/fr/deployment/</guid><description>&lt;h2 id="prérequis"&gt;Prérequis&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Un serveur Linux accessible depuis l&amp;rsquo;endroit où vous allez l&amp;rsquo;administrer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/engine/install/"&gt;Docker&lt;/a&gt; et &lt;a href="https://docs.docker.com/compose/install/"&gt;Docker Compose&lt;/a&gt; installés&lt;/li&gt;
&lt;li&gt;Un nom de domaine pointant vers l&amp;rsquo;IP de votre serveur&lt;/li&gt;
&lt;li&gt;Les ports &lt;strong&gt;80&lt;/strong&gt; et &lt;strong&gt;443&lt;/strong&gt; ouverts pour Caddy, ainsi que le port UDP de WireGuard ouvert (par défaut &lt;strong&gt;51820&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="callout"&gt;
&lt;p&gt;&lt;strong&gt;Caddy nécessite un nom DNS valide&lt;/strong&gt;, interne ou public, pointant vers votre serveur afin d'obtenir et de renouveler automatiquement les certificats SSL.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="déploiement"&gt;Déploiement&lt;/h2&gt;
&lt;div class="tab-group"&gt;
&lt;div class="tabs"&gt;
&lt;button class="tab-btn active" data-tab="dep-step-1"&gt;1. Créer le répertoire&lt;/button&gt;
&lt;button class="tab-btn" data-tab="dep-step-2"&gt;2. Récupérer le fichier compose&lt;/button&gt;
&lt;button class="tab-btn" data-tab="dep-step-3"&gt;3. Configurer .env&lt;/button&gt;
&lt;button class="tab-btn" data-tab="dep-step-4"&gt;4. Lancer&lt;/button&gt;
&lt;/div&gt;
&lt;div class="tab-wrap"&gt;
&lt;div class="tab-panel active" id="dep-step-1"&gt;
&lt;pre&gt;&lt;code&gt;mkdir wireguard_webadmin &amp;&amp; cd wireguard_webadmin&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="tab-panel" id="dep-step-2"&gt;
&lt;pre&gt;&lt;code&gt;wget -O docker-compose.yml \
https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="tab-panel" id="dep-step-3"&gt;
&lt;p&gt;Créez un fichier &lt;code&gt;.env&lt;/code&gt; dans le même répertoire. Définissez &lt;code&gt;SERVER_ADDRESS&lt;/code&gt; avec votre domaine :&lt;/p&gt;</description></item><item><title>Participer</title><link>https://wireguard-webadmin.com/fr/get-involved/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wireguard-webadmin.com/fr/get-involved/</guid><description>&lt;div class="involve-grid"&gt;
&lt;div class="involve-card involve-card--highlight"&gt;
&lt;div class="involve-card-icon"&gt;&lt;/div&gt;
&lt;h3&gt;Ajouter une étoile au dépôt&lt;/h3&gt;
&lt;p&gt;C'est la chose la plus simple que vous puissiez faire. Cela aide le projet à être découvert par d'autres admins système qui cherchent exactement ce type d'outil.&lt;/p&gt;
&lt;a href="https://github.com/eduardogsilva/wireguard_webadmin" target="_blank" rel="noopener" class="btn btn-primary"&gt;Mettre une étoile sur GitHub&lt;/a&gt;
&lt;/div&gt;
&lt;div class="involve-card"&gt;
&lt;div class="involve-card-icon"&gt;🐛&lt;/div&gt;
&lt;h3&gt;Signaler des bugs&lt;/h3&gt;
&lt;p&gt;Vous avez trouvé quelque chose de cassé ? Ouvrez une issue sur GitHub. Aucun modèle requis : décrivez simplement ce que vous avez vu et comment le reproduire.&lt;/p&gt;
&lt;a href="https://github.com/eduardogsilva/wireguard_webadmin/issues" target="_blank" rel="noopener" class="btn btn-outline"&gt;Ouvrir une issue&lt;/a&gt;
&lt;/div&gt;
&lt;div class="involve-card"&gt;
&lt;div class="involve-card-icon"&gt;🔧&lt;/div&gt;
&lt;h3&gt;Contribuer au code&lt;/h3&gt;
&lt;p&gt;Les pull requests sont les bienvenues. Pour tout ce qui n'est pas trivial, ouvrez d'abord une issue afin que nous puissions nous aligner avant que vous investissiez du temps à coder. Bons points de départ : les issues marquées &lt;code&gt;good first issue&lt;/code&gt;, les correctifs avec un cas de reproduction clair et l'ajout de couverture de tests.&lt;/p&gt;</description></item><item><title>Passerelle applicative Zero Trust</title><link>https://wireguard-webadmin.com/fr/zero-trust/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wireguard-webadmin.com/fr/zero-trust/</guid><description>&lt;h2 id="que-signifie-zero-trust-ici-"&gt;Que signifie Zero Trust ici ?&lt;/h2&gt;
&lt;p&gt;La sécurité réseau traditionnelle part du principe que tout ce qui se trouve à l&amp;rsquo;intérieur de votre réseau peut être considéré comme fiable.
Zero Trust inverse ce modèle : &lt;strong&gt;aucune requête n&amp;rsquo;est fiable par défaut&lt;/strong&gt;, même si elle provient du VPN.&lt;/p&gt;
&lt;p&gt;Dans wireguard_webadmin, la passerelle applicative Zero Trust se place devant vos services internes.
Chaque requête doit s&amp;rsquo;authentifier avant d&amp;rsquo;atteindre l&amp;rsquo;application, et le service lui-même n&amp;rsquo;a jamais besoin d&amp;rsquo;être exposé directement.&lt;/p&gt;</description></item></channel></rss>

1
docs/fr/sitemap.xml Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://wireguard-webadmin.com/fr/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/"/></url><url><loc>https://wireguard-webadmin.com/fr/categories/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/categories/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/categories/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/categories/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/categories/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/categories/"/></url><url><loc>https://wireguard-webadmin.com/fr/deployment/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/deployment/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/deployment/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/deployment/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/deployment/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/deployment/"/></url><url><loc>https://wireguard-webadmin.com/fr/get-involved/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/get-involved/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/get-involved/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/get-involved/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/get-involved/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/get-involved/"/></url><url><loc>https://wireguard-webadmin.com/fr/zero-trust/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/zero-trust/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/zero-trust/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/zero-trust/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/zero-trust/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/zero-trust/"/></url><url><loc>https://wireguard-webadmin.com/fr/tags/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/tags/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/tags/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/tags/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/tags/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/tags/"/></url></urlset>

11
docs/fr/tags/index.html Normal file
View File

@@ -0,0 +1,11 @@
<!doctype html><html lang=fr><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Tags · wireguard_webadmin</title><meta name=description content="Self-hosted VPN management and Zero Trust access control."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/tags/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/tags/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/tags/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/tags/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/tags/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/fr/tags/"><meta property="og:title" content="Tags · wireguard_webadmin"><meta property="og:description" content="Self-hosted VPN management and Zero Trust access control."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Tags · wireguard_webadmin"><meta name=twitter:description content="Self-hosted VPN management and Zero Trust access control."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/fr/ class=nav-logo>wireguard_<span>webadmin</span></a>
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/fr/>Accueil</a></li><li><a href=/fr/zero-trust/>Zero Trust</a></li><li><a href=/fr/deployment/>Installation</a></li><li><a href=/fr/get-involved/>Contribuer</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
🇫🇷 FR
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/tags/ hreflang=en><span class=lang-flag>🇬🇧</span>
<span>English</span></a></li><li><a href=/pt-br/tags/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
<span>Português</span></a></li><li><a href=/es/tags/ hreflang=es><span class=lang-flag>🇪🇸</span>
<span>Español</span></a></li><li><a href=/fr/tags/ hreflang=fr class=lang-active><span class=lang-flag>🇫🇷</span>
<span>Français</span></a></li><li><a href=/de/tags/ hreflang=de><span class=lang-flag>🇩🇪</span>
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><div class=container style="padding:4rem 0"><h1>Tags</h1></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/fr/zero-trust/>Zero Trust</a></li><li><a href=/fr/deployment/>Deployment</a></li><li><a href=/fr/get-involved/>Get Involved</a></li></ul><div class=footer-built>développé par <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>

1
docs/fr/tags/index.xml Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on wireguard_webadmin</title><link>https://wireguard-webadmin.com/fr/tags/</link><description>Recent content in Tags on wireguard_webadmin</description><generator>Hugo</generator><language>fr</language><atom:link href="https://wireguard-webadmin.com/fr/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss>

View File

@@ -0,0 +1,16 @@
<!doctype html><html lang=fr><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Passerelle applicative Zero Trust · wireguard_webadmin</title><meta name=description content="Découvrez comment wireguard_webadmin met en œuvre un contrôle d'accès Zero Trust pour publier en toute sécurité des applications internes comme Grafana, Proxmox et bien plus."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/zero-trust/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/zero-trust/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/zero-trust/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/zero-trust/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/zero-trust/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/fr/zero-trust/"><meta property="og:title" content="Passerelle applicative Zero Trust · wireguard_webadmin"><meta property="og:description" content="Découvrez comment wireguard_webadmin met en œuvre un contrôle d'accès Zero Trust pour publier en toute sécurité des applications internes comme Grafana, Proxmox et bien plus."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Passerelle applicative Zero Trust · wireguard_webadmin"><meta name=twitter:description content="Découvrez comment wireguard_webadmin met en œuvre un contrôle d'accès Zero Trust pour publier en toute sécurité des applications internes comme Grafana, Proxmox et bien plus."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/fr/ class=nav-logo>wireguard_<span>webadmin</span></a>
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/fr/>Accueil</a></li><li><a href=/fr/zero-trust/ aria-current=page>Zero Trust</a></li><li><a href=/fr/deployment/>Installation</a></li><li><a href=/fr/get-involved/>Contribuer</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
🇫🇷 FR
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/zero-trust/ hreflang=en><span class=lang-flag>🇬🇧</span>
<span>English</span></a></li><li><a href=/pt-br/zero-trust/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
<span>Português</span></a></li><li><a href=/es/zero-trust/ hreflang=es><span class=lang-flag>🇪🇸</span>
<span>Español</span></a></li><li><a href=/fr/zero-trust/ hreflang=fr class=lang-active><span class=lang-flag>🇫🇷</span>
<span>Français</span></a></li><li><a href=/de/zero-trust/ hreflang=de><span class=lang-flag>🇩🇪</span>
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><section class=page-hero><div class=container><div class=section-label>Zero Trust</div><h1>Passerelle applicative Zero Trust</h1><p class=section-sub style=margin-top:1rem>Publiez des services internes en toute sécurité, sans les exposer directement à internet.</p></div></section><div class=page-content><div class=container><h2 id=que-signifie-zero-trust-ici->Que signifie Zero Trust ici ?</h2><p>La sécurité réseau traditionnelle part du principe que tout ce qui se trouve à l&rsquo;intérieur de votre réseau peut être considéré comme fiable.
Zero Trust inverse ce modèle : <strong>aucune requête n&rsquo;est fiable par défaut</strong>, même si elle provient du VPN.</p><p>Dans wireguard_webadmin, la passerelle applicative Zero Trust se place devant vos services internes.
Chaque requête doit s&rsquo;authentifier avant d&rsquo;atteindre l&rsquo;application, et le service lui-même n&rsquo;a jamais besoin d&rsquo;être exposé directement.</p><hr><h2 id=comment-une-requête-circule>Comment une requête circule</h2><div class=flow-cards><div class=flow-card><div class=flow-card-header><span class=flow-card-num>1</span> <strong>Le client atteint la passerelle</strong></div><p>Le point d'entrée public reçoit la requête à la place du service interne.</p></div><div class=flow-card><div class=flow-card-header><span class=flow-card-num>2</span> <strong>Validation du navigateur</strong></div><p>La preuve de travail Altcha peut bloquer les abus automatisés avant même le début de la connexion.</p></div><div class=flow-card><div class=flow-card-header><span class=flow-card-num>3</span> <strong>Vérifications d'identité</strong></div><p>Les identifiants, le TOTP et la politique d'IP source sont évalués.</p></div><div class=flow-card><div class=flow-card-header><span class=flow-card-num>4</span> <strong>Transmission vers l'upstream</strong></div><p>Seules les requêtes approuvées sont transmises à Grafana, Proxmox ou à une autre application interne.</p></div></div><hr><h2 id=méthodes-dauthentification>Méthodes d&rsquo;authentification</h2><div class=auth-list><div class=auth-row><div class=auth-row-name>TOTP / 2FA</div><div class=auth-row-desc>Mots de passe à usage unique basés sur le temps. Fonctionne avec toute application TOTP : Google Authenticator, Aegis, Authy.</div></div><div class=auth-row><div class=auth-row-name>Identifiants locaux</div><div class=auth-row-desc>Nom d'utilisateur et mot de passe gérés directement dans wireguard_webadmin. Aucun IdP externe nécessaire.</div></div><div class=auth-row><div class=auth-row-name>ACL IP</div><div class=auth-row-desc>Autorisez des IP ou sous-réseaux spécifiques. Les pairs VPN peuvent être automatiquement considérés comme fiables via leur adresse de tunnel.</div></div><div class=auth-row><div class=auth-row-name>OIDC <span class=auth-coming>bientôt disponible</span></div><div class=auth-row-desc>Déléguez l'authentification à Keycloak, Authentik, Google Workspace ou à tout fournisseur compatible OIDC.</div></div></div><hr><h2 id=anti-brute-force--preuve-de-travail-altcha>Anti brute force : preuve de travail Altcha</h2><p>Avant même qu&rsquo;un formulaire de connexion ne s&rsquo;affiche, le navigateur doit résoudre un léger défi computationnel
(<a href=https://altcha.org/ target=_blank rel=noopener>Altcha</a>).</p><p>Cela ne crée aucune friction pour les vrais utilisateurs, car le matériel moderne le résout en quelques millisecondes,
mais cela rend les attaques automatisées de credential stuffing coûteuses à grande échelle.</p><div class=callout><p><strong>Protection en couches :</strong> Une limitation de débit est déjà en place. La preuve de travail vient la compléter : là où le rate limiting borne le volume de requêtes par IP, Altcha ajoute un coût de calcul par requête qui rend les attaques distribuées coûteuses, quel que soit le nombre d'IP sources impliquées.</p></div><hr><h2 id=cas-dusage>Cas d&rsquo;usage</h2><ul><li>Exposez <strong>Grafana</strong> à votre équipe sans ouvrir le port 3000 sur internet</li><li>Publiez une console web <strong>Proxmox</strong> derrière TOTP, accessible uniquement depuis votre VPN</li><li>Partagez une <strong>application auto-hébergée</strong> avec un client à l&rsquo;aide d&rsquo;identifiants temporaires</li><li>Protégez n&rsquo;importe quel <strong>service HTTP interne</strong> sans modifier sa configuration</li></ul><div class="callout green"><p><strong>Aucune modification de l'application n'est nécessaire.</strong> Le gatekeeper transmet la requête de manière transparente.
Votre service interne n'a pas besoin d'implémenter l'authentification : la passerelle s'en charge.</p></div><hr><p>La gestion VPN et la passerelle applicative fonctionnent comme une seule stack auto-hébergée. Aucun compte chez un service tiers, aucune dépendance à un tunnel sortant, aucun trafic qui quitte votre infrastructure.</p></div></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/fr/zero-trust/>Zero Trust</a></li><li><a href=/fr/deployment/>Deployment</a></li><li><a href=/fr/get-involved/>Get Involved</a></li></ul><div class=footer-built>développé par <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>