API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com
-
Tue, Aug 18, 2026 2
-
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> -
feat: supervision centralisée des connecteurs de l'écosystème KA
…
- table connector_health (une ligne par service/source, upsert) + job src/monitoring/connector_health.py toutes les 2 h dans apika-scheduler (lecture seule des GET /api/stats des 8 apps sœurs, timeout 5 s, échec d'une app sans impact sur le job) - classement : broken (≥3 échecs ou 0 résultat ×3), stale (>2× cadence, facteur de rotation au niveau source), degraded (<50 % de la médiane), ok — cadences par service (lou-ka 1 h … resto-ka 168 h) - alertes logs/alerts.log uniquement sur transition vers broken/stale (anti-spam via l'état précédent mémorisé en table) - endpoints publics GET /api/v1/monitoring/connectors(/{service}) + bloc connectors dans /health - 15 tests (classement, parsing, anti-spam, endpoints) — suite 48/48 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Mon, Aug 17, 2026 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>
-
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>
-