<?xml version="1.0" encoding="UTF-8"?>
<!-- Seules les pages destinees a etre trouvees. TROIS des quatre pages
     legales portent `noindex` tant qu'elles ne sont pas redigees : les lister
     ici reviendrait a demander leur indexation et a la refuser dans la meme
     respiration.

     ⚠ `legal/cookies.html` EST L'EXCEPTION, ET ELLE EST DECLAREE. Elle n'est
     pas un gabarit : son contenu est un releve de ce que le code depose,
     verifiable dans `api/auth.py` et `api/google_routes.py`. Quelqu'un qui
     cherche « ClipHeat cookies » cherche exactement cette page, et la lui
     cacher n'aurait servi personne.

     UN SEUL SITEMAP POUR TOUT LE DOMAINE, CELUI-CI.

     La documentation sous `/docs/` est construite par `docs-site/` (Astro +
     Starlight), qui produirait son propre sitemap si on le laissait faire.
     On ne le laisse pas : `astro.config.mjs` neutralise l'integration, et les
     pages sont declarees ICI, a la main. Deux sitemaps sur un domaine de
     trente URL n'apportent rien, et le jour ou l'un des deux oublie une page,
     personne ne sait lequel regarder.

     ⚠ TOUTE PAGE AJOUTEE DANS `docs-site/src/content/docs/` SE DECLARE ICI,
     DANS LE MEME COMMIT. Ce n'est pas une consigne de bonne volonte :
     `docs-site/verifier-le-sitemap.mjs` compare cette liste aux pages
     reellement construites et FAIT ECHOUER le build au moindre ecart, dans
     les deux sens — une page non declaree est invisible pour les moteurs, une
     URL declaree sans page est un 404 annonce a Google. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <!-- ==================== Le site ==================== -->
  <!-- ⚠ LES QUATRE ENTREES VONT PAR DEUX, ET CHACUNE LISTE LES DEUX
       VERSIONS — elle-meme comprise. C'est ce que la specification demande, et
       c'est la forme qui pardonne le moins d'oubli : un moteur qui ne lit
       qu'une entree connait deja la paire entiere. -->
  <url>
    <loc>https://clipheat.app/</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://clipheat.app/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://clipheat.app/en/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://clipheat.app/"/>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://clipheat.app/en/</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://clipheat.app/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://clipheat.app/en/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://clipheat.app/"/>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://clipheat.app/tarifs</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://clipheat.app/tarifs"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://clipheat.app/en/pricing"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://clipheat.app/tarifs"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://clipheat.app/en/pricing</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://clipheat.app/tarifs"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://clipheat.app/en/pricing"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://clipheat.app/tarifs"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://clipheat.app/legal/cookies</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- ==================== Le blog ====================
       Construit par `blog-site/`. ⚠ Le verificateur de `docs-site` ne garde
       que `/docs/` : c'est `blog-site/verifier-le-sitemap.mjs` qui tient
       celui-ci, et il fait echouer le build au moindre ecart. -->
  <url>
    <loc>https://clipheat.app/blog/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/ce-que-coute-une-minute-de-video-traitee-par-ia/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/dix-outils-de-clipping-ramenes-au-prix-de-la-minute/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/le-doublage-ia-coute-onze-fois-le-traitement/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/twitch-n-expose-pas-le-chat-des-rediffusions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/decouper-un-live-twitch-en-clips-verticaux/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/transformer-une-video-youtube-en-shorts/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/convertir-une-video-horizontale-en-verticale/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/sous-titres-automatiques-tiktok/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/alternative-a-opus-clip/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/transformer-un-podcast-video-en-clips-verticaux/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/faire-des-clips-d-un-live-kick/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <!-- La rubrique Actualite, 2026-09-28 : des faits dates, qui bougent vite. -->
  <url>
    <loc>https://clipheat.app/blog/youtube-shorts-monetisation-2027/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/made-on-youtube-2026/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/twitch-auto-clips/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/blog/economie-du-clipping-2026/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- ==================== La documentation ====================
       L'ordre est celui de la laterale de `docs-site` : quelqu'un qui lit ce
       fichier doit pouvoir le comparer au sommaire sans le trier d'abord. -->
  <!-- `/docs/` sert « Votre premiere generation » : c'est la premiere page de
       la documentation, pas une couverture. Priorite haute en consequence. -->
  <url>
    <loc>https://clipheat.app/docs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Premiers pas. « Votre premiere generation » EST `/docs/`, declaree
       plus haut : la documentation n'a pas de page d'accueil, sa premiere
       page est son index. -->
  <url>
    <loc>https://clipheat.app/docs/demarrer/creer-un-compte/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/demarrer/l-interface/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Generer des clips -->
  <url>
    <loc>https://clipheat.app/docs/generer/les-sources/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/la-portion-et-le-nombre/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/les-reglages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/le-recadrage/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/les-sous-titres/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/la-courbe/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/le-suivi/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/generer/le-lot/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- Reprendre et diffuser -->
  <url>
    <loc>https://clipheat.app/docs/clips/l-editeur/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/clips/les-modeles-de-marque/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/clips/la-bibliotheque/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/clips/publier/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/clips/live-monitor/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Compte et facturation -->
  <url>
    <loc>https://clipheat.app/docs/compte/les-credits/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/compte/les-offres/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/compte/la-conservation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/compte/les-reglages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- L'API -->
  <url>
    <loc>https://clipheat.app/docs/api/commencer/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/api/les-routes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/api/securite/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/api/serveur-mcp/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- Aide -->
  <url>
    <loc>https://clipheat.app/docs/nouveautes/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/aide/questions-frequentes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/aide/depannage/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/aide/nous-joindre/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ==================== La documentation, en anglais ====================
       Meme ordre, memes priorites que le bloc francais ci-dessus : ce sont les
       memes pages, dans l'autre langue, et aucune des deux n'est un doublon de
       l'autre. C'est `hreflang` qui dit laquelle servir a qui — pose par
       `docs-site/src/composants/Tete.astro` sur CHAQUE page, avec le francais
       en `x-default`.

       ⚠ CE BLOC EST DERIVE DU PRECEDENT, PAS ECRIT A LA MAIN. Toute page
       ajoutee sous `docs-site/src/content/docs/` se declare DEUX FOIS ici,
       dans le meme commit — `verifier-le-sitemap.mjs` fait echouer le build
       sur le moindre ecart, et une page anglaise oubliee est aussi invisible
       qu'une francaise. -->
  <url>
    <loc>https://clipheat.app/docs/en/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/demarrer/creer-un-compte/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/demarrer/l-interface/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/les-sources/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/la-portion-et-le-nombre/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/les-reglages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/le-recadrage/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/les-sous-titres/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/la-courbe/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/le-suivi/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/generer/le-lot/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/clips/l-editeur/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/clips/les-modeles-de-marque/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/clips/la-bibliotheque/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/clips/publier/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/clips/live-monitor/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/compte/les-credits/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/compte/les-offres/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/compte/la-conservation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/compte/les-reglages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/api/commencer/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/api/les-routes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/api/securite/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/api/serveur-mcp/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/nouveautes/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/aide/questions-frequentes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/aide/depannage/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://clipheat.app/docs/en/aide/nous-joindre/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

</urlset>
