KA — Tout l'écosystème Groupe-KA
Application iOS native (Swift + SwiftUI, iOS 17+) qui regroupe les 12 univers du Groupe-KA : Lou·Ka, Immo·Ka, Vrai-Prix, Auto·Ka, Fabri·Ka, Food·Ka, Resto·Ka, Sorti·Ka, Créa·Ka, Job·Ka, Trouve·Ka et API·Ka — avec de vraies données en direct (aucune maquette : les API publiques des plateformes alimentent chaque écran).
Nouveau en v3.0.0 — rendu « légendaire » + Ka Trajet intégré
- Ka Trajet fusionné dans la super-app (6ᵉ onglet) : le GPS maison au
complet — recherche Mapbox, itinéraires multi-modes avec alternatives,
mode conduite 3D (caméra derrière la voiture, compteur km/h, bannière de
manœuvre), couches POI de l'écosystème (stations essence, commerces,
Lou·Ka, Immo·Ka, Resto·Ka, Sorti·Ka, Job·Ka, Auto·Ka, Fabri·Ka) et la
cartographie signature Ka (eau vert forêt, autoroutes lime). Le dock
s'efface en mode conduite. Sources sous
KA/Features/Trajet/. - Mode DÉCOUVRIR (dans Trajet) : un radar piéton géolocalisé — on marche,
la caméra 3D suit le cap GPS, et dès qu'un logement à louer (Lou·Ka) ou une
propriété à vendre (Immo·Ka) entre dans le rayon (100/250/500 m), sa carte
pop avec photo, prix, type/pièces/secteur, distance et flèche de
direction recalculées à chaque fix GPS, haptique, et file « suivant » quand
plusieurs trouvailles. Pilules de prix live sur la carte, pulsations radar,
HUD encre/lime avec bascules de couches et rayon. Le dock s'efface
(plein écran). Chaque annonce ne pop qu'une fois par session.
Debug/captures :
defaults write com.groupeka.ka ka.debug.discover -bool true. - Dock flottant signature (remplace la tab bar système) : capsule encre à ombre dure lime, pastille active lime en matchedGeometry, KA Agent intégré au bout du dock, badge d'alertes sur Profil.
- Accueil héros éditorial : kicker mono, salutation surlignée lime animée
(le « titre surligné » des sites), ticker encre en marquee du pouls
live, compteurs à chiffres roulants, cartes qui poppent au défilement,
fond aurora discret. Reduce Motion respecté partout (
KAMotion.swift).
Ce que fait la v1
- Onboarding animé (logo KA, pitch, choix des univers favoris — Reduce Motion respecté)
- Accueil vivant : salutation selon l'heure, « pouls » de l'écosystème (compteurs live), suggestions contextuelles (restos le soir, sorties le week-end, emplois le matin) avec du vrai contenu
- Recherche universelle : une barre qui interroge tous les univers EN PARALLÈLE (+ le web québécois via Trouve·Ka), résultats groupés, filtres par univers, historique
- Grille des 12 univers avec compteurs en direct + explorateur générique (liste, recherche, fiche universelle : faits, favori, partage, lien vers la source)
- Carte unifiée (MapKit) : logements, propriétés, emplois, restos et sorties géolocalisés, épingles teintées par univers, filtre
- Favoris & collections unifiés multi-univers, hors ligne, partage natif
- KA Agent natif : l'assistant IA de l'écosystème (Claude Haiku via l'API centrale api-ka) en chat plein écran, flux token par token + indicateurs d'outils — bulle flottante sur toute l'app
- Widget « Le pouls » (petit/moyen/grand) : compteurs live sur l'écran d'accueil
- Profil : KA ID, univers favoris, apparence, contacts complets du Groupe KA, pages légales (Loi 25)
- Modes clair et sombre (papier/encre inversés), haptique, Dynamic Type, VoiceOver labels, cache disque + mode hors ligne de consultation
Bâtir
bash
brew install xcodegen # si absent
cd KA && xcodegen generate
xcodebuild -project KA.xcodeproj -scheme KA \
-destination "platform=iOS Simulator,name=iPhone 17 Pro" build # ou : open KA.xcodeproj
xcodebuild … test # tests unitaires (adaptateurs, favoris, URL)Aucune dépendance externe (100 % SwiftUI + Foundation + MapKit + WidgetKit).
project.yml (XcodeGen) est la source de vérité du projet — ne pas éditer le
.xcodeproj à la main.
Documentation
docs/ARCHITECTURE.md— architecture, ajout d'un univers, connexion aux APIdocs/APP-STORE.md— préparation App Store (nom, textes, captures, review)docs/IDEES-LEGENDAIRES.md— les idées « niveau légendaire » classées par impactdocs/screenshots/— captures simulateur (clair + sombre)
© Groupe-KA — Simon-Pierre Boucher.