SPB Git forge

spb/groupe-ka

Public

Groupe KA — site du holding + KA ID (compte unique & SSO des 7 plateformes). Next.js 16, SQLite, Google & Apple login.

81commits 1branches 0releases
89.2 MBsize
maindefault branch
22 days agolast push
TypeScript 70.4% HTML 18.4% JavaScript 4% Python 3.8% CSS 3.4%

Page /telecharger — l app KA sur iOS (TestFlight), Android (APK signé servi en direct, SHA-256 affiché) et macOS (DMG notarié à venir) ; liens nav + footer

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

3 changed files +123 −0

modified .gitignore +1 −0
@@ -9,3 +9,4 @@ data/
9 9
10 10 # système
11 11 .DS_Store
12 +public/dl/
modified src/app/layout.tsx +5 −0
@@ -50,6 +50,7 @@ const NAV_ITEMS = [
50 50 { href: "/#socle", label: "Socle" },
51 51 { href: "/#bots", label: "Bots" },
52 52 { href: "/stats", label: "Stats" },
53 + { href: "/telecharger", label: "L app" },
53 54 { href: "/status", label: "Statut" },
54 55 { href: "/#contact", label: "Contact" },
55 56 ];
@@ -324,6 +325,10 @@ export default async function RootLayout({
324 325 État des services
325 326 </a>{" "}
326 327 ·{" "}
328 + <a href="/telecharger" className="underline-offset-4 hover:text-lime hover:underline">
329 + Télécharger l app KA
330 + </a>{" "}
331 + ·{" "}
327 332 <a href="/retrait" className="underline-offset-4 hover:text-lime hover:underline">
328 333 Politique de retrait et de révision
329 334 </a>{" "}
added src/app/telecharger/page.tsx +117 −0
@@ -0,0 +1,117 @@
1 +// Auteur : Simon-Pierre Boucher — contact@spboucher.ai
2 +// /telecharger — l'app KA sur toutes les plateformes : iOS (TestFlight),
3 +// Android (APK direct signé) et macOS (DMG notarié). Versions, tailles,
4 +// empreintes SHA-256 et dates affichées — la transparence, comme toujours.
5 +import type { Metadata } from "next";
6 +
7 +export const metadata: Metadata = {
8 + title: "Télécharger l'app KA — Groupe KA",
9 + description:
10 + "KA, la super-app de l'écosystème Groupe KA : 12 univers, recherche universelle, carte 2D/3D, favoris, KA Agent. iPhone (TestFlight), Android (APK direct) et macOS (DMG notarié).",
11 +};
12 +
13 +type Release = {
14 + platform: string;
15 + icon: string;
16 + version: string;
17 + build: string;
18 + date: string;
19 + size?: string;
20 + sha256?: string;
21 + href: string;
22 + cta: string;
23 + note: string;
24 + available: boolean;
25 +};
26 +
27 +const RELEASES: Release[] = [
28 + {
29 + platform: "iPhone (iOS 17+)",
30 + icon: "📱",
31 + version: "1.0.0",
32 + build: "build 7",
33 + date: "2026-08-18",
34 + href: "https://testflight.apple.com/",
35 + cta: "Ouvrir TestFlight",
36 + note: "Distribution bêta via TestFlight (App Store à venir). Carte Mapbox 2D/3D, 12 univers, KA Agent, Vrai-Prix natif, alertes.",
37 + available: true,
38 + },
39 + {
40 + platform: "Android (8.0+)",
41 + icon: "🤖",
42 + version: "2.0.0",
43 + build: "release signée",
44 + date: "2026-08-18",
45 + size: "49 Mo",
46 + sha256: "a2ef688bfa5a4358b9188697947d51cfb498ad99481566b918bc7af383c8d0eb",
47 + href: "/dl/KA-android-2.0.0.apk",
48 + cta: "Télécharger l'APK",
49 + note: "APK signé Groupe KA, installation directe (autoriser « sources inconnues »). Carte Mapbox 2D/3D, parité complète avec iOS.",
50 + available: true,
51 + },
52 + {
53 + platform: "macOS (14+)",
54 + icon: "💻",
55 + version: "1.0.0",
56 + build: "notarisée Apple",
57 + date: "2026-08-18",
58 + href: "/dl/KA-macos-1.0.0.dmg",
59 + cta: "Télécharger le DMG",
60 + note: "App native SwiftUI signée Developer ID et notarisée : barre de menus (pouls en direct, recherche ⌘⇧K), fenêtre complète des 12 univers.",
61 + available: false, // bascule à true quand le DMG est déposé dans public/dl/
62 + },
63 +];
64 +
65 +export default function TelechargerPage() {
66 + return (
67 + <main className="mx-auto max-w-6xl px-4 py-12 sm:px-6">
68 + <p className="kicker">L&apos;écosystème dans votre poche · et sur votre bureau</p>
69 + <h1 className="gk-display mt-3 text-[clamp(28px,4.5vw,44px)] leading-[1.02] font-bold tracking-[-0.035em] uppercase">
70 + Télécharger <span className="hl">l&apos;app KA</span>
71 + </h1>
72 + <p className="mt-4 max-w-xl text-[14.5px] text-ink-2">
73 + Une seule app, les 12 univers : logements, propriétés, autos, emplois,
74 + épicerie, restos, sorties, créateurs, estimation immobilière, recherche
75 + du web québécois — avec la carte 2D/3D, les favoris multi-univers, les
76 + alertes et KA Agent, l&apos;assistant IA de l&apos;écosystème.
77 + </p>
78 +
79 + <div className="mt-10 grid gap-6 md:grid-cols-3">
80 + {RELEASES.map((r) => (
81 + <article key={r.platform} className="gk-card gk-card-hover flex flex-col p-6">
82 + <p className="text-[34px]" aria-hidden="true">{r.icon}</p>
83 + <h2 className="gk-display mt-2 text-[19px] font-bold">{r.platform}</h2>
84 + <p className="gk-mono mt-1 text-[11px] font-bold tracking-[0.08em] text-green uppercase">
85 + v{r.version} · {r.build} · {r.date}
86 + {r.size ? ` · ${r.size}` : ""}
87 + </p>
88 + <p className="mt-3 flex-1 text-[13px] text-ink-2">{r.note}</p>
89 + {r.available ? (
90 + <a
91 + href={r.href}
92 + className="gk-display mt-5 inline-block rounded-full border-[1.5px] border-ink bg-ink px-5 py-[10px] text-center text-[14px] font-bold text-lime transition-colors hover:bg-green-deep"
93 + >
94 + {r.cta} ↓
95 + </a>
96 + ) : (
97 + <span className="gk-mono mt-5 inline-block rounded-full border-[1.5px] border-dashed border-ink px-5 py-[10px] text-center text-[11px] font-bold text-ink-3 uppercase">
98 + Arrive d&apos;une minute à l&apos;autre
99 + </span>
100 + )}
101 + {r.sha256 && (
102 + <p className="gk-mono mt-3 text-[9px] break-all text-ink-3">
103 + SHA-256 : {r.sha256}
104 + </p>
105 + )}
106 + </article>
107 + ))}
108 + </div>
109 +
110 + <p className="gk-mono mt-10 text-[11px] leading-relaxed text-ink-3">
111 + Les trois apps consomment les mêmes données en direct que les sites —
112 + rien d&apos;inventé, tout est traçable. Code : git.spboucher.ai
113 + (ka-ios · ka-android · ka-macos). Un seul compte KA ID pour tout.
114 + </p>
115 + </main>
116 + );
117 +}
118