SPB Git

spb/job-ka

Public
31.2 KB

# Plateforme ATS workday

232 employeurs connectés via cette plateforme — 7648 offres actives. Module partagé : jobka/connectors/workday.py ; un employeur = une sous-classe d'environ 10 lignes.

# Description & mécanique

Plateforme Workday.

L'API publique des sites carrières Workday est stable et non authentifiée :

  • liste : POST https://..myworkdayjobs.com/wday/cxs///jobs body {"appliedFacets":{},"limit":20,"offset":N,"searchText":""} -> {total, jobPostings:[{title, externalPath, locationsText, postedOn, bulletFields:[req_id]}]}
  • détail : GET .../wday/cxs// -> {jobPostingInfo:{jobDescription(HTML), location, timeType, jobReqId, startDate, …}}

Les sites listent souvent des postes hors Québec : on filtre côté client par is_quebec_location, puis on ne visite la page détail QUE pour les postes québécois (avec cache BD — le détail n'est re-téléchargé que si la ligne de liste change).

# Accès

  • Pagination : offset/limit
  • Backend : GET/POST direct requests (throttlé, User-Agent JobKaBot/1.0 identifié)
  • Auth : aucune — API/pages publiques du site carrières.
  • Throttle : 0.7 s entre requêtes.
  • Budgets (env) : JOBKA_WORKDAY_DETAIL_LIMIT (défaut 300)

# Tenants connectés

Employeur Actives Salaire GPS Mode Dernier sync OK
Couche-Tard / Circle K 1029 68 % 66 % 0 % 2026-10-06 01:21 ✅
Walmart Canada 1004 98 % 91 % 0 % 2026-10-06 00:04 ✅
Université McGill 573 33 % 99 % 0 % 2026-10-06 01:52 ✅
Globalhr 301 0 % 83 % 4 % 2026-10-06 01:31 ✅
Mouvement Desjardins 282 1 % 92 % 25 % 2026-10-06 01:23 ✅
Slihrms 257 11 % 94 % 1 % 2026-10-05 23:55 ✅
Rechercher des 246 1 % 100 % 0 % 2026-10-06 01:29 ✅
Airbus Canada 198 4 % 99 % 1 % 2026-10-06 01:07 ✅
Groupe Banque TD 171 96 % 94 % 96 % 2026-10-05 23:58 ✅
Consignaction (AQRCB) 167 84 % 100 % 0 % 2026-10-06 01:22 ✅
TJX Canada (Winners, HomeSense, Marshalls) 140 99 % 100 % 0 % 2026-10-05 23:59 ✅
Intact Corporation financière 119 0 % 78 % 0 % 2026-10-06 01:42 ✅
Dentalcorp 96 17 % 100 % 0 % 2026-10-06 01:23 ✅
BMO Groupe financier 90 90 % 83 % 16 % 2026-10-06 01:12 ✅
Promutuel Assurance 76 1 % 100 % 9 % 2026-10-06 01:56 ✅
CAE 75 27 % 93 % 3 % 2026-10-06 01:13 ✅
iA Groupe financier 74 100 % 99 % 0 % 2026-10-06 01:42 ✅
Gevernova 66 32 % 91 % 17 % 2026-10-06 01:29 ✅
Gflenv 66 6 % 92 % 2 % 2026-10-06 01:29 ✅
Banque CIBC 63 0 % 98 % 13 % 2026-10-06 01:19 ✅
Lifeworks 62 29 % 84 % 16 % 2026-10-06 01:50 ✅
Agropur 57 96 % 96 % 0 % 2026-10-06 01:07 ✅
Beneva 56 0 % 100 % 4 % 2026-10-06 01:11 ✅
PwC Canada 53 98 % 72 % 0 % 2026-10-06 01:59 ✅
McKesson Canada 51 82 % 82 % 86 % 2026-10-06 01:52 ✅
Fairstone 48 48 % 92 % 0 % 2026-10-06 01:27 ✅
Myhrabc 46 48 % 54 % 87 % 2026-10-06 01:53 ✅
Saputo 45 84 % 100 % 100 % 2026-10-06 02:02 ✅
La Maison Simons 43 0 % 88 % 0 % 2026-10-05 23:55 ✅
Cogeco 42 19 % 48 % 7 % 2026-10-06 01:22 ✅
Intelcom (Dragonfly) 42 0 % 98 % 0 % 2026-10-06 01:42 ✅
Alterra 42 71 % 98 % 0 % 2026-10-06 01:08 ✅
Bdo 42 10 % 71 % 17 % 2026-10-06 01:11 ✅
Manuvie 41 95 % 54 % 12 % 2026-10-06 01:51 ✅
Advanceauto 38 0 % 45 % 0 % 2026-10-06 01:06 ✅
Firststudent 38 37 % 97 % 0 % 2026-10-06 01:28 ✅
EXFO 36 0 % 100 % 42 % 2026-10-06 01:27 ✅
Investissements PSP 36 3 % 100 % 0 % 2026-10-06 01:42 ✅
Ms 34 0 % 100 % 100 % 2026-10-06 01:53 ✅
Uhaul 33 0 % 100 % 0 % 2026-10-06 00:00 ✅
Rollsroyce 31 0 % 100 % 0 % 2026-10-06 02:01 ✅
Service alimentaire Gordon 30 60 % 100 % 0 % 2026-10-06 01:29 ✅
Rio Tinto 30 7 % 97 % 7 % 2026-10-06 02:00 ✅
Estimator 30 100 % 97 % 3 % 2026-10-05 23:59 ✅
Sun Life 29 7 % 66 % 0 % 2026-10-05 23:57 ✅
OPENLANE Canada 29 14 % 90 % 0 % 2026-10-06 01:55 ✅
Scotts Canada (Fafard) 28 4 % 100 % 0 % 2026-10-05 23:54 ✅
Abinbev 28 96 % 100 % 0 % 2026-10-06 01:06 ✅
Clinical Research Associate 28 0 % 96 % 11 % 2026-10-05 23:57 ✅
Altasciences 27 4 % 96 % 96 % 2026-10-06 01:08 ✅
The Children's Place 27 0 % 22 % 0 % 2026-10-06 01:19 ✅
Best Buy Canada 27 0 % 44 % 0 % 2026-10-06 01:11 ✅
Tmx 26 0 % 69 % 0 % 2026-10-05 23:59 ✅
CDPQ — Caisse de dépôt et placement du Québec 25 0 % 100 % 0 % 2026-10-06 01:17 ✅
Galderma 25 16 % 100 % 0 % 2026-10-06 01:29 ✅
Montreal Export Package Handler (18:00-23:00) 25 88 % 96 % 4 % 2026-10-06 01:39 ✅
FedEx Express Canada 24 100 % 88 % 0 % 2026-10-06 01:27 ✅
Monteur CVC 1 /HVAC Assembler 1 24 0 % 67 % 0 % 2026-10-05 23:57 ✅
Unitytech 24 96 % 83 % 29 % 2026-10-06 00:00 ✅
Onepoint (nventive / Logient) 22 0 % 100 % 0 % 2026-10-06 01:55 ✅
AVP 21 19 % 90 % 0 % 2026-10-06 01:10 ✅
Sales Associate III 21 100 % 100 % 0 % 2026-10-05 23:57 ✅
Responsable Stratégie des Affaires 21 14 % 100 % 0 % 2026-10-06 00:00 ✅
Wolseley Canada 21 0 % 100 % 0 % 2026-10-06 00:05 ✅
Search for 20 0 % 100 % 0 % 2026-10-06 01:11 ✅
Comptable en immobilier 20 5 % 100 % 0 % 2026-10-06 01:11 ✅
Fund Accountant / Comptable de Fonds 20 15 % 100 % 0 % 2026-10-06 02:01 ✅
Préparateur de commandes 20 10 % 90 % 0 % 2026-10-05 23:57 ✅
Alcoa Canada 19 16 % 47 % 0 % 2026-10-06 01:08 ✅
Groupeguilbault 19 0 % 100 % 0 % 2026-10-06 01:31 ✅
Hitachi 19 0 % 100 % 100 % 2026-10-06 01:41 ✅
Sanimax 19 32 % 100 % 0 % 2026-10-06 02:01 ✅
Sci 19 26 % 89 % 5 % 2026-10-06 02:02 ✅
Sandvik 19 5 % 16 % 0 % 2026-10-06 02:01 ✅
Airliquidehr 18 28 % 100 % 11 % 2026-10-06 01:07 ✅
GSK 17 0 % 88 % 0 % 2026-10-06 01:32 ✅
CAA-Québec 16 38 % 100 % 6 % 2026-10-06 01:12 ✅
Fieracapital 16 25 % 81 % 0 % 2026-10-06 01:28 ✅
Hubinternational 16 19 % 88 % 6 % 2026-10-06 01:41 ✅
Onelineage 16 6 % 100 % 0 % 2026-10-06 01:55 ✅
Ur 16 0 % 100 % 0 % 2026-10-06 00:00 ✅
Allstate Canada 15 20 % 73 % 27 % 2026-10-06 01:08 ✅
Alsglobal 15 7 % 93 % 13 % 2026-10-06 01:08 ✅
Responsable bilingue du marketing événementiel / Event ... 14 100 % 43 % 86 % 2026-10-06 01:28 ✅
JLL 13 0 % 69 % 100 % 2026-10-06 01:43 ✅
Comptable de projet / Project Accountant 13 15 % 92 % 0 % 2026-10-06 01:26 ✅
Cuisinier(ère) 2, Restaurant Marcus & Lounge (Sur appel) / Cook 2 ... 13 0 % 100 % 0 % 2026-10-06 01:28 ✅
Peoplecorporation 13 8 % 69 % 31 % 2026-10-06 01:56 ✅
Fempro (First Quality) 13 46 % 100 % 0 % 2026-10-06 01:28 ✅
Canadian Tire 12 75 % 92 % 0 % 2026-10-06 01:13 ✅
Aritzia 12 58 % 100 % 0 % 2026-10-06 01:09 ✅
Senior Azure Solution Architect (Montreal – French Speaking) 12 100 % 42 % 8 % 2026-10-06 01:06 ✅
Bridgestone 12 42 % 100 % 0 % 2026-10-06 01:12 ✅
Jci 12 92 % 92 % 8 % 2026-10-06 01:43 ✅
Abbott 11 18 % 91 % 45 % 2026-10-06 01:05 ✅
VF Corporation (The North Face, Vans) 11 100 % 100 % 0 % 2026-10-06 00:01 ✅
Administrateur comptable principal 11 0 % 100 % 0 % 2026-10-06 01:11 ✅
Comptable 11 0 % 100 % 0 % 2026-10-06 01:21 ✅
Gea 11 27 % 100 % 0 % 2026-10-06 01:29 ✅
Frigoriste 11 0 % 100 % 0 % 2026-10-06 00:01 ✅
Investissement Québec 10 0 % 100 % 0 % 2026-10-06 01:42 ✅
Colliers 10 0 % 100 % 0 % 2026-10-06 01:22 ✅
Fccfac 10 100 % 40 % 0 % 2026-10-06 01:27 ✅
Northbridgefinancial 10 0 % 100 % 0 % 2026-10-06 01:54 ✅
Ryder 10 100 % 20 % 0 % 2026-10-06 02:01 ✅
Swarovski 10 0 % 100 % 0 % 2026-10-05 23:57 ✅
JG Rive-Sud (GFS) 9 67 % 100 % 0 % 2026-10-06 01:43 ✅
Plusgrade 9 0 % 100 % 0 % 2026-10-06 01:56 ✅
Avisbudget 9 0 % 100 % 0 % 2026-10-06 01:10 ✅
Cadence 9 44 % 78 % 0 % 2026-10-06 01:12 ✅
Associé (e) d'entrepôt 9 78 % 89 % 0 % 2026-10-06 01:13 ✅
Coordinateur, Achats Numériques 9 89 % 89 % 22 % 2026-10-06 01:23 ✅
Huron 9 100 % 33 % 100 % 2026-10-06 01:41 ✅
Puma 9 100 % 100 % 0 % 2026-10-06 01:57 ✅
C.H. Guenther & Son 9 56 % 100 % 0 % 2026-10-06 01:19 ✅
Medavie 9 89 % 33 % 11 % 2026-10-06 01:52 ✅
Allegion 8 62 % 75 % 25 % 2026-10-06 01:08 ✅
Chef d'équipe Agile 8 0 % 100 % 0 % 2026-10-06 01:09 ✅
Blgllp 8 38 % 75 % 0 % 2026-10-06 01:11 ✅
Ciena 8 50 % 75 % 50 % 2026-10-06 01:19 ✅
Groupe Meloche 8 88 % 100 % 0 % 2026-10-06 01:52 ✅
Fonds de solidarité FTQ 7 0 % 100 % 100 % 2026-10-06 01:28 ✅
Pfizer Canada 7 100 % 57 % 14 % 2026-10-06 01:56 ✅
Raymond Chabot Grant Thornton 7 0 % 100 % 0 % 2026-10-06 01:59 ✅
Brasseries Sleeman (Unibroue) 7 14 % 86 % 0 % 2026-10-05 23:55 ✅
Cisco 7 100 % 29 % 29 % 2026-10-06 01:21 ✅
Chef de secteur 7 0 % 100 % 0 % 2026-10-06 01:32 ✅
Interpublic 7 57 % 86 % 100 % 2026-10-06 01:42 ✅
Msd 7 86 % 100 % 14 % 2026-10-06 01:53 ✅
Chanel 7 14 % 100 % 0 % 2026-10-06 01:17 ✅
Haemonetics 7 0 % 100 % 14 % 2026-10-06 01:38 ✅
Weir Group 7 29 % 57 % 71 % 2026-10-06 00:04 ✅
Church & Dwight Canada 6 0 % 100 % 0 % 2026-10-06 01:19 ✅
Rechercher des 6 0 % 100 % 50 % 2026-10-06 01:13 ✅
Cerence 6 67 % 33 % 67 % 2026-10-06 01:17 ✅
Avocat·e de litige / Litigation Associate 6 0 % 100 % 83 % 2026-10-06 01:21 ✅
Moneris 6 100 % 100 % 33 % 2026-10-06 01:53 ✅
TSYS 6 50 % 50 % 0 % 2026-10-06 00:00 ✅
Associé au Marketing et Opérations Clients – Est 5 100 % 100 % 0 % 2026-10-06 01:24 ✅
Logistics Associate 5 20 % 100 % 0 % 2026-10-06 01:39 ✅
Hpe 5 0 % 40 % 100 % 2026-10-06 01:41 ✅
Iqvia 5 100 % 80 % 0 % 2026-10-06 01:43 ✅
Nrfcanada 5 60 % 40 % 40 % 2026-10-06 01:54 ✅
Associé principal (Ressources de gestion) 5 0 % 60 % 20 % 2026-10-06 02:00 ✅
Testing, Automation and Cloud Validation 5 20 % 100 % 0 % 2026-10-05 23:54 ✅
Valmet 5 0 % 80 % 0 % 2026-10-06 00:01 ✅
Warner Bros. Discovery (WB Games Montréal) 5 0 % 100 % 100 % 2026-10-06 00:04 ✅
Aliaxis 5 40 % 80 % 0 % 2026-10-06 01:08 ✅
BDC 4 0 % 100 % 0 % 2026-10-06 01:11 ✅
CI Financial 4 0 % 100 % 0 % 2026-10-06 01:19 ✅
Danaher 4 50 % 50 % 0 % 2026-10-06 01:23 ✅
Enbridge 4 25 % 75 % 0 % 2026-10-06 01:26 ✅
Avocat en immigration d'affaires américaine 4 0 % 100 % 0 % 2026-10-06 01:28 ✅
Kiongroup 4 75 % 75 % 25 % 2026-10-06 01:49 ✅
Lighting 4 100 % 100 % 0 % 2026-10-06 01:50 ✅
Medline 4 100 % 100 % 25 % 2026-10-06 01:52 ✅
Motorolasolutions 4 75 % 75 % 0 % 2026-10-06 01:53 ✅
Air Traffic Control (ATC) 4 50 % 75 % 100 % 2026-10-06 01:53 ✅
Warehouse Team Member 4 0 % 100 % 0 % 2026-10-05 23:59 ✅
Innocap 4 0 % 100 % 0 % 2026-10-06 01:42 ✅
Malvern Panalytical (Spectris) 4 0 % 100 % 0 % 2026-10-05 23:56 ✅
Guillevin International 3 0 % 100 % 0 % 2026-10-06 01:38 ✅
Amgen 3 0 % 100 % 0 % 2026-10-06 01:09 ✅
Bdx 3 33 % 67 % 0 % 2026-10-06 01:11 ✅
Brambles 3 100 % 67 % 0 % 2026-10-06 01:12 ✅
Cdpqfiliales 3 0 % 100 % 0 % 2026-10-06 01:17 ✅
Conagrabrands 3 100 % 100 % 0 % 2026-10-06 01:22 ✅
Agent service à la clientèle et soutien comptable 3 33 % 100 % 33 % 2026-10-06 01:38 ✅
Michelin 3 0 % 100 % 100 % 2026-10-06 01:53 ✅
Sales Consultant Montreal 3 100 % 100 % 67 % 2026-10-06 01:53 ✅
Nortekinc 3 33 % 100 % 0 % 2026-10-06 01:54 ✅
Sbdinc 3 67 % 100 % 0 % 2026-10-06 02:02 ✅
Bilingual Fire Protection Sales Representative 3 67 % 100 % 100 % 2026-10-06 00:01 ✅
Zebra 3 100 % 100 % 0 % 2026-10-06 00:05 ✅
Carrier 3 67 % 67 % 100 % 2026-10-06 01:16 ✅
Equisoft 3 0 % 100 % 100 % 2026-10-06 01:27 ✅
ZOLL Medical 2 100 % 50 % 100 % 2026-10-06 00:05 ✅
3M 2 50 % 100 % 100 % 2026-10-06 00:05 ✅
Carters 2 0 % 100 % 0 % 2026-10-06 01:17 ✅
Dxctechnology 2 0 % 100 % 100 % 2026-10-06 01:26 ✅
Fednav 2 0 % 100 % 0 % 2026-10-06 01:27 ✅
Freseniusmedicalcare 2 0 % 100 % 100 % 2026-10-06 01:29 ✅
Gategroup 2 50 % 100 % 0 % 2026-10-06 01:29 ✅
Jj 2 100 % 100 % 0 % 2026-10-06 01:43 ✅
Medtronic 2 50 % 100 % 100 % 2026-10-06 01:52 ✅
Infirmier(ère), Salle de réveil 2 0 % 100 % 100 % 2026-10-05 23:54 ✅
Synnex 2 100 % 100 % 0 % 2026-10-05 23:57 ✅
Electromechanic 2 50 % 100 % 0 % 2026-10-05 23:59 ✅
HP 2 100 % 100 % 0 % 2026-10-06 01:41 ✅
Autorité des marchés financiers (AMF) 2 100 % 100 % 0 % 2026-10-06 01:50 ✅
Robover (ODL Canada) 2 0 % 100 % 0 % 2026-10-06 01:55 ✅
SBM Management 2 100 % 50 % 0 % 2026-10-06 02:02 ✅
Suncor Énergie 1 0 % 100 % 0 % 2026-10-05 23:57 ✅
Cineplex 1 0 % 100 % 0 % 2026-10-06 02:02 ✅
Cabotcorp 1 0 % 100 % 0 % 2026-10-06 01:12 ✅
Production Support Roles 1 0 % 100 % 0 % 2026-10-06 01:13 ✅
Dupont 1 100 % 100 % 0 % 2026-10-06 01:24 ✅
Associé aux ventes/Retail Sales Associate 1 0 % 100 % 0 % 2026-10-06 01:29 ✅
Gipi 1 100 % 100 % 0 % 2026-10-06 01:30 ✅
Kone 1 0 % 100 % 0 % 2026-10-06 01:49 ✅
Novartis 1 0 % 100 % 100 % 2026-10-06 01:54 ✅
Nutreco 1 0 % 100 % 0 % 2026-10-06 01:55 ✅
Agent(e) de liaison médicale et scientifique, biologiques – Québec ... 1 100 % 100 % 0 % 2026-10-06 01:55 ✅
Field Service Representative 1 0 % 100 % 0 % 2026-10-06 01:55 ✅
Prysmiangroup 1 0 % 100 % 0 % 2026-10-06 01:56 ✅
Republic 1 0 % 100 % 0 % 2026-10-06 02:00 ✅
Smucker 1 100 % 100 % 100 % 2026-10-05 23:55 ✅
Thales Canada 1 0 % 100 % 0 % 2026-10-05 23:59 ✅
Topbuild 1 100 % 100 % 0 % 2026-10-05 23:59 ✅
Warehouse Associate 1 0 % 100 % 0 % 2026-10-06 00:05 ✅
Arterra Wines Canada 1 0 % 100 % 0 % 2026-10-06 01:10 ✅
Cambria 1 0 % 100 % 0 % 2026-10-06 01:13 ✅
Patterson Companies 1 0 % 100 % 0 % 2026-10-06 01:55 ✅
Fiserv 0 — — — 2026-10-06 01:28 ✅
Shell Canada 0 — — — 2026-10-05 23:54 ✅
CoorsTek 0 — — — 2026-10-06 01:22 ✅
Gilead Sciences 0 — — — 2026-10-06 01:30 ✅
Imerys 0 — — — 2026-10-06 01:42 ✅
POOLCORP 0 — — — 2026-10-06 01:56 ✅
Alliance de la Fonction publique du Canada 0 — — — 2026-10-06 01:56 ✅
QuadReal (QuadReal Property Group) 0 — — — 2026-10-06 01:59 ✅
RBC 0 — — — 2026-10-06 01:59 ✅
Reddy Ice 0 — — — 2026-10-06 02:00 ✅
Silicon Labs 0 — — — 2026-10-05 23:55 ✅
Topcon 0 — — — 2026-10-05 23:59 ✅
TruGreen 0 — — — 2026-10-05 23:59 ✅
Zoetis 0 — — — 2026-10-06 00:05 ✅
Groupe Altus 0 — — — 2026-10-06 01:08 ✅
Loblaw (Provigo / Maxi) 0 — — — 2026-10-06 01:53 ✅
Reworld 0 — — — 2026-10-06 02:00 ✅
Simpson Strong-Tie 0 — — — 2026-10-06 02:02 ✅
Workwear Outfitters 0 — — — 2026-10-06 00:05 ✅

# Licence / conformité

Flux public du site carrières officiel de l'employeur (API JSON de l'ATS ou HTML rendu serveur) — le même contenu que la page carrière affiche publiquement, prévu pour la diffusion des offres, sans authentification. Chaque offre conserve son URL originale et le bouton « Postuler chez l'employeur » renvoie chez l'employeur. Aucune donnée personnelle de candidat n'est collectée. User-Agent identifié JobKaBot/1.0 (+https://www.job-ka.com; contact@spboucher.ai) sur les accès directs ; requêtes throttlées et plafonnées par budgets.

