<!doctype html>
<!--
  trentpower.fr
  static, self-managed, privacy-first
  no analytics, no cookies, no external assets
  detached verification notes for /integrity/
-->
<html lang="fr" dir="ltr">
<head>
  <!-- head · 01 · foundations -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  <meta name="color-scheme" content="light dark">
  <meta name="supported-color-schemes" content="light dark">
  <meta name="theme-color" content="#E9E5DC">

  <!-- head · 02 · appearance bootstrap -->
  <script>(()=>{const e=document.documentElement;e.classList.add('js');try{const m=localStorage.getItem('tp-theme');if(m==='dark'||m==='light')e.dataset.theme=m}catch(_){}})();</script>

  <!-- head · 03 · document identity -->
  <title>Vérifier localement · Trent Power</title>
  <meta name="description" content="Notes de vérification détachées : contrôle du manifeste signé depuis un trousseau temporaire">
  <meta name="document-edition" content="2026-06-14">
  <link rel="canonical" href="https://trentpower.fr/fr/integrite/verifier-localement/">
  <link rel="alternate" hreflang="en-AU" href="https://trentpower.fr/en-au/integrity/verify-locally/">
  <link rel="alternate" hreflang="fr" href="https://trentpower.fr/fr/integrite/verifier-localement/">
  <link rel="alternate" hreflang="x-default" href="https://trentpower.fr/">

  <!-- head · 04 · indexing and discovery -->
  <meta name="robots" content="noindex">
  <meta name="referrer" content="no-referrer">

  <!-- head · 05 · authorship and identity -->
  <meta name="author" content="Trent Power">
  <link rel="author" href="/.well-known/attribution.txt">
  <link rel="alternate" type="application/ld+json" href="/.well-known/person.json">

  <!-- head · 06 · provenance, rights and reuse -->
  <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">

  <!-- head · 07 · social and sharing -->
  <meta property="og:type" content="website">
  <meta property="og:site_name" content="Trent Power">
  <meta property="og:title" content="Vérifier localement · Trent Power">
  <meta property="og:description" content="Notes de vérification détachées : contrôle du manifeste signé depuis un trousseau temporaire">
  <meta property="og:url" content="https://trentpower.fr/fr/integrite/verifier-localement/">
  <meta property="og:image" content="https://trentpower.fr/images/og/integrity-og.png">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="630">
  <meta property="og:image:type" content="image/png">
  <meta property="og:image:alt" content="Vérifier localement · Trent Power">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Verify locally · Trent Power">
  <meta name="twitter:description" content="Detached verification notes: signed manifest check from a temporary keyring">
  <meta name="twitter:image" content="https://trentpower.fr/images/og/integrity-og.png">
  <meta name="twitter:image:alt" content="Verify locally · Trent Power">
  <meta name="twitter:site"    content="@trentpower">
  <meta name="twitter:creator" content="@trentpower">

  <!-- head · 08 · application surface -->
  <meta name="application-name" content="Trent Power">
  <meta name="apple-mobile-web-app-title" content="Trent Power">
  <link rel="icon" href="/favicon.ico" sizes="any">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
  <link rel="manifest" href="/manifest.webmanifest" type="application/manifest+json">

  <!-- head · 09 · rendering and assets -->
  <link rel="stylesheet" href="/styles.css?v=2026-06-14.8eb5797d" integrity="sha384-PKmLVxbd/YfbUiIpYTcgq9EPzTLIMmT684A7Y93xg7UV5Iuoli1U99dfwTxs7nDE">
  <link rel="stylesheet" href="/print.css?v=2026-06-14.8eb5797d" media="print">

  <!-- head · 10 · structured data -->
  <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "@id": "https://trentpower.fr/integrity/verify-locally/#article",
  "headline": "Verify locally · Trent Power",
  "url": "https://trentpower.fr/fr/integrite/verifier-localement/",
  "description": "Detached verification notes for the signed integrity manifest",
  "inLanguage": "fr",
  "isPartOf": {
    "@id": "https://trentpower.fr/#website"
  },
  "author": {
    "@id": "https://trentpower.fr/#trent-power"
  },
  "publisher": {
    "@id": "https://trentpower.fr/#trent-power"
  },
  "datePublished": "2026-05-13",
  "dateModified": "2026-06-14T00:00:00+00:00"
}
  </script>

  <!-- provenance · page record · generated from the public source repository -->
  <script type="application/json" id="tp-page-record">
{
  "canonical": "https://trentpower.fr/fr/integrite/verifier-localement/",
  "sourceRepository": "https://github.com/trentpower/trentpower.fr",
  "sourcePath": "content/fr/pages/verify.yml",
  "templatePath": "templates/pages/integrity-verify-locally.html",
  "sourceUrl": "https://github.com/trentpower/trentpower.fr/blob/main/content/fr/pages/verify.yml",
  "edition": "2026-06-14",
  "generated": true
}
  </script>
