- 459commits
- 1branches
- 0releases
- 77.8 MBon disk
- maindefault branch
- 4 days agolast push
-
Wed, Aug 19, 2026 5
-
API + frontend phase 2 : quarantaine qualité exclue des points d'accès publics (param quarantined=1 pour supervision), facettes régions administratives et langues, filtres region/language (liste + carte), stats.quarantined ; fiche offre enrichie (logo employeur, langue, région, avantages, bouton candidature directe apply_url, titre d'affichage normalisé) + filtres région/langue sur l'accueil ; scripts backfill_phase2 (réparations + peuplement) et mesure_baseline (avant/après audit)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
tokens.css : overflow-x clip aussi sur html (quirk WebKit iOS — le clip sur body seul laisse défiler le viewport)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
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> -
Correctifs front-end mobile : menu hamburger, carte calee sur la vraie hauteur du header, viewport-fit=cover, socle mobile ka-ui
…
- App.tsx : menu mobile hamburger sous 700px (bouton 44x44 aria-expanded, panneau deroulant sous le header, backdrop fixe HORS du header, verrou de scroll body + cleanup, fermeture route/Escape/backdrop) ; ResizeObserver sur header.site qui pose --header-h sur <html> - styles.css : .map-wrap = calc(100vh/100dvh - var(--header-h,58px)) (fini le saut de barre navigateur et le 58px faux sur header 2 lignes) ; styles .menu-btn/.mobile-menu/.mm-backdrop avec var(--z-modal)/var(--z-overlay) ; header.site a var(--z-header) ; champs filtres a 16px sous 700px (anti-zoom iOS) ; extension tactile ::after -8px sur a.logo - index.html : meta viewport avec viewport-fit=cover (safe-area iOS) - src/ka/tokens.css : section SOCLE MOBILE OBLIGATOIRE (z-index unifies, --vh100 dvh, verrous de scroll, filet anti-zoom 16px, extension tactile gk-badge) - public/ka-agent.js : agent corrige (safe-area, textarea 16px, plein ecran <=640px + verrou scroll) 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 2
-
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>
-
Fondation Job·Ka : socle backend, 5 connecteurs pilotes, frontend, tests
…
- Schéma JobPosting + normalisation (salaires $/h↔$/an, dates ISO, villes canoniques, catégories) — 25 tests unitaires - Pipeline hérité de Lou·Ka : diff par content_hash, délai de grâce, anti-dérive, expiration sur date limite, dédup union-find, géocodage Nominatim + Adresses Québec avec cache - Plateformes ATS : Workday (facette Québec auto-découverte), Lever, Greenhouse, SmartRecruiters — connecteurs pilotes CAE, Desjardins, Poka, Mistplay, Ubisoft (442 offres QC) - API FastAPI (/api/jobs, geojson, facets, sources, stats, /health) + frontend React/Vite (liste, fiche, carte MapLibre, stats) - Fixtures HTTP enregistrées/rejouées hors ligne + hook pre-commit d'en-tête d'auteur (section 17) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-