SPB Git

spb/job-ka

Public

[ka6] fix connecteur niobec: frontal ADP intermittent PAR CID (4e cas, garde-fou retry borné répliqué) + correction d'un angle mort de culture — FORCE_CITY publiait l'offre talc de Timmins (ON) comme Saint-Honoré QC → bascule LANG en_US, found=0 = reflet exact de la source

Stale (2 échecs 404) : vert found=1 jusqu'à 21:24 EDT le 30/10 puis « default
backend - 404 » nginx sur la liste à 23:45 et 02:15 — fenêtre nocturne ADP
multi-tenants (nemaska_lithium, osgoode_properties, strathmore, uv_assurance,
canadian_royalties touchés 23:45→03:23) qui a dégénéré pour CE cid en frontal
intermittent (sonde 03:5x : liste ET détail 404 pendant que nemaska/abritek/
strathmore répondent 200 la même minute ; 1 essai sur 6 aboutit). Même panne
que bento_sushi/cookit/mitsubishi_hc_capital du 2026-10-26 (fiche
adp-frontal-intermittent-par-cid) : garde-fou _get_json répliqué à
l'identique (30 essais, pause 2 s, timeout 15 s, 404/502/503/504/timeout/
non-JSON), inerte hors panne. Sync rejoué : vert found=1 en 1,9 s.

2e découverte pendant la vérification bi-culture (fiche dayforce-partition-
culture appliquée à ADP) : le cid 099e24b7 est le board corporatif MAGRIS
(magrispm.com/careers y pointe en en_US), pas un board Niobec mono-site. La
culture fr_CA ne liste qu'1 réquisition sur 20 ET en omet les
requisitionLocations ; l'unique offre fr_CA (9204575399835_1 « Process
Engineer/Metallurgist », circuits de TALC) est localisée « Timmins, ON » en
en_US — publiée à tort comme Saint-Honoré QC via FORCE_CITY depuis la vague D.
Board en_US vérifié live : 20 offres, 19/19 avec locations, toutes
ON/CO/MT/TX/VT, zéro lieu QC. Correctif : LANG='en_US' (culture sur-ensemble,
le filtre Québec tranche sur le vrai lieu), FORCE_CITY retiré. Syncs rejoués
3× : ok=1 found=0 (1er passage 10,7 s = retries flaky au travail), offre
Timmins retirée au 2e passage (garde-fou 2-miss ; DRIFT_MIN_BASE=8 > médiane
1.0, retraits non suspendus). found=0 est désormais la VÉRITÉ de la source —
profil « ok=1 found=0 médiane ≤1 » : si niobec est re-signalé stale avec le
board en_US sans lieu QC, rien à faire, il reverdira à la prochaine embauche
QC de Magris/Niobec.

Fiches niobec.md/ats-adp.md/INDEX.md régénérées (1132 autres restaurées, hors
périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local
200, www.job-ka.com 200.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Oct 31, 2026) parent 2a5092f Browse files

4 changed files +132 −84