</head>
<body data-page="integrity-verify-locally" data-layout="masthead" data-surface="record" data-masthead="brand-only" data-edition="2026-06-14" data-source-sha256-short="--------">

<a href="#main" class="skip-link">Skip to content</a>

<header class="site-header" data-component="site-header">
  <div class="nav">
    <div class="nav-inner">
      <a class="nav-mark u-author" href="/fr/" aria-label="Trent Power home"><span>Trent</span> <span>Power</span></a>
    </div>
  </div>
</header>

<main class="site" id="main" tabindex="-1" itemscope itemtype="https://schema.org/TechArticle">
  <div class="page">
    <p class="page-kicker">Vérification locale</p>
    <h1 class="page-title hero-stack"><span class="hero-line">À votre</span><span class="hero-line">terminal !</span></h1>
    <div class="page-body">
      <p class="page-lede">Notes de vérification détachées pour le manifeste d'intégrité signé. Exécutez le
      contrôle dans un trousseau temporaire afin que la clé publique de signature n'entre
      pas dans votre trousseau principal.</p>

      <div class="trust-code-block">
        <div class="trust-code-block-header">
          <button type="button" class="trust-code-copy verify-command-copy record-inline-action"
                  data-copy-target="integrity-verify-command"
                  data-copy-feedback="Copié">Copier la commande</button>
        </div>
        <pre class="trust-code" id="integrity-verify-command"><code><span class="code-var">tmpdir</span>=<span class="code-str">"$(mktemp -d)"</span>
<span class="code-cmd">export</span> <span class="code-var">GNUPGHOME</span>=<span class="code-str">"$tmpdir"</span>

<span class="code-var">ts</span>=<span class="code-cmd">$(</span>date +%s<span class="code-cmd">)</span>
<span class="code-cmd">curl</span> -fsS <span class="code-str">"https://trentpower.fr/integrity.json?ts=$ts"</span> -o integrity.json
<span class="code-cmd">curl</span> -fsS <span class="code-str">"https://trentpower.fr/integrity.json.sig?ts=$ts"</span> -o integrity.json.sig
<span class="code-cmd">curl</span> -fsS <span class="code-str">"https://trentpower.fr/.well-known/pgp-key.asc?ts=$ts"</span> | <span class="code-cmd">gpg</span> --import
<span class="code-cmd">gpg</span> --verify integrity.json.sig integrity.json

<span class="code-cmd">rm</span> -rf <span class="code-str">"$tmpdir"</span> integrity.json integrity.json.sig</code></pre>
      </div>

      <p class="integrity-page-level-note">La commande importe la clé publique dans un trousseau jetable, vérifie le manifeste
      signé et supprime les fichiers de travail. Aucun état ne subsiste sur la machine
      ensuite.</p>
    </div>
  </div>

</main>


