SPB Git forge

spb/lou-ka

Public

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

232commits 1branches 0releases
172.9 MBsize
maindefault branch
2 days agolast push
HTML 98.9% Python 0.6%

Web — mention Groupe KA + page Conditions d'utilisation + courriels officiels

- Footer : « Lou-Ka est une plateforme du Groupe KA » (lien groupe-ka.com),
  © Groupe KA, contact@groupe-ka.com, lien vers /conditions
- Nouvelle page /conditions : opérateur (info@groupe-ka.com), nature du
  service, exactitude, retrait de contenu (contact@groupe-ka.com), usage
  acceptable, volet légal (admin@groupe-ka.com) — route + menu mobile
- Confidentialité : responsable Loi 25 admin@groupe-ka.com, retraits et
  questions contact@/info@groupe-ka.com (remplace contact@spboucher.ai)
Simon-Pierre Boucher committed 1 mo ago (Aug 13, 2026) parent bdf053f

4 changed files +120 −4

modified frontend/src/App.tsx +15 −2
@@ -8,13 +8,14 @@ import { NavLink, Route, Routes, useLocation } from "react-router-dom";
8 8 import { fetchFacets, fetchSources, fetchStats, registerSourceNames, sourceName } from "./api";
9 9 import CookieConsent from "./components/CookieConsent";
10 10 import {
11 − IcoChart, IcoCompass, IcoFolder, IcoHouse, IcoLock, IcoMap,
11 + IcoChart, IcoCompass, IcoDoc, IcoFolder, IcoHouse, IcoLock, IcoMap,
12 12 } from "./components/Icons";
13 13 import Home from "./pages/Home";
14 14 import ListingPage from "./pages/Listing";
15 15 import BotPage from "./pages/Bot";
16 16 import PasserellePage from "./pages/Passerelle";
17 17 import PrivacyPage from "./pages/Privacy";
18 +import TermsPage from "./pages/Terms";
18 19 import SourcesPage from "./pages/Sources";
19 20 import StatsPage from "./pages/Stats";
20 21
@@ -59,6 +60,7 @@ const NAV_LINKS = [
59 60 { to: "/?view=carte", label: "Carte", icon: <IcoMap size={17} />, end: false, force: true },
60 61 { to: "/stats", label: "Stats", icon: <IcoChart size={17} />, end: false },
61 62 { to: "/sources", label: "Sources", icon: <IcoFolder size={17} />, end: false },
63 + { to: "/conditions", label: "Conditions", icon: <IcoDoc size={17} />, end: false },
62 64 { to: "/confidentialite", label: "Confidentialité", icon: <IcoLock size={17} />, end: false },
63 65 ];
64 66
@@ -144,9 +146,19 @@ function Footer() {
144 146 Les annonces proviennent des sites publics des gestionnaires immobiliers et sont
145 147 rafraîchies automatiquement — chaque fiche renvoie vers l'annonce originale.
146 148 </div>
149 + <div>
150 + Lou-Ka est une plateforme du{" "}
151 + <a href="https://www.groupe-ka.com" target="_blank" rel="noopener noreferrer">
152 + <b>Groupe KA</b>
153 + </a>{" "}
154 + — contact :{" "}
155 + <a href="mailto:contact@groupe-ka.com">contact@groupe-ka.com</a>
156 + </div>
147 157 </div>
148 158 <div className="fmono">
149 − © {new Date().getFullYear()} Simon-Pierre Boucher — contact@spboucher.ai
159 + © {new Date().getFullYear()} Groupe KA — Lou-Ka
160 + {" · "}
161 + <NavLink to="/conditions">Conditions d'utilisation</NavLink>
150 162 {" · "}
151 163 <NavLink to="/confidentialite">Confidentialité</NavLink>
152 164 {" · "}
@@ -173,6 +185,7 @@ export default function App() {
173 185 <Route path="/stats" element={<StatsPage />} />
174 186 <Route path="/sources" element={<SourcesPage />} />
175 187 <Route path="/confidentialite" element={<PrivacyPage />} />
188 + <Route path="/conditions" element={<TermsPage />} />
176 189 <Route path="/passerelle/:uid" element={<PasserellePage />} />
177 190 <Route path="/bot" element={<BotPage />} />
178 191 <Route
modified frontend/src/pages/Privacy.tsx +16 −2
@@ -12,6 +12,18 @@ export default function PrivacyPage() {
12 12 <span className="kicker">Confidentialité &amp; témoins</span>
13 13 <h1>Votre vie privée, simplement.</h1>
14 14
15 + <section>
16 + <h3>Qui est responsable</h3>
17 + <p>
18 + Lou-Ka est une plateforme du <b>Groupe KA</b>{" "}
19 + (<a href="https://www.groupe-ka.com" target="_blank" rel="noopener noreferrer">
20 + groupe-ka.com
21 + </a>). Le responsable de la protection des renseignements personnels
22 + (Loi 25) est joignable à{" "}
23 + <a href="mailto:admin@groupe-ka.com">admin@groupe-ka.com</a>.
24 + </p>
25 + </section>
26 +
15 27 <section>
16 28 <h3>Ce que Lou-Ka collecte</h3>
17 29 <p>
@@ -55,8 +67,10 @@ export default function PrivacyPage() {
55 67 <h3>Vos annonces, vos sources</h3>
56 68 <p>
57 69 Chaque fiche renvoie vers l'annonce originale du gestionnaire. Pour
58 − faire retirer un contenu ou pour toute question :{" "}
59 − <a href="mailto:contact@spboucher.ai">contact@spboucher.ai</a>.
70 + faire retirer un contenu ou pour toute question générale :{" "}
71 + <a href="mailto:contact@groupe-ka.com">contact@groupe-ka.com</a> —
72 + pour une demande d'information :{" "}
73 + <a href="mailto:info@groupe-ka.com">info@groupe-ka.com</a>.
60 74 </p>
61 75 </section>
62 76
added frontend/src/pages/Terms.tsx +84 −0
@@ -0,0 +1,84 @@
1 +// -----------------------------------------------------------------------------
2 +// Lou-Ka — Agrégateur de logements à louer (province de Québec)
3 +// Auteur : Simon-Pierre Boucher — contact@spboucher.ai
4 +// pages/Terms.tsx : conditions d'utilisation (plateforme du Groupe KA)
5 +// -----------------------------------------------------------------------------
6 +import { Link } from "react-router-dom";
7 +
8 +export default function TermsPage() {
9 + return (
10 + <div className="container legal">
11 + <span className="kicker">Conditions d'utilisation</span>
12 + <h1>Les règles du jeu, en clair.</h1>
13 +
14 + <section>
15 + <h3>Qui opère Lou-Ka</h3>
16 + <p>
17 + Lou-Ka est une plateforme du <b>Groupe KA</b>{" "}
18 + (<a href="https://www.groupe-ka.com" target="_blank" rel="noopener noreferrer">
19 + groupe-ka.com
20 + </a>), un groupe québécois d'agrégateurs automatisés. Pour toute
21 + question générale sur le service :{" "}
22 + <a href="mailto:info@groupe-ka.com">info@groupe-ka.com</a>.
23 + </p>
24 + </section>
25 +
26 + <section>
27 + <h3>Nature du service</h3>
28 + <p>
29 + Lou-Ka est un <b>agrégateur</b> : il rassemble des annonces de logements
30 + à louer publiées publiquement par des gestionnaires immobiliers, des
31 + courtiers et des plateformes d'annonces du Québec. Lou-Ka n'est ni un
32 + courtier, ni un gestionnaire, ni une partie aux baux — chaque fiche
33 + renvoie vers l'annonce originale et la location se conclut directement
34 + avec l'annonceur.
35 + </p>
36 + </section>
37 +
38 + <section>
39 + <h3>Exactitude des informations</h3>
40 + <p>
41 + Les annonces sont synchronisées automatiquement et peuvent différer de
42 + la source (loyer modifié, logement déjà loué, erreur de la source ou de
43 + l'extraction). Les informations sont fournies <b>à titre indicatif,
44 + sans garantie</b> — vérifiez toujours auprès de l'annonceur avant toute
45 + décision. Lou-Ka ne saurait être tenu responsable d'un écart entre une
46 + fiche et l'annonce originale.
47 + </p>
48 + </section>
49 +
50 + <section>
51 + <h3>Propriété du contenu</h3>
52 + <p>
53 + Les textes et photos des annonces appartiennent à leurs auteurs
54 + (gestionnaires, courtiers, annonceurs). Lou-Ka les présente avec un
55 + lien clair vers la source. Vous êtes l'auteur d'un contenu et souhaitez
56 + le faire retirer ? Écrivez à{" "}
57 + <a href="mailto:contact@groupe-ka.com">contact@groupe-ka.com</a> — le
58 + retrait est traité rapidement.
59 + </p>
60 + </section>
61 +
62 + <section>
63 + <h3>Usage acceptable</h3>
64 + <p>
65 + Le service est offert pour la recherche personnelle de logement.
66 + L'aspiration massive du site, la revente des données agrégées ou toute
67 + utilisation qui dégrade le service sont interdites.
68 + </p>
69 + </section>
70 +
71 + <section>
72 + <h3>Questions légales et vie privée</h3>
73 + <p>
74 + Les questions légales et celles touchant aux renseignements personnels
75 + sont traitées par{" "}
76 + <a href="mailto:admin@groupe-ka.com">admin@groupe-ka.com</a>. Voir
77 + aussi la <Link to="/confidentialite">politique de confidentialité</Link>.
78 + </p>
79 + </section>
80 +
81 + <div className="fine">Dernière mise à jour : août 2026.</div>
82 + </div>
83 + );
84 +}
modified frontend/src/styles.css +5 −0
@@ -1119,3 +1119,8 @@ html { scroll-padding-top: 76px; } /* header sticky au-dessus des ancres */
1119 1119 .btn-pdf { display: inline-flex; align-items: center; gap: 7px; }
1120 1120 .f-search svg { flex: none; color: var(--ink-3); }
1121 1121 .mv-noimg { display: flex; align-items: center; justify-content: center; color: var(--ink-3); }
1122 +
1123 +/* footer — liens (Groupe KA, courriels, mentions légales) */
1124 +.footer .frow a { color: var(--paper); text-decoration: underline; text-decoration-color: rgba(217,242,107,0.5); text-underline-offset: 3px; }
1125 +.footer .frow a:hover { color: var(--lime); }
1126 +.footer .fmono a:hover { color: var(--lime); }
1122 1127