HTML 82.1%
Python 14.6%
TypeScript 1.9%
CSS 1%
JavaScript 0.5%
-
Wed, Aug 26, 2026 10
-
feat(ka-id v2.2): boost COLLABORATIVE_MODEL des recommandations du modèle ALS (kaid.py aligné sur ka-ui.git/kaid f844854)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat(ka-id v2.1): CF SIMILAR_USERS + langue transversale (kaid.py), SDK pilules « Sauvegarder cette recherche »/« Pas pour moi » (ka-id.js), alignés sur ka-ui.git/kaid cbe9c9f
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
fix(ka-id v2): kaid.py — les plages numériques pèsent 0.6 (un simple bon prix ne score plus 1.0), aligné sur ka-ui.git/kaid
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat(ka-id v2): personnalisation Groupe KA — jobka/kaid.py (canonique ka-ui.git/kaid), journal serveur (search/detail_view/favorite), reranking personnalisé du tri par défaut (blend 0,35, session > long terme, masqués exclus), routeur /api/kaid, SDK ka-id.js (clics, dwell), badge « Recommandé pour vous » sur JobCard
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Tue, Aug 25, 2026 12
-
Refonte visuelle majeure du front-end : design editorial premium
…
- Hero : halo cyan, pastille « marche en direct », recherche centrale (barre blanche a ombre decalee cyan) + chiffres live (offres, employeurs, % salaire affiche) - Filtres : rail de selecteurs discrets sur desktop (pilules, etat actif encre/cyan), panneau bas coulissant sur mobile, puces de filtres actifs retirables + « Tout effacer » - Offres : fini les cartes bordees — rangees editoriales a filets fins, titre Space Grotesk, salaire en exergue cyan a droite avec equivalent annuel, metadonnees calmes en mono, barre d'accent au survol ; favoris alignes sur la meme structure - Fiche : mise en page ouverte (plus de grosse boite), metriques en blocs a filet superieur, CTA « Postuler » en accent - Tableau employeurs allege (filets fins), pagination sobre en mono, menu mobile avec entree en cascade, prefers-reduced-motion respecte - Bulle KA Agent masquee quand un panneau plein ecran est ouvert Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Nav v2 correctif : le ✕ de fermeture vit DANS le panneau (fixe, toujours visible)
…
Le ✕ était le burger du header ; si le header n'est pas épinglé (bas de page), il défilait hors écran alors que le panneau fixed restait affiché. Ajout d'un .mm-close position:fixed en haut à droite du panneau et burger masqué à l'ouverture. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Nav mobile v2 : le dropdown 480px devient un panneau plein écran fixed
…
Standard KA 2026-08-25 : .mobile-menu passe de position:absolute top:100% (max-height 480px) à position:fixed inset:0 — le menu est visible peu importe la position de scroll. Liens numérotés font-display, rang du header (marque + burger→✕) maintenu au-dessus du panneau. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Phase 3 — enrichissement des 1050+ connecteurs (exigences, séniorité) + refonte du display des offres avec métriques claires
…
Backend (enrichissement central via finalize() -> tous les connecteurs) : - normalize.py : extract_requirements() (années d'expérience, scolarité, langues exigées, FR/EN, bornes de plausibilité), parse_seniority() (stage/junior/intermédiaire/senior/direction : titre, libellés ATS, années d'expérience), en-têtes d'avantages élargis - schema.py : champ seniority + branchement des extracteurs (setdefault, jamais d'écrasement des valeurs ATS) - db.py : colonne seniority (migration auto) dans insert/update - web.py : filtre + facette séniorité, salary_context (médiane/quartiles de la catégorie + écart % de l'offre, cache 10 min), employer_jobs, median_salary_year dans /api/stats - scripts/backfill_enrich.py : backfill exécuté — 23 680 offres scannées, 16 606 exigences ajoutées (26 % -> 77 %), 10 966 séniorités (0 -> 46 %) - tests/test_enrich.py : 27 nouveaux tests (101 au total, tous verts) Frontend (display + métriques claires) : - JobCard : badge Nouveau (≤3 j), salaire avec équivalent annuel, badges séniorité/exigences/bilingue, pied fraîcheur · avantages · plateforme - Fiche : panneau « En un coup d'œil » (salaire vs marché avec barre interquartile P25-P75, expérience, scolarité, langues, fraîcheur, date limite), volume d'offres de l'employeur, historique du salaire affiché - Accueil : filtre séniorité ; api.ts : types + helpers (compactMoney, yearlyEquiv, daysSince) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC
…
- Nouvelles classes de plateforme : jazzhr.py (liste /apply/ + JSON-LD), teamtailor.py (sitemap + JSON-LD), zoho_recruit.py (flux RSS public) — filtre QC au détail avec report si budget épuisé (doctrine taleo_tbe/adp). - serper_scout.py : 5 nouveaux motifs (jazzhr, teamtailor, zohorecruit, talentnest, njoyn avec CLID/CL/hôte) + CLID dans le dédoublonnage. - 60 connecteurs : 31 JazzHR (Optel 13, Playground 21, Ultium CAM, Altitude Aérospatiale, FortNine, XTL 21, Valnet 22…), 17 Zoho Recruit (Mallette Saguenay 26, DRB 22, dentago 20, Carnaval de Québec, FÉRIQUE, Altitude Sports, Excavations Lafontaine…), 9 Teamtailor (Norda Stelo 50, Workin Group 34, Humanise 13, CAM Mécanique, Synertek…), 3 Njoyn (IR-CUSM 37, RTL 17, Groupe Master 17). - njoyn.py : correctif _keep — certains habillages mettent la date dans la colonne pays (Groupe Master 0 -> 17) ; n'exclure que les pays reconnus. - sources.json : 1 108 sources, 23 familles ATS ; docs/connecteurs régénérées (1 133 fiches) ; rapport docs/prospection-vagueE.md (écartés motivés + reliquats vague F : TalentNest, ENPQ/APCHQ, CUSM). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Vague D implémentée — 75 nouveaux connecteurs (968 -> 1044 employeurs), ~768 offres QC
…
- 55 connecteurs générés depuis feeds-vagueD.json (gen_connectors), tous synchronisés sans échec (333 offres). Sandvik re-pointé sur le babillard public sandvik-jobs. - 20 connecteurs manuels sur familles existantes (435 offres) : ADP ×12 (Nordik, Uniboard, Richelieu, UV Assurance, Strathmore, H2O, Cook It, Canadian Royalties, Niobec, Nemaska, Abritek, Triple Boris), Alstom SuccessFactors (227 offres, La Pocatière/MTL), Kiewit-Ganotec (50), Groupe Bellemare Njoyn (27), Ville de Mirabel, Sel Windsor, Global Excel, Graymont TBE, IAMGOLD Taleo. - Correctifs de familles : adp.py FORCE_CITY (mono-sites QC sans requisitionLocation) ; taleo_tbe.py secours og:title variante « - Canada - QC - Ville » (Graymont 0 -> 4) ; successfactors.py slug « -queb » final + garde-fou is_quebec_location contre les faux « QC » (quality control, 3 offres US interceptées ; Kiewit 3 -> 50). - 9 pistes écartées avec raison (babillards US/vides, iCIMS SPA) — détail dans docs/prospection-vagueD.md. - sources.json : 1 048 sources ; docs/connecteurs régénérées (1 070 fiches). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Prospection vague D — 55 nouveaux flux ATS confirmés + 34 pistes autres ATS
…
Scout Serper (1 920 requêtes, 96 termes inédits : 61 villes/régions + 35 métiers) et découverte sectorielle (910 employeurs QC visités par detect_ats) : - data/feeds-vagueD.json : 55 flux confirmés ≥1 offre QC (workday 27, smartrecruiters 14, dayforce 6, bamboohr 3, greenhouse 2, ashby/lever/workable 1) — dont Loblaw/Provigo, Best Buy Canada, AMF, Chanel, Carrier, Equisoft, Groupe Meloche, Téléfilm, Le Massif, Scandinave Spa - data/detected-other-ats.jsonl : +34 pistes sur familles existantes (adp 17, ukg 5, successfactors 4, taleo 3, njoyn 3, icims 2) — filon minier Abitibi/Nord (IAMGOLD, Hecla, Wesdome, Nemaska, Niobec…), Alstom La Pocatière, Richelieu, Logistec, villes de Mirabel/Terrebonne - rapport complet : docs/prospection-vagueD.md (méthode, tables, suites) Prochaine étape sur validation : gen_connectors.py data/feeds-vagueD.json Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Mon, Aug 24, 2026 5
-
Sun, Aug 23, 2026 9
-
Vague C — +620 connecteurs employeurs directs (350 -> 968)
…
Campagne de découverte massive en 3 angles : éclaireur Serper élargi (60 termes x 10 ATS x 3 pages), reprise des 266 flux confirmés le 22-08 jamais intégrés, et sondage par nom de 182 grands employeurs QC sur 10 ATS. Fusion/nettoyage (scripts/merge_confirmed.py : dédoublonnage multi-vagues, filtre des faux positifs Québec hors province, nettoyage des noms issus des titres Google, exclusion des babillards de démo) puis secteurs attribués par lots (scripts/classify_sectors.py). - Workday +148, SmartRecruiters +118, Dayforce +96, Greenhouse +93, Breezy +50, Workable +40, Lever +32, Ashby +25, Recruitee +12, BambooHR +3 - SuccessFactors +4 vérifiés main : TELUS, Énergir, VIA Rail, Canada Vie - prises notables : Thales, Fiera Capital, Fednav, Wolseley, Cominar, Ludia, Granit Design, Vortex Structures Aquatiques, Warner Bros. Discovery - 973 sources au registre ; docs/connecteurs régénérées (995 fiches) ; docs/CONFORMITE.md : section Vague C + écartés (Air Canada -> Phenom, TÉLUQ, Valero, faux QC) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Favoris unifies « Mon univers Ka » (hub KA ID) : coeur sur cartes et fiche, page /favoris
…
- jobka/hubfav.py : client du magasin central de favoris du hub Groupe KA (HMAC signe, toggle synchrone, lecture cachee 30 s, zero stockage local) - jobka/web.py : GET /api/favorites + POST /api/favorites/toggle (session KA ID requise, 401 sinon) ; route SPA /favoris - jobka/auth.py : parametre next (chemin local, transporte dans le state signe) pour revenir a la page courante apres la connexion KA ID - frontend : favorites.tsx (FavProvider + FavButton), coeur sur JobCard et la fiche /emploi/:uid, page /favoris + liens nav et prefooter, CSS fav-btn Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
stats v3 : rapports PDF personnalisés (catalogue, rendu au choix, ReportBuilder)
…
- kapdf.py v3 partagé (catalog, mode personnalise, heatmap calendrier) - web.py : GET /api/stats/catalog + POST /api/stats/report/custom - kacharts.tsx : composant ReportBuilder intégré à PdfButton (modal, ordre, rendus, modèles localStorage) — SPEC.md §3bis
-
SEO : villes groupées par slug (variantes de casse fusionnées, libellé majoritaire)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
SEO : pages programmatiques /villes + /ville/{slug} rendues en HTML (pattern lou-ka)
…
- jobka/seo.py : slugify, cache slug→ville, SSR /villes et /ville/{slug} (contenu dans #root, ItemList + BreadcrumbList), API /api/seo/villes et /api/seo/ville/{slug}, sitemap-villes.xml, liens internes accueil/fiche vers les nouvelles pages - frontend : pages React VillesPage/VillePage, routes, lien pied de page Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> -
scripts: éclaireur Serper + support Dayforce dans probe_ats (campagne connecteurs du 2026-08-22)
…
Outils laissés non commités par la session précédente : serper_scout.py (requêtes site:<ATS> × termes québécois → slugs candidats JSONL) et probe_ats.py étendu à 10 ATS (ajout dayforce). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
connecteurs: retrait de projevia (Laval… en France)
…
Le tenant Recruitee « projevia » est une entreprise française (Laval, Pays de la Loire, country_code FR — offres « Chauffeur SPL ») ajoutée par erreur : le filtre Québec la vidait à juste titre (0 offre publiée, source marquée brisée par la supervision). Données associées purgées. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
taleo_tbe: secours og:title (retrait du JSON-LD par la plateforme) + fenêtre syncs_since_h
…
- Taleo TBE a retiré le JSON-LD JobPosting de requisition.jsp : les offres sans cache de détail étaient toutes différées par le filtre Québec → kruger publiait 0 offre depuis des jours (72 items RSS). Secours : lieu extrait du og:title (« … – Ville, RÉGION, PAYS »). Kruger retrouve 54 offres QC ; sepaq/hec/exo tenaient encore grâce à leurs caches. - base.detail() : ne met plus en cache les payloads vides ({} cadenassé par clé stable = connecteur gelé) ; 89 caches vides purgés de la base. - /api/stats : paramètre optionnel syncs_since_h pour la supervision api-ka (fenêtre complète du sync_log au lieu des 20 dernières entrées). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Sat, Aug 22, 2026 4
-
page Publier : formulaire de dépôt au style sharp du groupe (étiquettes mono uppercase, champs bordure encre + focus accent décalé, grille 2 colonnes → 1 sous 700 px, couleur d'erreur --danger)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
apparence : classes métier alignées sur la signature « éditorial sharp » Groupe KA
…
- job-card/sheet/tile/table : bordures encre 1,5 px + ombres décalées (--shadow-off-*), hover translate signature, tuiles avec liseré accent. - badges → chips du groupe (mono 10,5 px, uppercase, pilule bordée) ; salaire (vert bordé) et « offre directe » (accent) conservent leur sens. - filtres du héros : champs sharp (bordure encre, focus 3px 3px 0 accent, case « Salaire affiché » cochée = fond accent-soft). - héros : kicker signature « Pages carrières · Zéro intermédiaire » + surligné d'accent incliné (.hl) sur « à la source ». - pagination et titres de section en font-display 700 ; identité propre à l'emploi conservée (header encre, accent cyan, transparence salariale). - Vérifié Playwright : accueil desktop/mobile + fiche (localhost:8096), build Vite OK, pm2 job-ka-web redémarré, www.job-ka.com 200. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Vague B — 110 nouvelles sources (26 Dayforce nouvelle famille + 84 sur familles existantes)
…
- Nouvelle famille Dayforce HCM (jobs.dayforcehcm.com, API JSON du frontal Next.js, csrf anonyme + recherche paginée, détail PayClass/PayType avec cache et budget) : 26 employeurs dont Groupe Maurice, Groupe CH, La Vie en Rose, Eidos-Montréal, Air Canada Rouge, Port de Québec, Soprema, BPA… - Ajouts sur familles existantes : Workday +17 (Simons, Cineplex, TJX, FedEx, Abbott…), Greenhouse +17 (Coveo, KRAFTON, Lyft, AutoTrader…), SmartRecruiters +13, Workable +11, Breezy +8, Recruitee +7, Lever +6, Ashby +5. - sources.json : 244 → 354 sources ; docs/connecteurs régénérées (376 fiches). - docs/CONFORMITE.md : bases d'accès vérifiées 2026-08-22, 20+ sources écartées avec raisons (agences, agrégateurs, babillards vides, faux positifs français). - Sync validé : 110/110 sources OK, 2 102 offres ajoutées (total BD 25 280). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-