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/reqstats.py · clear filter

  1. Sun, Aug 23, 2026 1

    1. api: HEAD / accepté, endpoint compact GET /api/stats, KPI erreurs sans le bruit des scanners
      …
      - main.py : la route racine accepte HEAD (les moniteurs recevaient 405, 633 fois/7 j)
      - routes/stats.py : nouveau GET /api/stats (résumé léger, contrat commun KA) —
        les moniteurs qui l appelaient recevaient 404 (1752 fois/7 j)
      - routes/stats.py : les endpoints bruit (autre) / api/v1/(autre) — scans de bots —
        sont exclus des métriques du tableau de bord (ils restent journalisés)
      - reqstats.py : familles /api/auth|agent|ios|monitoring repliées sous <préfixe>/*
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +8
  2. Mon, Aug 17, 2026 2

    1. Rapport écosystème complet : GET /api/stats/ecosystem-report (PDF consolidé des 12 plateformes)
      …
      - src/api/ecopdf.py : EcosystemReport compose le moteur kapdf (couverture
        Groupe KA boîte encre + lime, page de consolidation avec totaux et
        classement des plateformes, une section par plateforme avec pastille
        accent + wordmark + KPI + records, page de fin) ; plateforme injoignable
        = section « données indisponibles » propre, jamais d'échec global.
      - /api/stats/ecosystem-report?period=…&mode=complet|synthese : dashboards
        des plateformes sœurs récupérés en parallèle (httpx, délai 15 s), le
        sien calculé en local ; cache 10 min par (period, mode) ; filename
        groupe-ka_ecosysteme_stats_<periode>_<date>.pdf.
      - kapdf._kpis : titre de section paramétrable (extension rétrocompatible).
      - reqstats : /api/stats/ecosystem-report ajouté aux chemins connus.
      - tests : test_ecosystem_pdf_builder (complet + synthese, hors-ligne).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +1
    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 +164