<!-- body · footer -->
<footer class="site-footer" aria-label="Site footer">
  <div class="site-footer__inner">

    <!-- top stratum · identity · nav · language -->
    <div class="site-footer__top">

      <p class="site-footer__identity">
        <span class="year">&copy; <span class="since">1997 &ndash;</span> <time datetime="2026">2026</time></span>
        <a class="wm" href="/fr/" rel="home" aria-describedby="desc-home-footer"><bdi>Trent Power</bdi></a>
        <span class="visually-hidden" id="desc-home-footer">Retour à l’accueil</span>
      </p>

      <nav class="site-footer__nav" aria-label="Footer">
        <span>Paris, France</span>
        <span class="sep" aria-hidden="true">&middot;</span>
        <a class="site-footer__action" href="/fr/confidentialite/" rel="privacy-policy" aria-describedby="desc-privacy">Confidentialité</a>
        <span class="visually-hidden" id="desc-privacy">Découvrir comment ce site évite les analytiques, cookies, profilage, traceurs et
        services tiers</span>
        <span class="sep" aria-hidden="true">&middot;</span>
        <button type="button" class="site-footer__action"
                data-cite-open aria-haspopup="dialog"
                aria-describedby="desc-cite">Vérifier</button>
        <span class="visually-hidden" id="desc-cite">Ouvrir les détails de citation et de vérification de cette page</span>
      </nav>

      <ul class="site-footer__language" aria-label="Language">
        <li><a href="/en-au/integrity/verify-locally/"  aria-describedby="desc-lang-en" lang="en">English</a> <span class="visually-hidden" id="desc-lang-en">Read this site in English</span></li>
        <li aria-hidden="true"><span class="sep">&middot;</span></li>
        <li><a href="/fr/integrite/verifier-localement/" aria-describedby="desc-lang-fr" lang="fr" aria-current="page">Français</a> <span class="visually-hidden" id="desc-lang-fr">Lire ce site en français</span></li>
      </ul>

    </div>

    <hr class="site-footer__break" aria-hidden="true">

    <!-- bottom stratum · colophon · theme -->
    <div class="site-footer__bottom">

      <ul class="site-footer__colophon" id="footerImprint" aria-label="Vérification de la publication">
        <li class="site-footer__colophon-row">
          <a class="site-footer__colophon-link" href="/fr/verifier/" aria-describedby="desc-integrity"><span class="site-footer__colophon-key">Édition</span> <time datetime="2026-06-14">2026-06-14</time></a>
          <span class="site-footer__colophon-sep" aria-hidden="true">·</span>
          <em class="site-footer__translation-inline" data-translation-disclosure>Ceci est un rendu machine. <a href="/en-au/">L'édition de l'auteur est en anglais</a>.</em><span class="site-footer__colophon-note" data-edition-age hidden>Publiée aujourd'hui</span>
          <span class="visually-hidden" id="desc-integrity">Ouvrir le dossier de vérification de cette édition — citation, miroir source, empreinte et archive signée</span>
        </li>
      </ul>

      <ul class="site-footer__theme" aria-label="Appearance">
        <li><button type="button" data-theme="light"  aria-pressed="false" aria-describedby="desc-theme-light">Clair</button> <span class="visually-hidden" id="desc-theme-light">Passer à l’apparence claire</span></li>
        <li aria-hidden="true"><span class="sep">&middot;</span></li>
        <li><button type="button" data-theme="system" aria-pressed="true"  aria-describedby="desc-theme-auto">Auto</button> <span class="visually-hidden" id="desc-theme-auto">Suivre les réglages d’apparence du système</span></li>
        <li aria-hidden="true"><span class="sep">&middot;</span></li>
        <li><button type="button" data-theme="dark"   aria-pressed="false" aria-describedby="desc-theme-dark">Sombre</button> <span class="visually-hidden" id="desc-theme-dark">Passer à l’apparence sombre</span></li>
      </ul>

    </div>

  </div>
</footer>
<!-- scripts · progressive enhancement, no telemetry -->
<script src="/js/theme.js?v=2026-06-14.8eb5797d" integrity="sha384-BoulfjXBzTzKZepcXtJ55HOBvZ6Z1vlJ2F1/oKeG0duSBmbq+8iuuNRBq9cOEtuS" defer></script>
<script src="/sw-register.js?v=2026-06-14.8eb5797d" integrity="sha384-S02ZUys8FBSl9T/d6ZOUzwUsIRGM7XqEu00nouu0bOBOL8fySyU4QCzOXoKwMqFU" defer></script>
<script src="/js/reveal.js?v=2026-06-14.8eb5797d" integrity="sha384-evAfeRi0JtOyJV2Lekp1iIVgpVKolniSa1uW/y4LF6GdpyXEh9u2EYCj3+NyFWhH" defer></script>
<script src="/js/overlay.js?v=2026-06-14.8eb5797d" integrity="sha384-n3avwjT6Y3Gt81ewRZ3xNoOJh7GWJff5pcBR40w0ysJ+pi1alr0JhK0YGD2aRu9h" defer></script>
<script src="/verify/verification-data.js?v=2026-06-14.8eb5797d" defer></script>
<script src="/js/copy.js?v=2026-06-14.8eb5797d" integrity="sha384-QMLMM2Hp2mANKcmISyVIIES7LBGAWLJvHturH651G/B2Xkj+zZXBE0DZ0ufyXTU4" defer></script>
<script src="/js/edition.js?v=2026-06-14.8eb5797d" integrity="sha384-iO0w8zmiIy+PKCcn52n+bxnD8GxJcyMXMMddSHMJAjxRpRxaYbPG3dD7jRtM7oKC" defer></script>
<script src="/js/micro-interactions.js" integrity="sha384-SipxtV8ZVVFXb63JYEJvP90oeBOz53eCea8kvIC5PqEB0E072RI8dDL+foIMuVGT" defer></script>
<script src="/js/verify-modal.js?v=2026-06-14.8eb5797d" integrity="sha384-cZZ9jdw4bkLl3MiF5cbm4+RTIcTRwOOwy++dCTz6LLIjpny4MF9Xac3mDa441Avy" defer></script>
<script src="/js/fonts.js?v=2026-06-14.8eb5797d" integrity="sha384-0spuMQXrqwVs8UwbF5T1hlwoR2bc0i6siuoVnFCs+UBg2mhvpDzRoEsLItXwS5Cd" defer></script>


