SPB Git

spb/job-ka

Public

[ka6] fix connecteur valtech: board Greenhouse disparu de l'API publique (migration silo EU cassée) → bascule sur le site carrières officiel valtech.com, IDs Greenhouse préservés — vert found=7 (= médiane 7.0)

Chronologie : vert found=7 en continu jusqu'à 10:11 EDT le 2026-10-30, puis
404 « Job board not found » sur boards-api.greenhouse.io/v1/boards/valtech
dès 11:53 (2 échecs consécutifs, stale). Diagnostic : le tenant vit sur le
silo EU de Greenhouse (les absolute_url pointaient déjà sur
job-boards.eu.greenhouse.io/valtech) mais TOUT le board y renvoie 500
?error=true (liste, détail, embed — un slug bidon donne 404, donc le board
existe mais n'est plus servi), alors que l'API globale sert d'autres
tenants EU (riverlane, eversports vérifiés 200) et que status.greenhouse.io
est vert : board désactivé/mal migré côté Greenhouse, aucun slug de
remplacement (Google n'indexe que « valtech », le site de l'employeur
génère encore ces URLs). Réparation (doctrine autodesk→eightfold : suivre
l'employeur) : fetch() réécrit sur le site carrières officiel —
liste JSON /joblist/getjsonresult (paginée, 147 offres monde, garde-fou
structure = erreur franche jamais un faux 0) + pages détail SSR
/en-ca/career/jobs/<ghid>/ (description complète dans article.rte-block,
datePosted JSON-LD = first_published Greenhouse vérifié, cache BD). Les IDs
Greenhouse survivent en fin d'URL → continuité totale des external_id :
sync isolé vert ok=1 found=7 updated=7 removed=0 en 14,8 s, les MÊMES
7 offres actives (Montréal) qu'avant la panne, URLs repointées vers
valtech.com (les anciennes job-boards.eu 500ent), dates de parution
intactes (ex. 4999182101 → 2026-10-07). careers_url de sources.json
repointée. Fiches valtech.md/ats-greenhouse.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 30, 2026) parent 86247d4 Browse files

5 changed files +330 −207

modified data/sources.json +1 −1
@@ -2875,7 +2875,7 @@
2875 2875 "id": "valtech",
2876 2876 "name": "Valtech",
2877 2877 "url": "",
2878 − "careers_url": "https://job-boards.greenhouse.io/valtech",
2878 + "careers_url": "https://www.valtech.com/en-ca/career/jobs/",
2879 2879 "sectors": [
2880 2880 "TI"
2881 2881 ],
modified docs/connecteurs/INDEX.md +52 −52
@@ -5,16 +5,16 @@ Auteur : Simon-Pierre Boucher
5 5 Contact : contact@spboucher.ai
6 6 Fichier : docs/connecteurs/INDEX.md
7 7 Rôle : Index généré de la documentation des connecteurs (ATS, employeurs, portails, dépôt)
8 −Généré : 2026-10-30 14:33 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
8 +Généré : 2026-10-30 15:13 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
12 12
13 13 # Job·Ka — Connecteurs (index)
14 14
15 −> Index généré le 2026-10-30 14:33 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-30 15:13 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** — **25003 offres actives** (23115 directes, 1888 portails ; 99 masquées comme doublons inter-sources, soit 24904 visibles). 1135 fiches.
17 +**1103 employeurs directs** connectés via **27 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **25021 offres actives** (23133 directes, 1888 portails ; 99 masquées comme doublons inter-sources, soit 24922 visibles). 1135 fiches.
18 18
19 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,28 +22,28 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
22 22
23 23 | Plateforme | Employeurs | Actives | Salaire | GPS |
24 24 |---|---|---|---|---|
25 −| [`workday`](ats-workday.md) | 232 | 7478 | 47 % | 88 % |
26 −| [`smartrecruiters`](ats-smartrecruiters.md) | 171 | 2952 | 16 % | 99 % |
27 −| [`workable`](ats-workable.md) | 71 | 1969 | 17 % | 100 % |
28 −| [`dayforce`](ats-dayforce.md) | 129 | 1926 | 10 % | 100 % |
29 −| [`successfactors`](ats-successfactors.md) | 12 | 1670 | 19 % | 99 % |
30 −| [`njoyn`](ats-njoyn.md) | 11 | 1323 | 71 % | 87 % |
31 −| [`workland`](ats-workland.md) | 1 | 1164 | 36 % | 100 % |
32 −| [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 818 | 6 % | 100 % |
33 −| [`greenhouse`](ats-greenhouse.md) | 132 | 791 | 19 % | 100 % |
25 +| [`workday`](ats-workday.md) | 232 | 7493 | 47 % | 87 % |
26 +| [`smartrecruiters`](ats-smartrecruiters.md) | 171 | 2955 | 15 % | 99 % |
27 +| [`workable`](ats-workable.md) | 71 | 1968 | 17 % | 100 % |
28 +| [`dayforce`](ats-dayforce.md) | 129 | 1948 | 9 % | 100 % |
29 +| [`successfactors`](ats-successfactors.md) | 12 | 1655 | 19 % | 99 % |
30 +| [`njoyn`](ats-njoyn.md) | 11 | 1325 | 70 % | 87 % |
31 +| [`workland`](ats-workland.md) | 1 | 1159 | 36 % | 100 % |
32 +| [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 819 | 6 % | 100 % |
33 +| [`greenhouse`](ats-greenhouse.md) | 132 | 792 | 19 % | 99 % |
34 34 | [`lever`](ats-lever.md) | 58 | 628 | 19 % | 96 % |
35 35 | [`breezy`](ats-breezy.md) | 71 | 401 | 37 % | 94 % |
36 −| [`ashby`](ats-ashby.md) | 41 | 297 | 55 % | 57 % |
36 +| [`ashby`](ats-ashby.md) | 41 | 296 | 55 % | 57 % |
37 37 | [`recruitee`](ats-recruitee.md) | 30 | 281 | 21 % | 97 % |
38 −| [`bamboohr`](ats-bamboohr.md) | 37 | 274 | 8 % | 100 % |
38 +| [`bamboohr`](ats-bamboohr.md) | 37 | 275 | 8 % | 100 % |
39 39 | [`taleo_tbe`](ats-taleo_tbe.md) | 7 | 215 | 28 % | 57 % |
40 40 | [`teamtailor`](ats-teamtailor.md) | 10 | 165 | 27 % | 96 % |
41 41 | [`zoho_recruit`](ats-zoho_recruit.md) | 16 | 146 | 14 % | 86 % |
42 42 | [`jazzhr`](ats-jazzhr.md) | 27 | 143 | 17 % | 91 % |
43 43 | [`adp`](ats-adp.md) | 17 | 129 | 36 % | 95 % |
44 −| [`taleo`](ats-taleo.md) | 5 | 115 | 0 % | 100 % |
44 +| [`taleo`](ats-taleo.md) | 5 | 112 | 0 % | 99 % |
45 45 | [`icims`](ats-icims.md) | 7 | 53 | 28 % | 98 % |
46 −| [`eightfold`](ats-eightfold.md) | 1 | 51 | 90 % | 100 % |
46 +| [`eightfold`](ats-eightfold.md) | 1 | 49 | 92 % | 100 % |
47 47 | [`ultipro`](ats-ultipro.md) | 4 | 46 | 50 % | 100 % |
48 48 | [`digitalrecruiters`](ats-digitalrecruiters.md) | 2 | 36 | 81 % | 100 % |
49 49 | [`custom`](ats-custom.md) | 1 | 32 | 34 % | 91 % |
@@ -54,7 +54,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
54 54
55 55 | Source | Actives | Salaire | Dernier sync |
56 56 |---|---|---|---|
57 −| [Espresso-Jobs](espresso_jobs.md) | 123 | 23 % | 2026-10-30 12:49 |
57 +| [Espresso-Jobs](espresso_jobs.md) | 123 | 23 % | 2026-10-30 15:12 |
58 58 | [Guichet-Emplois (Canada)](guichet_emplois.md) | 646 | 100 % | 2026-10-30 13:02 |
59 59 | [Jobillico](jobillico.md) | 1119 | 35 % | 2026-10-30 13:16 |
60 60 | [Dépôt direct employeurs](depot-direct.md) | 0 (0 en modération) | — | au fil de l'eau |
@@ -63,24 +63,24 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
63 63
64 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) | 1164 | 36 % | 100 % | ✅ |
67 −| [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 997 | 70 % | 68 % | ✅ |
66 +| [Réseau Atlas Workland (~80 employeurs QC : CSS, cégeps, Santé Québec, STQ, UQTR…)](atlas_workland.md) | [`workland`](ats-workland.md) | 1159 | 36 % | 100 % | ✅ |
67 +| [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 1004 | 70 % | 67 % | ✅ |
68 68 | [Solution SFT](solution_sft.md) | [`workable`](ats-workable.md) | 932 | 24 % | 100 % | ✅ |
69 −| [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 913 | 1 % | 100 % | ✅ |
70 69 | [Walmart Canada](walmart.md) | [`workday`](ats-workday.md) | 902 | 98 % | 90 % | ✅ |
70 +| [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 897 | 1 % | 100 % | ✅ |
71 71 | [Santé Québec — Montréal](sante_montreal.md) | [`njoyn`](ats-njoyn.md) | 878 | 97 % | 98 % | ✅ |
72 72 | [TEHORA](tehora.md) | [`workable`](ats-workable.md) | 421 | 0 % | 100 % | ✅ |
73 73 | [Université McGill](mcgill.md) | [`workday`](ats-workday.md) | 404 | 82 % | 100 % | ✅ |
74 −| [Mouvement Desjardins](desjardins.md) | [`workday`](ats-workday.md) | 294 | 1 % | 92 % | ✅ |
75 −| [CGI](cgi.md) | [`njoyn`](ats-njoyn.md) | 290 | 0 % | 93 % | ✅ |
76 −| [CIMA+](cima2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 283 | 1 % | 100 % | ✅ |
74 +| [Mouvement Desjardins](desjardins.md) | [`workday`](ats-workday.md) | 295 | 1 % | 92 % | ✅ |
75 +| [CGI](cgi.md) | [`njoyn`](ats-njoyn.md) | 292 | 0 % | 93 % | ✅ |
76 +| [CIMA+](cima2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 284 | 1 % | 100 % | ✅ |
77 77 | [Go RH](gorh.md) | [`lever`](ats-lever.md) | 268 | 17 % | 98 % | ✅ |
78 78 | [Slihrms](slihrms.md) | [`workday`](ats-workday.md) | 261 | 10 % | 95 % | ✅ |
79 −| [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 242 | 8 % | 100 % | ✅ |
79 +| [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 243 | 8 % | 100 % | ✅ |
80 80 | [Rechercher des](gianttiger.md) | [`workday`](ats-workday.md) | 238 | 0 % | 100 % | ✅ |
81 −| [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 220 | 23 % | 100 % | ✅ |
81 +| [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 221 | 22 % | 100 % | ✅ |
82 +| [Airbus Canada](airbus.md) | [`workday`](ats-workday.md) | 209 | 4 % | 98 % | ✅ |
82 83 | [Globalhr](globalhr.md) | [`workday`](ats-workday.md) | 209 | 0 % | 82 % | ✅ |
83 −| [Airbus Canada](airbus.md) | [`workday`](ats-workday.md) | 205 | 4 % | 100 % | ✅ |
84 84 | [Reitmans](reitmanscanadalteltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 203 | 20 % | 100 % | ✅ |
85 85 | [Groupe Banque TD](td.md) | [`workday`](ats-workday.md) | 195 | 94 % | 95 % | ✅ |
86 86 | [CISSS de Laval](cisss_laval.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 177 | 2 % | 100 % | ✅ |
@@ -89,17 +89,17 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
89 89 | [CISSS de l'Abitibi-Témiscamingue](cisss_abitibi.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 144 | 0 % | 100 % | ✅ |
90 90 | [Sodexo Canada](sodexocanadaltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 142 | 82 % | 99 % | ✅ |
91 91 | [CISSS des Laurentides](cisss_laurentides.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 136 | 6 % | 100 % | ✅ |
92 −| [Consignaction (AQRCB)](consignaction.md) | [`workday`](ats-workday.md) | 135 | 87 % | 100 % | ✅ |
92 +| [Consignaction (AQRCB)](consignaction.md) | [`workday`](ats-workday.md) | 133 | 86 % | 98 % | ✅ |
93 93 | [Vetstrategy](vetstrategy.md) | [`dayforce`](ats-dayforce.md) | 132 | 2 % | 100 % | ✅ |
94 94 | [Deloitte Canada](deloitte.md) | [`successfactors`](ats-successfactors.md) | 131 | 98 % | 100 % | ✅ |
95 95 | [Ubisoft](ubisoft.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 128 | 0 % | 100 % | ✅ |
96 96 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 113 | 83 % | 100 % | ✅ |
97 +| [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 110 | 0 % | 100 % | ✅ |
97 98 | [Vidéotron](videotron.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 109 | 6 % | 100 % | ✅ |
98 99 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 108 | 98 % | 100 % | ✅ |
99 −| [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 107 | 0 % | 100 % | ✅ |
100 100 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 107 | 3 % | 100 % | ✅ |
101 +| [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 105 | 82 % | 74 % | ✅ |
101 102 | [CISSS de Chaudière-Appalaches](cisss_chaudiere_appalaches.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 105 | 2 % | 100 % | ✅ |
102 −| [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 104 | 82 % | 76 % | ✅ |
103 103 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 102 | 16 % | 100 % | ✅ |
104 104 | [Intact Corporation financière](intactfc.md) | [`workday`](ats-workday.md) | 101 | 1 % | 80 % | ✅ |
105 105 | [CISSS de Lanaudière](cisss_lanaudiere.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 100 | 10 % | 100 % | ✅ |
@@ -112,15 +112,16 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
112 112 | [Promutuel Assurance](promutuel.md) | [`workday`](ats-workday.md) | 86 | 2 % | 100 % | ✅ |
113 113 | [Gflenv](gflenv.md) | [`workday`](ats-workday.md) | 85 | 5 % | 84 % | ✅ |
114 114 | [UAP Inc.](uapinc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 84 | 42 % | 96 % | ✅ |
115 −| [CAE](cae.md) | [`workday`](ats-workday.md) | 82 | 16 % | 95 % | ✅ |
115 +| [Automobileendirect](automobileendirect.md) | [`dayforce`](ats-dayforce.md) | 82 | 2 % | 100 % | ✅ |
116 +| [CAE](cae.md) | [`workday`](ats-workday.md) | 81 | 15 % | 96 % | ✅ |
116 117 | [Bulkbarn](bulkbarn.md) | [`dayforce`](ats-dayforce.md) | 77 | 0 % | 100 % | ✅ |
117 118 | [MaintainX](maintainx.md) | [`ashby`](ats-ashby.md) | 75 | 96 % | 75 % | ✅ |
118 119 | [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 74 | 26 % | 100 % | ✅ |
120 +| [Banque CIBC](cibc.md) | [`workday`](ats-workday.md) | 72 | 0 % | 100 % | ✅ |
119 121 | [Norda Stelo](nordastelo.md) | [`teamtailor`](ats-teamtailor.md) | 72 | 0 % | 97 % | ✅ |
120 122 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 71 | 92 % | 48 % | ✅ |
121 123 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 68 | 0 % | 100 % | ✅ |
122 124 | [EMCO](emcocorporation.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 68 | 40 % | 100 % | ✅ |
123 −| [Banque CIBC](cibc.md) | [`workday`](ats-workday.md) | 67 | 0 % | 100 % | ✅ |
124 125 | [BPA (Experts-conseils)](bpa.md) | [`dayforce`](ats-dayforce.md) | 64 | 0 % | 100 % | ✅ |
125 126 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 64 | 0 % | 100 % | ✅ |
126 127 | [Kiewit (Ganotec)](kiewit_ganotec.md) | [`successfactors`](ats-successfactors.md) | 62 | 0 % | 100 % | ✅ |
@@ -128,23 +129,22 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
128 129 | [Laporte Experts Conseils](laportefr.md) | [`greenhouse`](ats-greenhouse.md) | 59 | 0 % | 100 % | ✅ |
129 130 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 59 | 29 % | 86 % | ✅ |
130 131 | [Montreal Export Package Handler (18:00-23:00)](hcmportal.md) | [`workday`](ats-workday.md) | 59 | 93 % | 100 % | ✅ |
131 −| [Automobileendirect](automobileendirect.md) | [`dayforce`](ats-dayforce.md) | 58 | 2 % | 100 % | ✅ |
132 132 | [Techo-Bloc](techo_bloc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 58 | 45 % | 100 % | ✅ |
133 −| [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 57 | 0 % | 100 % | ✅ |
134 133 | [ANCIA Personnel](anciapersonnelinc.md) | [`recruitee`](ats-recruitee.md) | 57 | 11 % | 100 % | ✅ |
135 134 | [Groupe Canam](groupecanam.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 57 | 68 % | 98 % | ✅ |
136 135 | [Galderma](galderma.md) | [`workday`](ats-workday.md) | 56 | 0 % | 100 % | ✅ |
137 136 | [PwC Canada](pwc.md) | [`workday`](ats-workday.md) | 56 | 98 % | 71 % | ✅ |
137 +| [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 55 | 0 % | 98 % | ✅ |
138 138 | [Gdv](gdv.md) | [`dayforce`](ats-dayforce.md) | 54 | 0 % | 100 % | ✅ |
139 139 | [Intelcom (Dragonfly)](intelcomgroup.md) | [`workday`](ats-workday.md) | 54 | 0 % | 100 % | ✅ |
140 140 | [Gevernova](gevernova.md) | [`workday`](ats-workday.md) | 53 | 21 % | 98 % | ✅ |
141 141 | [Hydro-Québec](hydroquebec.md) | [`successfactors`](ats-successfactors.md) | 53 | 28 % | 75 % | ✅ |
142 −| [Agropur](agropur.md) | [`workday`](ats-workday.md) | 52 | 98 % | 98 % | ✅ |
142 +| [Beneva](beneva.md) | [`workday`](ats-workday.md) | 52 | 4 % | 98 % | ✅ |
143 143 | [CHU de Québec — Université Laval](chu_quebec.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 52 | 4 % | 100 % | ✅ |
144 144 | [Squarepoint Capital](squarepointcapital.md) | [`greenhouse`](ats-greenhouse.md) | 52 | 38 % | 100 % | ✅ |
145 −| [Autodesk](autodesk.md) | [`eightfold`](ats-eightfold.md) | 51 | 90 % | 100 % | ✅ |
145 +| [Agropur](agropur.md) | [`workday`](ats-workday.md) | 51 | 98 % | 98 % | ✅ |
146 146 | [Kruger](kruger.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 51 | 10 % | 100 % | ✅ |
147 −| [Beneva](beneva.md) | [`workday`](ats-workday.md) | 50 | 4 % | 100 % | ✅ |
147 +| [Autodesk](autodesk.md) | [`eightfold`](ats-eightfold.md) | 49 | 92 % | 100 % | ✅ |
148 148 | [Laura Canada](lauracanada.md) | [`dayforce`](ats-dayforce.md) | 48 | 0 % | 100 % | ✅ |
149 149 | [Lesymcaquebec](lesymcaquebec.md) | [`dayforce`](ats-dayforce.md) | 48 | 33 % | 100 % | ✅ |
150 150 | [Lightspeed Commerce](lightspeedhq.md) | [`ashby`](ats-ashby.md) | 48 | 4 % | 100 % | ✅ |
@@ -164,21 +164,21 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
164 164 | [Myhrabc](myhrabc.md) | [`workday`](ats-workday.md) | 43 | 53 % | 51 % | ✅ |
165 165 | [JD Sports Canada](jdsports.md) | [`dayforce`](ats-dayforce.md) | 42 | 0 % | 100 % | ✅ |
166 166 | [Valsoft](valsoft_corp.md) | [`workable`](ats-workable.md) | 42 | 7 % | 100 % | ✅ |
167 −| [Cohere](cohere.md) | [`ashby`](ats-ashby.md) | 40 | 92 % | 25 % | ✅ |
168 167 | [Firststudent](firststudent.md) | [`workday`](ats-workday.md) | 40 | 40 % | 98 % | ✅ |
169 168 | [Levio](levio.md) | [`greenhouse`](ats-greenhouse.md) | 40 | 0 % | 100 % | ✅ |
170 169 | [Rio Tinto](riotinto.md) | [`workday`](ats-workday.md) | 40 | 0 % | 92 % | ✅ |
171 170 | [Uhaul](uhaul.md) | [`workday`](ats-workday.md) | 40 | 0 % | 100 % | ✅ |
171 +| [Cohere](cohere.md) | [`ashby`](ats-ashby.md) | 39 | 92 % | 26 % | ✅ |
172 172 | [Domtar](domtar.md) | [`successfactors`](ats-successfactors.md) | 39 | 10 % | 100 % | ✅ |
173 173 | [Info-Ways](info_ways.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 39 | 0 % | 100 % | ✅ |
174 174 | [Sopra Steria](soprasteria1.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 39 | 0 % | 100 % | ✅ |
175 −| [Alterra](alterra.md) | [`workday`](ats-workday.md) | 38 | 74 % | 100 % | ✅ |
176 175 | [Sapsol Technologies Inc](sapsol_technologies_inc_7.md) | [`workable`](ats-workable.md) | 38 | 0 % | 100 % | ✅ |
177 176 | [system canada technologies](systemcanadatechnologies.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 38 | 0 % | 100 % | ✅ |
178 177 | [Workin Group](workinquebec.md) | [`teamtailor`](ats-teamtailor.md) | 38 | 58 % | 100 % | ✅ |
179 178 | [exo (transport métropolitain)](exo.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 37 | 0 % | 95 % | ✅ |
180 179 | [Imperial Brady Canada](imperialdade.md) | [`dayforce`](ats-dayforce.md) | 37 | 0 % | 100 % | ✅ |
181 180 | [Unoria](unoria.md) | [`dayforce`](ats-dayforce.md) | 37 | 0 % | 100 % | ✅ |
181 +| [Alterra](alterra.md) | [`workday`](ats-workday.md) | 36 | 72 % | 100 % | ✅ |
182 182 | [Rodeo FX](rodeofx.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 36 | 0 % | 94 % | ✅ |
183 183 | [Kenworthmaska](kenworthmaska.md) | [`dayforce`](ats-dayforce.md) | 35 | 3 % | 100 % | ✅ |
184 184 | [Abinbev](abinbev.md) | [`workday`](ats-workday.md) | 34 | 97 % | 100 % | ✅ |
@@ -190,9 +190,9 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
190 190 | [OPENLANE Canada](openlane.md) | [`workday`](ats-workday.md) | 32 | 19 % | 97 % | ✅ |
191 191 | [XTL Transport](xtltransportlogistics.md) | [`jazzhr`](ats-jazzhr.md) | 32 | 0 % | 97 % | ✅ |
192 192 | [Best Buy Canada](bestbuycanada.md) | [`workday`](ats-workday.md) | 31 | 0 % | 35 % | ✅ |
193 +| [CHUM](chum.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 31 | 3 % | 97 % | ✅ |
193 194 | [Nortera](nortera.md) | [`ultipro`](ats-ultipro.md) | 31 | 58 % | 100 % | ✅ |
194 195 | [Rollsroyce](rollsroyce.md) | [`workday`](ats-workday.md) | 31 | 0 % | 100 % | ✅ |
195 −| [CHUM](chum.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 30 | 3 % | 100 % | ✅ |
196 196 | [Cineplex](cineplex.md) | [`workday`](ats-workday.md) | 30 | 0 % | 93 % | ✅ |
197 197 | [Clinical Research Associate](syneoshealth.md) | [`workday`](ats-workday.md) | 30 | 0 % | 97 % | ✅ |
198 198 | [Comptable prix de revient](exceldorfoods478.md) | [`dayforce`](ats-dayforce.md) | 30 | 20 % | 100 % | ✅ |
@@ -205,14 +205,13 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
205 205 | [Eurofins EnvironeX](eurofinsenvironex.md) | [`recruitee`](ats-recruitee.md) | 28 | 0 % | 100 % | ✅ |
206 206 | [Lgs](lgs.md) | [`dayforce`](ats-dayforce.md) | 28 | 0 % | 100 % | ✅ |
207 207 | [Service alimentaire Gordon](gfs.md) | [`workday`](ats-workday.md) | 28 | 68 % | 100 % | ✅ |
208 +| [The Children's Place](childrensplace.md) | [`workday`](ats-workday.md) | 28 | 0 % | 21 % | ✅ |
208 209 | [Institut de recherche du CUSM](cusm_ir.md) | [`njoyn`](ats-njoyn.md) | 27 | 96 % | 0 % | ✅ |
209 210 | [Le Massif de Charlevoix](lemassif.md) | [`dayforce`](ats-dayforce.md) | 27 | 0 % | 100 % | ✅ |
210 211 | [Ms](ms.md) | [`workday`](ats-workday.md) | 27 | 0 % | 100 % | ✅ |
211 212 | [Tecsys](tecsys.md) | [`workable`](ats-workable.md) | 27 | 0 % | 100 % | ✅ |
212 −| [The Children's Place](childrensplace.md) | [`workday`](ats-workday.md) | 27 | 0 % | 22 % | ✅ |
213 213 | [AppDirect](appdirect.md) | [`greenhouse`](ats-greenhouse.md) | 26 | 31 % | 100 % | ✅ |
214 214 | [Coveo](coveoen.md) | [`greenhouse`](ats-greenhouse.md) | 26 | 0 % | 100 % | ✅ |
215 −| [Exportation et développement Canada (EDC)](export_development_canada.md) | [`workable`](ats-workable.md) | 26 | 96 % | 100 % | ✅ |
216 215 | [Mallette - Saguenay](mallette_sag.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 26 | 4 % | 85 % | ✅ |
217 216 | [Playground](playground.md) | [`jazzhr`](ats-jazzhr.md) | 26 | 69 % | 65 % | ✅ |
218 217 | [RM Staffing B.V.](rebootmonkey.md) | [`recruitee`](ats-recruitee.md) | 26 | 85 % | 100 % | ✅ |
@@ -224,10 +223,10 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
224 223 | [Behaviour Interactif](bhvr.md) | [`lever`](ats-lever.md) | 25 | 0 % | 100 % | ✅ |
225 224 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 25 | 96 % | 88 % | ✅ |
226 225 | [Estimator](tranetechnologies.md) | [`workday`](ats-workday.md) | 25 | 100 % | 96 % | ✅ |
226 +| [Exportation et développement Canada (EDC)](export_development_canada.md) | [`workable`](ats-workable.md) | 25 | 96 % | 100 % | ✅ |
227 227 | [Hitachi](hitachi.md) | [`workday`](ats-workday.md) | 25 | 8 % | 100 % | ✅ |
228 228 | [Huawei Canada](huaweicanada.md) | [`recruitee`](ats-recruitee.md) | 25 | 4 % | 100 % | ✅ |
229 229 | [Onepoint (nventive / Logient)](onepoint.md) | [`workday`](ats-workday.md) | 25 | 0 % | 100 % | ✅ |
230 −| [AccorHotel](accorhotel.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 24 | 46 % | 100 % | ✅ |
231 230 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 24 | 100 % | 0 % | ✅ |
232 231 | [Directive](directive.md) | [`ashby`](ats-ashby.md) | 24 | 21 % | 0 % | ✅ |
233 232 | [FedEx Express Canada](fedex.md) | [`workday`](ats-workday.md) | 24 | 100 % | 88 % | ✅ |
@@ -242,6 +241,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
242 241 | [MEDFAR Solutions Cliniques](medfar.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 23 | 0 % | 100 % | ✅ |
243 242 | [Progesys](progesys_inc.md) | [`breezy`](ats-breezy.md) | 23 | 9 % | 96 % | ✅ |
244 243 | [Unitytech](unitytech.md) | [`workday`](ats-workday.md) | 23 | 91 % | 83 % | ✅ |
244 +| [AccorHotel](accorhotel.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 22 | 45 % | 100 % | ✅ |
245 245 | [Baro RH](barorh.md) | [`workable`](ats-workable.md) | 22 | 0 % | 100 % | ✅ |
246 246 | [Broccolini](broccolini.md) | [`bamboohr`](ats-bamboohr.md) | 22 | 5 % | 100 % | ✅ |
247 247 | [CSS des Découvreurs](cssdd.md) | [`digitalrecruiters`](ats-digitalrecruiters.md) | 22 | 82 % | 100 % | ✅ |
@@ -278,7 +278,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
278 278 | [VinFast Canada](vinfastcanada.md) | [`dayforce`](ats-dayforce.md) | 20 | 25 % | 100 % | ✅ |
279 279 | [Vosker](vosker.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 20 | 0 % | 100 % | ✅ |
280 280 | [ALS Global](alsglobal.md) | [`workday`](ats-workday.md) | 19 | 5 % | 95 % | ✅ |
281 −| [Bell Textron Canada](bell_textron.md) | [`taleo`](ats-taleo.md) | 19 | 0 % | 100 % | ✅ |
282 281 | [Groupe Nordik (Nordik Spa-Nature)](groupe_nordik.md) | [`adp`](ats-adp.md) | 19 | 26 % | 100 % | ✅ |
283 282 | [Groupeguilbault](groupeguilbault.md) | [`workday`](ats-workday.md) | 19 | 0 % | 100 % | ✅ |
284 283 | [H&M](hmgroup.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 0 % | 100 % | ✅ |
@@ -291,6 +290,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
291 290 | [Xsolla](xsolla.md) | [`lever`](ats-lever.md) | 19 | 100 % | 95 % | ✅ |
292 291 | [AbbVie](abbvie.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 18 | 0 % | 100 % | ✅ |
293 292 | [AECOM](aecom2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 18 | 0 % | 100 % | ✅ |
293 +| [Bell Textron Canada](bell_textron.md) | [`taleo`](ats-taleo.md) | 18 | 0 % | 100 % | ✅ |
294 294 | [CONTRÔLEUR](novatech.md) | [`dayforce`](ats-dayforce.md) | 18 | 39 % | 100 % | ✅ |
295 295 | [KDC/ONE](kdcone.md) | [`dayforce`](ats-dayforce.md) | 18 | 0 % | 100 % | ✅ |
296 296 | [Pré-assemblage](motionc.md) | [`dayforce`](ats-dayforce.md) | 18 | 0 % | 100 % | ✅ |
@@ -319,7 +319,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
319 319 | [ORA Partenaires](orapartenaires.md) | [`teamtailor`](ats-teamtailor.md) | 16 | 56 % | 94 % | ✅ |
320 320 | [Plusgrade](plusgrade.md) | [`workday`](ats-workday.md) | 16 | 0 % | 94 % | ✅ |
321 321 | [Réseau de transport de Longueuil (RTL)](rtl.md) | [`njoyn`](ats-njoyn.md) | 16 | 25 % | 0 % | ✅ |
322 −| [Associé(e), entretien préventif](boardwalkreit.md) | [`dayforce`](ats-dayforce.md) | 15 | 0 % | 100 % | ✅ |
323 322 | [Avanade](accenture.md) | [`workday`](ats-workday.md) | 15 | 80 % | 20 % | ✅ |
324 323 | [Avocat·e, Bureau de l'avocate générale](mthris.md) | [`dayforce`](ats-dayforce.md) | 15 | 33 % | 100 % | ✅ |
325 324 | [Boralex](boralex.md) | [`dayforce`](ats-dayforce.md) | 15 | 0 % | 100 % | ✅ |
@@ -329,6 +328,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
329 328 | [La Senza](lasenza.md) | [`greenhouse`](ats-greenhouse.md) | 15 | 13 % | 100 % | ✅ |
330 329 | [Peoplecorporation](peoplecorporation.md) | [`workday`](ats-workday.md) | 15 | 13 % | 80 % | ✅ |
331 330 | [Sony Pictures Imageworks](sonypicturesimageworks.md) | [`greenhouse`](ats-greenhouse.md) | 15 | 33 % | 100 % | ✅ |
331 +| [Associé(e), entretien préventif](boardwalkreit.md) | [`dayforce`](ats-dayforce.md) | 14 | 0 % | 100 % | ✅ |
332 332 | [Aviso Wealth](aviso.md) | [`workable`](ats-workable.md) | 14 | 100 % | 100 % | ✅ |
333 333 | [Cmpams](cmpams.md) | [`dayforce`](ats-dayforce.md) | 14 | 0 % | 100 % | ✅ |
334 334 | [Colabor](colabor.md) | [`dayforce`](ats-dayforce.md) | 14 | 21 % | 100 % | ✅ |
@@ -343,9 +343,9 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
343 343 | [Bridgestone](bridgestone.md) | [`workday`](ats-workday.md) | 13 | 31 % | 100 % | ✅ |
344 344 | [CAA-Québec](caaquebec.md) | [`workday`](ats-workday.md) | 13 | 31 % | 100 % | ✅ |
345 345 | [Canadian Tire](canadiantirecorporation.md) | [`workday`](ats-workday.md) | 13 | 54 % | 92 % | ✅ |
346 +| [Cirque du Soleil](cirquedusoleil.md) | [`lever`](ats-lever.md) | 13 | 0 % | 85 % | ✅ |
346 347 | [Comptable de projet / Project Accountant](ellisdon.md) | [`workday`](ats-workday.md) | 13 | 8 % | 100 % | ✅ |
347 348 | [Egon Zehnder](ezrecruiting.md) | [`workable`](ats-workable.md) | 13 | 8 % | 100 % | ✅ |
348 −| [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 13 | 0 % | 100 % | ✅ |
349 349 | [EQ3](eq3_ltd.md) | [`breezy`](ats-breezy.md) | 13 | 54 % | 92 % | ✅ |
350 350 | [Explorance](explorance.md) | [`bamboohr`](ats-bamboohr.md) | 13 | 0 % | 100 % | ✅ |
351 351 | [FLO (AddÉnergie)](flo_addenergie.md) | [`workable`](ats-workable.md) | 13 | 0 % | 100 % | ✅ |
@@ -370,9 +370,8 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
370 370 | [Aylo](aylofr.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
371 371 | [Bayshore HealthCare](bayshore.md) | [`taleo`](ats-taleo.md) | 12 | 0 % | 100 % | ✅ |
372 372 | [Brasseries Sleeman (Unibroue)](sleeman.md) | [`workday`](ats-workday.md) | 12 | 8 % | 92 % | ✅ |
373 −| [Cirque du Soleil](cirquedusoleil.md) | [`lever`](ats-lever.md) | 12 | 0 % | 92 % | ✅ |
373 +| [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
374 374 | [Evolving Web](evolving_web.md) | [`workable`](ats-workable.md) | 12 | 0 % | 100 % | ✅ |
375 −| [Faspac](faspac.md) | [`lever`](ats-lever.md) | 12 | 17 % | 100 % | ✅ |
376 375 | [Fempro (First Quality)](firstquality.md) | [`workday`](ats-workday.md) | 12 | 58 % | 100 % | ✅ |
377 376 | [Frigoriste](vantagedc.md) | [`workday`](ats-workday.md) | 12 | 0 % | 100 % | ✅ |
378 377 | [HEC Montréal — corps professoral](hec_montreal_profs.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 12 | 8 % | 100 % | ✅ |
@@ -395,6 +394,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
395 394 | [Cisco](cisco.md) | [`workday`](ats-workday.md) | 11 | 100 % | 55 % | ✅ |
396 395 | [Devimco Appartements](devimco.md) | [`bamboohr`](ats-bamboohr.md) | 11 | 9 % | 100 % | ✅ |
397 396 | [EOS Aircraft](eosaircraftinc.md) | [`bamboohr`](ats-bamboohr.md) | 11 | 0 % | 100 % | ✅ |
397 +| [Faspac](faspac.md) | [`lever`](ats-lever.md) | 11 | 18 % | 100 % | ✅ |
398 398 | [HEC Montréal](hec_montreal.md) | [`taleo_tbe`](ats-taleo_tbe.md) | 11 | 9 % | 100 % | ✅ |
399 399 | [JYSK Canada](jyskcanada.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 11 | 0 % | 100 % | ✅ |
400 400 | [LawZero](lawzero.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 0 % | 100 % | ✅ |
@@ -480,10 +480,10 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
480 480 | [2026 GameChanger Scholarship Application](kabam.md) | [`lever`](ats-lever.md) | 8 | 25 % | 100 % | ✅ |
481 481 | [Administration portuaire de Québec](portquebec.md) | [`dayforce`](ats-dayforce.md) | 8 | 0 % | 100 % | ✅ |
482 482 | [Bento Sushi](bento_sushi.md) | [`adp`](ats-adp.md) | 8 | 88 % | 100 % | ✅ |
483 +| [Cloud Chamber Montréal](cloudchamberfr.md) | [`greenhouse`](ats-greenhouse.md) | 8 | 0 % | 88 % | ✅ |
483 484 | [DRW](drweng.md) | [`greenhouse`](ats-greenhouse.md) | 8 | 0 % | 100 % | ✅ |
484 485 | [DRW Montreal](drwfr.md) | [`greenhouse`](ats-greenhouse.md) | 8 | 0 % | 100 % | ✅ |
485 486 | [EDF Renouvelables Canada](edf_renouvelables.md) | [`icims`](ats-icims.md) | 8 | 88 % | 88 % | ✅ |
486 −| [Erb](erb.md) | [`dayforce`](ats-dayforce.md) | 8 | 50 % | 100 % | ✅ |
487 487 | [eStruxture](estruxture.md) | [`bamboohr`](ats-bamboohr.md) | 8 | 12 % | 100 % | ✅ |
488 488 | [Expresco Foods](exprescofoods.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 8 | 12 % | 100 % | ✅ |
489 489 | [Gea](gea.md) | [`workday`](ats-workday.md) | 8 | 25 % | 100 % | ✅ |
@@ -522,12 +522,13 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
522 522 | [Chagall Design](chagalldesign.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 0 % | 100 % | ✅ |
523 523 | [Chef de secteur](gsknch.md) | [`workday`](ats-workday.md) | 7 | 0 % | 100 % | ✅ |
524 524 | [Church & Dwight Canada](churchdwight.md) | [`workday`](ats-workday.md) | 7 | 0 % | 100 % | ✅ |
525 −| [Cloud Chamber Montréal](cloudchamberfr.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 0 % | 100 % | ✅ |
525 +| [Cloud Chamber](cloudchamberen.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 0 % | 86 % | ✅ |
526 526 | [Clyde & Co](clydeco.md) | [`workday`](ats-workday.md) | 7 | 0 % | 100 % | ✅ |
527 527 | [Colliers](colliers.md) | [`workday`](ats-workday.md) | 7 | 0 % | 100 % | ✅ |
528 528 | [Delmar International](delmar_international_inc.md) | [`workable`](ats-workable.md) | 7 | 0 % | 100 % | ✅ |
529 529 | [Eidos-Montréal](eidosmontreal.md) | [`dayforce`](ats-dayforce.md) | 7 | 0 % | 100 % | ✅ |
530 530 | [Equisoft](equisoft.md) | [`workday`](ats-workday.md) | 7 | 0 % | 86 % | ✅ |
531 +| [Erb](erb.md) | [`dayforce`](ats-dayforce.md) | 7 | 43 % | 100 % | ✅ |
531 532 | [Flare (cybersécurité)](flare.md) | [`bamboohr`](ats-bamboohr.md) | 7 | 14 % | 100 % | ✅ |
532 533 | [Fruit d'Or](fruitdor.md) | [`ultipro`](ats-ultipro.md) | 7 | 0 % | 100 % | ✅ |
533 534 | [Haemonetics](haemonetics.md) | [`workday`](ats-workday.md) | 7 | 0 % | 100 % | ✅ |
@@ -547,7 +548,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
547 548 | [Telesat](telesat.md) | [`lever`](ats-lever.md) | 7 | 0 % | 100 % | ✅ |
548 549 | [Trigyn Technologies](trigyntechnologies1.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 0 % | 100 % | ✅ |
549 550 | [Turner & Townsend](turnertownsend.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 7 | 29 % | 100 % | ✅ |
550 −| [Valtech](valtech.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 14 % | 100 % | ❌ |
551 +| [Valtech](valtech.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 14 % | 100 % | ✅ |
551 552 | [Accedian Networks](accediannetworks.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 6 | 0 % | 100 % | ✅ |
552 553 | [AJ Walter Aviation](ajwalter.md) | [`recruitee`](ats-recruitee.md) | 6 | 0 % | 100 % | ✅ |
553 554 | [Also Recrutement - Carrière](alsorecrutement.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 6 | 17 % | 50 % | ✅ |
@@ -559,12 +560,12 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
559 560 | [Canadian Royalties](canadian_royalties.md) | [`adp`](ats-adp.md) | 6 | 33 % | 100 % | ✅ |
560 561 | [Carnaval de Québec Inc.](carnaval.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 6 | 0 % | 100 % | ✅ |
561 562 | [Cfibfcei](cfibfcei.md) | [`dayforce`](ats-dayforce.md) | 6 | 17 % | 100 % | ✅ |
562 −| [Cloud Chamber](cloudchamberen.md) | [`greenhouse`](ats-greenhouse.md) | 6 | 0 % | 100 % | ✅ |
563 563 | [Conseil de gestion financière des Premières Nations (FNFMB)](fnfmb.md) | [`dayforce`](ats-dayforce.md) | 6 | 0 % | 100 % | ✅ |
564 564 | [delisoft](delisoft.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 6 | 0 % | 100 % | ✅ |
565 565 | [Distro](distro.md) | [`lever`](ats-lever.md) | 6 | 83 % | 100 % | ✅ |
566 566 | [E-Commerce Shipping Associate](slg001.md) | [`dayforce`](ats-dayforce.md) | 6 | 0 % | 100 % | ✅ |
567 567 | [Eli Health](eli.md) | [`ashby`](ats-ashby.md) | 6 | 0 % | 100 % | ✅ |
568 +| [EMD-Batimo](batimoinc.md) | [`bamboohr`](ats-bamboohr.md) | 6 | 0 % | 83 % | ✅ |
568 569 | [Framestore](framestore.md) | [`recruitee`](ats-recruitee.md) | 6 | 0 % | 100 % | ✅ |
569 570 | [Groupemarcelle](groupemarcelle.md) | [`dayforce`](ats-dayforce.md) | 6 | 17 % | 100 % | ✅ |
570 571 | [Highdive](highdive.md) | [`greenhouse`](ats-greenhouse.md) | 6 | 0 % | 100 % | ✅ |
@@ -611,7 +612,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
611 612 | [Consultant(e) en développement des affaires](omnitrans.md) | [`dayforce`](ats-dayforce.md) | 5 | 40 % | 100 % | ✅ |
612 613 | [Cultures Gen V](cultures_genv.md) | [`adp`](ats-adp.md) | 5 | 20 % | 100 % | ✅ |
613 614 | [Danaher](danaher.md) | [`workday`](ats-workday.md) | 5 | 60 % | 80 % | ✅ |
614 −| [EMD-Batimo](batimoinc.md) | [`bamboohr`](ats-bamboohr.md) | 5 | 0 % | 100 % | ✅ |
615 615 | [EQ Bank](eqbank.md) | [`lever`](ats-lever.md) | 5 | 80 % | 60 % | ✅ |
616 616 | [Fastco Canada](fastcocanada.md) | [`dayforce`](ats-dayforce.md) | 5 | 0 % | 100 % | ✅ |
617 617 | [Fccfac](fccfac.md) | [`workday`](ats-workday.md) | 5 | 80 % | 20 % | ✅ |
modified docs/connecteurs/ats-greenhouse.md +134 −134
@@ -5,14 +5,14 @@ Auteur : Simon-Pierre Boucher
5 5 Contact : contact@spboucher.ai
6 6 Fichier : docs/connecteurs/ats-greenhouse.md
7 7 Rôle : Fiche plateforme ATS greenhouse — mécanique partagée + tableau des 132 tenants
8 −Généré : 2026-10-23 17:46 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
8 +Généré : 2026-10-30 15:13 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
12 12
13 13 # Plateforme ATS `greenhouse`
14 14
15 −**132 employeurs connectés** via cette plateforme — **821 offres actives**. Module partagé : `jobka/connectors/greenhouse.py` ; un employeur = une sous-classe d'environ 10 lignes.
15 +**132 employeurs connectés** via cette plateforme — **792 offres actives**. Module partagé : `jobka/connectors/greenhouse.py` ; un employeur = une sous-classe d'environ 10 lignes.
16 16
17 17 ## Description & mécanique
18 18
@@ -37,138 +37,138 @@ Généré : 2026-10-23 17:46 EDT par scripts/gen_connector_docs.py — NE PAS
37 37
38 38 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |
39 39 |---|---|---|---|---|---|---|
40 −| [Laporte Experts Conseils](laportefr.md) | 61 | 0 % | 100 % | 0 % | 2026-10-23 14:51 | ✅ |
41 −| [Squarepoint Capital](squarepointcapital.md) | 53 | 38 % | 100 % | 4 % | 2026-10-23 15:14 | ✅ |
42 −| [Levio](levio.md) | 43 | 0 % | 100 % | 0 % | 2026-10-23 14:52 | ✅ |
43 −| [Coveo](coveofr.md) | 35 | 0 % | 100 % | 0 % | 2026-10-23 16:48 | ✅ |
44 −| [AppDirect](appdirect.md) | 32 | 31 % | 100 % | 0 % | 2026-10-23 17:35 | ✅ |
45 −| [Coveo](coveoen.md) | 31 | 0 % | 100 % | 0 % | 2026-10-23 16:48 | ✅ |
46 −| [Lyft](lyft.md) | 24 | 100 % | 100 % | 0 % | 2026-10-23 14:53 | ✅ |
47 −| [Hasbro](hasbro.md) | 22 | 0 % | 100 % | 0 % | 2026-10-23 17:09 | ✅ |
48 −| [Vooban](vooban.md) | 21 | 0 % | 100 % | 0 % | 2026-10-23 15:21 | ✅ |
49 −| [mthree](mthreerecruitingportal.md) | 19 | 0 % | 100 % | 21 % | 2026-10-23 14:57 | ✅ |
50 −| [Artiste technique sénior·e UI / Senior UI Tech Artist](x2k.md) | 17 | 12 % | 100 % | 6 % | 2026-10-23 15:24 | ✅ |
51 −| [La Senza](lasenza.md) | 15 | 13 % | 100 % | 0 % | 2026-10-23 14:51 | ✅ |
52 −| [Sony Pictures Imageworks](sonypicturesimageworks.md) | 15 | 33 % | 100 % | 0 % | 2026-10-23 15:13 | ✅ |
53 −| [Epic Games](epicgames.md) | 14 | 0 % | 100 % | 0 % | 2026-10-23 16:54 | ✅ |
54 −| [Stay22](stay22.md) | 13 | 8 % | 100 % | 0 % | 2026-10-23 15:14 | ✅ |
55 −| [Sid Lee](sidlee.md) | 12 | 0 % | 100 % | 0 % | 2026-10-23 15:11 | ✅ |
56 −| [Royal Vet](royalvet.md) | 12 | 0 % | 100 % | 0 % | 2026-10-23 15:08 | ✅ |
57 −| [Toboggan Labs](tobogganlabs.md) | 12 | 0 % | 100 % | 0 % | 2026-10-23 15:18 | ✅ |
58 −| [AlayaCare](alayacare.md) | 11 | 0 % | 100 % | 0 % | 2026-10-23 17:34 | ✅ |
59 −| [SIA Innovations](siainnovationsinc.md) | 11 | 45 % | 100 % | 73 % | 2026-10-23 15:11 | ✅ |
60 −| [LoiZéro](loizero.md) | 11 | 0 % | 100 % | 0 % | 2026-10-23 14:53 | ✅ |
61 −| [Lush Cosmétiques](lush.md) | 10 | 100 % | 100 % | 0 % | 2026-10-23 14:53 | ✅ |
62 −| [Aylo](aylo.md) | 10 | 0 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
63 −| [Aylo](aylofr.md) | 10 | 0 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
64 −| [LawZero](lawzero.md) | 10 | 0 % | 100 % | 0 % | 2026-10-23 14:51 | ✅ |
65 −| [Broadsign](broadsign.md) | 9 | 0 % | 100 % | 89 % | 2026-10-23 17:41 | ✅ |
66 −| [GURUS Solutions](gurussolutions.md) | 9 | 0 % | 100 % | 0 % | 2026-10-23 17:09 | ✅ |
67 −| [Valtech](valtech.md) | 9 | 11 % | 100 % | 0 % | 2026-10-23 15:20 | ✅ |
68 −| [Broadsign](broadsignfr.md) | 9 | 0 % | 100 % | 67 % | 2026-10-23 17:41 | ✅ |
69 −| [WPP Media](wppmedia.md) | 9 | 0 % | 100 % | 0 % | 2026-10-23 15:24 | ✅ |
70 −| [Cloud Chamber Montréal](cloudchamberfr.md) | 8 | 0 % | 100 % | 0 % | 2026-10-23 16:46 | ✅ |
71 −| [Bain Magique](bainmagique.md) | 8 | 62 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
72 −| [DRW](drweng.md) | 8 | 0 % | 100 % | 0 % | 2026-10-23 16:51 | ✅ |
73 −| [DRW Montreal](drwfr.md) | 8 | 0 % | 100 % | 0 % | 2026-10-23 16:51 | ✅ |
74 −| [Ivalua](ivalua.md) | 8 | 0 % | 100 % | 0 % | 2026-10-23 14:42 | ✅ |
75 −| [Novisto](novisto78.md) | 8 | 0 % | 100 % | 0 % | 2026-10-23 14:59 | ✅ |
76 −| [Keel Infrastructure](keelinfrastructure.md) | 7 | 0 % | 100 % | 0 % | 2026-10-23 14:50 | ✅ |
77 −| [Mejuri](mejuri.md) | 7 | 71 % | 100 % | 0 % | 2026-10-23 14:55 | ✅ |
78 −| [Alveole](alveole.md) | 7 | 100 % | 86 % | 14 % | 2026-10-23 17:35 | ✅ |
79 −| [Artefact North America](artefactnoram.md) | 7 | 57 % | 100 % | 0 % | 2026-10-23 17:36 | ✅ |
80 −| [Cloud Chamber](cloudchamberen.md) | 7 | 0 % | 100 % | 0 % | 2026-10-23 16:46 | ✅ |
81 −| [Oldcastle BuildingEnvelope](oldcastlebuildingenvelope.md) | 7 | 14 % | 100 % | 0 % | 2026-10-23 15:00 | ✅ |
82 −| [Quadbridge](quadbridge.md) | 7 | 29 % | 100 % | 14 % | 2026-10-23 15:05 | ✅ |
83 −| [TEN Canada (Transportation Equipment Network)](ten_canada.md) | 6 | 0 % | 100 % | 0 % | 2026-10-23 15:17 | ✅ |
84 −| [Highdive](highdive.md) | 6 | 0 % | 100 % | 0 % | 2026-10-23 17:10 | ✅ |
85 −| [Internal](internaljobsatlush.md) | 6 | 100 % | 100 % | 0 % | 2026-10-23 17:15 | ✅ |
86 −| [TandemLaunch](tandemlaunch.md) | 5 | 0 % | 100 % | 0 % | 2026-10-23 15:15 | ✅ |
87 −| [KRAFTON Montréal Studio](studiokraftonboard.md) | 5 | 0 % | 100 % | 40 % | 2026-10-23 15:14 | ✅ |
88 −| [Behavox](behavox.md) | 5 | 0 % | 100 % | 0 % | 2026-10-23 17:39 | ✅ |
89 −| [DoorDash Quebec](doordashquebec.md) | 5 | 60 % | 100 % | 0 % | 2026-10-23 16:50 | ✅ |
90 −| [Human Agency](humanagency.md) | 5 | 0 % | 100 % | 60 % | 2026-10-23 17:13 | ✅ |
91 −| [Bath Fitter Corporate](bathfitterdistributinginc.md) | 5 | 60 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
92 −| [Alo Yoga](aloyoga.md) | 4 | 25 % | 75 % | 0 % | 2026-10-23 17:34 | ✅ |
93 −| [Welcome to the Jungle](artefactjobs.md) | 4 | 50 % | 100 % | 0 % | 2026-10-23 17:36 | ✅ |
94 −| [Monster Energy](monsterenergy.md) | 4 | 100 % | 100 % | 0 % | 2026-10-23 14:56 | ✅ |
95 −| [Connor, Clark & Lunn Private Capital Ltd.](pcm.md) | 4 | 100 % | 100 % | 0 % | 2026-10-23 15:00 | ✅ |
96 −| [VML Canada](vmlcanadaen.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 15:21 | ✅ |
97 −| [AutoTrader Canada](autotradercanada.md) | 3 | 100 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
98 −| [AON3D](aon3d.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 17:35 | ✅ |
99 −| [AON3D](aon3d_fr.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 17:35 | ✅ |
100 −| [Opportunities with AppDirect's Advisor Partners (Recruitment as a Service)](appdirectraas.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 17:35 | ✅ |
101 −| [French Canadian Bauer Hockey/ Cascade Maverik Lacrosse](bauerhockeycascademaveriklacrossefc.md) | 3 | 67 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
102 −| [BETA Technologies](betatechnologiesinc.md) | 3 | 67 % | 100 % | 0 % | 2026-10-23 17:39 | ✅ |
103 −| [EC-Solutions](ecsolutions.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 16:53 | ✅ |
104 −| [Haven Interactive Studios](haven.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 17:09 | ✅ |
105 −| [Haven Interactive Studios - English](havenenglish.md) | 3 | 0 % | 100 % | 33 % | 2026-10-23 17:09 | ✅ |
106 −| [RTINGS.com (FR)](laboratoirertingscom.md) | 3 | 33 % | 100 % | 67 % | 2026-10-23 14:51 | ✅ |
107 −| [Modern Menopause](modernmenopause.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 14:56 | ✅ |
108 −| [Shearwater](shearwater.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 15:11 | ✅ |
109 −| [PlayStation Global](sonyinteractiveentertainmentglobal.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 15:13 | ✅ |
110 −| [VML Canada (French)](vmlcanadafr.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 15:21 | ✅ |
111 −| [Poka](poka.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 15:01 | ✅ |
112 −| [Terrestar Solutions](terrestarsolutionsfr.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 15:17 | ✅ |
113 −| [Adaptive Financial Consulting](adaptivefinancialconsulting.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 17:33 | ✅ |
114 −| [Bauer Hockey/ Cascade Maverik Lacrosse](bauerhockeycascademaveriklacrosse.md) | 2 | 50 % | 100 % | 0 % | 2026-10-23 17:37 | ✅ |
115 −| [CaptiveAire](captiveaire.md) | 2 | 100 % | 100 % | 0 % | 2026-10-23 17:42 | ✅ |
116 −| [FlightHub](flighthub.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 16:56 | ✅ |
117 −| [New Era Technology](neweratech.md) | 2 | 100 % | 100 % | 0 % | 2026-10-23 14:58 | ✅ |
118 −| [Numa](numa.md) | 2 | 100 % | 100 % | 0 % | 2026-10-23 14:59 | ✅ |
119 −| [SharkNinja](sharkninjaoperatingllc.md) | 2 | 100 % | 100 % | 0 % | 2026-10-23 15:11 | ✅ |
120 −| [Terrestar - Strigo](strigofr.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 15:14 | ✅ |
121 −| [Terrestar Solutions](terrestarsolutionsinc.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 15:17 | ✅ |
122 −| [Zscaler](zscaler.md) | 2 | 100 % | 100 % | 100 % | 2026-10-23 15:25 | ✅ |
123 −| [VML](wundermanthompson.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 15:24 | ✅ |
124 −| [Gearbox Studio Québec](gearboxquebec.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 16:58 | ✅ |
125 −| [Samsara](samsara.md) | 1 | 100 % | 100 % | 100 % | 2026-10-23 15:08 | ✅ |
126 −| [Vaco by Highspring](vaco.md) | 1 | 100 % | 100 % | 0 % | 2026-10-23 15:20 | ✅ |
127 −| [Club Monaco](clubmonaco.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 16:46 | ✅ |
128 −| [2K Vegas](x2kvegas.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 15:24 | ✅ |
129 −| [Agapyo](agapyo.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 17:33 | ✅ |
130 −| [BCES Global](bces.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 17:38 | ✅ |
131 −| [Banyan Capital Partners](bcp.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 17:38 | ✅ |
132 −| [Berlin Packaging Canada Corporation](bpcanada.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 17:41 | ✅ |
133 −| [Connor, Clark & Lunn Financial Group Ltd.](cclfg.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 17:46 | ✅ |
134 −| [Databricks](databricks.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 16:48 | ✅ |
135 −| [DEPT®](dept.md) | 1 | 100 % | 100 % | 100 % | 2026-10-23 16:49 | ✅ |
136 −| [Earth Rated](earthrated.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 16:52 | ✅ |
137 −| [Goalcast](goalcast.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 17:00 | ✅ |
138 −| [Numen Labs](numenlabs.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 14:59 | ✅ |
139 −| [Passport Brand Design](passportbranddesign.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 15:00 | ✅ |
140 −| [Poka FR](pokafr.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 15:01 | ✅ |
141 −| [Proof](proof.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 15:02 | ✅ |
142 −| [Torc Robotics](torcrobotics.md) | 1 | 100 % | 100 % | 100 % | 2026-10-23 15:18 | ✅ |
143 −| [WaveShaper AI](waveshaperai.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 15:23 | ✅ |
144 −| [NATIONAL](national.md) | 0 | — | — | — | 2026-10-23 14:57 | ✅ |
145 −| [On Running](onrunning.md) | 0 | — | — | — | 2026-10-23 15:00 | ✅ |
146 −| [Latys Intelligence](latys.md) | 0 | — | — | — | 2026-10-23 14:51 | ✅ |
147 −| [ANINE BING](aninebing.md) | 0 | — | — | — | 2026-10-23 17:35 | ✅ |
148 −| [Capco](capco.md) | 0 | — | — | — | 2026-10-23 17:42 | ✅ |
149 −| [CapIntel](capintel.md) | 0 | — | — | — | 2026-10-23 17:42 | ✅ |
150 −| [Echodyne Corp](echodynecorp.md) | 0 | — | — | — | 2026-10-23 16:53 | ✅ |
151 −| [Edelman Financial Engines, LLC](edelmanfinancialenginesllc.md) | 0 | — | — | — | 2026-10-23 16:53 | ✅ |
152 −| [Industrial Electric Manufacturing](industrialelectricmanufacturing.md) | 0 | — | — | — | 2026-10-23 17:15 | ✅ |
153 −| [IT-ED](ited_solutions.md) | 0 | — | — | — | 2026-10-23 14:42 | ✅ |
154 −| [Kestra Medical Technologies Inc.](kestramedicaltechnologiesinc.md) | 0 | — | — | — | 2026-10-23 14:50 | ✅ |
155 −| [Lake Washington Dermatology](lakewashingtondermatology.md) | 0 | — | — | — | 2026-10-23 14:51 | ✅ |
156 −| [Novisto Fr](novistofr.md) | 0 | — | — | — | 2026-10-23 14:59 | ✅ |
157 −| [Ocado Group](ocadogroup.md) | 0 | — | — | — | 2026-10-23 14:59 | ✅ |
158 −| [Ogilvy Canada](ogilvycanada.md) | 0 | — | — | — | 2026-10-23 15:00 | ✅ |
159 −| [One Medical](onemedical.md) | 0 | — | — | — | 2026-10-23 15:00 | ✅ |
160 −| [PhyNet Dermatology LLC (External)](phynetdermatology.md) | 0 | — | — | — | 2026-10-23 15:01 | ✅ |
161 −| [Ponsera](ponsera.md) | 0 | — | — | — | 2026-10-23 15:01 | ✅ |
162 −| [Qohash](qohash.md) | 0 | — | — | — | 2026-10-23 15:05 | ✅ |
163 −| [Really Great Reading](reallygreatreading.md) | 0 | — | — | — | 2026-10-23 15:06 | ✅ |
164 −| [SOL Mental Health](solmentalhealth.md) | 0 | — | — | — | 2026-10-23 15:13 | ✅ |
165 −| [Sweeney Conrad](sweeneyconrad.md) | 0 | — | — | — | 2026-10-23 15:15 | ✅ |
166 −| [Tefron](tefron.md) | 0 | — | — | — | 2026-10-23 15:17 | ✅ |
167 −| [Triumvirate Environmental](triumvirateenvironmental.md) | 0 | — | — | — | 2026-10-23 15:19 | ✅ |
168 −| [Uber Freight](uberfreight.md) | 0 | — | — | — | 2026-10-23 17:45 | ✅ |
169 −| [USA Mechanical & Energy Services](usamechasp.md) | 0 | — | — | — | 2026-10-23 15:20 | ✅ |
170 −| [Valence Labs](valencelabs.md) | 0 | — | — | — | 2026-10-23 15:20 | ✅ |
171 −| [Wisemotion Robotics](wisemotion.md) | 0 | — | — | — | 2026-10-23 15:24 | ✅ |
40 +| [Laporte Experts Conseils](laportefr.md) | 59 | 0 % | 100 % | 0 % | 2026-10-30 13:19 | ✅ |
41 +| [Squarepoint Capital](squarepointcapital.md) | 52 | 38 % | 100 % | 4 % | 2026-10-30 13:42 | ✅ |
42 +| [Levio](levio.md) | 40 | 0 % | 100 % | 0 % | 2026-10-30 13:19 | ✅ |
43 +| [Coveo](coveofr.md) | 29 | 0 % | 100 % | 0 % | 2026-10-30 15:04 | ✅ |
44 +| [AppDirect](appdirect.md) | 26 | 31 % | 100 % | 0 % | 2026-10-30 14:38 | ✅ |
45 +| [Coveo](coveoen.md) | 26 | 0 % | 100 % | 0 % | 2026-10-30 15:04 | ✅ |
46 +| [Lyft](lyft.md) | 24 | 100 % | 100 % | 0 % | 2026-10-30 13:20 | ✅ |
47 +| [Hasbro](hasbro.md) | 22 | 0 % | 100 % | 0 % | 2026-10-30 13:02 | ✅ |
48 +| [mthree](mthreerecruitingportal.md) | 21 | 0 % | 100 % | 19 % | 2026-10-30 13:25 | ✅ |
49 +| [Vooban](vooban.md) | 18 | 0 % | 100 % | 0 % | 2026-10-30 13:49 | ✅ |
50 +| [La Senza](lasenza.md) | 15 | 13 % | 100 % | 0 % | 2026-10-30 13:19 | ✅ |
51 +| [Sony Pictures Imageworks](sonypicturesimageworks.md) | 15 | 33 % | 100 % | 0 % | 2026-10-30 13:41 | ✅ |
52 +| [Sid Lee](sidlee.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 13:40 | ✅ |
53 +| [LoiZéro](loizero.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 13:20 | ✅ |
54 +| [Royal Vet](royalvet.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 13:35 | ✅ |
55 +| [Toboggan Labs](tobogganlabs.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 13:46 | ✅ |
56 +| [Aylo](aylo.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
57 +| [Aylo](aylofr.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
58 +| [Epic Games](epicgames.md) | 12 | 0 % | 100 % | 0 % | 2026-10-30 15:09 | ✅ |
59 +| [AlayaCare](alayacare.md) | 11 | 0 % | 100 % | 0 % | 2026-10-30 14:37 | ✅ |
60 +| [Lush Cosmétiques](lush.md) | 11 | 100 % | 100 % | 0 % | 2026-10-30 13:20 | ✅ |
61 +| [SIA Innovations](siainnovationsinc.md) | 11 | 45 % | 100 % | 73 % | 2026-10-30 13:40 | ✅ |
62 +| [Artiste technique sénior·e UI / Senior UI Tech Artist](x2k.md) | 11 | 9 % | 100 % | 0 % | 2026-10-30 13:52 | ✅ |
63 +| [LawZero](lawzero.md) | 11 | 0 % | 100 % | 0 % | 2026-10-30 13:19 | ✅ |
64 +| [Quadbridge](quadbridge.md) | 11 | 55 % | 100 % | 9 % | 2026-10-30 13:32 | ✅ |
65 +| [Stay22](stay22.md) | 11 | 9 % | 100 % | 0 % | 2026-10-30 13:42 | ✅ |
66 +| [WPP Media](wppmedia.md) | 11 | 0 % | 100 % | 0 % | 2026-10-30 13:52 | ✅ |
67 +| [Broadsign](broadsign.md) | 9 | 0 % | 100 % | 89 % | 2026-10-30 14:44 | ✅ |
68 +| [Broadsign](broadsignfr.md) | 9 | 0 % | 100 % | 67 % | 2026-10-30 14:44 | ✅ |
69 +| [GURUS Solutions](gurussolutions.md) | 8 | 0 % | 100 % | 0 % | 2026-10-30 13:02 | ✅ |
70 +| [Cloud Chamber Montréal](cloudchamberfr.md) | 8 | 0 % | 88 % | 0 % | 2026-10-30 15:03 | ✅ |
71 +| [Keel Infrastructure](keelinfrastructure.md) | 8 | 0 % | 100 % | 0 % | 2026-10-30 13:17 | ✅ |
72 +| [DRW](drweng.md) | 8 | 0 % | 100 % | 0 % | 2026-10-30 15:06 | ✅ |
73 +| [DRW Montreal](drwfr.md) | 8 | 0 % | 100 % | 0 % | 2026-10-30 15:06 | ✅ |
74 +| [Valtech](valtech.md) | 7 | 14 % | 100 % | 0 % | 2026-10-30 15:12 | ✅ |
75 +| [Mejuri](mejuri.md) | 7 | 71 % | 100 % | 0 % | 2026-10-30 13:24 | ✅ |
76 +| [Alveole](alveole.md) | 7 | 100 % | 100 % | 14 % | 2026-10-30 14:38 | ✅ |
77 +| [Artefact North America](artefactnoram.md) | 7 | 57 % | 100 % | 0 % | 2026-10-30 14:39 | ✅ |
78 +| [Cloud Chamber](cloudchamberen.md) | 7 | 0 % | 86 % | 0 % | 2026-10-30 15:03 | ✅ |
79 +| [Novisto](novisto78.md) | 7 | 0 % | 100 % | 0 % | 2026-10-30 13:27 | ✅ |
80 +| [TandemLaunch](tandemlaunch.md) | 6 | 0 % | 100 % | 17 % | 2026-10-30 13:43 | ✅ |
81 +| [Bain Magique](bainmagique.md) | 6 | 67 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
82 +| [Highdive](highdive.md) | 6 | 0 % | 100 % | 0 % | 2026-10-30 13:03 | ✅ |
83 +| [Internal](internaljobsatlush.md) | 6 | 100 % | 100 % | 0 % | 2026-10-30 13:08 | ✅ |
84 +| [Ivalua](ivalua.md) | 6 | 0 % | 100 % | 0 % | 2026-10-30 13:09 | ✅ |
85 +| [Oldcastle BuildingEnvelope](oldcastlebuildingenvelope.md) | 6 | 0 % | 100 % | 0 % | 2026-10-30 13:27 | ✅ |
86 +| [Alo Yoga](aloyoga.md) | 5 | 40 % | 60 % | 0 % | 2026-10-30 14:37 | ✅ |
87 +| [KRAFTON Montréal Studio](studiokraftonboard.md) | 5 | 0 % | 100 % | 40 % | 2026-10-30 13:42 | ✅ |
88 +| [TEN Canada (Transportation Equipment Network)](ten_canada.md) | 5 | 0 % | 100 % | 0 % | 2026-10-30 13:45 | ✅ |
89 +| [Behavox](behavox.md) | 5 | 0 % | 100 % | 0 % | 2026-10-30 14:42 | ✅ |
90 +| [Human Agency](humanagency.md) | 5 | 0 % | 100 % | 60 % | 2026-10-30 13:06 | ✅ |
91 +| [AutoTrader Canada](autotradercanada.md) | 4 | 100 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
92 +| [Welcome to the Jungle](artefactjobs.md) | 4 | 50 % | 100 % | 0 % | 2026-10-30 14:39 | ✅ |
93 +| [Monster Energy](monsterenergy.md) | 4 | 100 % | 100 % | 0 % | 2026-10-30 13:25 | ✅ |
94 +| [Connor, Clark & Lunn Private Capital Ltd.](pcm.md) | 4 | 100 % | 100 % | 0 % | 2026-10-30 13:28 | ✅ |
95 +| [Poka](poka.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:29 | ✅ |
96 +| [Samsara](samsara.md) | 3 | 100 % | 100 % | 100 % | 2026-10-30 13:36 | ✅ |
97 +| [VML Canada](vmlcanadaen.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:49 | ✅ |
98 +| [Opportunities with AppDirect's Advisor Partners (Recruitment as a Service)](appdirectraas.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 14:38 | ✅ |
99 +| [French Canadian Bauer Hockey/ Cascade Maverik Lacrosse](bauerhockeycascademaveriklacrossefc.md) | 3 | 67 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
100 +| [DoorDash Quebec](doordashquebec.md) | 3 | 100 % | 100 % | 0 % | 2026-10-30 15:06 | ✅ |
101 +| [Haven Interactive Studios](haven.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:02 | ✅ |
102 +| [Haven Interactive Studios - English](havenenglish.md) | 3 | 0 % | 100 % | 33 % | 2026-10-30 13:02 | ✅ |
103 +| [RTINGS.com (FR)](laboratoirertingscom.md) | 3 | 33 % | 100 % | 67 % | 2026-10-30 13:18 | ✅ |
104 +| [Modern Menopause](modernmenopause.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:25 | ✅ |
105 +| [SharkNinja](sharkninjaoperatingllc.md) | 3 | 100 % | 100 % | 0 % | 2026-10-30 13:39 | ✅ |
106 +| [Shearwater](shearwater.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:39 | ✅ |
107 +| [PlayStation Global](sonyinteractiveentertainmentglobal.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:41 | ✅ |
108 +| [VML Canada (French)](vmlcanadafr.md) | 3 | 0 % | 100 % | 0 % | 2026-10-30 13:49 | ✅ |
109 +| [Bath Fitter Corporate](bathfitterdistributinginc.md) | 3 | 67 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
110 +| [Terrestar Solutions](terrestarsolutionsfr.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 13:45 | ✅ |
111 +| [2K Vegas](x2kvegas.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 13:52 | ✅ |
112 +| [Adaptive Financial Consulting](adaptivefinancialconsulting.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 14:35 | ✅ |
113 +| [AON3D](aon3d.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 14:38 | ✅ |
114 +| [AON3D](aon3d_fr.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 14:38 | ✅ |
115 +| [Bauer Hockey/ Cascade Maverik Lacrosse](bauerhockeycascademaveriklacrosse.md) | 2 | 50 % | 100 % | 0 % | 2026-10-30 14:41 | ✅ |
116 +| [BETA Technologies](betatechnologiesinc.md) | 2 | 50 % | 100 % | 0 % | 2026-10-30 14:42 | ✅ |
117 +| [CaptiveAire](captiveaire.md) | 2 | 100 % | 100 % | 0 % | 2026-10-30 14:45 | ✅ |
118 +| [Databricks](databricks.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 15:04 | ✅ |
119 +| [EC-Solutions](ecsolutions.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 15:08 | ✅ |
120 +| [FlightHub](flighthub.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 12:51 | ✅ |
121 +| [New Era Technology](neweratech.md) | 2 | 100 % | 100 % | 0 % | 2026-10-30 13:26 | ✅ |
122 +| [Numa](numa.md) | 2 | 100 % | 100 % | 0 % | 2026-10-30 13:27 | ✅ |
123 +| [Poka FR](pokafr.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 13:29 | ✅ |
124 +| [Terrestar Solutions](terrestarsolutionsinc.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 13:45 | ✅ |
125 +| [VML](wundermanthompson.md) | 2 | 0 % | 100 % | 0 % | 2026-10-30 13:52 | ✅ |
126 +| [Gearbox Studio Québec](gearboxquebec.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 12:52 | ✅ |
127 +| [Vaco by Highspring](vaco.md) | 1 | 100 % | 100 % | 0 % | 2026-10-30 13:48 | ✅ |
128 +| [Club Monaco](clubmonaco.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 15:03 | ✅ |
129 +| [Agapyo](agapyo.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 14:36 | ✅ |
130 +| [BCES Global](bces.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 14:42 | ✅ |
131 +| [Banyan Capital Partners](bcp.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 14:42 | ✅ |
132 +| [Berlin Packaging Canada Corporation](bpcanada.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 14:43 | ✅ |
133 +| [Connor, Clark & Lunn Financial Group Ltd.](cclfg.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 14:57 | ✅ |
134 +| [DEPT®](dept.md) | 1 | 100 % | 100 % | 100 % | 2026-10-30 15:05 | ✅ |
135 +| [Earth Rated](earthrated.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 15:08 | ✅ |
136 +| [Goalcast](goalcast.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 12:54 | ✅ |
137 +| [Numen Labs](numenlabs.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 13:27 | ✅ |
138 +| [Passport Brand Design](passportbranddesign.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 13:28 | ✅ |
139 +| [Proof](proof.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 13:29 | ✅ |
140 +| [Terrestar - Strigo](strigofr.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 13:42 | ✅ |
141 +| [Torc Robotics](torcrobotics.md) | 1 | 100 % | 100 % | 100 % | 2026-10-30 13:46 | ✅ |
142 +| [Uber Freight](uberfreight.md) | 1 | 100 % | 100 % | 100 % | 2026-10-30 13:47 | ✅ |
143 +| [WaveShaper AI](waveshaperai.md) | 1 | 0 % | 100 % | 0 % | 2026-10-30 13:51 | ✅ |
144 +| [Zscaler](zscaler.md) | 1 | 100 % | 100 % | 100 % | 2026-10-30 13:53 | ✅ |
145 +| [NATIONAL](national.md) | 0 | — | — | — | 2026-10-30 13:25 | ✅ |
146 +| [On Running](onrunning.md) | 0 | — | — | — | 2026-10-30 13:28 | ✅ |
147 +| [Latys Intelligence](latys.md) | 0 | — | — | — | 2026-10-30 13:19 | ✅ |
148 +| [ANINE BING](aninebing.md) | 0 | — | — | — | 2026-10-30 14:38 | ✅ |
149 +| [Capco](capco.md) | 0 | — | — | — | 2026-10-30 14:45 | ✅ |
150 +| [CapIntel](capintel.md) | 0 | — | — | — | 2026-10-30 14:45 | ✅ |
151 +| [Echodyne Corp](echodynecorp.md) | 0 | — | — | — | 2026-10-30 15:08 | ✅ |
152 +| [Edelman Financial Engines, LLC](edelmanfinancialenginesllc.md) | 0 | — | — | — | 2026-10-30 15:08 | ✅ |
153 +| [Industrial Electric Manufacturing](industrialelectricmanufacturing.md) | 0 | — | — | — | 2026-10-30 13:08 | ✅ |
154 +| [IT-ED](ited_solutions.md) | 0 | — | — | — | 2026-10-30 13:09 | ✅ |
155 +| [Kestra Medical Technologies Inc.](kestramedicaltechnologiesinc.md) | 0 | — | — | — | 2026-10-30 13:17 | ✅ |
156 +| [Lake Washington Dermatology](lakewashingtondermatology.md) | 0 | — | — | — | 2026-10-30 13:18 | ✅ |
157 +| [Novisto Fr](novistofr.md) | 0 | — | — | — | 2026-10-30 13:27 | ✅ |
158 +| [Ocado Group](ocadogroup.md) | 0 | — | — | — | 2026-10-30 13:27 | ✅ |
159 +| [Ogilvy Canada](ogilvycanada.md) | 0 | — | — | — | 2026-10-30 13:27 | ✅ |
160 +| [One Medical](onemedical.md) | 0 | — | — | — | 2026-10-30 13:27 | ✅ |
161 +| [PhyNet Dermatology LLC (External)](phynetdermatology.md) | 0 | — | — | — | 2026-10-30 13:28 | ✅ |
162 +| [Ponsera](ponsera.md) | 0 | — | — | — | 2026-10-30 13:29 | ✅ |
163 +| [Qohash](qohash.md) | 0 | — | — | — | 2026-10-30 13:32 | ✅ |
164 +| [Really Great Reading](reallygreatreading.md) | 0 | — | — | — | 2026-10-30 13:33 | ✅ |
165 +| [SOL Mental Health](solmentalhealth.md) | 0 | — | — | — | 2026-10-30 13:41 | ✅ |
166 +| [Sweeney Conrad](sweeneyconrad.md) | 0 | — | — | — | 2026-10-30 13:42 | ✅ |
167 +| [Tefron](tefron.md) | 0 | — | — | — | 2026-10-30 13:44 | ✅ |
168 +| [Triumvirate Environmental](triumvirateenvironmental.md) | 0 | — | — | — | 2026-10-30 13:46 | ✅ |
169 +| [USA Mechanical & Energy Services](usamechasp.md) | 0 | — | — | — | 2026-10-30 13:48 | ✅ |
170 +| [Valence Labs](valencelabs.md) | 0 | — | — | — | 2026-10-30 13:48 | ✅ |
171 +| [Wisemotion Robotics](wisemotion.md) | 0 | — | — | — | 2026-10-30 13:52 | ✅ |
172 172
173 173 ## Licence / conformité
174 174
modified docs/connecteurs/valtech.md +20 −16
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 5 Contact : contact@spboucher.ai
6 6 Fichier : docs/connecteurs/valtech.md
7 7 Rôle : Fiche connecteur — Valtech (employeur direct, ATS greenhouse)
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-30 15:13 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
@@ -17,7 +17,7 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
17 17 ## Description
18 18
19 19 - **Site** : [Valtech]()
20 −- **Page carrières** : https://job-boards.greenhouse.io/valtech
20 +- **Page carrières** : https://www.valtech.com/en-ca/career/jobs/
21 21 - **Secteurs** : TI
22 22 - **Région** : Montréal
23 23 - Offres marquées **« Offre directe »** dans l'app (badge) : la candidature se fait chez l'employeur, jamais via un intermédiaire.
@@ -36,7 +36,7 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
36 36
37 37 ## Champs → schéma
38 38
39 −Complétude mesurée sur les **6 offres actives** de la source (base live, 2026-10-14 18:40 EDT).
39 +Complétude mesurée sur les **7 offres actives** de la source (base live, 2026-10-30 15:13 EDT).
40 40
41 41 | Champ (`jobs.*`) | Rôle | Complétude |
42 42 |---|---|---|
@@ -50,13 +50,13 @@ Complétude mesurée sur les **6 offres actives** de la source (base live, 2026-
50 50 | `postal_code` — Code postal | code postal si publié | 0 % |
51 51 | `work_mode` — Mode | presentiel / hybride / teletravail | 0 % |
52 52 | `employment_type` — Type | temps_plein / temps_partiel / … | 0 % |
53 −| `salary` — Salaire ($) | bornes numériques normalisées $/h et $/an | 17 % |
54 −| `salary_label` — Libellé salaire | texte salarial original | 17 % |
55 −| `benefits` — Avantages | avantages sociaux publiés (JSON) | 0 % |
53 +| `salary` — Salaire ($) | bornes numériques normalisées $/h et $/an | 14 % |
54 +| `salary_label` — Libellé salaire | texte salarial original | 14 % |
55 +| `benefits` — Avantages | avantages sociaux publiés (JSON) | 14 % |
56 56 | `requirements` — Exigences | scolarité, expérience, langues (JSON) | 100 % |
57 57 | `date_posted` — Date de parution | ISO 8601 | 100 % |
58 58 | `date_deadline` — Date limite | date limite pour postuler | 0 % |
59 −| `category` — Catégorie | taxonomie interne (TI, Santé, …) | 50 % |
59 +| `category` — Catégorie | taxonomie interne (TI, Santé, …) | 71 % |
60 60 | `language` — Langue | fr / en / bilingue (source ou heuristique) | 100 % |
61 61 | `company_logo` — Logo employeur | URL du logo si exposé par la source | 0 % |
62 62 | `apply_url` — Candidature | lien de candidature directe | 0 % |
@@ -72,19 +72,23 @@ Exemple réel : *Principal(e) Analyste en Mesure Numérique* — Montréal · La
72 72
73 73 ## Volumétrie & complétude live
74 74
75 −*(mesuré le 2026-10-14 18:40 EDT dans `data/jobka.db`)*
75 +*(mesuré le 2026-10-30 15:13 EDT dans `data/jobka.db`)*
76 76
77 −- **Offres en base** : 21 (dont **6 actives**, 0 masquées comme doublons `dup_of`)
78 −- **Salaire** : 1/6 actives (17 %)
79 −- **GPS** : 6/6 actives (100 %)
80 −- **Mode** : 0/6 actives (0 %)
81 −- **Parution** : 6/6 actives (100 %)
82 −- **Dernier sync** : 2026-10-14 16:12 — trouvées 6, +0, ~0, -0
83 −- **Syncs enregistrés** (`sync_log`) : 533
77 +- **Offres en base** : 25 (dont **7 actives**, 0 masquées comme doublons `dup_of`)
78 +- **Salaire** : 1/7 actives (14 %)
79 +- **GPS** : 7/7 actives (100 %)
80 +- **Mode** : 0/7 actives (0 %)
81 +- **Parution** : 7/7 actives (100 %)
82 +- **Dernier sync** : 2026-10-30 15:12 — trouvées 7, +0, ~7, -0
83 +- **Syncs enregistrés** (`sync_log`) : 662
84 84
85 85 ## Erreurs & dépannage
86 86
87 −Aucune erreur dans `sync_log` pour cette source.
87 +Erreurs relevées dans `sync_log` :
88 +
89 +| Erreur | Occurrences | Dernière fois |
90 +|---|---|---|
91 +| 404 Client Error: Not Found for url: https://boards-api.greenhouse.io/v1/boards/valtech/jo… | 2 | 2026-10-30 13:48 |
88 92
89 93 - Rejouer un sync isolé : `.venv/bin/python run.py sync valtech` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='valtech' ORDER BY ts DESC LIMIT 5;"`
90 94 - Garde-fous : une source qui retourne ≤ 25 % de sa médiane historique déclenche une alerte et les retraits sont suspendus ; une offre doit manquer 2 syncs consécutifs avant `active=0`.
modified jobka/connectors/valtech.py +123 −4
@@ -3,14 +3,133 @@
3 3 # Auteur : Simon-Pierre Boucher
4 4 # Contact : contact@spboucher.ai
5 5 # Fichier : jobka/connectors/valtech.py
6 −# Rôle : Connecteur Valtech — greenhouse (org « valtech »)
7 −# [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-18]
8 −# Créé : 2026-08-18 Modifié : 2026-08-18
6 +# Rôle : Connecteur Valtech — site carrières officiel www.valtech.com
7 +# (ex-Greenhouse boards-api, org « valtech ») ; IDs Greenhouse
8 +# préservés via l'URL des pages détail (continuité external_id)
9 +# Créé : 2026-08-18 Modifié : 2026-10-30
9 10 # =============================================================================
11 +"""Connecteur Valtech — www.valtech.com/en-ca/career/jobs/.
12 +
13 +Historique (2026-10-30) : le board Greenhouse « valtech » a disparu de
14 +l'API publique entre 10:11 et 11:53 EDT (404 « Job board not found » sur
15 +boards-api.greenhouse.io, qui servait jusque-là found=7 en continu).
16 +Le tenant vit désormais sur le silo EU de Greenhouse
17 +(job-boards.eu.greenhouse.io/valtech — les anciennes absolute_url y
18 +pointaient déjà) mais le board y renvoie 500 `?error=true` sur TOUTES les
19 +pages (liste, détail, embed), alors qu'un slug bidon donne 404 : le board
20 +existe côté EU mais n'est plus servi publiquement (ni par l'API globale,
21 +qui sert pourtant d'autres tenants EU comme riverlane/eversports — vérifié
22 +le 2026-10-30, status.greenhouse.io vert, docs sans hôte API EU distinct).
23 +
24 +On bascule donc sur le **site carrières officiel de l'employeur**, qui
25 +publie les mêmes offres Greenhouse en rendu serveur (même doctrine que la
26 +migration autodesk → eightfold : suivre l'employeur, préserver les IDs) :
27 +
28 +- liste : GET https://www.valtech.com/joblist/getjsonresult
29 + ?id=1571&language=en-CA&limit=100&offset=N
30 + -> {list:[{id, title, url:"/en-ca/career/jobs/<ghid>/",
31 + offices:["Montreal"|"Canada - Remote"|…], tags}],
32 + page:{itemTotal,…}} — l'<ghid> final de l'URL est l'ID
33 + Greenhouse historique (ex. 4999182101) => external_id inchangés.
34 + La locale en-CA liste TOUTES les offres monde (147 au
35 + 2026-10-30), titres FR inclus (les postes FR/EN de Montréal
36 + sont des offres distinctes, comme avant via l'API Greenhouse).
37 +- filtre : offices via is_quebec_location (« Montreal » oui,
38 + « Canada - Remote » non) — 7 offres au 2026-10-30, médiane 7.0,
39 + mêmes 7 actives qu'en base avant la panne.
40 +- détail : GET de la page /en-ca/career/jobs/<ghid>/ (SSR, pas de JS) ->
41 + description HTML complète dans <article class="rte-block">
42 + (contenu Greenhouse rendu, salaire inclus) + JSON-LD JobPosting
43 + avec datePosted FIABLE (= first_published Greenhouse, vérifié :
44 + 4999182101 -> 2026-10-07, identique à l'historique). Cache BD.
45 +"""
46 +from __future__ import annotations
47 +
48 +import re
49 +
50 +from ..schema import JobPosting, clean_html, is_quebec_location
51 +from . import _jsonld
10 52 from .greenhouse import GreenhouseConnector
11 53
54 +BASE = "https://www.valtech.com"
55 +LIST_URL = BASE + "/joblist/getjsonresult"
56 +LIST_ID = "1571" # id du composant joblist côté valtech.com
57 +PAGE_LIMIT = 100
58 +
59 +# ID Greenhouse en fin d'URL détail : /en-ca/career/jobs/4999182101/
60 +_GH_ID_RE = re.compile(r"/jobs/(\d+)/?$")
61 +# Description = contenu Greenhouse rendu serveur dans l'article rte-block
62 +_RTE_RE = re.compile(r'<article class="rte-block">(.*?)</article>', re.S)
63 +# Le bloc répète le titre en <h1> : on le retire (l'API Greenhouse ne
64 +# l'incluait pas dans `content`)
65 +_H1_RE = re.compile(r"<h1[^>]*>.*?</h1>", re.S)
66 +
12 67
13 68 class ValtechConnector(GreenhouseConnector):
14 69 source_id = 'valtech'
15 70 EMPLOYER = 'Valtech'
16 − BOARD = 'valtech'
71 + BOARD = 'valtech' # org Greenhouse d'origine (IDs toujours gh)
72 +
73 + def _detail_payload(self, url: str) -> dict:
74 + """Page détail SSR -> description HTML + datePosted (JSON-LD)."""
75 + html = self.get(url).text
76 + payload: dict = {}
77 + m = _RTE_RE.search(html)
78 + if m:
79 + payload["description"] = clean_html(_H1_RE.sub("", m.group(1), count=1))
80 + node = _jsonld.extract_jobposting(html)
81 + if node:
82 + if node.get("datePosted"):
83 + payload["date_posted"] = node["datePosted"]
84 + if node.get("validThrough"):
85 + payload["date_deadline"] = node["validThrough"]
86 + return payload
87 +
88 + def fetch(self) -> list[JobPosting]:
89 + # -- liste paginée (toutes offres monde, filtre Québec côté client) --
90 + items: list[dict] = []
91 + offset, total = 0, None
92 + while True:
93 + data = self.get(LIST_URL, params={
94 + "id": LIST_ID, "language": "en-CA",
95 + "limit": str(PAGE_LIMIT), "offset": str(offset)}).json()
96 + batch = data.get("list")
97 + if batch is None: # structure inattendue : erreur franche,
98 + raise RuntimeError( # jamais un faux « 0 offre »
99 + f"liste valtech.com illisible (clés: {list(data)[:5]})")
100 + items.extend(batch)
101 + total = (data.get("page") or {}).get("itemTotal") or 0
102 + offset += PAGE_LIMIT
103 + if not batch or offset >= total or offset > 2000:
104 + break
105 +
106 + out: list[JobPosting] = []
107 + for item in items:
108 + offices = [o for o in item.get("offices") or [] if o]
109 + if not any(is_quebec_location(o) for o in offices):
110 + continue
111 + path = item.get("url") or ""
112 + m = _GH_ID_RE.search(path)
113 + if not m: # pas d'ID Greenhouse dans l'URL : on saute
114 + continue
115 + external_id = m.group(1)
116 + url = BASE + path
117 + title = (item.get("title") or "").strip()
118 +
119 + key = f"{title}|{'|'.join(offices)}"
120 + try:
121 + detail = self.detail(external_id, key,
122 + lambda u=url: self._detail_payload(u))
123 + except Exception:
124 + detail = self.stale_detail(external_id)
125 +
126 + out.append(JobPosting(
127 + source=self.source_id, external_id=external_id,
128 + url=url, employer=self.EMPLOYER, title=title,
129 + description=detail.get("description") or "",
130 + location_label=", ".join(offices),
131 + date_posted=detail.get("date_posted"),
132 + date_deadline=detail.get("date_deadline"),
133 + ats=self.ats,
134 + ))
135 + return out
17 136
Menu

Theme