Resto·Ka — tous les restaurants du Québec, menus complets et prix réels (famille ·Ka)
Python 69.3%
TypeScript 16.7%
CSS 7.9%
JavaScript 4.7%
HTML 1.4%
-
Wed, Aug 26, 2026 1
-
feat(ka-id v2): personnalisation Groupe KA — restoka/kaid.py (canonique ka-ui.git/kaid), journal serveur (search/detail_view/favorite), reranking des tris « menu » (défaut) et « recent » (cuisine/ville/gamme de prix/type), routeur /api/kaid, SDK ka-id.js, badge « Recommandé pour vous » sur RestoCard
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Tue, Aug 25, 2026 4
-
Barre de navigation mobile commune Groupe KA (KA Tabbar v1)
…
L ancienne tabbar 3 onglets bord-à-bord devient la pilule flottante du standard ka-ui/nav : Découvrir · Recherche · Villes · Favoris, accent orange, safe-area iOS. Recherche = focus du champ de l accueil (id f-q) ; le fab Filtres remonte au-dessus de la pilule. Stats/Sources restent au menu. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Front-end v2 « éditorial premium » : bande signes vitaux pleine largeur (chiffres géants tabulaires sur fond encre), nav soulignée, héros typographique agrandi, cartes/plats/menus/filtres allégés (filets d'encre au lieu de boîtes/ombres), ombre safran signature au survol des cartes — aucune logique changée
…
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
-
Nav v2 correctif : le ✕ de fermeture vit DANS le panneau (fixe, toujours visible)
…
Le ✕ était le burger du header ; si le header n'est pas épinglé (bas de page), il défilait hors écran alors que le panneau fixed restait affiché — impossible de fermer sans Escape. Ajout d'un .mm-close position:fixed en haut à droite du panneau et burger masqué à l'ouverture (une seule commande de fermeture). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Nav mobile v2 : le dropdown 480px devient un panneau plein écran fixed
…
Standard KA 2026-08-25 : .mobile-menu passe de position:absolute top:100% (max-height 480px) à position:fixed inset:0 — menu visible peu importe la position de scroll. Rang du header (marque + burger→✕) maintenu au-dessus du panneau, verrou de scroll CSS pur via html:has(.mobile-menu.open). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Sun, Aug 23, 2026 1
-
favoris unifiés « Mon univers Ka » : le hub Groupe KA devient le magasin central
…
- restoka/hubfav.py : client HMAC du hub (calqué sur foodka/hubfav.py) — toggle synchrone, lecture avec cache mémoire 30 s invalidé au toggle - web.py : GET /api/favorites (liste du hub + fiches locales) et POST /api/favorites/toggle, protégés par la session KA ID (401 sinon) - auth.py : retrait des anciennes routes locales /api/favoris (plus aucun stockage local des favoris) - frontend : favorites.tsx (FavProvider/FavButton), cœur ♥ sur les cartes ET la fiche détail (non connecté : clic → connexion KA ID), page /favoris branchée au hub, entrée Favoris dans la nav, icône IcoHeart, .fav-btn.big Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Sat, Aug 22, 2026 2
-
accueil : section « Récemment consultés » — fiches restos vues (localStorage) affichées en premier ; API /api/restaurants?uids=
…
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
-
header opaque + z-index en tokens + scroll-lock ka-scroll-lock (standard header/menu KA 2026-08-22)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Wed, Aug 19, 2026 2
-
fix(fiche): panneau héro premier dans le DOM — plus de order:-1 mobile
…
Le panneau resto (nom, prix, adresse) était après le menu dans le DOM et remonté sur mobile via .panel{order:-1} — contraire au standard Groupe Ka « Ordre des sections — pages détail » (ordre DOM = ordre visuel). - Resto.tsx : <aside .panel> déplacé en premier enfant de .detail-grid, le bloc menu devient .detail-main - styles.css : order:-1 supprimé ; sur desktop le panneau est placé en colonne 2 via grid-column (aucun réordonnancement entre breakpoints) - Validé Playwright 390px (panneau premier, scrollY=0) + 1440px (panneau colonne droite) -
Mobile : menu compte via createPortal au-dessus de la tabbar, verrou scroll de la feuille filtres, logo tactile
…
- frontend/src/App.tsx : backdrop + menu compte rendus à la racine de <body> via createPortal (le backdrop-filter du header re-parentait le position:fixed → voile de 66 px, et le stacking context z-50 du header plaquait le menu SOUS la tabbar z-85 et le fab z-80) ; fermeture à Escape. - frontend/src/styles.css : .account-backdrop → var(--z-overlay) (800), .account-menu → position:fixed ancré sous le header (--header-h 66/58 px) à var(--z-modal) (900) ; zone tactile ≥44 px du logo .brand (::after inset -8px, rendu inchangé) ; les 7 selects de filtres étaient déjà couverts par la règle 16 px ≤900 px + filet anti-zoom global de tokens.css. - frontend/src/pages/Home.tsx : feuille de filtres mobile (sheetOpen) — gel du scroll d arrière-plan (pattern App.tsx) + fermeture à Escape. - frontend/src/ka/tokens.css (commité avec Stats v2) : socle mobile commun. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Mon, Aug 17, 2026 4
-
Stats : tableau de bord analytique + rapport PDF Groupe-KA
…
- /api/stats/dashboard (contrat commun ka-ui/stats/SPEC.md) : KPI avec deltas, séries quotidiennes (nouveaux restos, plats suivis en cumul), répartitions (cuisines, gammes de prix, types), géo par région, heatmap des nouveautés, tableaux (villes, chaînes, nouveaux, syncs), records — 100 % calculé de la DB réelle, cache mémoire 5 min. - /api/stats/report : PDF estampillé Groupe-KA (kapdf/fpdf2), modes complet et synthèse, filename normalisé groupe-ka_resto-ka_stats_*. - Page /stats réécrite sur le kit kacharts (KPI, sélecteur de période, courbes, anneau, barres, heatmap, DataTable, records, bouton PDF). - kapdf : correctif — la couverture ne porte plus le pied de page standard (footer déclenché après la retombée de cover_mode). - fpdf2 ajouté aux dépendances. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Harmonisation ka-ui : accent safran, badge Groupe KA, KaFooter, page /contact
…
- Vendorisation du package ka-ui (frontend/src/ka/) : tokens.css, ecosystem.json, KaFooter.tsx, GroupeKaBadge.tsx - tokens.css importé avant styles.css ; styles.css réduit à l accent SAFRAN (--accent #f08c00, soft #fdeed7, deep #b96a00, on-accent #141814) + alias --lime, socle dupliqué retiré, classes métier passées sur var(--accent) - Header : badge « Un service Groupe KA » (desktop >= 900 px + menu mobile) - Footer : KaFooter commun (contacts, avertissement, écosystème) + rangée de nav locale et crédit OpenStreetMap au-dessus - Nouvelle page /contact (infos d ecosystem.json, lien hub, création de compte KA ID -> groupe-ka.com/connexion) + prefixe SPA « contact » dans web.py - SEO : titre « Resto-Ka — Un service Groupe KA » Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
WIP v2 committé depuis le nœud — connexion KA ID (restoka/auth.py, hubprofile), favoris (Favoris.tsx, account.tsx), connecteur siteresto, menullm + tests, MAJ sources/ueat/db/web/frontend
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Resto·Ka v1 — agrégateur des restaurants du Québec (menus & prix réels)
…
- Pipeline complet calqué sur Lou·Ka : connecteurs auto-découverts, schéma Restaurant + menu imbriqué (sections → items → prix → options), validation stricte (price_context/price_source obligatoires), menus conservés PAR contexte, historique des prix par item, alertes de dérive, délai de grâce. - Connecteur templatisé UEAT (API GraphQL, prix takeout réels) : 19 marques, 542 restos, 61 330 plats (98 % avec photo, 69 % avec options), 14/17 régions. - Géocodage Nominatim + Adresses Québec (96 %), régions ville→région, déduplication inter-sources (succursales jamais fusionnées). - Frontend Vite/React 18/TS — design « éditorial sharp » Groupe KA, recherche par resto ET par plat (groupée par marque), pagination numérotée, images, options en pastilles avec suppléments, badges de contexte de prix. - 41 tests (fixtures UEAT réelles hors ligne). Déployé : www.resto-ka.com (M3U96b:8115, PM2 + ngrok + sync hebdo). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-