SPB Git

spb/ora-ka Public

Ora-Ka — cinq agrégateurs Ka, une barre de recherche hybride (exact + sémantique)

Python 80% TypeScript 12.9% CSS 6.8%
9.8 KB · 178 lines python
Raw Blame History
1# -----------------------------------------------------------------------------2# Ora-Ka — Pages légales : conditions d'utilisation et politique de confidentialité3# Auteur : Simon-Pierre Boucher — Groupe KA4# -----------------------------------------------------------------------------56_SHELL = """<!doctype html>7<html lang="fr">8<head>9<meta charset="utf-8">10<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">11<title>{title} — Ora·Ka</title>12<meta name="robots" content="noindex">13<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='14' fill='%23141518'/%3E%3Ctext x='32' y='42' font-family='Arial Black,sans-serif' font-size='26' font-weight='900' fill='%23ffffff' text-anchor='middle'%3EOK%3C/text%3E%3C/svg%3E">14<link rel="preconnect" href="https://fonts.googleapis.com">15<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>16<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600;700&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">17<style>18:root{{--bg:#eef0f3;--ink:#16181c;--ink-2:#5c6370;--ink-3:#9aa1ab;19  --glass:rgba(255,255,255,.55);--gline:rgba(255,255,255,.65);20  --shadow:0 8px 32px rgba(20,22,26,.08)}}21*{{box-sizing:border-box;margin:0;padding:0}}22body{{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15.5px;23  line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}}24body::before{{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;25  background:radial-gradient(640px 520px at 12% 12%, rgba(221,74,85,.06), transparent 62%),26    radial-gradient(720px 560px at 88% 8%, rgba(240,112,63,.05), transparent 62%),27    radial-gradient(820px 640px at 78% 92%, rgba(61,143,102,.06), transparent 62%);filter:blur(6px)}}28header{{padding:26px 22px;text-align:center}}29.brand{{font-family:"Space Grotesk",sans-serif;font-weight:700;letter-spacing:-.04em;font-size:26px;30  color:var(--ink);text-decoration:none}}31.brand .sep{{color:var(--ink-3);padding:0 1px;font-weight:500}}32main{{flex:1;width:100%;max-width:780px;margin:0 auto;padding:0 22px 60px}}33.doc{{background:var(--glass);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);34  border:1px solid var(--gline);box-shadow:var(--shadow);border-radius:24px;padding:42px 46px}}35@media(max-width:560px){{.doc{{padding:28px 22px}}}}36h1{{font-family:"Space Grotesk",sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}}37.updated{{font-size:12.5px;color:var(--ink-3);margin-bottom:28px}}38h2{{font-family:"Space Grotesk",sans-serif;font-size:17px;font-weight:600;margin:28px 0 8px}}39p,li{{color:var(--ink-2)}}40p{{margin-bottom:12px}}41ul{{margin:0 0 12px 20px}}42li{{margin-bottom:6px}}43a{{color:var(--ink);text-decoration:underline;text-underline-offset:2px}}44strong{{color:var(--ink);font-weight:600}}45.contactbox{{margin-top:30px;padding:18px 22px;border-radius:16px;background:rgba(255,255,255,.5);46  border:1px solid var(--gline);font-size:14px}}47.contactbox div{{margin:3px 0;color:var(--ink-2)}}48footer{{padding:24px 22px 34px;text-align:center;font-size:12px;color:var(--ink-3)}}49footer a{{color:var(--ink-2);text-decoration:none;margin:0 8px}}50footer a:hover{{color:var(--ink)}}51</style>52</head>53<body>54<header><a class="brand" href="/">Ora<span class="sep">·</span>Ka</a></header>55<main><div class="doc">{body}</div></main>56<footer>57  <div><a href="/">Accueil</a>·<a href="/conditions">Conditions d'utilisation</a>·<a href="/confidentialite">Confidentialité</a></div>58  <div style="margin-top:8px">© 2026 Groupe KA — Ora-Ka est une application du <a href="https://www.groupe-ka.com" rel="noopener">Groupe KA</a>.</div>59</footer>60</body>61</html>62"""6364TERMS = _SHELL.format(65    title="Conditions d'utilisation",66    body="""67<h1>Conditions d'utilisation</h1>68<div class="updated">Dernière mise à jour : 13 août 2026</div>6970<p>Ora-Ka est une application du <strong>Groupe KA</strong> qui réunit les cinq agrégateurs71de la famille Ka — Immo·Ka, Lou·Ka, Fabri·Ka, Auto·Ka et Food·Ka — derrière un moteur72de recherche unifié. En utilisant ce site, vous acceptez les présentes conditions.</p>7374<h2>1. Nature du service</h2>75<p>Ora-Ka agrège automatiquement des inscriptions publiques (propriétés à vendre,76logements à louer, produits québécois, véhicules d'occasion, articles d'épicerie)77publiées par leurs sources d'origine : agences, gestionnaires, boutiques, concessionnaires78et bannières. <strong>Chaque inscription demeure la propriété de sa source</strong> ;79Ora-Ka n'est ni le vendeur, ni le bailleur, ni le concessionnaire, ni le marchand,80et n'intervient dans aucune transaction.</p>8182<h2>2. Exactitude des données</h2>83<p>Les données sont synchronisées de façon continue mais fournies « telles quelles »,84sans garantie d'exactitude, d'exhaustivité ou de disponibilité. Les prix, disponibilités85et caractéristiques peuvent changer à tout moment chez la source ; seule l'annonce86originale, vers laquelle chaque fiche renvoie, fait foi.</p>8788<h2>3. Recherche sémantique</h2>89<p>Le moteur combine des correspondances exactes et une similarité sémantique calculée90par un modèle d'apprentissage automatique. Les scores de pertinence affichés sont91indicatifs et ne constituent ni un classement commercial ni une recommandation.</p>9293<h2>4. Utilisation permise</h2>94<ul>95<li>Le service est offert pour un usage personnel et non commercial.</li>96<li>Il est interdit d'entraver le fonctionnement du service, d'en extraire les données97de façon massive ou automatisée, ou de le revendre sans autorisation écrite du Groupe KA98(<a href="mailto:info@groupe-ka.com">info@groupe-ka.com</a>).</li>99<li>Les liens sortants mènent vers des sites tiers dont le Groupe KA n'est pas responsable.</li>100</ul>101102<h2>5. Responsabilité</h2>103<p>Dans les limites permises par la loi, le Groupe KA décline toute responsabilité pour104les dommages découlant de l'utilisation du service ou des décisions prises sur la foi105des données affichées.</p>106107<h2>6. Droit applicable</h2>108<p>Les présentes conditions sont régies par les lois applicables au Québec et au Canada.109Tout litige relève des tribunaux compétents du district judiciaire de Québec.</p>110111<h2>7. Modifications</h2>112<p>Le Groupe KA peut modifier ces conditions en tout temps ; la version en vigueur est113celle publiée sur cette page.</p>114115<div class="contactbox">116<div><strong>Groupe KA</strong> — <a href="https://www.groupe-ka.com" rel="noopener">www.groupe-ka.com</a></div>117<div>Questions générales : <a href="mailto:contact@groupe-ka.com">contact@groupe-ka.com</a></div>118<div>Demandes d'information et autorisations : <a href="mailto:info@groupe-ka.com">info@groupe-ka.com</a></div>119</div>120""")121122PRIVACY = _SHELL.format(123    title="Politique de confidentialité",124    body="""125<h1>Politique de confidentialité</h1>126<div class="updated">Dernière mise à jour : 13 août 2026</div>127128<p>Le <strong>Groupe KA</strong> exploite Ora-Ka dans le respect de la <em>Loi sur la129protection des renseignements personnels dans le secteur privé</em> du Québec (incluant130les exigences de la Loi 25). La présente politique décrit ce qui est recueilli — et131surtout ce qui ne l'est pas.</p>132133<h2>1. Aucun compte, aucun profilage</h2>134<p>Ora-Ka ne demande aucune inscription, ne crée aucun profil d'utilisateur et n'utilise135aucun témoin (cookie) publicitaire ou de suivi sur sa page d'accueil. Certains univers136peuvent conserver localement, dans votre navigateur seulement, vos préférences137d'affichage ou de consentement (stockage local) ; ces informations ne quittent pas138votre appareil.</p>139140<h2>2. Requêtes de recherche</h2>141<p>Le texte que vous tapez dans la barre de recherche est traité pour produire les142résultats. Pour la recherche sémantique, la requête (et elle seule — aucun identifiant,143aucun compte) est transmise à un fournisseur de traitement linguistique afin d'en144calculer la représentation vectorielle. Les requêtes ne sont pas associées à une145personne identifiable.</p>146147<h2>3. Journaux techniques</h2>148<p>Comme tout service web, l'infrastructure conserve des journaux techniques temporaires149(adresse IP, horodatage, ressource demandée) aux seules fins de sécurité et de150diagnostic. Ils sont supprimés au fil des rotations normales et ne servent à aucun151profilage.</p>152153<h2>4. Données affichées</h2>154<p>Les inscriptions présentées (propriétés, logements, produits, véhicules, épicerie)155proviennent de sources publiques. Si un renseignement vous concernant apparaît dans une156inscription agrégée et que vous souhaitez sa rectification ou son retrait, écrivez au157responsable ci-dessous ; la demande sera traitée et, le cas échéant, relayée à la158source d'origine.</p>159160<h2>5. Vos droits</h2>161<p>Vous pouvez demander l'accès, la rectification ou le retrait des renseignements162personnels détenus, ainsi que déposer une plainte. Vous pouvez également vous adresser163à la Commission d'accès à l'information du Québec.</p>164165<h2>6. Responsable de la protection des renseignements personnels</h2>166<p>Le responsable désigné au sens de la Loi 25 est joignable à167<a href="mailto:admin@groupe-ka.com">admin@groupe-ka.com</a>. Toute demande d'accès,168de rectification ou de retrait doit lui être adressée ; une réponse est donnée dans169les 30 jours.</p>170171<div class="contactbox">172<div><strong>Groupe KA</strong> — <a href="https://www.groupe-ka.com" rel="noopener">www.groupe-ka.com</a></div>173<div>Responsable de la protection des renseignements personnels : <a href="mailto:admin@groupe-ka.com">admin@groupe-ka.com</a></div>174<div>Questions générales : <a href="mailto:contact@groupe-ka.com">contact@groupe-ka.com</a></div>175<div>Demandes d'information : <a href="mailto:info@groupe-ka.com">info@groupe-ka.com</a></div>176</div>177""")178