/**
 * Trouve-KA — page publique du robot TrouveKABot
 * Author: Simon-Pierre Boucher
 * Contact: contact@spboucher.ai
 */

import type { Metadata } from "next";

export const metadata: Metadata = {
  title: "À propos de TrouveKABot",
  description:
    "TrouveKABot est le robot d'indexation de Trouve-KA. Identité, comportement, respect de robots.txt et façon de le bloquer.",
};

const USER_AGENT =
  "Mozilla/5.0 (compatible; TrouveKABot/0.1; +https://www.trouve-ka.com/trouveka-bot)";

export default function TrouvekaBotPage() {
  return (
    <main id="contenu" className="mx-auto w-full max-w-3xl flex-1 px-4 py-10">
      <p className="kicker">Robot d'indexation</p>
      <h1 className="mt-3 text-3xl font-bold tracking-[-0.03em] text-ink">
        À propos de TrouveKABot
      </h1>

      <div className="mt-8 space-y-9 text-ink-2">
        <section aria-labelledby="quoi">
          <h2 id="quoi" className="text-lg font-bold text-ink">
            Qu'est-ce que TrouveKABot?
          </h2>
          <p className="mt-2 leading-relaxed">
            TrouveKABot est le robot d'indexation de{" "}
            <strong className="text-ink">Trouve-KA</strong>, un moteur de
            recherche indépendant consacré au web québécois. Il visite des
            pages web publiques pour les comprendre, les classer et les rendre
            trouvables par les gens du Québec.
          </p>
        </section>

        <section aria-labelledby="pourquoi">
          <h2 id="pourquoi" className="text-lg font-bold text-ink">
            Pourquoi crawle-t-il votre site?
          </h2>
          <p className="mt-2 leading-relaxed">
            Votre site a probablement été découvert par un lien depuis un
            autre site québécois, un sitemap public ou une soumission
            d'utilisateur. TrouveKABot lit les pages accessibles publiquement
            afin de construire un index de recherche : il renvoie ensuite les
            internautes directement vers votre site — jamais l'inverse.
          </p>
        </section>

        <section aria-labelledby="identite">
          <h2 id="identite" className="text-lg font-bold text-ink">
            Identité (user-agent)
          </h2>
          <p className="mt-2 leading-relaxed">
            Le robot s'identifie toujours avec ce user-agent exact&nbsp;:
          </p>
          <pre className="gk-mono mt-3 overflow-x-auto rounded-ctl border-[1.5px] border-ink bg-surface-2 p-4 text-[13px] text-ink shadow-off-field">
            <code>{USER_AGENT}</code>
          </pre>
        </section>

        <section aria-labelledby="robots">
          <h2 id="robots" className="text-lg font-bold text-ink">
            Respect de robots.txt
          </h2>
          <p className="mt-2 leading-relaxed">
            TrouveKABot respecte le standard <code>robots.txt</code> ainsi
            que les directives <code>noindex</code>, <code>nofollow</code>,{" "}
            <code>canonical</code> et l'en-tête <code>X-Robots-Tag</code>.
            Les règles sont mises en cache et revérifiées régulièrement.
          </p>
        </section>

        <section aria-labelledby="bloquer">
          <h2 id="bloquer" className="text-lg font-bold text-ink">
            Comment le bloquer
          </h2>
          <p className="mt-2 leading-relaxed">
            Pour empêcher TrouveKABot de visiter votre site, ajoutez ceci à
            votre fichier <code>robots.txt</code>&nbsp;:
          </p>
          <pre className="gk-mono mt-3 overflow-x-auto rounded-ctl border-[1.5px] border-ink bg-surface-2 p-4 text-[13px] text-ink shadow-off-field">
            <code>{"User-agent: TrouveKABot\nDisallow: /"}</code>
          </pre>
          <p className="mt-2 leading-relaxed">
            Le blocage est pris en compte dès la prochaine lecture de votre{" "}
            <code>robots.txt</code>. Vous pouvez aussi nous écrire pour un
            retrait manuel.
          </p>
        </section>

        <section aria-labelledby="comportement">
          <h2 id="comportement" className="text-lg font-bold text-ink">
            Comportement poli
          </h2>
          <ul className="mt-2 list-disc space-y-1 pl-5 leading-relaxed">
            <li>
              Au plus une ou deux requêtes simultanées par site, avec des
              délais entre chaque requête.
            </li>
            <li>Adresses IP stables — aucune rotation de proxys.</li>
            <li>Aucune technique de dissimulation (« stealth »).</li>
            <li>
              Cache HTTP (ETag, Last-Modified) pour éviter de retélécharger
              des pages inchangées.
            </li>
          </ul>
        </section>

        <section aria-labelledby="contact">
          <h2 id="contact" className="text-lg font-bold text-ink">
            Contact
          </h2>
          <p className="mt-2 leading-relaxed">
            Une question, un problème ou une demande de retrait&nbsp;?
            Écrivez-nous&nbsp;:{" "}
            <a
              href="mailto:contact@spboucher.ai"
              className="font-medium text-green underline-offset-2 hover:underline"
            >
              contact@spboucher.ai
            </a>
            .
          </p>
        </section>
      </div>
    </main>
  );
}
