SPB Git forge

spb/ka-ui

Public
30commits 1branches 0releases
145.7 MBsize
maindefault branch
27 days agolast push
Python 33.5% JavaScript 30.1% TypeScript 25% CSS 10% Shell 1.4%

logos 512 px (gen-logos-512.mjs), hero-copy.json (contenu héros des 13 sites) et polices officielles TTF — assets du major upgrade des apps natives

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed 1 mo ago (Aug 21, 2026) parent 42e17c0

21 changed files +105 −0

added assets/api-ka/logo-512.png +0 −0

Binary file not shown.

added assets/auto-ka/logo-512.png +0 −0

Binary file not shown.

added assets/crea-ka/logo-512.png +0 −0

Binary file not shown.

added assets/fabri-ka/logo-512.png +0 −0

Binary file not shown.

added assets/food-ka/logo-512.png +0 −0

Binary file not shown.

added assets/groupe-ka/logo-512.png +0 −0

Binary file not shown.

added assets/immo-ka/logo-512.png +0 −0

Binary file not shown.

added assets/job-ka/logo-512.png +0 −0

Binary file not shown.

added assets/lou-ka/logo-512.png +0 −0

Binary file not shown.

added assets/resto-ka/logo-512.png +0 −0

Binary file not shown.

added assets/sorti-ka/logo-512.png +0 −0

Binary file not shown.

added assets/trouve-ka/logo-512.png +0 −0

Binary file not shown.

added assets/vrai-prix/logo-512.png +0 −0

Binary file not shown.

added fonts/JetBrainsMono-Bold.ttf +0 −0

Binary file not shown.

added fonts/JetBrainsMono-Regular.ttf +0 −0

Binary file not shown.

added fonts/SpaceGrotesk-Bold.ttf +0 −0

Binary file not shown.

added fonts/SpaceGrotesk-Medium.ttf +0 −0

Binary file not shown.

added fonts/SpaceGrotesk-Regular.ttf +0 −0

Binary file not shown.

added fonts/SpaceGrotesk[wght].ttf +0 −0

Binary file not shown.

