HTML 82.1%
Python 14.6%
TypeScript 1.9%
CSS 1%
JavaScript 0.5%
-
Wed, Aug 19, 2026 1
-
Stats v2 : dashboard ultra complet + 5 rapports PDF (module commun ka-ui v2)
…
- jobka/kapdf.py + frontend/src/ka/stats/{kacharts.tsx,SPEC.md} : canoniques v2 - statsdash.py : 10 KPI (sparklines actives/nouvelles/retraits), 4 jauges de complétude (salaire, mode, géoloc, catégorie), série des retraits, multi-courbes top secteurs (date de publication affichée), barres empilées ajouts par source (sync_log), 3 distributions (salaires annuels, taux horaires, âge des offres), heatmap horaire 7x24 des observations, tableaux secteurs + sources & connecteurs, 11 records ; deltas seulement si la période précédente est couverte (rien d'inventé) - /api/stats/report : 5 modes (complet/synthese/tendances/repartitions/ donnees), mode inconnu -> complet, filename(..., mode) - Stats.tsx : sections v2 dans l'ordre du SPEC (jauges, StatSummary, MultiLineChart, StackedBarChart, Histogram, HourHeatmap, PdfButton 5 modes) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Tue, Aug 18, 2026 1
-
Badge « Offre directe » + stats directes/portails + canal de dépôt direct employeurs
…
- is_direct (source hors AGGREGATORS) exposé sur /api/jobs, /api/jobs/{uid} et jobs.geojson ; badge sobre sur les cartes d offres (frontend rebuild) - /api/stats : direct_jobs, direct_employers, direct_sources, portal_jobs, duplicates_hidden ; KPI « Offres directes employeur » au tableau de bord - POST /api/employeurs/offres : dépôt direct validé (pydantic + pot de miel), normalisé par JobPosting.finalize(), stocké source=depot-direct INACTIF en attente de modération ; page /employeurs (formulaire + explications) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Mon, Aug 17, 2026 1
-
Intégration complète à l'écosystème Groupe KA
…
- Design : ka-ui vendoré (tokens.css importé avant le CSS local), accent officiel cyan #0c8599 (fin du lime hérité), socle dédupliqué, badge « Un service Groupe KA » au header (desktop + mobile, zéro débordement à 360/768/1440), prefooter local + KaFooter commun, page /contact (ecosystem.json), title « Job-Ka — Un service Groupe KA », assets og.png/favicon.svg/apple-touch-icon + meta OG/Twitter absolues. - SSO KA ID : jobka/auth.py (client job-ka, cookie jobka_session, table users), bouton « Se connecter avec KA » au header, testé bout-en-bout jusqu'au hub (307 → /connexion, client reconnu). - Stats : /api/stats/dashboard (contrat SPEC, cache 5 min, salaires bornés 25–400 k$, série date_posted réelle) + /api/stats/report (PDF fpdf2 via jobka/kapdf.py, complet + synthèse), page /stats refaite sur ka/stats/kacharts.tsx ; /api/stats historique conservé pour le hub. - KA Agent : widget ka-agent.js câblé (site job-ka). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-