SPB Git forge

spb/api-ka

Public

API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com

48commits 1branches 0releases
5.9 MBsize
maindefault branch
19 days agolast push
Python 60.9% HTML 21% TypeScript 7.3% JavaScript 5.2% CSS 4.8% Shell 0.8%

History of src/api/web/index.html · clear filter

  1. Tue, Aug 25, 2026 3

    1. web: boutons primaires lisibles — fond accent au lieu du fond encre
      …
      Le .btn-primary du socle v1 (fond encre + texte accent) était illisible
      avec l accent indigo. Passage en fond accent / texte blanc pour
      .btn-primary et .send (playground), hover accent-deep.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 29 days ago · 1 file +6
    2. frontend: refonte éditoriale v2 (typo géante, brush, live-line, filets)
      …
      Aligne les pages web (accueil, stats, contact) sur la nouvelle DA
      lou-ka/vrai-prix : héro typographique, .hl convertis en soulignés
      brush SVG indigo, live-line mono + filets à la place des stat-chips,
      grilles magazine en hairlines au lieu des cartes à ombres dures,
      KPI/records à filet, tableaux à en-tête éditorial. Terminal santé
      borné (max-height + scroll) et fix min-content de la grille héro.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 29 days ago · 1 file +54 −5
    3. Nav mobile v2 : hamburger + panneau plein écran fixed sur les pages web
      …
      Standard KA 2026-08-25 : la .topnav wrappait en pleine largeur sous 1023px ;
      elle est remplacée par un hamburger 44px + panneau position:fixed inset:0
      (z-modal) — menu visible peu importe la position de scroll, verrou de scroll,
      fermeture lien/✕/Escape. Liens du panneau générés depuis la topnav de chaque
      page (aria-current conservé).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +77 −1
  2. Sun, Aug 23, 2026 3

    1. Authentification obligatoire sur l API produit (KA ID ou jeton personnel)
      …
      - middleware KaAuthMiddleware: /api/v1/* exige session KA ID (cookie) OU Authorization: Bearer kapi_… ;
        jeton vérifié au hub via /api/sso/token-verify (HMAC secret SSO), cache 5 min (négatif 60 s)
      - exemptions: /api/v1/monitoring/* (gardiens), /api/v1/louka/fairvalue/* (app iOS), OPTIONS ;
        /api/stats/*, /api/agent/chat, /health restent publics
      - docs: carte Authentification (jeton sur groupe-ka.com/compte), code 401, playground avec jeton
        optionnel (localStorage apika_token)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +12 −5
    2. SEO : robots.txt + sitemap.xml + canonical/hreflang/JSON-LD sur le site de doc
      …
      - src/api/main.py : routes /robots.txt (Disallow /api/, /docs) et
        /sitemap.xml (/, /contact, /stats)
      - web/{index,contact,stats}.html : canonical, hreflang fr-ca, og:site_name,
        og:locale, JSON-LD WebSite + Organization + BreadcrumbList
      - la negociation de contenu existante est conservee : les clients API
        recoivent toujours le statut JSON a la racine
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +8
  3. Sat, Aug 22, 2026 1

    1. topbar opaque + z-index token + hauteur 64px (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 +3 −3
  4. Wed, Aug 19, 2026 1

    1. Mobile : champs du playground et dates stats ≥16 px (anti-zoom iOS), socle mobile tokens.css, ka-agent corrigé
      …
      - src/api/web/index.html : media query ≤767 px — .field select/.field input du
        playground passés de 13 px à 16 px (le focus d un champ <16 px déclenche un
        zoom de page sur Safari iOS).
      - src/api/web/stats.html : .input (dates #d-from/#d-to et recherche du tableau)
        à 16 px sous 768 px.
      - src/api/web/contact.html : aucun champ — rien à corriger.
      - src/api/web/ka/tokens.css : socle mobile obligatoire (échelle z-index --z-*,
        --vh100 dvh, .ka-bottombar, .ka-scroll-lock, .ka-menu/.ka-overlay, filet
        anti-zoom iOS global, zone tactile étendue du gk-badge).
      - src/api/web/ka-agent.js : safe-areas bulle/panneau, textarea 16 px, plein
        écran auto ≤640 px + verrou kaa-lock, pas de focus clavier forcé.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +2
  5. Mon, Aug 17, 2026 5

    1. Câblage du widget KA Agent (bulle de chat IA Groupe KA)
      …
      - Route GET /ka-agent.js (FileResponse, comme /og.png) dans src/api/main.py.
      - Balises window.KA_AGENT={site:"api-ka"} + /ka-agent.js (defer) dans
        index.html, contact.html et stats.html.
      - pytest : 33 passés.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +2
    2. Page /stats : tableau de bord analytique de la plateforme + rapport PDF Groupe-KA
      …
      - Journalisation légère des requêtes API : table api_requests (ts, méthode,
        endpoint normalisé, statut, durée) alimentée par le middleware de logging
        via un tampon mémoire non bloquant + tâche de fond (flush 5 s, purge 90 j).
      - Backfill : scripts/backfill_api_requests.py réimporte l historique réel des
        logs JSON (811 requêtes depuis le 2026-08-16), idempotent.
      - GET /api/stats/dashboard : contrat commun Groupe KA (SPEC.md) — KPI avec
        deltas, séries jour/heure (appels, latence, enregistrements collectés),
        top endpoints, anneau par service, heatmap, tableaux, records ; cache 5 min.
      - GET /api/stats/report : PDF Groupe-KA (moteur kapdf/fpdf2, wordmark API·Ka,
        accent #3b5bdb), modes complet et synthèse ; correctif kit : pied de page
        qui fuyait sur la couverture.
      - Page /stats (vanilla JS + SVG, langage visuel du kit kacharts) : chips de
        période + plage personnalisée, KPI, courbes avec infobulle et légende
        cliquable, barres, anneau, heatmap, tableaux triables (recherche +
        pagination), records, boutons PDF, états vides propres, mobile 360-1440.
      - Lien « Stats » dans la nav de index.html et contact.html ; fpdf2 ajouté aux
        requirements ; tests /api/stats (32 tests verts).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +1
    3. Ajoute les assets de partage Groupe KA servis à la racine (og.png, favicon.svg, apple-touch-icon)
      …
      - Trois routes FastAPI FileResponse : /og.png, /favicon.svg, /apple-touch-icon.png (fichiers dans src/api/web/)
      - index.html et contact.html : nouveau favicon SVG, apple-touch-icon, meta og:title/og:description/og:url/og:image 1200×630 + twitter:card/twitter:image
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +11 −1
    4. Design Groupe KA « éditorial sharp » + SSO KA ID
      …
      · Site docs refait sur le design system commun (ka-ui/tokens.css, accent
        indigo #3b5bdb) : header API·Ka + badge « Un service Groupe KA »,
        footer commun .ka-footer alimenté par ecosystem.json, page /contact,
        responsive mobile-first (360/768/1024/1440, tactile ≥ 44 px).
      · Package ka-ui vendorisé dans src/api/web/ka/ et servi sur /ka
        (tokens.css, ecosystem.json, ka-shell.js).
      · SSO KA ID délégué au hub groupe-ka.com (src/api/routes/auth.py) :
        /api/auth/ka/login → /sso/authorize, callback JWT HS256 (aud=api-ka),
        cookie de session signé apika_session, /api/auth/me, /api/auth/logout,
        bouton « Se connecter avec KA » au header.
      · /contact : HTML pour navigateurs, JSON (enveloppe) pour clients API.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +161 −170
    5. API-KA — plateforme centrale : collecte quotidienne des 8 services KA + API publique
      …
      Collecteurs louka/immoka/foodka/autoka/fabrika/restoka/sortika/creaka
      (resto-ka avec fiches détaillées : menus, plats, options et prix réels),
      PostgreSQL append-only, backups horodatés, scheduler 02:00 + backfill,
      FastAPI /api/v1 sur www.api-ka.com, plateforme web de documentation.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +563