SPB Git

spb/trouve-ka Public

Trouve-KA — moteur de recherche web indépendant, Québec-first. Crawler distribué, index OpenSearch, ranking bilingue, galerie d'images. En prod : www.trouve-ka.com

Python 76.8% TypeScript 15.7% SQL 3.9% Shell 1.4% CSS 1.3% Dockerfile 0.7%
5.2 KB · 133 lines tsx
Raw Blame History
1/**2 * Trouve-KA — page publique du robot TrouveKABot3 * Author: Simon-Pierre Boucher4 * Contact: contact@spboucher.ai5 */67import type { Metadata } from "next";89export const metadata: Metadata = {10  title: "À propos de TrouveKABot",11  description:12    "TrouveKABot est le robot d'indexation de Trouve-KA. Identité, comportement, respect de robots.txt et façon de le bloquer.",13};1415const USER_AGENT =16  "Mozilla/5.0 (compatible; TrouveKABot/0.1; +https://www.trouve-ka.com/trouveka-bot)";1718export default function TrouvekaBotPage() {19  return (20    <main id="contenu" className="mx-auto w-full max-w-3xl flex-1 px-4 py-10">21      <p className="kicker">Robot d'indexation</p>22      <h1 className="mt-3 text-3xl font-bold tracking-[-0.03em] text-ink">23        À propos de TrouveKABot24      </h1>2526      <div className="mt-8 space-y-9 text-ink-2">27        <section aria-labelledby="quoi">28          <h2 id="quoi" className="text-lg font-bold text-ink">29            Qu'est-ce que TrouveKABot?30          </h2>31          <p className="mt-2 leading-relaxed">32            TrouveKABot est le robot d'indexation de{" "}33            <strong className="text-ink">Trouve-KA</strong>, un moteur de34            recherche indépendant consacré au web québécois. Il visite des35            pages web publiques pour les comprendre, les classer et les rendre36            trouvables par les gens du Québec.37          </p>38        </section>3940        <section aria-labelledby="pourquoi">41          <h2 id="pourquoi" className="text-lg font-bold text-ink">42            Pourquoi crawle-t-il votre site?43          </h2>44          <p className="mt-2 leading-relaxed">45            Votre site a probablement été découvert par un lien depuis un46            autre site québécois, un sitemap public ou une soumission47            d'utilisateur. TrouveKABot lit les pages accessibles publiquement48            afin de construire un index de recherche : il renvoie ensuite les49            internautes directement vers votre site — jamais l'inverse.50          </p>51        </section>5253        <section aria-labelledby="identite">54          <h2 id="identite" className="text-lg font-bold text-ink">55            Identité (user-agent)56          </h2>57          <p className="mt-2 leading-relaxed">58            Le robot s'identifie toujours avec ce user-agent exact&nbsp;:59          </p>60          <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">61            <code>{USER_AGENT}</code>62          </pre>63        </section>6465        <section aria-labelledby="robots">66          <h2 id="robots" className="text-lg font-bold text-ink">67            Respect de robots.txt68          </h2>69          <p className="mt-2 leading-relaxed">70            TrouveKABot respecte le standard <code>robots.txt</code> ainsi71            que les directives <code>noindex</code>, <code>nofollow</code>,{" "}72            <code>canonical</code> et l'en-tête <code>X-Robots-Tag</code>.73            Les règles sont mises en cache et revérifiées régulièrement.74          </p>75        </section>7677        <section aria-labelledby="bloquer">78          <h2 id="bloquer" className="text-lg font-bold text-ink">79            Comment le bloquer80          </h2>81          <p className="mt-2 leading-relaxed">82            Pour empêcher TrouveKABot de visiter votre site, ajoutez ceci à83            votre fichier <code>robots.txt</code>&nbsp;:84          </p>85          <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">86            <code>{"User-agent: TrouveKABot\nDisallow: /"}</code>87          </pre>88          <p className="mt-2 leading-relaxed">89            Le blocage est pris en compte dès la prochaine lecture de votre{" "}90            <code>robots.txt</code>. Vous pouvez aussi nous écrire pour un91            retrait manuel.92          </p>93        </section>9495        <section aria-labelledby="comportement">96          <h2 id="comportement" className="text-lg font-bold text-ink">97            Comportement poli98          </h2>99          <ul className="mt-2 list-disc space-y-1 pl-5 leading-relaxed">100            <li>101              Au plus une ou deux requêtes simultanées par site, avec des102              délais entre chaque requête.103            </li>104            <li>Adresses IP stables — aucune rotation de proxys.</li>105            <li>Aucune technique de dissimulation (« stealth »).</li>106            <li>107              Cache HTTP (ETag, Last-Modified) pour éviter de retélécharger108              des pages inchangées.109            </li>110          </ul>111        </section>112113        <section aria-labelledby="contact">114          <h2 id="contact" className="text-lg font-bold text-ink">115            Contact116          </h2>117          <p className="mt-2 leading-relaxed">118            Une question, un problème ou une demande de retrait&nbsp;?119            Écrivez-nous&nbsp;:{" "}120            <a121              href="mailto:contact@spboucher.ai"122              className="font-medium text-green underline-offset-2 hover:underline"123            >124              contact@spboucher.ai125            </a>126            .127          </p>128        </section>129      </div>130    </main>131  );132}133