feat: Trouve·Ka, le produit phare — moteur de recherche du web québécois
Section #trouve-ka en tête de page (carte moteur avec barre de recherche factice + carte encre « Les grands moteurs cherchent le monde. Trouve·Ka cherche le Québec. »), héros mis à jour (7 agrégateurs + 1 moteur), rangée socle, nav « Moteur » (breakpoint passé à xl + libellés raccourcis, débordait à lg avec 8 items), ticker, lien footer, métadonnées; ajouté aux pages /avis, /loi-25 (rangée tableau) et /retrait. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 changed files +155 −14
modified
src/app/avis/page.tsx
+3 −3
@@ -29,9 +29,9 @@ export default function Avis() { | ||
| 29 | 29 | </h1> |
| 30 | 30 | <p className="rise mt-5 max-w-2xl text-[15px] text-ink-2 [animation-delay:0.16s]"> |
| 31 | 31 | <strong className="text-ink"> |
| 32 | − Groupe KA et ses plateformes (Lou·Ka, Immo·Ka, Vrai-Prix, | |
| 33 | − ValoPlex, Auto·Ka, Fabri·Ka, Food·Ka, ka6) sont des services | |
| 34 | − d'agrégation et de recherche. | |
| 32 | + Groupe KA et ses plateformes (Trouve·Ka, Lou·Ka, Immo·Ka, | |
| 33 | + Vrai-Prix, ValoPlex, Auto·Ka, Fabri·Ka, Food·Ka, ka6) sont des | |
| 34 | + services d'agrégation et de recherche. | |
| 35 | 35 | </strong>{" "} |
| 36 | 36 | Nous indexons des annonces, des prix et des informations{" "} |
| 37 | 37 | <strong className="text-ink"> |
modified
src/app/layout.tsx
+9 −6
@@ -18,7 +18,7 @@ export const metadata: Metadata = { | ||
| 18 | 18 | metadataBase: new URL("https://www.groupe-ka.com"), |
| 19 | 19 | title: "Groupe KA — holding d’agrégateurs automatisés, sans boîte noire", |
| 20 | 20 | description: |
| 21 | − "Groupe KA est un holding québécois d’agrégateurs de produits et services entièrement automatisés : Lou·Ka (location), Immo·Ka (propriétés à vendre), Vrai-Prix (valeur résidentielle), ValoPlex (plex), Auto·Ka (voitures usagées), Fabri·Ka (produits québécois) et Food·Ka (épicerie). Sept plateformes, zéro saisie manuelle.", | |
| 21 | + "Groupe KA est un holding québécois d’agrégateurs de produits et services entièrement automatisés : Trouve·Ka (moteur de recherche du web québécois), Lou·Ka (location), Immo·Ka (propriétés à vendre), Vrai-Prix (valeur résidentielle), ValoPlex (plex), Auto·Ka (voitures usagées), Fabri·Ka (produits québécois) et Food·Ka (épicerie). Zéro saisie manuelle.", | |
| 22 | 22 | openGraph: { |
| 23 | 23 | title: "Groupe KA — holding d’agrégateurs automatisés, sans boîte noire", |
| 24 | 24 | description: |
@@ -31,17 +31,19 @@ export const metadata: Metadata = { | ||
| 31 | 31 | }; |
| 32 | 32 | |
| 33 | 33 | const NAV_ITEMS = [ |
| 34 | + { href: "/#trouve-ka", label: "Moteur" }, | |
| 34 | 35 | { href: "/#flux", label: "L’agrégation" }, |
| 35 | 36 | { href: "/#chiffres", label: "Chiffres" }, |
| 36 | 37 | { href: "/#produits", label: "Plateformes" }, |
| 37 | − { href: "/#socle", label: "Le socle" }, | |
| 38 | − { href: "/#bots", label: "Les bots" }, | |
| 38 | + { href: "/#socle", label: "Socle" }, | |
| 39 | + { href: "/#bots", label: "Bots" }, | |
| 39 | 40 | { href: "/#mission", label: "Mission" }, |
| 40 | 41 | { href: "/#contact", label: "Contact" }, |
| 41 | 42 | ]; |
| 42 | 43 | |
| 43 | 44 | const TICKER_ITEMS = [ |
| 44 | 45 | "·Ka = agréger — mille sites, un seul endroit", |
| 46 | + "Trouve·Ka cherche le Québec — le moteur de recherche du web d'ici", | |
| 45 | 47 | "Sept agrégateurs · une obsession : la transparence", |
| 46 | 48 | "450+ connecteurs lisent les sources jour et nuit", |
| 47 | 49 | "7 000+ logements à louer agrégés en continu", |
@@ -89,13 +91,13 @@ export default function RootLayout({ | ||
| 89 | 91 | <a href="#" className="group" aria-label="Groupe KA — accueil"> |
| 90 | 92 | <Wordmark /> |
| 91 | 93 | </a> |
| 92 | − <nav aria-label="Navigation principale" className="hidden lg:block"> | |
| 94 | + <nav aria-label="Navigation principale" className="hidden xl:block"> | |
| 93 | 95 | <ul className="flex items-center gap-1"> |
| 94 | 96 | {NAV_ITEMS.map((item) => ( |
| 95 | 97 | <li key={item.href}> |
| 96 | 98 | <a |
| 97 | 99 | href={item.href} |
| 98 | − className="gk-display inline-block rounded-full border-[1.5px] border-transparent px-4 py-[7px] text-[13.5px] font-bold text-ink-2 transition-colors hover:border-ink hover:text-ink" | |
| 100 | + className="gk-display inline-block rounded-full border-[1.5px] border-transparent px-3 py-[7px] text-[13.5px] font-bold whitespace-nowrap text-ink-2 transition-colors hover:border-ink hover:text-ink" | |
| 99 | 101 | > |
| 100 | 102 | {item.label} |
| 101 | 103 | </a> |
@@ -115,7 +117,7 @@ export default function RootLayout({ | ||
| 115 | 117 | </ul> |
| 116 | 118 | </nav> |
| 117 | 119 | {/* Mobile : icône compte directement dans le header + menu 100 % CSS */} |
| 118 | − <div className="flex items-center gap-2 lg:hidden"> | |
| 120 | + <div className="flex items-center gap-2 xl:hidden"> | |
| 119 | 121 | <UserButton variant="icon" /> |
| 120 | 122 | <input |
| 121 | 123 | type="checkbox" |
@@ -215,6 +217,7 @@ export default function RootLayout({ | ||
| 215 | 217 | </p> |
| 216 | 218 | <ul className="gk-mono mt-7 flex flex-wrap gap-x-7 gap-y-3 text-[11px] font-bold tracking-[0.1em] uppercase"> |
| 217 | 219 | {[ |
| 220 | + ["Trouve·Ka", "https://www.trouve-ka.com"], | |
| 218 | 221 | ["Lou·Ka", "https://www.lou-ka.com"], |
| 219 | 222 | ["Immo·Ka", "https://www.immo-ka.com"], |
| 220 | 223 | ["Vrai-Prix", "https://www.vrai-prix.com"], |
modified
src/app/loi-25/page.tsx
+7 −0
@@ -11,6 +11,13 @@ const MAILTO = | ||
| 11 | 11 | "gk-mono font-bold underline underline-offset-4 hover:text-ink"; |
| 12 | 12 | |
| 13 | 13 | const APPS_ROWS: [string, string, string, string, string][] = [ |
| 14 | + [ | |
| 15 | + "Trouve·Ka", | |
| 16 | + "www.trouve-ka.com", | |
| 17 | + "Moteur de recherche — web québécois", | |
| 18 | + "Pages web publiquement accessibles du web québécois, indexées par un robot dédié", | |
| 19 | + "Renseignements rendus publics par les sites indexés; extraits et liens vers la page originale seulement", | |
| 20 | + ], | |
| 14 | 21 | [ |
| 15 | 22 | "Lou·Ka", |
| 16 | 23 | "www.lou-ka.com", |
modified
src/app/page.tsx
+133 −3
@@ -227,6 +227,12 @@ const MANIFESTO = [ | ||
| 227 | 227 | ]; |
| 228 | 228 | |
| 229 | 229 | const SOCLE_ROWS: [string, string, string, string][] = [ |
| 230 | + [ | |
| 231 | + "Trouve·Ka", | |
| 232 | + "Recherche — tout le web québécois", | |
| 233 | + "Crawler dédié + index de recherche plein texte", | |
| 234 | + "www.trouve-ka.com", | |
| 235 | + ], | |
| 230 | 236 | [ |
| 231 | 237 | "Lou·Ka", |
| 232 | 238 | "Location résidentielle", |
@@ -408,14 +414,15 @@ export default function Home() { | ||
| 408 | 414 | automatisés : des centaines de connecteurs lisent les sites à la |
| 409 | 415 | source, normalisent la donnée et se resynchronisent seuls, jour et |
| 410 | 416 | nuit. Se loger, acheter, évaluer, rouler, consommer local, faire |
| 411 | − l'épicerie — sept plateformes, zéro saisie manuelle, zéro | |
| 412 | − boîte noire. | |
| 417 | + l'épicerie, chercher — sept agrégateurs et un moteur de | |
| 418 | + recherche, zéro saisie manuelle, zéro boîte noire. | |
| 413 | 419 | </p> |
| 414 | 420 | <div className="rise mt-7 flex gap-3 overflow-x-auto pb-2 [animation-delay:0.24s]"> |
| 415 | 421 | <span className="stat-chip"> |
| 416 | 422 | <span className="pulse-dot" aria-hidden="true" />7 agrégateurs en |
| 417 | 423 | ligne |
| 418 | 424 | </span> |
| 425 | + <span className="stat-chip">1 moteur de recherche québécois</span> | |
| 419 | 426 | <span className="stat-chip">450+ connecteurs sources</span> |
| 420 | 427 | <span className="stat-chip">22 M+ d'observations immobilières</span> |
| 421 | 428 | <span className="stat-chip">375 000+ annonces & produits agrégés</span> |
@@ -433,6 +440,129 @@ export default function Home() { | ||
| 433 | 440 | <KaDefinition /> |
| 434 | 441 | </section> |
| 435 | 442 | |
| 443 | + {/* ---------- Trouve·Ka — le produit phare ---------- */} | |
| 444 | + <Section | |
| 445 | + id="trouve-ka" | |
| 446 | + kicker="Le produit phare · moteur de recherche" | |
| 447 | + title={ | |
| 448 | + <> | |
| 449 | + Trouve·Ka. <span className="hl">Cherche le Québec.</span> | |
| 450 | + </> | |
| 451 | + } | |
| 452 | + > | |
| 453 | + <p className="mt-3 max-w-xl text-[14.5px] text-ink-2"> | |
| 454 | + Les agrégateurs ·Ka couvrent chacun un marché. Trouve·Ka couvre tout | |
| 455 | + le reste : c'est le moteur de recherche du groupe, dont | |
| 456 | + l'index est bâti exclusivement sur le web québécois — son robot | |
| 457 | + le parcourt jour et nuit et n'indexe que lui. | |
| 458 | + </p> | |
| 459 | + <div className="mt-7 grid items-stretch gap-6 lg:grid-cols-[minmax(0,1.15fr)_minmax(0,1fr)]"> | |
| 460 | + <article className="gk-card gk-card-hover p-5 sm:p-7"> | |
| 461 | + <div className="flex flex-wrap items-baseline justify-between gap-3"> | |
| 462 | + <span className="gk-mono text-[12px] font-bold text-green"> | |
| 463 | + MOTEUR | |
| 464 | + </span> | |
| 465 | + <span className="klabel">www.trouve-ka.com</span> | |
| 466 | + </div> | |
| 467 | + <h3 className="gk-display mt-4 inline-flex items-baseline gap-[5px] text-[32px] font-bold tracking-[-0.04em] sm:text-[38px]"> | |
| 468 | + Trouve | |
| 469 | + <span | |
| 470 | + className="inline-block -rotate-2 rounded-md px-[8px] pb-[3px]" | |
| 471 | + style={{ background: "#141814", color: "#b9cfee" }} | |
| 472 | + > | |
| 473 | + Ka | |
| 474 | + </span> | |
| 475 | + </h3> | |
| 476 | + <p className="gk-display mt-3 text-[17px] font-bold uppercase tracking-[-0.01em]"> | |
| 477 | + Tout le web québécois, dans une seule barre de recherche. | |
| 478 | + </p> | |
| 479 | + {/* Barre de recherche factice — l'objet lui-même */} | |
| 480 | + <div | |
| 481 | + aria-hidden="true" | |
| 482 | + className="mt-5 flex items-center gap-3 rounded-full border-2 border-ink bg-white px-5 py-3 shadow-[4px_4px_0_rgba(20,24,20,0.85)]" | |
| 483 | + > | |
| 484 | + <span className="gk-mono text-[15px] font-bold">⌕</span> | |
| 485 | + <span className="gk-mono flex-1 truncate text-[12.5px] text-ink-3"> | |
| 486 | + poutine · plex à vendre · microbrasserie · Gaspésie… | |
| 487 | + </span> | |
| 488 | + <span | |
| 489 | + className="gk-display rounded-full bg-ink px-4 py-[5px] text-[12.5px] font-bold" | |
| 490 | + style={{ color: "#b9cfee" }} | |
| 491 | + > | |
| 492 | + Chercher | |
| 493 | + </span> | |
| 494 | + </div> | |
| 495 | + <div className="mt-5 flex flex-wrap gap-2"> | |
| 496 | + <span className="stat-chip !text-[11px]"> | |
| 497 | + Des milliers de domaines d'ici | |
| 498 | + </span> | |
| 499 | + <span className="stat-chip !text-[11px]"> | |
| 500 | + Index en croissance heure par heure | |
| 501 | + </span> | |
| 502 | + <span className="stat-chip !text-[11px]">100 % Québec</span> | |
| 503 | + </div> | |
| 504 | + <ul className="mt-5 space-y-2 border-t-[1.5px] border-dashed border-[rgba(20,24,20,0.25)] pt-5"> | |
| 505 | + {[ | |
| 506 | + "Résultats 100 % québécois — l'index ne contient que le web d'ici", | |
| 507 | + "État du moteur public : pages, domaines et file de crawl à découvert", | |
| 508 | + "Soumettez votre site — l'indexation sur demande, ouverte à tous", | |
| 509 | + "Robot dédié, documenté, qui respecte robots.txt", | |
| 510 | + ].map((f) => ( | |
| 511 | + <li key={f} className="flex gap-3 text-[13.5px] text-ink-2"> | |
| 512 | + <span | |
| 513 | + aria-hidden="true" | |
| 514 | + className="mt-[7px] h-[5px] w-[5px] flex-none rotate-45 border border-ink bg-lime" | |
| 515 | + /> | |
| 516 | + {f} | |
| 517 | + </li> | |
| 518 | + ))} | |
| 519 | + </ul> | |
| 520 | + <a | |
| 521 | + href="https://www.trouve-ka.com" | |
| 522 | + target="_blank" | |
| 523 | + rel="noopener noreferrer" | |
| 524 | + className="btn btn-primary mt-6 w-full sm:w-auto" | |
| 525 | + > | |
| 526 | + Chercher sur www.trouve-ka.com ↗ | |
| 527 | + </a> | |
| 528 | + </article> | |
| 529 | + <div className="gk-card !bg-ink p-6 text-paper sm:p-7"> | |
| 530 | + <p className="kicker !text-lime"> | |
| 531 | + Pourquoi un moteur de recherche ? | |
| 532 | + </p> | |
| 533 | + <p className="gk-display mt-4 text-[clamp(24px,3.2vw,34px)] leading-[1.05] font-bold tracking-[-0.03em] uppercase"> | |
| 534 | + Les grands moteurs | |
| 535 | + <br /> | |
| 536 | + cherchent le monde. | |
| 537 | + <br /> | |
| 538 | + <span className="text-lime">Trouve·Ka cherche le Québec.</span> | |
| 539 | + </p> | |
| 540 | + <p className="mt-4 max-w-md text-[13.5px] text-[rgba(245,243,238,0.75)]"> | |
| 541 | + Un commerce de Rimouski, une érablière de Lanaudière, un blogue | |
| 542 | + de Limoilou : noyés dans un index mondial, introuvables. Dans un | |
| 543 | + index qui ne contient que le Québec, ils sont en première page. | |
| 544 | + C'est l'agrégation poussée à sa conclusion logique — | |
| 545 | + indexer la province entière. | |
| 546 | + </p> | |
| 547 | + <ul className="mt-5 space-y-2 border-t border-[rgba(245,243,238,0.15)] pt-5 text-[13px] text-[rgba(245,243,238,0.75)]"> | |
| 548 | + {[ | |
| 549 | + "Crawler maison + index de recherche dédié", | |
| 550 | + "Nourri par les éclaireurs ka2, ka4 et ka6", | |
| 551 | + "Zéro publicité, zéro profilage — comme tout le groupe", | |
| 552 | + ].map((f) => ( | |
| 553 | + <li key={f} className="flex gap-3"> | |
| 554 | + <span | |
| 555 | + aria-hidden="true" | |
| 556 | + className="mt-[6px] h-[5px] w-[5px] flex-none rotate-45 bg-lime" | |
| 557 | + /> | |
| 558 | + {f} | |
| 559 | + </li> | |
| 560 | + ))} | |
| 561 | + </ul> | |
| 562 | + </div> | |
| 563 | + </div> | |
| 564 | + </Section> | |
| 565 | + | |
| 436 | 566 | {/* ---------- La figure d'agrégation ---------- */} |
| 437 | 567 | <Section |
| 438 | 568 | id="flux" |
@@ -523,7 +653,7 @@ export default function Home() { | ||
| 523 | 653 | title="Le socle commun" |
| 524 | 654 | > |
| 525 | 655 | <p className="mt-3 max-w-xl text-[14.5px] text-ink-2"> |
| 526 | − Les sept plateformes partagent la même colonne vertébrale : données | |
| 656 | + Les huit plateformes partagent la même colonne vertébrale : données | |
| 527 | 657 | publiques et annonces lues directement à la source, connecteurs |
| 528 | 658 | dédiés synchronisés en continu, moteurs statistiques validés, et une |
| 529 | 659 | identité visuelle unique — bordures encre, lime électrique, calcul à |
modified
src/app/retrait/page.tsx
+3 −2
@@ -108,8 +108,9 @@ export default function Retrait() { | ||
| 108 | 108 | </h1> |
| 109 | 109 | <p className="rise mt-5 max-w-2xl text-[15px] text-ink-2 [animation-delay:0.16s]"> |
| 110 | 110 | La présente politique explique comment demander le retrait |
| 111 | − d'une annonce indexée sur nos plateformes (Lou·Ka, Immo·Ka, | |
| 112 | − Auto·Ka, Fabri·Ka, Food·Ka, ka6), ainsi que la révision d'une | |
| 111 | + d'une annonce ou d'une page indexée sur nos plateformes | |
| 112 | + (Trouve·Ka, Lou·Ka, Immo·Ka, Auto·Ka, Fabri·Ka, Food·Ka, ka6), ainsi | |
| 113 | + que la révision d'une | |
| 113 | 114 | estimation ou l'arrêt de la couverture d'une propriété sur |
| 114 | 115 | Vrai-Prix et ValoPlex. |
| 115 | 116 | </p> |
| 116 | 117 | |