added gen-logos-512.mjs +25 −0
@@ -0,0 +1,25 @@
1 +// Auteur : Simon-Pierre Boucher — contact@spboucher.ai
2 +// ka-ui/gen-logos-512.mjs — rend chaque assets/<id>/favicon.svg en logo-512.png
3 +// (512×512, fond transparent) pour les apps natives iOS/Android/macOS.
4 +// Usage : node gen-logos-512.mjs
5 +import { chromium } from "playwright";
6 +import { readFileSync, readdirSync, existsSync } from "fs";
7 +import { dirname, join } from "path";
8 +import { fileURLToPath } from "url";
9 +
10 +const here = dirname(fileURLToPath(import.meta.url));
11 +const assets = join(here, "assets");
12 +const browser = await chromium.launch();
13 +const page = await browser.newPage({ viewport: { width: 512, height: 512 } });
14 +for (const id of readdirSync(assets)) {
15 + const svgPath = join(assets, id, "favicon.svg");
16 + if (!existsSync(svgPath)) continue;
17 + const svg = readFileSync(svgPath, "utf8").replace(
18 + 'width="64" height="64"',
19 + 'width="512" height="512"',
20 + );
21 + await page.setContent(`<body style="margin:0">${svg}</body>`);
22 + await page.screenshot({ path: join(assets, id, "logo-512.png"), omitBackground: true });
23 + console.log("✓", id);
24 +}
25 +await browser.close();
added hero-copy.json +80 −0
@@ -0,0 +1,80 @@
1 +{
2 + "lou-ka": {
3 + "kicker": "LA PORTE D'ENTRÉE VERS VOTRE PROCHAIN CHEZ-VOUS.",
4 + "h1": "Trouvez votre prochain chez-vous.",
5 + "highlight": "chez-vous.",
6 + "sub": "Tous les logements à louer au Québec, regroupés au même endroit — mis à jour automatiquement, avec toutes les photos et un lien direct vers l'annonce originale."
7 + },
8 + "immo-ka": {
9 + "kicker": "AGRÉGATEUR — TOUTES LES AGENCES DU QUÉBEC",
10 + "h1": "TOUTES LES PROPRIÉTÉS À VENDRE, UN SEUL ENDROIT.",
11 + "highlight": "UN SEUL",
12 + "sub": "Immo-Ka rassemble les propriétés à vendre affichées par les agences de courtage immobilier du Québec — RE/MAX, Sutton, Via Capitale, Proprio Direct, Barnes et plus — mises à jour automatiquement, avec toutes les photos, les détails complets et un lien direct vers l'annonce originale."
13 + },
14 + "vrai-prix": {
15 + "kicker": "QUÉBEC · 2021-2026",
16 + "h1": "LA VRAIE VALEUR. SANS BOÎTE NOIRE.",
17 + "highlight": "SANS BOÎTE NOIRE.",
18 + "sub": "Estimation basée sur 3,7 millions d'unités d'évaluation et 745 000 ventes réelles au Québec (2021-2026). Pas de boîte noire : on vous montre le calcul."
19 + },
20 + "auto-ka": {
21 + "kicker": "AGRÉGATEUR INDÉPENDANT — DIRECT DES CONCESSIONNAIRES",
22 + "h1": "Toutes les voitures usagées à vendre au Québec. Un seul endroit.",
23 + "highlight": null,
24 + "sub": "Auto-Ka visite les sites des concessionnaires et marchands d'occasion de toutes les régions, normalise chaque annonce et détecte les nouveautés, les ventes et les baisses de prix — automatiquement."
25 + },
26 + "fabri-ka": {
27 + "kicker": "LE RÉPERTOIRE DES PRODUITS D'ICI",
28 + "h1": "Tous les produits québécois. Un seul endroit.",
29 + "highlight": null,
30 + "sub": "Fabri-Ka rassemble les catalogues des boutiques en ligne d'ici — fabriqué, conçu et vendu au Québec."
31 + },
32 + "food-ka": {
33 + "kicker": "AGRÉGATEUR — ÉPICERIE DU QUÉBEC",
34 + "h1": "TOUS LES PRIX D'ÉPICERIE DU QUÉBEC. UN SEUL ENDROIT.",
35 + "highlight": "UN SEUL",
36 + "sub": "Food·Ka rassemble les produits affichés par les bannières d'épicerie du Québec — Metro, IGA, Maxi, Super C, Provigo et plus — mis à jour automatiquement, avec prix unitaires et lien direct vers la fiche originale."
37 + },
38 + "resto-ka": {
39 + "kicker": "AGRÉGATEUR — 17 RÉGIONS DU QUÉBEC",
40 + "h1": "Tous les restos. Tous les menus. Tous les prix.",
41 + "highlight": "Tous les prix.",
42 + "sub": "Resto-Ka rassemble les restaurants du Québec avec leurs menus complets et leurs prix réels — cherchez un resto ou un plat, comparez, le contexte du prix (salle, emporter, livraison) est toujours affiché."
43 + },
44 + "sorti-ka": {
45 + "kicker": "AGRÉGATEUR INDÉPENDANT · MISE À JOUR HORAIRE",
46 + "h1": "Toutes les sorties du Québec, un seul endroit.",
47 + "highlight": "un seul endroit.",
48 + "sub": "Concerts, festivals, spectacles, expositions, sport, famille — agrégés depuis des billetteries et des sources ouvertes officielles, dans les 17 régions. Chaque fiche renvoie vers la billetterie ou la source originale."
49 + },
50 + "crea-ka": {
51 + "kicker": "ANNUAIRE DES CRÉATEURS DU QUÉBEC",
52 + "h1": "CHAQUE CRÉATEUR QUÉBÉCOIS. TOUS SES LIENS.",
53 + "highlight": "LIENS.",
54 + "sub": "Un « Linktree collectif » du Québec : influenceurs, youtubeurs, streamers, podcasteurs — leurs comptes regroupés et découvrables par niche, région, langue et taille d'audience."
55 + },
56 + "job-ka": {
57 + "kicker": null,
58 + "h1": "L'emploi au Québec, à la source.",
59 + "highlight": null,
60 + "sub": "Job·Ka agrège les offres directement depuis les pages carrières des employeurs québécois. Salaires transparents, lien vers l'offre originale, aucun intermédiaire."
61 + },
62 + "trouve-ka": {
63 + "kicker": null,
64 + "h1": "Trouve KA",
65 + "highlight": "KA",
66 + "sub": "Le moteur de recherche indépendant du web québécois."
67 + },
68 + "api-ka": {
69 + "kicker": "PLATEFORME CENTRALE · NODE M3U96B",
70 + "h1": "Toutes les données KA, centralisées chaque jour.",
71 + "highlight": "KA",
72 + "sub": "API-Ka collecte, sauvegarde et historise quotidiennement les données des huit services de l'écosystème Groupe KA — logements, propriétés, épicerie, véhicules, produits québécois, restaurants, sorties et créateurs — puis les expose via une API publique, versionnée et documentée."
73 + },
74 + "groupe-ka": {
75 + "kicker": "HOLDING D’AGRÉGATEURS AUTOMATISÉS · QUÉBEC",
76 + "h1": "MILLE SITES. UN SEUL ·KA.",
77 + "highlight": "·KA.",
78 + "sub": "Ka, c'est l'agrégation. Groupe KA est un holding d'agrégateurs entièrement automatisés : des centaines de connecteurs lisent les sites à la source, normalisent la donnée et se resynchronisent seuls, jour et nuit. Se loger, acheter, évaluer, rouler, consommer local, faire l'épicerie, manger au resto,"
79 + }
80 +}
\ No newline at end of file
81