modified docs/connecteurs/INDEX.md +21 −21
@@ -5,16 +5,16 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/INDEX.md 6 Fichier : docs/connecteurs/INDEX.md
7 Rôle : Index généré de la documentation des connecteurs (ATS, employeurs, portails, dépôt) 7 Rôle : Index généré de la documentation des connecteurs (ATS, employeurs, portails, dépôt)
8−Généré : 2026-10-31 03:41 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-31 04:03 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 relancer le script pour régénérer. 9 relancer le script pour régénérer.
10 ============================================================================= 10 =============================================================================
11 --> 11 -->
12 12
13 # Job·Ka — Connecteurs (index) 13 # Job·Ka — Connecteurs (index)
14 14
15−> Index généré le 2026-10-31 03:41 EDT par `scripts/gen_connector_docs.py` (rejouable). Croise `data/sources.json`, l'introspection de `jobka/connectors/*.py` et la base live `data/jobka.db`. 15+> Index généré le 2026-10-31 04:03 EDT par `scripts/gen_connector_docs.py` (rejouable). Croise `data/sources.json`, l'introspection de `jobka/connectors/*.py` et la base live `data/jobka.db`.
16 16
17−**1103 employeurs directs** connectés via **27 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **25448 offres actives** (23018 directes, 2430 portails ; 101 masquées comme doublons inter-sources, soit 25347 visibles). 1135 fiches. 17+**1103 employeurs directs** connectés via **27 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **25369 offres actives** (22939 directes, 2430 portails ; 101 masquées comme doublons inter-sources, soit 25268 visibles). 1135 fiches.
18 18
19 Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conserve son URL originale ; la candidature se fait chez l'employeur (badge « Offre directe » sur les sources directes). 19 Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conserve son URL originale ; la candidature se fait chez l'employeur (badge « Offre directe » sur les sources directes).
20 20
@@ -22,13 +22,13 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
22 22
23 | Plateforme | Employeurs | Actives | Salaire | GPS | 23 | Plateforme | Employeurs | Actives | Salaire | GPS |
24 |---|---|---|---|---| 24 |---|---|---|---|---|
25−| [`workday`](ats-workday.md) | 232 | 7470 | 47 % | 88 % | 25+| [`workday`](ats-workday.md) | 232 | 7446 | 47 % | 88 % |
26−| [`smartrecruiters`](ats-smartrecruiters.md) | 171 | 2909 | 16 % | 99 % | 26+| [`smartrecruiters`](ats-smartrecruiters.md) | 171 | 2903 | 16 % | 99 % |
27 | [`workable`](ats-workable.md) | 71 | 1974 | 17 % | 100 % | 27 | [`workable`](ats-workable.md) | 71 | 1974 | 17 % | 100 % |
28−| [`dayforce`](ats-dayforce.md) | 129 | 1906 | 10 % | 100 % | 28+| [`dayforce`](ats-dayforce.md) | 129 | 1901 | 10 % | 100 % |
29 | [`successfactors`](ats-successfactors.md) | 12 | 1656 | 19 % | 99 % | 29 | [`successfactors`](ats-successfactors.md) | 12 | 1656 | 19 % | 99 % |
30 | [`njoyn`](ats-njoyn.md) | 11 | 1345 | 70 % | 87 % | 30 | [`njoyn`](ats-njoyn.md) | 11 | 1345 | 70 % | 87 % |
31−| [`workland`](ats-workland.md) | 1 | 1151 | 36 % | 100 % | 31+| [`workland`](ats-workland.md) | 1 | 1109 | 37 % | 100 % |
32 | [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 806 | 6 % | 100 % | 32 | [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 806 | 6 % | 100 % |
33 | [`greenhouse`](ats-greenhouse.md) | 132 | 792 | 19 % | 100 % | 33 | [`greenhouse`](ats-greenhouse.md) | 132 | 792 | 19 % | 100 % |
34 | [`lever`](ats-lever.md) | 58 | 622 | 20 % | 95 % | 34 | [`lever`](ats-lever.md) | 58 | 622 | 20 % | 95 % |
@@ -40,7 +40,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
40 | [`teamtailor`](ats-teamtailor.md) | 10 | 166 | 28 % | 96 % | 40 | [`teamtailor`](ats-teamtailor.md) | 10 | 166 | 28 % | 96 % |
41 | [`zoho_recruit`](ats-zoho_recruit.md) | 16 | 146 | 14 % | 86 % | 41 | [`zoho_recruit`](ats-zoho_recruit.md) | 16 | 146 | 14 % | 86 % |
42 | [`jazzhr`](ats-jazzhr.md) | 27 | 143 | 17 % | 91 % | 42 | [`jazzhr`](ats-jazzhr.md) | 27 | 143 | 17 % | 91 % |
43−| [`adp`](ats-adp.md) | 17 | 134 | 34 % | 91 % | 43+| [`adp`](ats-adp.md) | 17 | 132 | 33 % | 91 % |
44 | [`taleo`](ats-taleo.md) | 5 | 105 | 0 % | 100 % | 44 | [`taleo`](ats-taleo.md) | 5 | 105 | 0 % | 100 % |
45 | [`icims`](ats-icims.md) | 7 | 52 | 27 % | 98 % | 45 | [`icims`](ats-icims.md) | 7 | 52 | 27 % | 98 % |
46 | [`ultipro`](ats-ultipro.md) | 4 | 48 | 50 % | 100 % | 46 | [`ultipro`](ats-ultipro.md) | 4 | 48 | 50 % | 100 % |
@@ -63,7 +63,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
63 63
64 | Employeur | ATS | Actives | Salaire | GPS | Dernier sync OK | 64 | Employeur | ATS | Actives | Salaire | GPS | Dernier sync OK |
65 |---|---|---|---|---|---| 65 |---|---|---|---|---|---|
66−| [Réseau Atlas Workland (~80 employeurs QC : CSS, cégeps, Santé Québec, STQ, UQTR…)](atlas_workland.md) | [`workland`](ats-workland.md) | 1151 | 36 % | 100 % | ✅ | 66+| [Réseau Atlas Workland (~80 employeurs QC : CSS, cégeps, Santé Québec, STQ, UQTR…)](atlas_workland.md) | [`workland`](ats-workland.md) | 1109 | 37 % | 100 % | ✅ |
67 | [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 987 | 70 % | 68 % | ✅ | 67 | [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 987 | 70 % | 68 % | ✅ |
68 | [Solution SFT](solution_sft.md) | [`workable`](ats-workable.md) | 940 | 24 % | 99 % | ✅ | 68 | [Solution SFT](solution_sft.md) | [`workable`](ats-workable.md) | 940 | 24 % | 99 % | ✅ |
69 | [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 899 | 1 % | 100 % | ✅ | 69 | [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 899 | 1 % | 100 % | ✅ |
@@ -96,7 +96,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
96 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 114 | 98 % | 100 % | ❌ | 96 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 114 | 98 % | 100 % | ❌ |
97 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 112 | 83 % | 100 % | ✅ | 97 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 112 | 83 % | 100 % | ✅ |
98 | [Vidéotron](videotron.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 108 | 6 % | 100 % | ✅ | 98 | [Vidéotron](videotron.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 108 | 6 % | 100 % | ✅ |
99−| [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 104 | 82 % | 75 % | ✅ |
100 | [CISSS de Chaudière-Appalaches](cisss_chaudiere_appalaches.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 103 | 2 % | 100 % | ✅ | 99 | [CISSS de Chaudière-Appalaches](cisss_chaudiere_appalaches.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 103 | 2 % | 100 % | ✅ |
101 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 103 | 3 % | 100 % | ✅ | 100 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 103 | 3 % | 100 % | ✅ |
102 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 102 | 16 % | 100 % | ✅ | 101 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 102 | 16 % | 100 % | ✅ |
@@ -104,6 +103,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
104 | [Sépaq](sepaq.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 99 | 55 % | 8 % | ✅ | 103 | [Sépaq](sepaq.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 99 | 55 % | 8 % | ✅ |
105 | [CISSS de Lanaudière](cisss_lanaudiere.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 98 | 10 % | 100 % | ✅ | 104 | [CISSS de Lanaudière](cisss_lanaudiere.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 98 | 10 % | 100 % | ✅ |
106 | [Genetec](genetec_inc.md) | [`workable`](ats-workable.md) | 97 | 0 % | 100 % | ✅ | 105 | [Genetec](genetec_inc.md) | [`workable`](ats-workable.md) | 97 | 0 % | 100 % | ✅ |
106+| [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 96 | 80 % | 74 % | ✅ |
107 | [HIKINEX](recruiting.md) | [`breezy`](ats-breezy.md) | 91 | 0 % | 100 % | ✅ | 107 | [HIKINEX](recruiting.md) | [`breezy`](ats-breezy.md) | 91 | 0 % | 100 % | ✅ |
108 | [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 90 | 0 % | 100 % | ✅ | 108 | [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 90 | 0 % | 100 % | ✅ |
109 | [iA Groupe financier](ia_groupe.md) | [`workday`](ats-workday.md) | 90 | 100 % | 98 % | ✅ | 109 | [iA Groupe financier](ia_groupe.md) | [`workday`](ats-workday.md) | 90 | 100 % | 98 % | ✅ |
@@ -119,10 +119,10 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
119 | [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 74 | 26 % | 100 % | ✅ | 119 | [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 74 | 26 % | 100 % | ✅ |
120 | [Norda Stelo](nordastelo.md) | [`teamtailor`](ats-teamtailor.md) | 72 | 0 % | 97 % | ✅ | 120 | [Norda Stelo](nordastelo.md) | [`teamtailor`](ats-teamtailor.md) | 72 | 0 % | 97 % | ✅ |
121 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 70 | 91 % | 46 % | ✅ | 121 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 70 | 91 % | 46 % | ✅ |
122−| [BPA (Experts-conseils)](bpa.md) | [`dayforce`](ats-dayforce.md) | 68 | 0 % | 100 % | ✅ |
123 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 68 | 0 % | 100 % | ✅ | 122 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 68 | 0 % | 100 % | ✅ |
124 | [EMCO](emcocorporation.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 68 | 40 % | 100 % | ✅ | 123 | [EMCO](emcocorporation.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 68 | 40 % | 100 % | ✅ |
125 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 66 | 0 % | 100 % | ✅ | 124 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 66 | 0 % | 100 % | ✅ |
125+| [BPA (Experts-conseils)](bpa.md) | [`dayforce`](ats-dayforce.md) | 64 | 0 % | 100 % | ✅ |
126 | [Kiewit (Ganotec)](kiewit_ganotec.md) | [`successfactors`](ats-successfactors.md) | 62 | 0 % | 100 % | ✅ | 126 | [Kiewit (Ganotec)](kiewit_ganotec.md) | [`successfactors`](ats-successfactors.md) | 62 | 0 % | 100 % | ✅ |
127 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 61 | 28 % | 87 % | ✅ | 127 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 61 | 28 % | 87 % | ✅ |
128 | [McKesson Canada](mckesson.md) | [`workday`](ats-workday.md) | 60 | 82 % | 87 % | ✅ | 128 | [McKesson Canada](mckesson.md) | [`workday`](ats-workday.md) | 60 | 82 % | 87 % | ✅ |
@@ -135,15 +135,15 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
135 | [Galderma](galderma.md) | [`workday`](ats-workday.md) | 54 | 0 % | 100 % | ✅ | 135 | [Galderma](galderma.md) | [`workday`](ats-workday.md) | 54 | 0 % | 100 % | ✅ |
136 | [Techo-Bloc](techo_bloc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 54 | 41 % | 100 % | ✅ | 136 | [Techo-Bloc](techo_bloc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 54 | 41 % | 100 % | ✅ |
137 | [Gevernova](gevernova.md) | [`workday`](ats-workday.md) | 53 | 21 % | 98 % | ✅ | 137 | [Gevernova](gevernova.md) | [`workday`](ats-workday.md) | 53 | 21 % | 98 % | ✅ |
138−| [Beneva](beneva.md) | [`workday`](ats-workday.md) | 52 | 4 % | 100 % | ✅ |
139 | [CHU de Québec — Université Laval](chu_quebec.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 52 | 4 % | 100 % | ✅ | 138 | [CHU de Québec — Université Laval](chu_quebec.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 52 | 4 % | 100 % | ✅ |
140 | [Intelcom (Dragonfly)](intelcomgroup.md) | [`workday`](ats-workday.md) | 52 | 0 % | 100 % | ✅ | 139 | [Intelcom (Dragonfly)](intelcomgroup.md) | [`workday`](ats-workday.md) | 52 | 0 % | 100 % | ✅ |
141 | [Kruger](kruger.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 52 | 10 % | 100 % | ✅ | 140 | [Kruger](kruger.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 52 | 10 % | 100 % | ✅ |
142 | [Lightspeed Commerce](lightspeedhq.md) | [`ashby`](ats-ashby.md) | 52 | 4 % | 100 % | ✅ | 141 | [Lightspeed Commerce](lightspeedhq.md) | [`ashby`](ats-ashby.md) | 52 | 4 % | 100 % | ✅ |
143 | [PwC Canada](pwc.md) | [`workday`](ats-workday.md) | 52 | 100 % | 75 % | ❌ | 142 | [PwC Canada](pwc.md) | [`workday`](ats-workday.md) | 52 | 100 % | 75 % | ❌ |
144 | [Squarepoint Capital](squarepointcapital.md) | [`greenhouse`](ats-greenhouse.md) | 52 | 38 % | 100 % | ✅ | 143 | [Squarepoint Capital](squarepointcapital.md) | [`greenhouse`](ats-greenhouse.md) | 52 | 38 % | 100 % | ✅ |
145−| [Agropur](agropur.md) | [`workday`](ats-workday.md) | 50 | 98 % | 98 % | ✅ | 144+| [Agropur](agropur.md) | [`workday`](ats-workday.md) | 49 | 98 % | 98 % | ✅ |
146 | [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 48 | 0 % | 100 % | ✅ | 145 | [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 48 | 0 % | 100 % | ✅ |
146+| [Beneva](beneva.md) | [`workday`](ats-workday.md) | 48 | 4 % | 100 % | ✅ |
147 | [SOGECLAIR](sogeclair.md) | [`workable`](ats-workable.md) | 48 | 2 % | 100 % | ✅ | 147 | [SOGECLAIR](sogeclair.md) | [`workable`](ats-workable.md) | 48 | 2 % | 100 % | ✅ |
148 | [Cogeco](cogeco.md) | [`workday`](ats-workday.md) | 47 | 19 % | 45 % | ✅ | 148 | [Cogeco](cogeco.md) | [`workday`](ats-workday.md) | 47 | 19 % | 45 % | ✅ |
149 | [Laura Canada](lauracanada.md) | [`dayforce`](ats-dayforce.md) | 47 | 0 % | 100 % | ✅ | 149 | [Laura Canada](lauracanada.md) | [`dayforce`](ats-dayforce.md) | 47 | 0 % | 100 % | ✅ |
@@ -185,7 +185,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
185 | [KABS](kabs.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 34 | 0 % | 100 % | ✅ | 185 | [KABS](kabs.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 34 | 0 % | 100 % | ✅ |
186 | [QSL](qsl.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 34 | 32 % | 100 % | ✅ | 186 | [QSL](qsl.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 34 | 32 % | 100 % | ✅ |
187 | [Autodesk](autodesk.md) | [`eightfold`](ats-eightfold.md) | 33 | 88 % | 100 % | ✅ | 187 | [Autodesk](autodesk.md) | [`eightfold`](ats-eightfold.md) | 33 | 88 % | 100 % | ✅ |
188−| [Best Buy Canada](bestbuycanada.md) | [`workday`](ats-workday.md) | 33 | 0 % | 39 % | ✅ |
189 | [AccorHotel](accorhotel.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 32 | 59 % | 100 % | ✅ | 188 | [AccorHotel](accorhotel.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 32 | 59 % | 100 % | ✅ |
190 | [Advanceauto](advanceauto.md) | [`workday`](ats-workday.md) | 32 | 0 % | 38 % | ✅ | 189 | [Advanceauto](advanceauto.md) | [`workday`](ats-workday.md) | 32 | 0 % | 38 % | ✅ |
191 | [Industries Lassonde](lassonde.md) | [`custom`](ats-custom.md) | 32 | 34 % | 91 % | ✅ | 190 | [Industries Lassonde](lassonde.md) | [`custom`](ats-custom.md) | 32 | 34 % | 91 % | ✅ |
@@ -226,6 +225,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
226 | [AppDirect](appdirect.md) | [`greenhouse`](ats-greenhouse.md) | 24 | 25 % | 100 % | ✅ | 225 | [AppDirect](appdirect.md) | [`greenhouse`](ats-greenhouse.md) | 24 | 25 % | 100 % | ✅ |
227 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 24 | 100 % | 0 % | ✅ | 226 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 24 | 100 % | 0 % | ✅ |
228 | [Behaviour Interactif](bhvr.md) | [`lever`](ats-lever.md) | 24 | 0 % | 100 % | ✅ | 227 | [Behaviour Interactif](bhvr.md) | [`lever`](ats-lever.md) | 24 | 0 % | 100 % | ✅ |
228+| [Best Buy Canada](bestbuycanada.md) | [`workday`](ats-workday.md) | 24 | 0 % | 38 % | ✅ |
229 | [Directive](directive.md) | [`ashby`](ats-ashby.md) | 24 | 21 % | 0 % | ✅ | 229 | [Directive](directive.md) | [`ashby`](ats-ashby.md) | 24 | 21 % | 0 % | ✅ |
230 | [Exportation et développement Canada (EDC)](export_development_canada.md) | [`workable`](ats-workable.md) | 24 | 96 % | 100 % | ✅ | 230 | [Exportation et développement Canada (EDC)](export_development_canada.md) | [`workable`](ats-workable.md) | 24 | 96 % | 100 % | ✅ |
231 | [FedEx Express Canada](fedex.md) | [`workday`](ats-workday.md) | 24 | 100 % | 88 % | ✅ | 231 | [FedEx Express Canada](fedex.md) | [`workday`](ats-workday.md) | 24 | 100 % | 88 % | ✅ |
@@ -260,7 +260,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
260 | [Produits Labelink](labelink.md) | [`bamboohr`](ats-bamboohr.md) | 21 | 0 % | 100 % | ✅ | 260 | [Produits Labelink](labelink.md) | [`bamboohr`](ats-bamboohr.md) | 21 | 0 % | 100 % | ✅ |
261 | [Préparateur de commandes](sysco.md) | [`workday`](ats-workday.md) | 21 | 24 % | 86 % | ❌ | 261 | [Préparateur de commandes](sysco.md) | [`workday`](ats-workday.md) | 21 | 24 % | 86 % | ❌ |
262 | [Sales Associate III](tapestry.md) | [`workday`](ats-workday.md) | 21 | 100 % | 100 % | ✅ | 262 | [Sales Associate III](tapestry.md) | [`workday`](ats-workday.md) | 21 | 100 % | 100 % | ✅ |
263−| [Alcoa Canada](alcoa.md) | [`workday`](ats-workday.md) | 20 | 15 % | 45 % | ✅ |
264 | [Fund Accountant / Comptable de Fonds](sagardholdings.md) | [`workday`](ats-workday.md) | 20 | 15 % | 95 % | ✅ | 263 | [Fund Accountant / Comptable de Fonds](sagardholdings.md) | [`workday`](ats-workday.md) | 20 | 15 % | 95 % | ✅ |
265 | [Keywords Studios](keywords_intl1.md) | [`workable`](ats-workable.md) | 20 | 95 % | 100 % | ✅ | 264 | [Keywords Studios](keywords_intl1.md) | [`workable`](ats-workable.md) | 20 | 95 % | 100 % | ✅ |
266 | [Logm](logm.md) | [`dayforce`](ats-dayforce.md) | 20 | 75 % | 100 % | ✅ | 265 | [Logm](logm.md) | [`dayforce`](ats-dayforce.md) | 20 | 75 % | 100 % | ✅ |
@@ -274,6 +273,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
274 | [Ville de Gatineau](ville_gatineau.md) | [`njoyn`](ats-njoyn.md) | 20 | 100 % | 0 % | ✅ | 273 | [Ville de Gatineau](ville_gatineau.md) | [`njoyn`](ats-njoyn.md) | 20 | 100 % | 0 % | ✅ |
275 | [VinFast Canada](vinfastcanada.md) | [`dayforce`](ats-dayforce.md) | 20 | 25 % | 100 % | ✅ | 274 | [VinFast Canada](vinfastcanada.md) | [`dayforce`](ats-dayforce.md) | 20 | 25 % | 100 % | ✅ |
276 | [Vosker](vosker.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 20 | 0 % | 100 % | ✅ | 275 | [Vosker](vosker.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 20 | 0 % | 100 % | ✅ |
276+| [Alcoa Canada](alcoa.md) | [`workday`](ats-workday.md) | 19 | 16 % | 47 % | ✅ |
277 | [Groupe Nordik (Nordik Spa-Nature)](groupe_nordik.md) | [`adp`](ats-adp.md) | 19 | 26 % | 100 % | ✅ | 277 | [Groupe Nordik (Nordik Spa-Nature)](groupe_nordik.md) | [`adp`](ats-adp.md) | 19 | 26 % | 100 % | ✅ |
278 | [Groupeguilbault](groupeguilbault.md) | [`workday`](ats-workday.md) | 19 | 0 % | 100 % | ✅ | 278 | [Groupeguilbault](groupeguilbault.md) | [`workday`](ats-workday.md) | 19 | 0 % | 100 % | ✅ |
279 | [H&M](hmgroup.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 0 % | 100 % | ✅ | 279 | [H&M](hmgroup.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 0 % | 100 % | ✅ |
@@ -284,7 +284,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
284 | [Uniboard](uniboard.md) | [`adp`](ats-adp.md) | 19 | 32 % | 63 % | ✅ | 284 | [Uniboard](uniboard.md) | [`adp`](ats-adp.md) | 19 | 32 % | 63 % | ✅ |
285 | [Victoria Park Medispa](vicpark.md) | [`bamboohr`](ats-bamboohr.md) | 19 | 0 % | 100 % | ✅ | 285 | [Victoria Park Medispa](vicpark.md) | [`bamboohr`](ats-bamboohr.md) | 19 | 0 % | 100 % | ✅ |
286 | [Xsolla](xsolla.md) | [`lever`](ats-lever.md) | 19 | 100 % | 95 % | ✅ | 286 | [Xsolla](xsolla.md) | [`lever`](ats-lever.md) | 19 | 100 % | 95 % | ✅ |
287−| [AbbVie](abbvie.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 18 | 0 % | 100 % | ✅ |
288 | [ALS Global](alsglobal.md) | [`workday`](ats-workday.md) | 18 | 6 % | 94 % | ✅ | 287 | [ALS Global](alsglobal.md) | [`workday`](ats-workday.md) | 18 | 6 % | 94 % | ✅ |
289 | [Bell Textron Canada](bell_textron.md) | [`taleo`](ats-taleo.md) | 18 | 0 % | 100 % | ✅ | 288 | [Bell Textron Canada](bell_textron.md) | [`taleo`](ats-taleo.md) | 18 | 0 % | 100 % | ✅ |
290 | [CONTRÔLEUR](novatech.md) | [`dayforce`](ats-dayforce.md) | 18 | 39 % | 100 % | ✅ | 289 | [CONTRÔLEUR](novatech.md) | [`dayforce`](ats-dayforce.md) | 18 | 39 % | 100 % | ✅ |
@@ -366,12 +365,13 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
366 | [TransPerfect](transperfect.md) | [`recruitee`](ats-recruitee.md) | 13 | 0 % | 100 % | ✅ | 365 | [TransPerfect](transperfect.md) | [`recruitee`](ats-recruitee.md) | 13 | 0 % | 100 % | ✅ |
367 | [Triotech](triotech.md) | [`bamboohr`](ats-bamboohr.md) | 13 | 0 % | 100 % | ✅ | 366 | [Triotech](triotech.md) | [`bamboohr`](ats-bamboohr.md) | 13 | 0 % | 100 % | ✅ |
368 | [Work From Home Customer Service Representative](usasurveyjob.md) | [`lever`](ats-lever.md) | 13 | 15 % | 100 % | ✅ | 367 | [Work From Home Customer Service Representative](usasurveyjob.md) | [`lever`](ats-lever.md) | 13 | 15 % | 100 % | ✅ |
368+| [AbbVie](abbvie.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 12 | 0 % | 100 % | ✅ |
369 | [Aritzia](aritzia.md) | [`workday`](ats-workday.md) | 12 | 58 % | 100 % | ✅ | 369 | [Aritzia](aritzia.md) | [`workday`](ats-workday.md) | 12 | 58 % | 100 % | ✅ |
370 | [Artiste technique sénior·e UI / Senior UI Tech Artist](x2k.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 8 % | 100 % | ✅ | 370 | [Artiste technique sénior·e UI / Senior UI Tech Artist](x2k.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 8 % | 100 % | ✅ |
371 | [Avantage Plus](avantageplus.md) | [`recruitee`](ats-recruitee.md) | 12 | 17 % | 100 % | ✅ | 371 | [Avantage Plus](avantageplus.md) | [`recruitee`](ats-recruitee.md) | 12 | 17 % | 100 % | ✅ |
372 | [Aylo](aylo.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ | 372 | [Aylo](aylo.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
373 | [Aylo](aylofr.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ | 373 | [Aylo](aylofr.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
374−| [Bayshore HealthCare](bayshore.md) | [`taleo`](ats-taleo.md) | 12 | 0 % | 100 % | ❌ | 374+| [Bayshore HealthCare](bayshore.md) | [`taleo`](ats-taleo.md) | 12 | 0 % | 100 % | ✅ |
375 | [Brasseries Sleeman (Unibroue)](sleeman.md) | [`workday`](ats-workday.md) | 12 | 8 % | 92 % | ❌ | 375 | [Brasseries Sleeman (Unibroue)](sleeman.md) | [`workday`](ats-workday.md) | 12 | 8 % | 92 % | ❌ |
376 | [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ | 376 | [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
377 | [Evolving Web](evolving_web.md) | [`workable`](ats-workable.md) | 12 | 0 % | 100 % | ✅ | 377 | [Evolving Web](evolving_web.md) | [`workable`](ats-workable.md) | 12 | 0 % | 100 % | ✅ |
@@ -508,7 +508,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
508 | [Sweat Pants Agency](sweat_pants_agency.md) | [`workable`](ats-workable.md) | 8 | 25 % | 100 % | ✅ | 508 | [Sweat Pants Agency](sweat_pants_agency.md) | [`workable`](ats-workable.md) | 8 | 25 % | 100 % | ✅ |
509 | [Vendeur 3ème Clé (Thirdy Key)](fossil.md) | [`dayforce`](ats-dayforce.md) | 8 | 0 % | 100 % | ✅ | 509 | [Vendeur 3ème Clé (Thirdy Key)](fossil.md) | [`dayforce`](ats-dayforce.md) | 8 | 0 % | 100 % | ✅ |
510 | [WestGroupe](westgroupe.md) | [`jazzhr`](ats-jazzhr.md) | 8 | 0 % | 100 % | ✅ | 510 | [WestGroupe](westgroupe.md) | [`jazzhr`](ats-jazzhr.md) | 8 | 0 % | 100 % | ✅ |
511−| [Abritek](abritek.md) | [`adp`](ats-adp.md) | 7 | 100 % | 100 % | ✅ |
512 | [Allegion](allegion.md) | [`workday`](ats-workday.md) | 7 | 57 % | 86 % | ✅ | 511 | [Allegion](allegion.md) | [`workday`](ats-workday.md) | 7 | 57 % | 86 % | ✅ |
513 | [Alveole](alveole.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 100 % | 100 % | ✅ | 512 | [Alveole](alveole.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 100 % | 100 % | ✅ |
514 | [Artefact North America](artefactnoram.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 57 % | 100 % | ✅ | 513 | [Artefact North America](artefactnoram.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 57 % | 100 % | ✅ |
@@ -547,9 +546,9 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
547 | [Trigyn Technologies](trigyntechnologies1.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 0 % | 100 % | ✅ | 546 | [Trigyn Technologies](trigyntechnologies1.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 0 % | 100 % | ✅ |
548 | [Turner & Townsend](turnertownsend.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 29 % | 100 % | ✅ | 547 | [Turner & Townsend](turnertownsend.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 29 % | 100 % | ✅ |
549 | [Valtech](valtech.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 14 % | 100 % | ✅ | 548 | [Valtech](valtech.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 14 % | 100 % | ✅ |
549+| [Abritek](abritek.md) | [`adp`](ats-adp.md) | 6 | 100 % | 100 % | ✅ |
550 | [Accedian Networks](accediannetworks.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 6 | 0 % | 100 % | ✅ | 550 | [Accedian Networks](accediannetworks.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 6 | 0 % | 100 % | ✅ |
551 | [AJ Walter Aviation](ajwalter.md) | [`recruitee`](ats-recruitee.md) | 6 | 0 % | 100 % | ✅ | 551 | [AJ Walter Aviation](ajwalter.md) | [`recruitee`](ats-recruitee.md) | 6 | 0 % | 100 % | ✅ |
552−| [Aliaxis](aliaxis.md) | [`workday`](ats-workday.md) | 6 | 50 % | 83 % | ✅ |
553 | [Also Recrutement - Carrière](alsorecrutement.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 6 | 17 % | 50 % | ✅ | 552 | [Also Recrutement - Carrière](alsorecrutement.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 6 | 17 % | 50 % | ✅ |
554 | [Altitude Aerospace](altitudeaerospace.md) | [`jazzhr`](ats-jazzhr.md) | 6 | 0 % | 100 % | ✅ | 553 | [Altitude Aerospace](altitudeaerospace.md) | [`jazzhr`](ats-jazzhr.md) | 6 | 0 % | 100 % | ✅ |
555 | [Bain Magique](bainmagique.md) | [`greenhouse`](ats-greenhouse.md) | 6 | 67 % | 100 % | ✅ | 554 | [Bain Magique](bainmagique.md) | [`greenhouse`](ats-greenhouse.md) | 6 | 67 % | 100 % | ✅ |
@@ -594,6 +593,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
594 | [Adèle Express](adeleexpressfr.md) | [`recruitee`](ats-recruitee.md) | 5 | 60 % | 100 % | ✅ | 593 | [Adèle Express](adeleexpressfr.md) | [`recruitee`](ats-recruitee.md) | 5 | 60 % | 100 % | ✅ |
595 | [Agile DSS](agiledss.md) | [`recruitee`](ats-recruitee.md) | 5 | 0 % | 100 % | ✅ | 594 | [Agile DSS](agiledss.md) | [`recruitee`](ats-recruitee.md) | 5 | 0 % | 100 % | ✅ |
596 | [Aleanza Recrutement Durable](aleanzarecrutementdurable.md) | [`teamtailor`](ats-teamtailor.md) | 5 | 40 % | 100 % | ✅ | 595 | [Aleanza Recrutement Durable](aleanzarecrutementdurable.md) | [`teamtailor`](ats-teamtailor.md) | 5 | 40 % | 100 % | ✅ |
596+| [Aliaxis](aliaxis.md) | [`workday`](ats-workday.md) | 5 | 40 % | 80 % | ✅ |
597 | [Alo Yoga](aloyoga.md) | [`greenhouse`](ats-greenhouse.md) | 5 | 40 % | 60 % | ✅ | 597 | [Alo Yoga](aloyoga.md) | [`greenhouse`](ats-greenhouse.md) | 5 | 40 % | 60 % | ✅ |
598 | [Alphanumeric Systems](alphanumeric_systems.md) | [`breezy`](ats-breezy.md) | 5 | 100 % | 100 % | ✅ | 598 | [Alphanumeric Systems](alphanumeric_systems.md) | [`breezy`](ats-breezy.md) | 5 | 100 % | 100 % | ✅ |
599 | [Altitude Sports](altitude_sports.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 5 | 20 % | 100 % | ✅ | 599 | [Altitude Sports](altitude_sports.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 5 | 20 % | 100 % | ✅ |
@@ -790,7 +790,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
790 | [Adaptive Financial Consulting](adaptivefinancialconsulting.md) | [`greenhouse`](ats-greenhouse.md) | 2 | 0 % | 100 % | ✅ | 790 | [Adaptive Financial Consulting](adaptivefinancialconsulting.md) | [`greenhouse`](ats-greenhouse.md) | 2 | 0 % | 100 % | ✅ |
791 | [Administrateur Immobilier](gwlra.md) | [`dayforce`](ats-dayforce.md) | 2 | 0 % | 100 % | ✅ | 791 | [Administrateur Immobilier](gwlra.md) | [`dayforce`](ats-dayforce.md) | 2 | 0 % | 100 % | ✅ |
792 | [ADVENS](advens.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 2 | 0 % | 100 % | ✅ | 792 | [ADVENS](advens.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 2 | 0 % | 100 % | ✅ |
793−| [Air Canada Rouge](acadierouge.md) | [`dayforce`](ats-dayforce.md) | 2 | 50 % | 100 % | ✅ |
794 | [Amgen](amgen.md) | [`workday`](ats-workday.md) | 2 | 0 % | 100 % | ✅ | 793 | [Amgen](amgen.md) | [`workday`](ats-workday.md) | 2 | 0 % | 100 % | ✅ |
795 | [AON3D](aon3d.md) | [`greenhouse`](ats-greenhouse.md) | 2 | 0 % | 100 % | ✅ | 794 | [AON3D](aon3d.md) | [`greenhouse`](ats-greenhouse.md) | 2 | 0 % | 100 % | ✅ |
796 | [AON3D](aon3d_fr.md) | [`greenhouse`](ats-greenhouse.md) | 2 | 0 % | 100 % | ✅ | 795 | [AON3D](aon3d_fr.md) | [`greenhouse`](ats-greenhouse.md) | 2 | 0 % | 100 % | ✅ |
@@ -885,6 +884,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
885 | [AG Globe Services](agglobeservices.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ | 884 | [AG Globe Services](agglobeservices.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ |
886 | [Agapyo](agapyo.md) | [`greenhouse`](ats-greenhouse.md) | 1 | 0 % | 100 % | ✅ | 885 | [Agapyo](agapyo.md) | [`greenhouse`](ats-greenhouse.md) | 1 | 0 % | 100 % | ✅ |
887 | [Agence](agence_carrieres.md) | [`breezy`](ats-breezy.md) | 1 | 100 % | 100 % | ✅ | 886 | [Agence](agence_carrieres.md) | [`breezy`](ats-breezy.md) | 1 | 100 % | 100 % | ✅ |
887+| [Air Canada Rouge](acadierouge.md) | [`dayforce`](ats-dayforce.md) | 1 | 100 % | 100 % | ✅ |
888 | [Air Traffic Control (ATC)](navcanada.md) | [`workday`](ats-workday.md) | 1 | 0 % | 100 % | ✅ | 888 | [Air Traffic Control (ATC)](navcanada.md) | [`workday`](ats-workday.md) | 1 | 0 % | 100 % | ✅ |
889 | [Alan Canada](alan.md) | [`ashby`](ats-ashby.md) | 1 | 0 % | 100 % | ✅ | 889 | [Alan Canada](alan.md) | [`ashby`](ats-ashby.md) | 1 | 0 % | 100 % | ✅ |
890 | [Aliments Ouimet-Cordon Bleu inc.](cordonbleu.md) | [`bamboohr`](ats-bamboohr.md) | 1 | 100 % | 100 % | ✅ | 890 | [Aliments Ouimet-Cordon Bleu inc.](cordonbleu.md) | [`bamboohr`](ats-bamboohr.md) | 1 | 100 % | 100 % | ✅ |
@@ -972,7 +972,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
972 | [Nemaska Lithium](nemaska_lithium.md) | [`adp`](ats-adp.md) | 1 | 0 % | 100 % | ✅ | 972 | [Nemaska Lithium](nemaska_lithium.md) | [`adp`](ats-adp.md) | 1 | 0 % | 100 % | ✅ |
973 | [Next Generation Inc](next_generation_inc.md) | [`breezy`](ats-breezy.md) | 1 | 100 % | 100 % | ✅ | 973 | [Next Generation Inc](next_generation_inc.md) | [`breezy`](ats-breezy.md) | 1 | 100 % | 100 % | ✅ |
974 | [Nexxus Foods](nexxusfoods.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ | 974 | [Nexxus Foods](nexxusfoods.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ |
975−| [Niobec (Magris Performance Materials)](niobec.md) | [`adp`](ats-adp.md) | 1 | 100 % | 100 % | ❌ |
976 | [No Saint](no_saint.md) | [`ashby`](ats-ashby.md) | 1 | 0 % | 100 % | ✅ | 975 | [No Saint](no_saint.md) | [`ashby`](ats-ashby.md) | 1 | 0 % | 100 % | ✅ |
977 | [Novartis](novartis.md) | [`workday`](ats-workday.md) | 1 | 0 % | 100 % | ❌ | 976 | [Novartis](novartis.md) | [`workday`](ats-workday.md) | 1 | 0 % | 100 % | ❌ |
978 | [Nucor Rebar Fabrication (Harris Rebar)](harrisrebar.md) | [`dayforce`](ats-dayforce.md) | 1 | 0 % | 100 % | ✅ | 977 | [Nucor Rebar Fabrication (Harris Rebar)](harrisrebar.md) | [`dayforce`](ats-dayforce.md) | 1 | 0 % | 100 % | ✅ |
@@ -1113,6 +1112,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
1113 | [NATIONAL](national.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ | 1112 | [NATIONAL](national.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ |
1114 | [New Era Technology](neweratech.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ | 1113 | [New Era Technology](neweratech.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ |
1115 | [NielsenIQ](nielseniq.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 0 | — | — | ✅ | 1114 | [NielsenIQ](nielseniq.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 0 | — | — | ✅ |
1115+| [Niobec (Magris Performance Materials)](niobec.md) | [`adp`](ats-adp.md) | 0 | — | — | ✅ |
1116 | [Novisto Fr](novistofr.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ | 1116 | [Novisto Fr](novistofr.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ |
1117 | [Ocado Group](ocadogroup.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ | 1117 | [Ocado Group](ocadogroup.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ |
1118 | [Ogilvy Canada](ogilvycanada.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ | 1118 | [Ogilvy Canada](ogilvycanada.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ |
modified docs/connecteurs/ats-adp.md +19 −19
@@ -5,14 +5,14 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/ats-adp.md 6 Fichier : docs/connecteurs/ats-adp.md
7 Rôle : Fiche plateforme ATS adp — mécanique partagée + tableau des 17 tenants 7 Rôle : Fiche plateforme ATS adp — mécanique partagée + tableau des 17 tenants
8−Généré : 2026-10-26 17:48 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-31 04:03 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 relancer le script pour régénérer. 9 relancer le script pour régénérer.
10 ============================================================================= 10 =============================================================================
11 --> 11 -->
12 12
13 # Plateforme ATS `adp` 13 # Plateforme ATS `adp`
14 14
15−**17 employeurs connectés** via cette plateforme — **134 offres actives**. Module partagé : `jobka/connectors/adp.py` ; un employeur = une sous-classe d'environ 10 lignes. 15+**17 employeurs connectés** via cette plateforme — **132 offres actives**. Module partagé : `jobka/connectors/adp.py` ; un employeur = une sous-classe d'environ 10 lignes.
16 16
17 ## Description & mécanique 17 ## Description & mécanique
18 18
@@ -40,23 +40,23 @@ Généré : 2026-10-26 17:48 EDT par scripts/gen_connector_docs.py — NE PAS
40 40
41 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK | 41 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |
42 |---|---|---|---|---|---|---| 42 |---|---|---|---|---|---|---|
43−| [Groupe Nordik (Nordik Spa-Nature)](groupe_nordik.md) | 19 | 21 % | 100 % | 0 % | 2026-10-26 17:28 | ✅ | 43+| [Groupe Nordik (Nordik Spa-Nature)](groupe_nordik.md) | 19 | 26 % | 100 % | 0 % | 2026-10-31 01:39 | ✅ |
44−| [Uniboard](uniboard.md) | 19 | 32 % | 63 % | 0 % | 2026-10-26 15:44 | ✅ | 44+| [Uniboard](uniboard.md) | 19 | 32 % | 63 % | 0 % | 2026-10-31 03:19 | ✅ |
45−| [UV Assurance](uv_assurance.md) | 13 | 0 % | 100 % | 0 % | 2026-10-26 15:45 | ✅ | 45+| [Quincaillerie Richelieu](richelieu.md) | 17 | 0 % | 71 % | 0 % | 2026-10-31 02:38 | ✅ |
46−| [Strathmore](strathmore.md) | 12 | 42 % | 100 % | 8 % | 2026-10-26 15:39 | ✅ | 46+| [UV Assurance](uv_assurance.md) | 14 | 0 % | 100 % | 0 % | 2026-10-31 03:23 | ❌ |
47−| [Quincaillerie Richelieu](richelieu.md) | 12 | 0 % | 100 % | 0 % | 2026-10-26 15:33 | ✅ | 47+| [Cook It](cookit.md) | 10 | 60 % | 100 % | 0 % | 2026-10-31 01:26 | ✅ |
48−| [Cook It](cookit.md) | 11 | 64 % | 100 % | 0 % | 2026-10-26 17:13 | ✅ | 48+| [H2O Innovation](h2o_innovation.md) | 9 | 0 % | 100 % | 0 % | 2026-10-31 01:47 | ✅ |
49−| [Canadian Royalties](canadian_royalties.md) | 10 | 40 % | 100 % | 0 % | 2026-10-26 17:01 | ✅ | 49+| [Strathmore](strathmore.md) | 9 | 44 % | 100 % | 0 % | 2026-10-31 03:00 | ✅ |
50−| [H2O Innovation](h2o_innovation.md) | 9 | 11 % | 100 % | 0 % | 2026-10-26 17:35 | ✅ | 50+| [Bento Sushi](bento_sushi.md) | 8 | 88 % | 100 % | 0 % | 2026-10-31 03:56 | ✅ |
51−| [Bento Sushi](bento_sushi.md) | 8 | 88 % | 100 % | 0 % | 2026-10-26 16:59 | ✅ | 51+| [MSI Gestion immobilière](msi_gestion.md) | 6 | 100 % | 100 % | 50 % | 2026-10-31 02:12 | ✅ |
52−| [MSI Gestion immobilière](msi_gestion.md) | 6 | 100 % | 100 % | 50 % | 2026-10-26 15:25 | ✅ | 52+| [Canadian Royalties](canadian_royalties.md) | 6 | 33 % | 100 % | 0 % | 2026-10-31 01:18 | ❌ |
53−| [Cultures Gen V](cultures_genv.md) | 5 | 20 % | 100 % | 0 % | 2026-10-26 17:13 | ✅ | 53+| [Abritek](abritek.md) | 6 | 100 % | 100 % | 0 % | 2026-10-31 03:43 | ✅ |
54−| [Abritek](abritek.md) | 5 | 100 % | 100 % | 0 % | 2026-10-26 16:51 | ✅ | 54+| [Cultures Gen V](cultures_genv.md) | 5 | 20 % | 100 % | 0 % | 2026-10-31 01:27 | ✅ |
55−| [Mitsubishi HC Capital Canada](mitsubishi_hc_capital.md) | 1 | 0 % | 100 % | 0 % | 2026-10-26 17:47 | ✅ | 55+| [Mitsubishi HC Capital Canada](mitsubishi_hc_capital.md) | 1 | 0 % | 100 % | 0 % | 2026-10-31 02:08 | ✅ |
56−| [Osgoode Properties](osgoode_properties.md) | 1 | 100 % | 100 % | 0 % | 2026-10-26 15:28 | ✅ | 56+| [Osgoode Properties](osgoode_properties.md) | 1 | 100 % | 100 % | 0 % | 2026-10-31 02:24 | ❌ |
57−| [Niobec (Magris Performance Materials)](niobec.md) | 1 | 100 % | 100 % | 0 % | 2026-10-26 15:26 | ✅ | 57+| [Nemaska Lithium](nemaska_lithium.md) | 1 | 0 % | 100 % | 0 % | 2026-10-31 02:15 | ✅ |
58−| [Nemaska Lithium](nemaska_lithium.md) | 1 | 0 % | 100 % | 0 % | 2026-10-26 15:26 | ✅ | 58+| [Triple Boris](triple_boris.md) | 1 | 0 % | 100 % | 0 % | 2026-10-31 03:15 | ✅ |
59−| [Triple Boris](triple_boris.md) | 1 | 0 % | 100 % | 0 % | 2026-10-26 15:43 | ✅ | 59+| [Niobec (Magris Performance Materials)](niobec.md) | 0 | — | — | — | 2026-10-31 04:03 | ✅ |
60 60
61 ## Licence / conformité 61 ## Licence / conformité
62 62
modified docs/connecteurs/niobec.md +12 −39
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/niobec.md 6 Fichier : docs/connecteurs/niobec.md
7 Rôle : Fiche connecteur — Niobec (Magris Performance Materials) (employeur direct, ATS adp) 7 Rôle : Fiche connecteur — Niobec (Magris Performance Materials) (employeur direct, ATS adp)
8−Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-31 04:03 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 relancer le script pour régénérer. 9 relancer le script pour régénérer.
10 ============================================================================= 10 =============================================================================
11 --> 11 -->
@@ -32,40 +32,13 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
32 | `CCID` | `19000101_000001` | 32 | `CCID` | `19000101_000001` |
33 | `CID` | `099e24b7-1868-4283-a5d0-994ec5a80995` | 33 | `CID` | `099e24b7-1868-4283-a5d0-994ec5a80995` |
34 | `EMPLOYER` | `Niobec (Magris Performance Materials)` | 34 | `EMPLOYER` | `Niobec (Magris Performance Materials)` |
35−| `FORCE_CITY` | `Saint-Honoré` | 35+| `LANG` | `en_US` |
36−| `LANG` | `fr_CA` |
37 - **Throttle** : 1.0 s entre requêtes. 36 - **Throttle** : 1.0 s entre requêtes.
38 - **Filtre Québec** : seuls les postes localisés au Québec sont conservés (facette serveur quand l'ATS en offre une, sinon `is_quebec_location` côté client). 37 - **Filtre Québec** : seuls les postes localisés au Québec sont conservés (facette serveur quand l'ATS en offre une, sinon `is_quebec_location` côté client).
39 38
40 ## Champs → schéma 39 ## Champs → schéma
41 40
42−Complétude mesurée sur les **1 offres actives** de la source (base live, 2026-10-14 18:40 EDT). 41+*Aucune offre active en base pour cette source.*
43−
44−| Champ (`jobs.*`) | Rôle | Complétude |
45−|---|---|---|
46−| `title` — Titre | titre du poste | 100 % |
47−| `employer` — Employeur | nom de l'entreprise | 100 % |
48−| `url` — URL | lien direct vers l'offre originale | 100 % |
49−| `description` — Description | texte complet (HTML nettoyé) | 100 % |
50−| `city` — Ville | municipalité normalisée | 100 % |
51−| `region` — Région | région administrative | 100 % |
52−| `address` — Adresse | adresse du lieu de travail | 0 % |
53−| `postal_code` — Code postal | code postal si publié | 0 % |
54−| `work_mode` — Mode | presentiel / hybride / teletravail | 0 % |
55−| `employment_type` — Type | temps_plein / temps_partiel / … | 100 % |
56−| `salary` — Salaire ($) | bornes numériques normalisées $/h et $/an | 100 % |
57−| `salary_label` — Libellé salaire | texte salarial original | 0 % |
58−| `benefits` — Avantages | avantages sociaux publiés (JSON) | 0 % |
59−| `requirements` — Exigences | scolarité, expérience, langues (JSON) | 100 % |
60−| `date_posted` — Date de parution | ISO 8601 | 100 % |
61−| `date_deadline` — Date limite | date limite pour postuler | 0 % |
62−| `category` — Catégorie | taxonomie interne (TI, Santé, …) | 100 % |
63−| `language` — Langue | fr / en / bilingue (source ou heuristique) | 100 % |
64−| `company_logo` — Logo employeur | URL du logo si exposé par la source | 0 % |
65−| `apply_url` — Candidature | lien de candidature directe | 0 % |
66−| `gps` — GPS | lat/lng (géocodage sans invention) | 100 % |
67−
68−Exemple réel : *Process Engineer/Metallurgist* — Saint-Honoré · ∅ · parue le 2025-10-23.
69 42
70 ## Fréquence & budgets 43 ## Fréquence & budgets
71 44
@@ -80,15 +53,15 @@ Exemple réel : *Process Engineer/Metallurgist* — Saint-Honoré · ∅ · paru
80 53
81 ## Volumétrie & complétude live 54 ## Volumétrie & complétude live
82 55
83−*(mesuré le 2026-10-14 18:40 EDT dans `data/jobka.db`)* 56+*(mesuré le 2026-10-31 04:03 EDT dans `data/jobka.db`)*
84 57
85−- **Offres en base** : 1 (dont **1 actives**, 0 masquées comme doublons `dup_of`) 58+- **Offres en base** : 1 (dont **0 actives**, 0 masquées comme doublons `dup_of`)
86−- **Salaire** : 1/1 actives (100 %) 59+- **Salaire** : 0/0 actives (—)
87−- **GPS** : 1/1 actives (100 %) 60+- **GPS** : 0/0 actives (—)
88−- **Mode** : 0/1 actives (0 %) 61+- **Mode** : 0/0 actives (—)
89−- **Parution** : 1/1 actives (100 %) 62+- **Parution** : 0/0 actives (—)
90−- **Dernier sync** : 2026-10-14 15:45 — trouvées 1, +0, ~0, -0 63+- **Dernier sync** : 2026-10-31 04:03 — trouvées 0, +0, ~0, -0
91−- **Syncs enregistrés** (`sync_log`) : 469 64+- **Syncs enregistrés** (`sync_log`) : 616
92 65
93 ## Erreurs & dépannage 66 ## Erreurs & dépannage
94 67
@@ -96,7 +69,7 @@ Erreurs relevées dans `sync_log` :
96 69
97 | Erreur | Occurrences | Dernière fois | 70 | Erreur | Occurrences | Dernière fois |
98 |---|---|---| 71 |---|---|---|
99−| 404 Client Error: Not Found for url: https://workforcenow.adp.com/mascsr/default/careercen… | 1 | 2026-10-10 02:00 | 72+| 404 Client Error: Not Found for url: https://workforcenow.adp.com/mascsr/default/careercen… | 3 | 2026-10-31 02:15 |
100 | Expecting value: line 1 column 1 (char 0) | 2 | 2026-08-29 22:52 | 73 | Expecting value: line 1 column 1 (char 0) | 2 | 2026-08-29 22:52 |
101 | ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')) | 1 | 2026-08-29 02:25 | 74 | ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')) | 1 | 2026-08-29 02:25 |
102 75
modified jobka/connectors/niobec.py +80 −5
@@ -3,10 +3,11 @@
3 # Auteur : Simon-Pierre Boucher 3 # Auteur : Simon-Pierre Boucher
4 # Contact : contact@spboucher.ai 4 # Contact : contact@spboucher.ai
5 # Fichier : jobka/connectors/niobec.py 5 # Fichier : jobka/connectors/niobec.py
6−# Rôle : Connecteur Niobec (Magris Performance Materials) — mine de niobium, 6+# Rôle : Connecteur Niobec (Magris Performance Materials) — mine de niobium
7−# Saint-Honoré (Saguenay) — ADP WFN + repli « détail seulement » 7+# à Saint-Honoré (Saguenay), board ADP WFN corporatif Magris
8−# quand l'API liste échoue (maintenances nocturnes ADP) 8+# multi-sites filtré Québec + repli « détail seulement » quand
9−# Créé : 2026-08-25 Modifié : 2026-08-30 9+# l'API liste échoue (maintenances nocturnes ADP)
10+# Créé : 2026-08-25 Modifié : 2026-10-31
10 # ============================================================================= 11 # =============================================================================
11 """Niobec (Magris Performance Materials) — ADP Workforce Now, avec repli. 12 """Niobec (Magris Performance Materials) — ADP Workforce Now, avec repli.
12 13
@@ -30,9 +31,49 @@ sorry.adp.com), l'erreur d'origine est propagée pour que le sync reste un
30 échec (inventaire préservé). Limite assumée : le repli ne découvre pas les 31 échec (inventaire préservé). Limite assumée : le repli ne découvre pas les
31 NOUVELLES offres — le chemin liste normal reprend seul au cycle suivant la 32 NOUVELLES offres — le chemin liste normal reprend seul au cycle suivant la
32 fin de la maintenance. 33 fin de la maintenance.
34+
35+Chronologie (mission ka6 2026-10-31) : 4e tenant ADP de l'app touché par le
36+frontal intermittent PAR CID (même panne que bento_sushi 64f53c8f, cookit
37+7873198d et mitsubishi_hc_capital du 2026-10-26 — pool backend malade côté
38+ADP, « default backend - 404 » nginx de 150 octets). Vert found=1 en continu
39+jusqu'à 21:24 EDT le 30/10, puis 404 franc sur la liste à 23:45 et 02:15 ;
40+le repli « détail seulement » ci-dessus laisse volontairement passer les
41+4xx, d'où le stale. Sonde live 03:5x : liste ET détail 404 pour CE cid
42+pendant que nemaska_lithium/abritek/strathmore répondent 200 à la même
43+minute ; sur 6 essais, 1 seul a abouti (200 JSON, jobRequisitions non vide
44+avec un NOUVEL itemID 9207369420912_2) — intermittence ~1/6, pas une panne
45+totale. La page carrières officielle www.magrispm.com/careers référence
46+toujours ce cid : tenant vivant, aucune migration. Garde-fou répliqué des
47+trois frères : `_get_json` retente jusqu'à 30 fois (pause 2 s) sur
48+404/502/503/504/timeout/non-JSON, timeout abaissé 30→15 s pour borner les
49+connexions qui pendent. Dormant dès que le frontal est sain (1er essai OK =
50+zéro surcoût) ; un sync vert ne coûte qu'UN appel liste (détails en cache
51+BD). NE PAS retirer ce garde-fou si un futur scan le croise : il est inerte
52+hors panne.
53+
54+Même mission, 2e découverte — FORCE_CITY était FAUX pour ce tenant : le cid
55+099e24b7 n'est PAS un board Niobec mono-site mais le board corporatif
56+MAGRIS (www.magrispm.com/careers y pointe en lang=en_US ; niobec.com
57+redirige vers magrispm.com/niobec). La culture fr_CA est un angle mort
58+double : elle ne liste qu'1 réquisition sur 20 ET en omet les
59+requisitionLocations — l'unique offre fr_CA (9204575399835_1 « Process
60+Engineer/Metallurgist », circuits de broyage/flottation de TALC = usine de
61+Timmins) est localisée « Timmins, ON » dans la culture en_US, et était
62+publiée à tort comme Saint-Honoré QC via FORCE_CITY. Vérifié live
63+2026-10-31 : board en_US = 20 offres, 19/19 avec locations, toutes
64+ON/CO/MT/TX/VT, ZÉRO lieu QC. Correctif : LANG='en_US' (culture
65+sur-ensemble, locations fiables, le filtre Québec de la plateforme tranche
66+sur le vrai lieu) et FORCE_CITY retiré (sur un board corporatif
67+multi-sites, forcer une ville invente une donnée). found=0 est désormais le
68+reflet EXACT de la source — profil « ok=1 found=0 médiane ≤1 » (fiche
69+stale-volume-zero-faux-positif) : si niobec est re-signalé stale avec le
70+board en_US sans lieu QC, RIEN À FAIRE, il reverdira seul à la prochaine
71+embauche québécoise de Magris/Niobec.
33 """ 72 """
34 from __future__ import annotations 73 from __future__ import annotations
35 74
75+import time
76+
36 import requests 77 import requests
37 78
38 from ..schema import JobPosting, clean_html 79 from ..schema import JobPosting, clean_html
@@ -44,7 +85,41 @@ class NiobecConnector(ADPWorkforceNowConnector):
44 EMPLOYER = "Niobec (Magris Performance Materials)" 85 EMPLOYER = "Niobec (Magris Performance Materials)"
45 CID = "099e24b7-1868-4283-a5d0-994ec5a80995" 86 CID = "099e24b7-1868-4283-a5d0-994ec5a80995"
46 CCID = "19000101_000001" 87 CCID = "19000101_000001"
47− FORCE_CITY = "Saint-Honoré" # mine mono-site Saint-Honoré (Saguenay) : l'API n'expose aucune localisation 88+ # Board corporatif Magris multi-sites (QC/ON/CO/MT/TX/VT) : la culture
89+ # fr_CA masque 19 réquisitions sur 20 ET leurs locations — en_US est le
90+ # sur-ensemble fiable. PAS de FORCE_CITY : forcer Saint-Honoré publiait
91+ # l'offre talc de Timmins (ON) comme québécoise (voir docstring).
92+ LANG = "en_US"
93+
94+ # Frontal ADP intermittent pour CE tenant (2026-10-31) : mêmes bornes que
95+ # bento_sushi/cookit/mitsubishi_hc_capital — les 404 échouent vite (<1 s),
96+ # le timeout court borne les connexions qui pendent, et un sync vert ne
97+ # coûte qu'UN appel liste (détails en cache BD).
98+ timeout = 15
99+ _FLAKY_TRIES = 30
100+ _FLAKY_PAUSE = 2.0
101+
102+ def _get_json(self, url: str, params: dict) -> dict:
103+ last: Exception | None = None
104+ for attempt in range(self._FLAKY_TRIES):
105+ if attempt:
106+ time.sleep(self._FLAKY_PAUSE)
107+ try:
108+ return super()._get_json(url, params)
109+ except requests.HTTPError as exc:
110+ status = getattr(exc.response, "status_code", None)
111+ if status not in (404, 502, 503, 504):
112+ raise
113+ last = exc
114+ except (requests.Timeout, requests.ConnectionError) as exc:
115+ last = exc
116+ except RuntimeError as exc:
117+ # « ADP non-JSON après 3 essais » de la classe de base :
118+ # même frontal malade, même traitement.
119+ if not str(exc).startswith("ADP non-JSON"):
120+ raise
121+ last = exc
122+ raise last
48 123
49 def fetch(self) -> list[JobPosting]: 124 def fetch(self) -> list[JobPosting]:
50 try: 125 try:
51 126
Menu

Theme