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 51.9%
TypeScript 32.7%
JavaScript 4.8%
CSS 4.1%
Shell 2.9%
HTML 1.8%
SQL 1.5%
1/**2 * Trouve-KA — page /contact (coordonnées communes Groupe KA)3 * Author: Simon-Pierre Boucher4 * Contact: contact@spboucher.ai5 *6 * Les coordonnées viennent de ka/ecosystem.json (source canonique ka-ui) :7 * 3 courriels + rôles, avertissement agrégateur, liens légaux du hub et8 * création de compte KA ID sur groupe-ka.com/connexion.9 */1011import type { Metadata } from "next";12import eco from "@/ka/ecosystem.json";1314export const metadata: Metadata = {15 title: "Contact",16 description:17 "Joindre Groupe KA — projets et partenariats, médias, légal et vie privée (Loi 25). Trouve-KA est un service Groupe KA.",18};1920export default function ContactPage() {21 return (22 <main id="contenu" className="mx-auto w-full max-w-3xl flex-1 px-4 py-12 sm:px-6">23 <p className="kicker">Un service Groupe KA</p>24 <h1 className="mt-3 text-4xl font-bold sm:text-5xl">25 Nous <span className="hl">joindre</span>26 </h1>27 <p className="mt-4 max-w-xl text-[15px] text-ink-2">28 Trouve-KA — le moteur de recherche du Groupe KA — est un service de{" "}29 <a30 href={eco.hub.url}31 target="_blank"32 rel="noopener noreferrer"33 className="font-bold text-ink underline underline-offset-4 hover:decoration-[var(--accent)]"34 >35 {eco.org.name}36 </a>37 . {eco.org.tagline}38 </p>3940 <div className="mt-8 grid gap-4 sm:grid-cols-1">41 {eco.contacts.map((c) => (42 <div key={c.email} className="gk-card flex flex-col gap-1 p-5">43 <span className="klabel">{c.role}</span>44 <a45 href={`mailto:${c.email}`}46 className="gk-mono text-[15px] font-bold text-ink underline-offset-4 hover:text-[var(--accent-deep)] hover:underline"47 >48 {c.email}49 </a>50 </div>51 ))}52 </div>5354 <p className="mt-8 border-l-2 border-[var(--accent)] pl-4 text-[14px] text-ink-2">55 <b className="text-ink">{eco.org.disclaimer}</b>56 </p>5758 <div className="gk-card mt-8 p-5">59 <span className="klabel">Compte KA ID</span>60 <p className="mt-2 text-[14px] text-ink-2">61 Un seul compte pour tout l'écosystème ·Ka. La création de compte se62 fait sur le hub :63 </p>64 <a65 href={`${eco.hub.url}${eco.hub.loginPath}`}66 target="_blank"67 rel="noopener noreferrer"68 className="btn btn-primary mt-4"69 >70 Créer un compte KA71 </a>72 </div>7374 <p className="gk-mono mt-10 text-[11px] uppercase tracking-[0.08em] text-ink-3">75 {eco.legal.map((l, i) => (76 <span key={l.href}>77 {i > 0 ? " · " : ""}78 <a79 href={l.href}80 target="_blank"81 rel="noopener noreferrer"82 className="underline-offset-4 hover:text-ink hover:underline"83 >84 {l.label}85 </a>86 </span>87 ))}88 </p>89 </main>90 );91}92