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 2

  1. Sun, Aug 23, 2026 1

    1. rapports quotidiens : onglet Rapports — rédaction Claude + PDF, automatisé chaque matin
      …
      Chaque matin à 06:00 (PM2 cron groupe-ka-rapport-quotidien), le script
      scripts/rapport-quotidien.mjs lit la collecte API·Ka de 02:00 (9 services,
      runs, connecteurs, stats d'appels), fait rédiger le rapport de la nuit par
      claude-sonnet-4-6 (JSON structuré : édito, faits saillants, analyse,
      vigilance, chiffre du jour, météo) puis produit le PDF en imprimant la page
      /rapports/[date] via le Chromium headless de Playwright (@media print).
      Pages /rapports (archives) + /rapports/[date] (tableau « la nuit en
      chiffres » rendu depuis le snapshot, sans passer par le modèle) + route
      /api/rapports/[date]/pdf. Le bloc print existant (carte de membre) est scopé
      à body > header/footer pour ne plus cacher la manchette des pages.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 9 files +1,020 −2
  2. Sat, Aug 22, 2026 3

    1. header opaque (standard header/menu KA 2026-08-22)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +1 −1
    2. SEO : canonical, JSON-LD Organization+WebSite, robots.txt, sitemap.xml, template de titres
      …
      - layout : alternates.canonical ./ (par route), og:url harmonisé, html lang fr-CA,
        title template %s | Groupe KA, données structurées schema.org (holding + 13 plateformes,
        WebSite inLanguage fr-CA)
      - src/app/robots.ts : allow / ; disallow /api/, /compte, /sso ; lien sitemap
      - src/app/sitemap.ts : accueil + 9 pages publiques
      - pages : suffixe — Groupe KA retiré des titres (géré par le template)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 17 files +133 −17
  3. Fri, Aug 21, 2026 2

    1. telecharger : lien TestFlight public de l app KA iOS (join/WMRfxbMJ)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +1 −1
    2. Simon-Pierre Boucher committed 1 mo ago · 1 file +17 −17
  4. Wed, Aug 19, 2026 4

    1. Simon-Pierre Boucher committed 1 mo ago · 1 file +4 −1
    2. Mobile : overlay du menu sorti du header (fix backdrop-filter/fixed), import tokens.css layer(base), verrou scroll, viewport-fit=cover, stat-chips tactiles, ka-agent corrigé
      …
      - src/app/layout.tsx : overlay #gk-menu déplacé hors du <header> (le backdrop-blur
        re-parentait le position:fixed → menu inutilisable entre 768 et 1280 px) ;
        export viewport (device-width, initial-scale 1, viewport-fit cover) ;
        header sur var(--z-header), overlay sur var(--z-modal), nav scrollable.
      - src/app/globals.css : @import "../ka/tokens.css" layer(base) (socle mobile
        commun : échelle z-index, anti-zoom iOS 16 px, overflow-x clip → fin du
        débordement horizontal du ticker) ; grain dupliqué retiré (un seul grain) ;
        pilotage CSS pur du menu (body:has(#gk-menu:checked)) + gel du scroll ;
        zone tactile ≥44 px des a.stat-chip (::after inset -6px).
      - src/ka/tokens.css : socle mobile obligatoire (z-index communs, --vh100,
        .ka-bottombar, .ka-scroll-lock, .ka-menu/.ka-overlay, filet anti-zoom iOS).
      - public/ka-agent.js : safe-areas, textarea 16 px, plein écran ≤640 px + verrou.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 4 files +209 −58
  5. Tue, Aug 18, 2026 5

    1. macOS 1.0.0 disponible : DMG notarié publié sur /telecharger (SHA-256 + taille)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +3 −1
    2. Nav « Télécharger » + vrais logos SVG Apple/Android sur /telecharger
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 2 files +35 −8
    3. Simon-Pierre Boucher committed 1 mo ago · 3 files +123
    4. KA ID : client ka-android (app Android native)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +5
    5. Connecteurs enrichis : champs riches /api/stats captés et affichés
      …
      - live.ts : avg_price (Lou/Immo/Auto/Food), géo Lou·Ka, salaires+remote+top villes
        Job·Ka, croissance/médiane/modèle Vrai-Prix, indexed_last_hour/frontier/
        embedding_coverage Trouve·Ka, tiers+niches Créa·Ka, bloc vraiprix d'Immo·Ka
        (écart prix demandé vs évaluation municipale), santé des syncs (recent_syncs/
        sync_log) — repli figé champ par champ, jamais de rendu cassé
      - Sorti·Ka : constante SORTIKA_CONNECTORS=8 (TODO : lire le champ quand publié)
        au lieu du « 4 » codé en dur ; ticker plex daté (ValoPlex sans /api/stats)
      - Accueil : chips enrichies (loyer/prix/salaire moyens, niches, croissance),
        carte « santé des syncs », insight Immo·Ka × Vrai-Prix, file de crawl et
        couverture sémantique Trouve·Ka
      - /stats : section « répartitions » (breakdowns + geo du SPEC) des deux plus
        grosses plateformes jointes ; ecostats.ts typé breakdowns/geo
      - Ticker : loyer/salaire/prix moyens, +43,1 % 2021→2026, pages/heure
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 5 files +481 −28
  6. Mon, Aug 17, 2026 12

    1. Simon-Pierre Boucher committed 1 mo ago · 2 files +85 −47
    2. KA ID : client ka-ios (app iOS native, redirection ka-ios://auth)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +5
    3. Câblage du widget KA Agent (bulle de chat IA Groupe KA) sur toutes les pages
      …
      Config inline window.KA_AGENT={site:"groupe-ka"} + script /ka-agent.js (defer)
      injectés en fin de <body> dans le layout racine Next.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 2 files +239
    4. Page /stats — tableau de bord maître de l'écosystème (consolidation live des 12 plateformes)
      …
      - src/lib/ecostats.ts : fetch serveur parallèle des 11 dashboards
        /api/stats/dashboard (contrat commun SPEC), revalidate 600 s, délai 8 s,
        null si échec ; helpers mainKpi/newKpi/topKpis/consolidate.
      - /stats : sélecteur de période en liens ?period=… (auj → tout, défaut
        30j), boutons Rapport écosystème complet / Synthèse (PDF), bandeau KPI
        consolidés (volume agrégé, 12/12 en ligne, connecteurs, nouveautés),
        classement des plateformes par volume principal, bloc résumé par
        plateforme (pastille accent, 3 KPI, 1 record, lien /stats de la
        plateforme), note de méthode ; plateforme injoignable = carte grise
        « données indisponibles » — rien d'inventé, pas de section visites.
      - /api/stats/ecosystem-report : proxy en streaming du PDF généré par
        API-KA (Content-Type et Content-Disposition conservés).
      - layout : « Stats » dans la nav (avant Statut) + lien footer
        « Statistiques de l'écosystème ».
      - src/ka/stats : kit stats ka-ui vendoré (SPEC.md, kacharts, kapdf).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 7 files +1,687
    5. Simon-Pierre Boucher committed 1 mo ago · 6 files +397
    6. État du nœud — MAJ src/lib/sso.ts + variante poster auto-ka
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 2 files +5
    7. feat: PDF « L'agrégation, expliquée » — 12 pages de schémas, téléchargeable sur le site
      …
      - Document A4 paysage aux couleurs du groupe : couverture, définition ·Ka,
        sablier à 10 plateformes, pipeline, cycle, éclaireurs Ka2/Ka4/Ka6, Trouve·Ka,
        inventaire vivant, flotte de 340 connecteurs, moteurs d'évaluation, socle, manifeste
      - Source HTML autonome (figures générées en JS, rendu chromium --print-to-pdf)
      - Servi sur /documents/groupe-ka-agregation.pdf + bouton dans la section #flux
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 4 files +1,020
    8. feat(sso): client Créa·Ka (crea-ka.com) au registre KA ID
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +10
    9. feat: 3 nouveaux agrégateurs (Resto·Ka, Sorti·Ka, Créa·Ka) + refonte des cartes produits
      …
      - 10 agrégateurs présentés (cartes 08-09-10 avec badge Nouveau, données réelles des APIs)
      - Cartes produits améliorées : bande d'accent de marque, numéro en pastille encre/accent,
        étiquette de marché, puces aux couleurs de la marque, 10e carte pleine largeur
      - Figures mises à jour : sablier à 10 plateformes + 13 sources, inventaire (8 barres),
        matrice 340 connecteurs
      - Socle (11 plateformes), ticker, footer, métadonnées OG et compteurs héros à jour
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 3 files +230 −69
  7. Sun, Aug 16, 2026 1

    1. Fix /compte : PLATFORM_URLS[toit-ka] manquant plantait la page après connexion
      …
      La liste « Votre KA ID fonctionne ici » itère sur SSO_CLIENTS et appelait
      PLATFORM_URLS[id].replace() — l'ajout du client toit-ka sans URL associée
      faisait un 500 SSR sur /compte (TypeError undefined.replace). Ajout de
      l'URL + garde .filter() pour qu'un futur client sans URL ne casse plus la page.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +4 −1
  8. Sat, Aug 15, 2026 1

    1. KA ID : enregistrement du client SSO toit-ka (www.toit-ka.com)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +5
  9. Thu, Aug 13, 2026 11

    1. 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>
      Simon-Pierre Boucher committed 1 mo ago · 5 files +155 −14
    2. feat: posters vitrine des 7 apps — logo + captures d'écran en direct
      …
      Un 2e poster par plateforme (assets/poster/<app>-app-poster.html + PDF):
      tuile logo (favicon réel ou monogramme de la famille), wordmark,
      capture desktop dans un cadre navigateur + capture mobile dans un cadre
      téléphone (sites capturés en direct le 2026-08-13, bandeaux de témoins
      cadrés hors champ), chiffres alignés sur les valeurs live des apps,
      bande manifeste et pied « by Groupe KA ». Images sous
      assets/poster/img/. Pages PDF aux dimensions exactes (860×1221).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 31 files +1,201
    3. feat: PDF des 9 posters + pages PDF aux dimensions exactes
      …
      assets/poster/pdf/*.pdf générés via Chrome headless (une page chacun,
      bord à bord). Le @page de chaque HTML passe d'A3 à la taille mesurée du
      poster (860px × hauteur réelle, ratio ~√2 — se met à l'échelle A3/A4 à
      l'impression sans distorsion).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 18 files +18 −18
    4. feat: posters HTML des 7 plateformes, chacun au thème de son app
      …
      lou-ka (lime/encre), immo-ka (rouge #e23744/chocolat), vrai-prix
      (corail #ff5148), valoplex (orange #ff9f45), auto-ka (orangé #ff5a2a/
      encre bleutée), fabri-ka (terracotta/pin, Fraunces+Outfit), food-ka
      (vert épicerie/lime/tomate). Couleurs et typos extraites des repos des
      apps (local + SSH nœuds). Mention « by Groupe KA », figure
      d'agrégation, 4 caractéristiques, chips de chiffres, bande manifeste.
      Imprimables A3 portrait, hors site.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 7 files +1,814
    5. feat: poster HTML des bots éclaireurs ka2 · ka4 · ka6 (hors site)
      …
      Affiche autonome assets/poster/ka-bots-poster.html : « Tout le web.
      Trois éclaireurs. », trois cartes d'identité (ka2 lime, ka4 orange,
      ka6 rouge), socle commun Claude Haiku 4.5 + Firecrawl/Scrapfly,
      engagements (robots.txt, données publiques, Loi 25), définition
      « éclaireur ». Imprimable A3 portrait.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +500
    6. feat: poster HTML de présentation Groupe KA (hors site)
      …
      Affiche autonome assets/poster/groupe-ka-poster.html : wordmark,
      « Mille sites. Un seul ·Ka. », figure d'agrégation (10 sources →
      faisceau → boîte ·KA → 7 plateformes aux couleurs de marque), chiffres,
      définition ·Ka, imprimable A3 portrait.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +438
    7. feat: pages /retrait et /avis + ligne d'avis agrégateur au footer
      …
      /retrait: politique de retrait et de révision complète (Partie A —
      retrait d'annonces avec table des preuves; Partie B — révision et arrêt
      de couverture Vrai-Prix/ValoPlex; traitement, refus et recours).
      /avis: notre rôle d'agrégateur, clause « aucun contrat » en encadré
      encre. Footer: ligne d'avis en évidence + 2 liens légaux; liens croisés
      depuis /loi-25 et /bots.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 5 files +731 −2
    8. feat: page /bots — déclaration de transparence des robots d'indexation
      …
      8 principes communs, fiches ka·2 / ka·4 / ka·6 (cartographie créateurs
      et influenceurs, droit de retrait renforcé), ce que les robots ne font
      pas, section exploitants de sites. Liens footer (+Ka6) et depuis /loi-25.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 3 files +422
    9. feat: page /loi-25 — protection des renseignements personnels
      …
      Politique Loi 25 complète: responsable désigné, nature d'agrégateur de
      contenu public, tableau des 7 applications et données traitées, note sur
      les estimations automatisées, droits, demande de retrait, incidents.
      Lien dans le footer et depuis /confidentialite.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 3 files +529
    10. feat: ajout de Ka4 — la section Ka2 devient « les bots de découverte »
      …
      Section #bots avec les deux agents (Ka2 et Ka4) en cartes jumelles +
      carte encre commune sur leur rôle dans l'écosystème; nav, ticker et
      footer mis à jour.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 2 files +142 −91
    11. feat: ajout de la section Ka2, l'agent de découverte web du groupe
      …
      Nouvelle section #ka2 sur la page d'accueil (carte produit + carte rôle
      dans l'écosystème), lien dans la nav, le ticker et le footer vers
      www.ka2.bot.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 2 files +110