SPB Git

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

Page /bot (transparence LouKaBot) + User-Agent pointant dessus

Explique le robot aux gestionnaires : cadence, respect de robots.txt, aucune
donnée personnelle, contact pour flux officiel/retrait, consigne de blocage.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Aug 9, 2026) parent a13aad7 Browse files

3 changed files +61 −1

modified frontend/src/App.tsx +2 −0
@@ -9,6 +9,7 @@ import { fetchFacets, fetchSources, fetchStats, registerSourceNames, sourceName
9 import CookieConsent from "./components/CookieConsent"; 9 import CookieConsent from "./components/CookieConsent";
10 import Home from "./pages/Home"; 10 import Home from "./pages/Home";
11 import ListingPage from "./pages/Listing"; 11 import ListingPage from "./pages/Listing";
12+import BotPage from "./pages/Bot";
12 import PasserellePage from "./pages/Passerelle"; 13 import PasserellePage from "./pages/Passerelle";
13 import PrivacyPage from "./pages/Privacy"; 14 import PrivacyPage from "./pages/Privacy";
14 import SourcesPage from "./pages/Sources"; 15 import SourcesPage from "./pages/Sources";
@@ -170,6 +171,7 @@ export default function App() {
170 <Route path="/sources" element={<SourcesPage />} /> 171 <Route path="/sources" element={<SourcesPage />} />
171 <Route path="/confidentialite" element={<PrivacyPage />} /> 172 <Route path="/confidentialite" element={<PrivacyPage />} />
172 <Route path="/passerelle/:uid" element={<PasserellePage />} /> 173 <Route path="/passerelle/:uid" element={<PasserellePage />} />
174+ <Route path="/bot" element={<BotPage />} />
173 <Route 175 <Route
174 path="*" 176 path="*"
175 element={ 177 element={
added frontend/src/pages/Bot.tsx +58 −0
@@ -0,0 +1,58 @@
1+// -----------------------------------------------------------------------------
2+// Lou-Ka — Agrégateur de logements à louer (province de Québec)
3+// Auteur : Simon-Pierre Boucher — contact@spboucher.ai
4+// pages/Bot.tsx : page publique expliquant LouKaBot aux gestionnaires
5+// (référencée dans le User-Agent du robot : +https://www.lou-ka.com/bot)
6+// -----------------------------------------------------------------------------
7+
8+export default function BotPage() {
9+ return (
10+ <div className="container legal">
11+ <span className="kicker">LouKaBot</span>
12+ <h1>À propos de notre robot</h1>
13+
14+ <section>
15+ <p>
16+ <b>LouKaBot</b> est le robot de synchronisation de Lou-Ka, un
17+ agrégateur indépendant de logements à louer au Québec. Si vous voyez
18+ ce User-Agent dans vos journaux, c'est nous :
19+ </p>
20+ <p><code>LouKaBot/1.0 (+https://www.lou-ka.com/bot; contact@spboucher.ai)</code></p>
21+ </section>
22+
23+ <section>
24+ <h3>Ce que fait LouKaBot</h3>
25+ <ul>
26+ <li>Il consulte les <b>annonces de logements publiques</b> de votre site
27+ pour les référencer sur Lou-Ka, avec un lien direct vers votre
28+ annonce originale — chaque visiteur intéressé vous est renvoyé.</li>
29+ <li>Cadence limitée : au plus <b>~1 requête par seconde</b> par site,
30+ une à deux synchronisations par heure, avec mise en cache des pages
31+ déjà vues pour minimiser les requêtes.</li>
32+ <li>Il respecte <code>robots.txt</code> et ne collecte <b>aucune donnée
33+ personnelle</b> — seulement le contenu des annonces publiques
34+ (prix, adresse, photos, description).</li>
35+ </ul>
36+ </section>
37+
38+ <section>
39+ <h3>Vous êtes gestionnaire immobilier ?</h3>
40+ <p>
41+ Lou-Ka vous amène des locataires sans intermédiaire : nous affichons
42+ vos annonces avec votre nom et renvoyons chez vous pour la visite et
43+ la signature. Si vous préférez nous fournir un flux officiel (JSON,
44+ XML, iCal…), si vous souhaitez ajuster la cadence, corriger une
45+ information ou retirer vos annonces, écrivez-nous — nous répondons
46+ rapidement :
47+ </p>
48+ <p><a href="mailto:contact@spboucher.ai"><b>contact@spboucher.ai</b></a></p>
49+ </section>
50+
51+ <div className="fine">
52+ Pour bloquer LouKaBot : ajoutez <code>User-agent: LouKaBot</code> /{" "}
53+ <code>Disallow: /</code> à votre robots.txt — le retrait est automatique
54+ à la synchronisation suivante.
55+ </div>
56+ </div>
57+ );
58+}
modified louka/connectors/base.py +1 −1
@@ -15,7 +15,7 @@ from ..schema import Listing
15 15
16 USER_AGENT = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) " 16 USER_AGENT = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
17 "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36 " 17 "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36 "
18− "LouKaBot/1.0 (+contact@spboucher.ai)") 18+ "LouKaBot/1.0 (+https://www.lou-ka.com/bot; contact@spboucher.ai)")
19 19
20 FIRECRAWL_API = "https://api.firecrawl.dev/v1/scrape" 20 FIRECRAWL_API = "https://api.firecrawl.dev/v1/scrape"
21 21
22 22
Menu

Theme