# Historique

Mission connecteurs du 2026-08-18 — passage de 135 à 217 employeurs directs connectés, de 9 à 17 plateformes ATS, ajout de 3 portails agrégateurs et du canal de dépôt direct :

  • fd4bfc8 qualité lieux : rejet des villes hors Québec, bâtiments McGill → Montréal ;
  • 5a66f48 +59 employeurs (sondage massif d'ATS + détection de pages carrières) ;
  • 4917d57 8 nouveaux ATS (Taleo, Njoyn, UltiPro, iCIMS, SuccessFactors, ADP WFN, Digital Recruiters, Workland) + 23 employeurs publics/parapublics ;
  • f6e7571 portails Guichet-Emplois, Jobillico, Espresso-Jobs — l'offre directe gagne toujours la canonique (dédup) ;
  • 744cbfc badge « Offre directe », stats directes/portails, dépôt direct employeurs ;
  • 1604ff9 reprise sur coupure WAF Guichet-Emplois (retry + acquis partiel).

Commits touchant jobka/connectors/workday.py :

  • c095c66 2026-09-28 [ka6] fix connecteur rbc: angle mort réel « poste multi-lieux » derrière un stale volume-QC-nul (1re intervention) — contrairement aux 19 faux positifs précédents, il y avait une VRAIE offre QC manquée. Contexte : site early talent Workday rbc.wd3/RBCEARLYTALENT1 (stages/co-op, médiane QC 0.5), l'unique offre QC en base (« 2027 Capital Markets, Global Markets Program Summer Analyst » R-0000180191, Montréal) dépubliée par RBC dans la nuit → found=0 ×2, sync_log VERT en continu (ok=1, 233+ syncs). Re-vérification live du board : 200 JSON, 46 postes (Toronto/USA/Malaisie), searchText=Quebec → 1 poste VIVANT : « 2027 Winter Change Management Intern (4 months) » R-0000186549, lieu principal MONTRÉAL Quebec + secondaire Toronto, publié 2026-09-10 — mais sa ligne de liste affiche locationsText=« 2 Locations » sans nommer les villes, que le filtre client is_quebec_location rejetait ; et ce tenant n'expose AUCUNE facette de province (State_Province sans Quebec ni Ontario) donc pas de filtre serveur possible. FIX dans workday.py (_keep) : repli sur le slug de lieu de l'externalPath (…/job/MONTRAL-Quebec-Canada/…, porte le lieu PRINCIPAL) quand le libellé est vide ou « N Locations » — zéro requête additionnelle, ne touche que les tenants filtrés client ; limite assumée documentée : un poste dont seul un lieu SECONDAIRE est QC reste manqué. La page détail remplace déjà « 2 Locations » par le vrai lieu (mécanique existante) → l'offre entre en base avec city=Montréal. Au passage, artefacts vague C corrigés (pattern ci/geox) : EMPLOYER 'Rbc' → 'RBC' (rbc.py, docstring re-vérif 2026-09-28 + chronologie), name 'Rbc' → 'RBC' et url vide → https://www.rbc.com (vérifié 200) dans sources.json — éditions ciblées, format préservé. Sync isolé rejoué : found=1 (added=1 puis stable ×2), ok=1, ~14 s ; non-régression Workday : cibc found=69 ≈ médiane 73. Fiches docs/connecteurs/ rbc.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
  • 4e9be24 2026-09-12 [ka6] fix connecteur altusgroup: external_id régional → ID de réquisition (hook _external_id dans la plateforme workday, défaut inchangé) — le tenant altusgroup.wd3 préfixe bulletFields par la région quand il y en a une (['Ontario','R0013639'] vs ['R0013942'] seul), si bien que bullets[0] devenait l'external_id : l'offre QC historique était en base sous external_id='Quebec', et le sync du 2026-08-26 trouvait 2 offres pour 1 seule stockée (collision d'ID entre postes d'une même région). L'extraction est désormais isolée dans un hook _external_id() de WorkdayConnector (comportement par défaut strictement identique pour les autres tenants) et surchargée dans altusgroup.py : premier bullet au format réquisition R+chiffres, sinon suffixe du chemin. Vérifié live : 36 postes scannés → 36 IDs uniques au format R00xxxxx, 0 poste non conforme. Volume 0 légitime AUJOURD'HUI : 7 postes Canada, tous Toronto — aucune offre QC depuis la dépublication de l'offre montréalaise le 2026-08-26 (médiane historique 0.0). Le statut stale vient de là (la supervision date le dernier succès au dernier sync found>0, 2026-08-26 14:19) ; l'unique échec récent (2026-09-12 03:04, « Workday non-JSON HTTP 200 text/html ») est la fenêtre de maintenance hebdomadaire Workday du vendredi/samedi nuit (28 occurrences multi-sources cette nuit, mêmes plages 02h30–03h15 les 2026-08-29 et 2026-09-05), transitoire et déjà retryée. Sync isolé rejoué : found=0 en 2,4 s, statut ok. 101 tests pytest verts. pm2 restart job-ka-sync OK, site 200.
  • f6c5978 2026-09-10 [ka6] fix connecteur dxctechnology: repli scan client quand le filtre serveur QC est factice dans la plateforme workday — le tenant dxctechnology (dxctechnology.wd1, site DXCJobs) expose une facette « locations » (Region, State or Province) qui liste « CAN - QC - MONTREAL » count=3 mais dont le filtre serveur renvoie total=0 pour N'IMPORTE QUELLE valeur (vérifié aussi avec DUBAI count=2 → 0) : facette d'affichage seulement. Le repli serveur ajouté ce matin pour jj (ec1b90d, déployé 04h18) sélectionnait cette facette factice → pagination filtrée vide → found=0 au sync de 04h45 (missed=3), statut stale, alors que les 3 offres Montréal existent toujours sur l'API. _list_pages détecte désormais le cas : si la première page filtrée serveur est vide alors que le listing non filtré annonçait des postes (total > 0), le filtre serveur est abandonné (une seule fois) et le scan client complet reprend (938 postes < plafond 60×20, is_quebec_location côté client). Sync rejoué : found=3 (médiane 3.0), les 3 offres réactivées miss_count=0. Non-régression : jj garde son repli serveur (found=1 en 1,9 s), desjardins sa facette province (found=270). pm2 restart job-ka-sync OK, site 200.
  • ec1b90d 2026-09-10 [ka6] fix connecteur jj: filtre serveur de repli par lieux ville dans la plateforme workday — le tenant jj (Johnson & Johnson, jj.wd5) n'expose AUCUNE facette province « Quebec », seulement une facette locations plate au niveau ville (« Montréal, Quebec, Canada ») ; sans filtre serveur, le scan client plafonné à max_pages=60 (1200 postes) ratait l'unique offre QC dès que le tenant a dépassé le plafond (1692 postes le 2026-09-10) → found=0, statut stale. _find_qc_facet agrège désormais, en repli seulement, toutes les valeurs de lieu québécoises (mêmes règles que is_quebec_location) en un filtre serveur unique. Sync rejoué : found=1 en 2,8 s (vs 0 en 72,5 s), offre R-089236 Montréal réactivée (miss_count=0) ; les 2 retraits (R-093383, R-081608) vérifiés réellement dépubliés sur l'API. Non-régression : desjardins garde sa facette province Region et rapporte 270 offres. pm2 restart job-ka-sync OK, site 200.
  • b5b4be3 2026-09-07 [ka6] fix connecteur firststudent: retry avec backoff sur 5xx transitoire dans la plateforme workday — un 500 isolé de l'API CXS (constaté 2026-09-07 18h18 sur firststudent.wd1, reparti seul) faisait échouer tout le sync car raise_for_status dans base.get/post court-circuitait le retry de _req_json (qui ne couvrait que le cas 200 non-JSON); les 4xx restent des échecs immédiats; sync rejoué: 35 offres (médiane 35.0)
  • c4d9bfc 2026-09-04 [ka6] snapshot pré-mission derumarketcatering
  • 86fc781 2026-09-04 Revert "[ka6] connecteur shrinerschildrens: maintenance tenant Workday (401 'system account', 2026-09-04 ~02h EDT, portail redirigé vers community.workday.com/maintenance-page) — retry+backoff du 401 de maintenance dans _req_json de la plateforme workday et erreur explicite dans sync_log; autres tenants wd12 non touchés (cabotcorp 4 offres vérifié)"
  • 540cb82 2026-09-04 [ka6] connecteur shrinerschildrens: maintenance tenant Workday (401 'system account', 2026-09-04 ~02h EDT, portail redirigé vers community.workday.com/maintenance-page) — retry+backoff du 401 de maintenance dans _req_json de la plateforme workday et erreur explicite dans sync_log; autres tenants wd12 non touchés (cabotcorp 4 offres vérifié)
  • 7217386 2026-08-31 [ka6] fix connecteur gsknch: reprise sur réponses Workday 200 non-JSON (fenêtres de maintenance nocturnes ~03h) — retry+backoff _req_json dans la plateforme workday, erreur diagnosticable, 11 offres retrouvées
  • 49067dd 2026-08-19 Connecteurs phase 2 — correctifs et enrichissement champ par champ. Correctifs : villes SuccessFactors à trait d'union (préfixe municipal MAMH sur le slug, bogue « St »/« Pointe »), colonne date Taleo = date LIMITE chez agnico_eagle (+ garde-fou date future). Enrichissement : SmartRecruiters experienceLevel/function/industry/language/refNumber (lignes de liste, zéro requête), BambooHR locationType→work_mode, Breezy is_remote/logo_url/streetAddress, JSON-LD logo/industry/educationRequirements/skills (portails+icims+DR), Ashby applyUrl + composantes Bonus/Equity/Commission, Lever applyUrl + blocs opening/additional + allLocations, Workable application_url + function/industry, Recruitee careers_apply_url + description FR (translations) + expérience/scolarité + heures/sem, Greenhouse language + requisition_id, Workday externalUrl→apply_url + work_mode via facette Remote Type + clé cache v2, Guichet-Emplois avantages structurés + langue de travail, njoyn apply_url en colonne ; secours cache périmé quand le budget détail est épuisé (plus de fiches vidées)
Files · 8d4d3df56873d5ae75f36cde0adbc07f28f6c8a3
Menu

Theme