API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com
Python 60.9%
HTML 21%
TypeScript 7.3%
JavaScript 5.2%
CSS 4.8%
Shell 0.8%
-
Tue, Aug 25, 2026 3
-
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>
-
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>
-
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>
-
-
Sun, Aug 23, 2026 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>
-
Wed, Aug 19, 2026 2
-
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>
-
Tue, Aug 18, 2026 1
-
feat: intégration de job-ka (9e service KA) — collecteur + supervision
…
- Collecteur JobkaCollector (src/collectors/jobka_collector.py) : GET /api/jobs de job-ka (M3U96a:8096), pagination limit/offset (clé jobs, total annoncé), table jobka_data — pipeline standard fetch → checksum → dédup → backup pg_dump → collection_runs. One-shot validé : 7 953 offres actives collectées. - Config : jobka ajouté aux SERVICES (9) + JOBKA_SOURCE_URL (.env/.env.example). Il hérite automatiquement du run quotidien 02:00, du backfill, du backup 03:30 et des endpoints /api/v1/jobka{,/latest,/date/…,/stats}. - Supervision : jobka dans connector_health (cadence attendue 1 h, recent_syncs par source + facteur de rotation — 200+ sources pour une fenêtre de 20) ; visible dans /api/v1/monitoring/connectors (19 sources + _app, tout ok). - Stats : libellé Job·Ka ; page /stats à 9 services. - Tests : 3 tests jobka (pipeline, pagination offset, registre) + compteurs 8→9 — suite complète 51 passed. Rien à changer côté CORS (job-ka.com déjà dans les origines) ni côté agent KA (chercher_emplois pointe déjà sur www.job-ka.com/api/jobs). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Mon, Aug 17, 2026 2
-
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> -
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>
-