<!-- print-only utility sheet -->
<div class="print-utility-sheet print-only" data-print-sheet="integrity-verify-locally" hidden>
  <header class="print-utility-header">
    <p class="print-utility-kicker">Vérification d’intégrité</p>
    <p class="print-utility-title">Vérifier localement</p>
    <p class="print-utility-lede">Notes de vérification détachée pour contrôler indépendamment le manifeste d’intégrité signé avec la clé publique publiée.</p>
    <p class="print-utility-meta">Édition 2026-06-14 · trentpower.fr/integrity/verify-locally/</p>
  </header>

  <div class="print-utility-grid">
        <div class="print-utility-card">
          <p class="print-utility-label"><span class="num">01</span> <span>Trousseau temporaire</span></p>
          <p>Utilisez un GNUPGHOME temporaire pour ne pas toucher à votre trousseau principal.</p>
        </div>
        <div class="print-utility-card">
          <p class="print-utility-label"><span class="num">02</span> <span>Importer la clé publique</span></p>
          <p>curl /.well-known/pgp-key.asc · gpg --import pgp-key.asc.</p>
        </div>
        <div class="print-utility-card">
          <p class="print-utility-label"><span class="num">03</span> <span>Vérifier la signature</span></p>
          <p>gpg --verify integrity.json.sig integrity.json - attendre Good signature.</p>
        </div>
        <div class="print-utility-card">
          <p class="print-utility-label"><span class="num">04</span> <span>Contrôler le manifeste</span></p>
          <p>/integrity.json liste chaque fichier public avec son empreinte SHA-256.</p>
        </div>
        <div class="print-utility-card">
          <p class="print-utility-label"><span class="num">05</span> <span>Comparer les sommes</span></p>
          <p>Re-hachez un fichier et comparez avec l’entrée du manifeste.</p>
        </div>
        <div class="print-utility-card">
          <p class="print-utility-label"><span class="num">06</span> <span>Notes de reproductibilité</span></p>
          <p>Chaque édition signée est figée dans /integrity/releases/. Aucun actif mutable.</p>
        </div>
  </div>

  <footer class="print-utility-footer">
    <div class="print-utility-footer-text">
      <p class="print-proof">Privé · Statique · Signé · Sans suivi</p>
      <p>Édition 2026-06-14 · trentpower.fr/integrity/verify-locally/</p>
    </div>
    <div class="print-qr-block" aria-hidden="true">
      <img class="print-qr-image" src="/images/qr/qr-verify-locally.svg" width="144" height="144" loading="lazy" decoding="async" alt="">
      <p class="print-qr-url">trentpower.fr/integrity/verify-locally/</p>
    </div>
  </footer>
</div>


<!-- body · construction rail -->
<div class="construction-rail" data-construction-rail aria-hidden="true">
  <span class="construction-rail__stripe" aria-hidden="true"></span>
  <span class="construction-rail__label">
    <span class="construction-rail__dot" aria-hidden="true"></span>
    En Construction
  </span>
  <span class="construction-rail__stripe" aria-hidden="true"></span>
</div>
</body>
</html>
