SPB Git

spb/job-ka

Public
30.1 KB

# Plateforme ATS workday

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

# 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 :

  • 1119e5e9 2026-10-10 [ka6] snapshot pré-mission reddyice
  • c095c660 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.
  • 4e9be243 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.
  • f6c59780 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.
  • ec1b90d3 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.
  • b5b4be3a 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)
  • c4d9bfc3 2026-09-04 [ka6] snapshot pré-mission derumarketcatering
  • 86fc7812 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é)"
  • 540cb825 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é)
  • 7217386f 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
Files · 1d884f4cf546ffd26d0b424766272b23d4b60f10
Menu

Theme