SPB Git

spb/job-ka

Public

[ka6] connecteur mcgillstlaurent: restauration après rollback automatique (2e intervention) — le diagnostic site_source_mort du 2026-10-22 (35756e9b) reste valide, le broken actuel vient du revert cff3361f de la supervision (verdict JSON tronqué → « inconnu », même mécanique que le cas enercare f5248721), pas de la source. Re-vérifié live le 2026-10-23 : tenant JazzHR mcgillstlaurent.applytojob.com toujours 200 « Inactive Career Page » (compte résilié chez l'ATS) ; board Lever unifié du groupe jobs.lever.co/mcgillstlaurent toujours vivant (7 offres dont 3 CWP Energy : Junior Power Trader QC, Agentic Innovation Specialist QC, Power Trader US filtrée) et DÉJÀ COUVERT par le frère mcgillstlaurentb8 (sync isolé rejoué ok=1 found=6 en 1,0 s). Restauration CHIRURGICALE (pas de revert du revert, les fiches docs ayant été régénérées entre-temps par les missions sobeys/gevgroupltd) : git checkout 35756e9b -- mcgillstlaurent.py (docstring chronologie) + réédition sources.json (url https://mcgillstlaurent.com/cwp-energy/ re-vérifiée 200, sectors [Énergie, Finance]) + note 2e intervention anti-récidive dans la docstring (« ne PAS re-reverter »). Sync isolé mcgillstlaurent rejoué : échec explicite attendu « compte JazzHR désactivé » (détection adb8637, comportement conçu) — aucun code de fetch modifié, le connecteur repartira seul si le tenant revenait. Fiches mcgillstlaurent.md/ats-jazzhr.md/INDEX.md régénérées (1131 autres fiches restaurées, hors périmètre). 108 tests 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 23, 2026) parent 70759dc Browse files

5 changed files +145 −88

modified data/sources.json +5 −2
@@ -13216,9 +13216,12 @@
13216 { 13216 {
13217 "id": "mcgillstlaurent", 13217 "id": "mcgillstlaurent",
13218 "name": "CWP Energy", 13218 "name": "CWP Energy",
13219− "url": "", 13219+ "url": "https://mcgillstlaurent.com/cwp-energy/",
13220 "careers_url": "https://mcgillstlaurent.applytojob.com/apply/", 13220 "careers_url": "https://mcgillstlaurent.applytojob.com/apply/",
13221− "sectors": [], 13221+ "sectors": [
13222+ "Énergie",
13223+ "Finance"
13224+ ],
13222 "connector": "jazzhr", 13225 "connector": "jazzhr",
13223 "status": "actif", 13226 "status": "actif",
13224 "region": "Québec (province)" 13227 "region": "Québec (province)"
modified docs/connecteurs/INDEX.md +37 −37
@@ -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-22 23:26 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-23 01:52 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-22 23:26 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-23 01:52 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−**1104 employeurs directs** connectés via **25 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **25760 offres actives** (23227 directes, 2533 portails ; 156 masquées comme doublons inter-sources, soit 25604 visibles). 1134 fiches. 17+**1104 employeurs directs** connectés via **25 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **25799 offres actives** (23203 directes, 2596 portails ; 160 masquées comme doublons inter-sources, soit 25639 visibles). 1134 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,26 +22,26 @@ 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 | 7554 | 48 % | 88 % | 25+| [`workday`](ats-workday.md) | 232 | 7549 | 48 % | 88 % |
26−| [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 2920 | 16 % | 99 % | 26+| [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 2919 | 16 % | 99 % |
27−| [`workable`](ats-workable.md) | 71 | 2015 | 18 % | 100 % | 27+| [`workable`](ats-workable.md) | 71 | 1999 | 18 % | 100 % |
28−| [`dayforce`](ats-dayforce.md) | 129 | 1922 | 9 % | 100 % | 28+| [`dayforce`](ats-dayforce.md) | 129 | 1925 | 9 % | 100 % |
29 | [`successfactors`](ats-successfactors.md) | 12 | 1692 | 17 % | 99 % | 29 | [`successfactors`](ats-successfactors.md) | 12 | 1692 | 17 % | 99 % |
30−| [`njoyn`](ats-njoyn.md) | 11 | 1267 | 70 % | 87 % | 30+| [`njoyn`](ats-njoyn.md) | 11 | 1272 | 70 % | 87 % |
31 | [`workland`](ats-workland.md) | 1 | 1205 | 35 % | 100 % | 31 | [`workland`](ats-workland.md) | 1 | 1205 | 35 % | 100 % |
32 | [`greenhouse`](ats-greenhouse.md) | 132 | 818 | 18 % | 100 % | 32 | [`greenhouse`](ats-greenhouse.md) | 132 | 818 | 18 % | 100 % |
33−| [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 806 | 6 % | 100 % | 33+| [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 800 | 6 % | 100 % |
34−| [`lever`](ats-lever.md) | 58 | 611 | 21 % | 96 % | 34+| [`lever`](ats-lever.md) | 58 | 610 | 21 % | 96 % |
35 | [`breezy`](ats-breezy.md) | 71 | 426 | 38 % | 95 % | 35 | [`breezy`](ats-breezy.md) | 71 | 426 | 38 % | 95 % |
36+| [`recruitee`](ats-recruitee.md) | 30 | 286 | 20 % | 97 % |
36 | [`bamboohr`](ats-bamboohr.md) | 37 | 286 | 8 % | 100 % | 37 | [`bamboohr`](ats-bamboohr.md) | 37 | 286 | 8 % | 100 % |
37−| [`recruitee`](ats-recruitee.md) | 30 | 285 | 20 % | 97 % |
38 | [`ashby`](ats-ashby.md) | 41 | 283 | 53 % | 54 % | 38 | [`ashby`](ats-ashby.md) | 41 | 283 | 53 % | 54 % |
39 | [`taleo_tbe`](ats-taleo_tbe.md) | 7 | 206 | 29 % | 56 % | 39 | [`taleo_tbe`](ats-taleo_tbe.md) | 7 | 206 | 29 % | 56 % |
40 | [`zoho_recruit`](ats-zoho_recruit.md) | 17 | 158 | 15 % | 87 % | 40 | [`zoho_recruit`](ats-zoho_recruit.md) | 17 | 158 | 15 % | 87 % |
41 | [`teamtailor`](ats-teamtailor.md) | 10 | 156 | 29 % | 96 % | 41 | [`teamtailor`](ats-teamtailor.md) | 10 | 156 | 29 % | 96 % |
42 | [`jazzhr`](ats-jazzhr.md) | 28 | 137 | 15 % | 91 % | 42 | [`jazzhr`](ats-jazzhr.md) | 28 | 137 | 15 % | 91 % |
43 | [`adp`](ats-adp.md) | 17 | 132 | 37 % | 95 % | 43 | [`adp`](ats-adp.md) | 17 | 132 | 37 % | 95 % |
44−| [`taleo`](ats-taleo.md) | 5 | 117 | 0 % | 100 % | 44+| [`taleo`](ats-taleo.md) | 5 | 113 | 0 % | 100 % |
45 | [`eightfold`](ats-eightfold.md) | 1 | 58 | 90 % | 100 % | 45 | [`eightfold`](ats-eightfold.md) | 1 | 58 | 90 % | 100 % |
46 | [`icims`](ats-icims.md) | 7 | 57 | 26 % | 93 % | 46 | [`icims`](ats-icims.md) | 7 | 57 | 26 % | 93 % |
47 | [`ultipro`](ats-ultipro.md) | 4 | 50 | 54 % | 100 % | 47 | [`ultipro`](ats-ultipro.md) | 4 | 50 | 54 % | 100 % |
@@ -52,9 +52,9 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
52 52
53 | Source | Actives | Salaire | Dernier sync | 53 | Source | Actives | Salaire | Dernier sync |
54 |---|---|---|---| 54 |---|---|---|---|
55−| [Espresso-Jobs](espresso_jobs.md) | 314 | 19 % | 2026-10-22 23:09 | 55+| [Espresso-Jobs](espresso_jobs.md) | 314 | 19 % | 2026-10-22 23:54 |
56−| [Guichet-Emplois (Canada)](guichet_emplois.md) | 510 | 99 % | 2026-10-22 23:23 | 56+| [Guichet-Emplois (Canada)](guichet_emplois.md) | 500 | 99 % | 2026-10-23 00:06 |
57−| [Jobillico](jobillico.md) | 1709 | 38 % | 2026-10-22 21:07 | 57+| [Jobillico](jobillico.md) | 1782 | 38 % | 2026-10-23 00:19 |
58 | [Dépôt direct employeurs](depot-direct.md) | 0 (0 en modération) | — | au fil de l'eau | 58 | [Dépôt direct employeurs](depot-direct.md) | 0 (0 en modération) | — | au fil de l'eau |
59 59
60 ## Employeurs directs (par volume d'offres actives) 60 ## Employeurs directs (par volume d'offres actives)
@@ -63,40 +63,40 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
63 |---|---|---|---|---|---| 63 |---|---|---|---|---|---|
64 | [Réseau Atlas Workland (~80 employeurs QC : CSS, cégeps, Santé Québec, STQ, UQTR…)](atlas_workland.md) | [`workland`](ats-workland.md) | 1205 | 35 % | 100 % | ✅ | 64 | [Réseau Atlas Workland (~80 employeurs QC : CSS, cégeps, Santé Québec, STQ, UQTR…)](atlas_workland.md) | [`workland`](ats-workland.md) | 1205 | 35 % | 100 % | ✅ |
65 | [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 994 | 69 % | 69 % | ✅ | 65 | [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 994 | 69 % | 69 % | ✅ |
66−| [Solution SFT](solution_sft.md) | [`workable`](ats-workable.md) | 972 | 25 % | 100 % | ✅ | 66+| [Solution SFT](solution_sft.md) | [`workable`](ats-workable.md) | 956 | 25 % | 100 % | ✅ |
67 | [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 953 | 1 % | 100 % | ✅ | 67 | [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 953 | 1 % | 100 % | ✅ |
68−| [Walmart Canada](walmart.md) | [`workday`](ats-workday.md) | 932 | 98 % | 89 % | ✅ | 68+| [Walmart Canada](walmart.md) | [`workday`](ats-workday.md) | 927 | 98 % | 89 % | ✅ |
69−| [Santé Québec — Montréal](sante_montreal.md) | [`njoyn`](ats-njoyn.md) | 830 | 97 % | 98 % | ✅ | 69+| [Santé Québec — Montréal](sante_montreal.md) | [`njoyn`](ats-njoyn.md) | 835 | 97 % | 98 % | ✅ |
70−| [Université McGill](mcgill.md) | [`workday`](ats-workday.md) | 448 | 81 % | 100 % | ✅ | 70+| [Université McGill](mcgill.md) | [`workday`](ats-workday.md) | 449 | 81 % | 100 % | ✅ |
71 | [TEHORA](tehora.md) | [`workable`](ats-workable.md) | 419 | 0 % | 100 % | ✅ | 71 | [TEHORA](tehora.md) | [`workable`](ats-workable.md) | 419 | 0 % | 100 % | ✅ |
72 | [CGI](cgi.md) | [`njoyn`](ats-njoyn.md) | 290 | 0 % | 94 % | ✅ | 72 | [CGI](cgi.md) | [`njoyn`](ats-njoyn.md) | 290 | 0 % | 94 % | ✅ |
73 | [Mouvement Desjardins](desjardins.md) | [`workday`](ats-workday.md) | 283 | 1 % | 94 % | ✅ | 73 | [Mouvement Desjardins](desjardins.md) | [`workday`](ats-workday.md) | 283 | 1 % | 94 % | ✅ |
74 | [Slihrms](slihrms.md) | [`workday`](ats-workday.md) | 258 | 11 % | 93 % | ✅ | 74 | [Slihrms](slihrms.md) | [`workday`](ats-workday.md) | 258 | 11 % | 93 % | ✅ |
75−| [Go RH](gorh.md) | [`lever`](ats-lever.md) | 256 | 17 % | 97 % | ✅ |
76 | [CIMA+](cima2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 255 | 1 % | 100 % | ✅ | 75 | [CIMA+](cima2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 255 | 1 % | 100 % | ✅ |
76+| [Go RH](gorh.md) | [`lever`](ats-lever.md) | 255 | 17 % | 98 % | ✅ |
77 | [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 248 | 8 % | 100 % | ✅ | 77 | [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 248 | 8 % | 100 % | ✅ |
78 | [Rechercher des](gianttiger.md) | [`workday`](ats-workday.md) | 238 | 0 % | 100 % | ✅ | 78 | [Rechercher des](gianttiger.md) | [`workday`](ats-workday.md) | 238 | 0 % | 100 % | ✅ |
79 | [Globalhr](globalhr.md) | [`workday`](ats-workday.md) | 232 | 0 % | 84 % | ✅ | 79 | [Globalhr](globalhr.md) | [`workday`](ats-workday.md) | 232 | 0 % | 84 % | ✅ |
80−| [Airbus Canada](airbus.md) | [`workday`](ats-workday.md) | 208 | 4 % | 99 % | ✅ | 80+| [Airbus Canada](airbus.md) | [`workday`](ats-workday.md) | 208 | 4 % | 100 % | ✅ |
81 | [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 205 | 22 % | 100 % | ✅ | 81 | [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 205 | 22 % | 100 % | ✅ |
82 | [Reitmans](reitmanscanadalteltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 204 | 18 % | 100 % | ✅ | 82 | [Reitmans](reitmanscanadalteltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 204 | 18 % | 100 % | ✅ |
83−| [Groupe Banque TD](td.md) | [`workday`](ats-workday.md) | 201 | 95 % | 96 % | ✅ | 83+| [Groupe Banque TD](td.md) | [`workday`](ats-workday.md) | 200 | 94 % | 96 % | ✅ |
84 | [CISSS de Laval](cisss_laval.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 179 | 3 % | 100 % | ✅ | 84 | [CISSS de Laval](cisss_laval.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 179 | 3 % | 100 % | ✅ |
85 | [Sodexo Canada](sodexocanadaltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 154 | 84 % | 99 % | ✅ | 85 | [Sodexo Canada](sodexocanadaltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 154 | 84 % | 99 % | ✅ |
86 | [Le Groupe Maurice](groupemaurice.md) | [`dayforce`](ats-dayforce.md) | 147 | 0 % | 100 % | ✅ | 86 | [Le Groupe Maurice](groupemaurice.md) | [`dayforce`](ats-dayforce.md) | 147 | 0 % | 100 % | ✅ |
87−| [CISSS de l'Abitibi-Témiscamingue](cisss_abitibi.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 145 | 0 % | 100 % | ✅ | 87+| [CISSS de l'Abitibi-Témiscamingue](cisss_abitibi.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 143 | 0 % | 100 % | ✅ |
88 | [Vetstrategy](vetstrategy.md) | [`dayforce`](ats-dayforce.md) | 142 | 4 % | 100 % | ✅ | 88 | [Vetstrategy](vetstrategy.md) | [`dayforce`](ats-dayforce.md) | 142 | 4 % | 100 % | ✅ |
89 | [La Vie en Rose](lavieenrose.md) | [`dayforce`](ats-dayforce.md) | 138 | 4 % | 100 % | ✅ | 89 | [La Vie en Rose](lavieenrose.md) | [`dayforce`](ats-dayforce.md) | 138 | 4 % | 100 % | ✅ |
90 | [Consignaction (AQRCB)](consignaction.md) | [`workday`](ats-workday.md) | 137 | 87 % | 100 % | ✅ | 90 | [Consignaction (AQRCB)](consignaction.md) | [`workday`](ats-workday.md) | 137 | 87 % | 100 % | ✅ |
91 | [Ubisoft](ubisoft.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 135 | 0 % | 100 % | ✅ | 91 | [Ubisoft](ubisoft.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 135 | 0 % | 100 % | ✅ |
92−| [CISSS des Laurentides](cisss_laurentides.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 133 | 6 % | 100 % | ✅ | 92+| [CISSS des Laurentides](cisss_laurentides.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 131 | 6 % | 100 % | ✅ |
93 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 130 | 98 % | 100 % | ✅ | 93 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 130 | 98 % | 100 % | ✅ |
94 | [Deloitte Canada](deloitte.md) | [`successfactors`](ats-successfactors.md) | 119 | 98 % | 100 % | ✅ | 94 | [Deloitte Canada](deloitte.md) | [`successfactors`](ats-successfactors.md) | 119 | 98 % | 100 % | ✅ |
95 | [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 114 | 88 % | 80 % | ✅ | 95 | [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 114 | 88 % | 80 % | ✅ |
96 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 111 | 84 % | 100 % | ✅ | 96 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 111 | 84 % | 100 % | ✅ |
97 | [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 108 | 0 % | 100 % | ✅ | 97 | [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 108 | 0 % | 100 % | ✅ |
98 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 104 | 2 % | 100 % | ✅ | 98 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 104 | 2 % | 100 % | ✅ |
99−| [Vidéotron](videotron.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 104 | 8 % | 100 % | ✅ | 99+| [Vidéotron](videotron.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 103 | 7 % | 100 % | ✅ |
100 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 102 | 17 % | 100 % | ✅ | 100 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 102 | 17 % | 100 % | ✅ |
101 | [CISSS de Chaudière-Appalaches](cisss_chaudiere_appalaches.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 98 | 5 % | 100 % | ✅ | 101 | [CISSS de Chaudière-Appalaches](cisss_chaudiere_appalaches.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 98 | 5 % | 100 % | ✅ |
102 | [CISSS de Lanaudière](cisss_lanaudiere.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 98 | 9 % | 100 % | ✅ | 102 | [CISSS de Lanaudière](cisss_lanaudiere.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 98 | 9 % | 100 % | ✅ |
@@ -111,20 +111,20 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
111 | [Linen Chest](linenchest.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 82 | 9 % | 100 % | ✅ | 111 | [Linen Chest](linenchest.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 82 | 9 % | 100 % | ✅ |
112 | [Bulkbarn](bulkbarn.md) | [`dayforce`](ats-dayforce.md) | 80 | 0 % | 100 % | ✅ | 112 | [Bulkbarn](bulkbarn.md) | [`dayforce`](ats-dayforce.md) | 80 | 0 % | 100 % | ✅ |
113 | [Gflenv](gflenv.md) | [`workday`](ats-workday.md) | 80 | 5 % | 85 % | ✅ | 113 | [Gflenv](gflenv.md) | [`workday`](ats-workday.md) | 80 | 5 % | 85 % | ✅ |
114−| [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 78 | 28 % | 100 % | ✅ |
115 | [CAE](cae.md) | [`workday`](ats-workday.md) | 77 | 18 % | 95 % | ✅ | 114 | [CAE](cae.md) | [`workday`](ats-workday.md) | 77 | 18 % | 95 % | ✅ |
115+| [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 77 | 29 % | 100 % | ✅ |
116 | [Gevernova](gevernova.md) | [`workday`](ats-workday.md) | 77 | 21 % | 96 % | ✅ | 116 | [Gevernova](gevernova.md) | [`workday`](ats-workday.md) | 77 | 21 % | 96 % | ✅ |
117 | [Banque CIBC](cibc.md) | [`workday`](ats-workday.md) | 74 | 0 % | 100 % | ✅ | 117 | [Banque CIBC](cibc.md) | [`workday`](ats-workday.md) | 74 | 0 % | 100 % | ✅ |
118 | [MaintainX](maintainx.md) | [`ashby`](ats-ashby.md) | 67 | 93 % | 73 % | ✅ | 118 | [MaintainX](maintainx.md) | [`ashby`](ats-ashby.md) | 67 | 93 % | 73 % | ✅ |
119 | [EMCO](emcocorporation.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 66 | 42 % | 100 % | ✅ | 119 | [EMCO](emcocorporation.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 66 | 42 % | 100 % | ✅ |
120 | [Norda Stelo](nordastelo.md) | [`teamtailor`](ats-teamtailor.md) | 65 | 0 % | 97 % | ✅ | 120 | [Norda Stelo](nordastelo.md) | [`teamtailor`](ats-teamtailor.md) | 65 | 0 % | 97 % | ✅ |
121 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 64 | 92 % | 52 % | ✅ | 121 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 64 | 92 % | 52 % | ✅ |
122−| [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 63 | 0 % | 100 % | ✅ |
123 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 63 | 0 % | 100 % | ✅ | 122 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 63 | 0 % | 100 % | ✅ |
124 | [Automobileendirect](automobileendirect.md) | [`dayforce`](ats-dayforce.md) | 61 | 2 % | 100 % | ✅ | 123 | [Automobileendirect](automobileendirect.md) | [`dayforce`](ats-dayforce.md) | 61 | 2 % | 100 % | ✅ |
125 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 61 | 0 % | 100 % | ✅ | 124 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 61 | 0 % | 100 % | ✅ |
126 | [Laporte Experts Conseils](laportefr.md) | [`greenhouse`](ats-greenhouse.md) | 61 | 0 % | 100 % | ✅ | 125 | [Laporte Experts Conseils](laportefr.md) | [`greenhouse`](ats-greenhouse.md) | 61 | 0 % | 100 % | ✅ |
127 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 60 | 30 % | 87 % | ✅ | 126 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 60 | 30 % | 87 % | ✅ |
127+| [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 59 | 0 % | 100 % | ✅ |
128 | [Gdv](gdv.md) | [`dayforce`](ats-dayforce.md) | 59 | 0 % | 100 % | ✅ | 128 | [Gdv](gdv.md) | [`dayforce`](ats-dayforce.md) | 59 | 0 % | 100 % | ✅ |
129 | [Kiewit (Ganotec)](kiewit_ganotec.md) | [`successfactors`](ats-successfactors.md) | 59 | 0 % | 100 % | ✅ | 129 | [Kiewit (Ganotec)](kiewit_ganotec.md) | [`successfactors`](ats-successfactors.md) | 59 | 0 % | 100 % | ✅ |
130 | [ANCIA Personnel](anciapersonnelinc.md) | [`recruitee`](ats-recruitee.md) | 58 | 9 % | 100 % | ✅ | 130 | [ANCIA Personnel](anciapersonnelinc.md) | [`recruitee`](ats-recruitee.md) | 58 | 9 % | 100 % | ✅ |
@@ -218,12 +218,12 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
218 | [Transat A.T.](transatat1.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 26 | 8 % | 100 % | ✅ | 218 | [Transat A.T.](transatat1.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 26 | 8 % | 100 % | ✅ |
219 | [AVP](aviva.md) | [`workday`](ats-workday.md) | 25 | 16 % | 92 % | ✅ | 219 | [AVP](aviva.md) | [`workday`](ats-workday.md) | 25 | 16 % | 92 % | ✅ |
220 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 25 | 100 % | 0 % | ✅ | 220 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 25 | 100 % | 0 % | ✅ |
221−| [CHUM](chum.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 25 | 4 % | 100 % | ✅ |
222 | [Clinical Research Associate](syneoshealth.md) | [`workday`](ats-workday.md) | 25 | 0 % | 96 % | ✅ | 221 | [Clinical Research Associate](syneoshealth.md) | [`workday`](ats-workday.md) | 25 | 0 % | 96 % | ✅ |
223 | [Huawei Canada](huaweicanada.md) | [`recruitee`](ats-recruitee.md) | 25 | 4 % | 100 % | ✅ | 222 | [Huawei Canada](huaweicanada.md) | [`recruitee`](ats-recruitee.md) | 25 | 4 % | 100 % | ✅ |
224 | [Playground](playground.md) | [`jazzhr`](ats-jazzhr.md) | 25 | 60 % | 64 % | ✅ | 223 | [Playground](playground.md) | [`jazzhr`](ats-jazzhr.md) | 25 | 60 % | 64 % | ✅ |
225 | [Unitytech](unitytech.md) | [`workday`](ats-workday.md) | 25 | 88 % | 84 % | ✅ | 224 | [Unitytech](unitytech.md) | [`workday`](ats-workday.md) | 25 | 88 % | 84 % | ✅ |
226 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 24 | 96 % | 92 % | ✅ | 225 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 24 | 96 % | 92 % | ✅ |
226+| [CHUM](chum.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 24 | 4 % | 100 % | ✅ |
227 | [FedEx Express Canada](fedex.md) | [`workday`](ats-workday.md) | 24 | 100 % | 88 % | ✅ | 227 | [FedEx Express Canada](fedex.md) | [`workday`](ats-workday.md) | 24 | 100 % | 88 % | ✅ |
228 | [JAM Industries](jam.md) | [`dayforce`](ats-dayforce.md) | 24 | 0 % | 100 % | ✅ | 228 | [JAM Industries](jam.md) | [`dayforce`](ats-dayforce.md) | 24 | 0 % | 100 % | ✅ |
229 | [Lyft](lyft.md) | [`greenhouse`](ats-greenhouse.md) | 24 | 100 % | 100 % | ✅ | 229 | [Lyft](lyft.md) | [`greenhouse`](ats-greenhouse.md) | 24 | 100 % | 100 % | ✅ |
@@ -277,7 +277,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
277 | [Sika Canada](sikaag.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 5 % | 100 % | ✅ | 277 | [Sika Canada](sikaag.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 5 % | 100 % | ✅ |
278 | [Systemex](systemex.md) | [`lever`](ats-lever.md) | 19 | 0 % | 100 % | ✅ | 278 | [Systemex](systemex.md) | [`lever`](ats-lever.md) | 19 | 0 % | 100 % | ✅ |
279 | [TSMG](tsmg.md) | [`lever`](ats-lever.md) | 19 | 0 % | 100 % | ✅ | 279 | [TSMG](tsmg.md) | [`lever`](ats-lever.md) | 19 | 0 % | 100 % | ✅ |
280−| [Uniboard](uniboard.md) | [`adp`](ats-adp.md) | 19 | 32 % | 63 % | ✅ | 280+| [Uniboard](uniboard.md) | [`adp`](ats-adp.md) | 19 | 32 % | 63 % | ❌ |
281 | [VinFast Canada](vinfastcanada.md) | [`dayforce`](ats-dayforce.md) | 19 | 26 % | 100 % | ✅ | 281 | [VinFast Canada](vinfastcanada.md) | [`dayforce`](ats-dayforce.md) | 19 | 26 % | 100 % | ✅ |
282 | [Vosker](vosker.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 0 % | 100 % | ✅ | 282 | [Vosker](vosker.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 19 | 0 % | 100 % | ✅ |
283 | [Bell Textron Canada](bell_textron.md) | [`taleo`](ats-taleo.md) | 18 | 0 % | 100 % | ✅ | 283 | [Bell Textron Canada](bell_textron.md) | [`taleo`](ats-taleo.md) | 18 | 0 % | 100 % | ✅ |
@@ -301,6 +301,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
301 | [Réseau de transport de la Capitale](rtc_quebec.md) | [`njoyn`](ats-njoyn.md) | 17 | 0 % | 0 % | ✅ | 301 | [Réseau de transport de la Capitale](rtc_quebec.md) | [`njoyn`](ats-njoyn.md) | 17 | 0 % | 0 % | ✅ |
302 | [Sandvik](sandvik.md) | [`workday`](ats-workday.md) | 17 | 12 % | 24 % | ✅ | 302 | [Sandvik](sandvik.md) | [`workday`](ats-workday.md) | 17 | 12 % | 24 % | ✅ |
303 | [Search for](bcf.md) | [`workday`](ats-workday.md) | 17 | 0 % | 100 % | ✅ | 303 | [Search for](bcf.md) | [`workday`](ats-workday.md) | 17 | 0 % | 100 % | ✅ |
304+| [United Services Group](unitedservices.md) | [`dayforce`](ats-dayforce.md) | 17 | 0 % | 100 % | ✅ |
304 | [VO2 Group](vo2_group.md) | [`lever`](ats-lever.md) | 17 | 6 % | 100 % | ✅ | 305 | [VO2 Group](vo2_group.md) | [`lever`](ats-lever.md) | 17 | 6 % | 100 % | ✅ |
305 | [AECOM](aecom2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 16 | 0 % | 100 % | ✅ | 306 | [AECOM](aecom2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 16 | 0 % | 100 % | ✅ |
306 | [Allstate Canada](allstate.md) | [`workday`](ats-workday.md) | 16 | 25 % | 69 % | ✅ | 307 | [Allstate Canada](allstate.md) | [`workday`](ats-workday.md) | 16 | 25 % | 69 % | ✅ |
@@ -327,7 +328,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
327 | [Peoplecorporation](peoplecorporation.md) | [`workday`](ats-workday.md) | 15 | 13 % | 67 % | ✅ | 328 | [Peoplecorporation](peoplecorporation.md) | [`workday`](ats-workday.md) | 15 | 13 % | 67 % | ✅ |
328 | [Santé Québec](sante_quebec.md) | [`digitalrecruiters`](ats-digitalrecruiters.md) | 15 | 80 % | 100 % | ✅ | 329 | [Santé Québec](sante_quebec.md) | [`digitalrecruiters`](ats-digitalrecruiters.md) | 15 | 80 % | 100 % | ✅ |
329 | [Sony Pictures Imageworks](sonypicturesimageworks.md) | [`greenhouse`](ats-greenhouse.md) | 15 | 33 % | 100 % | ✅ | 330 | [Sony Pictures Imageworks](sonypicturesimageworks.md) | [`greenhouse`](ats-greenhouse.md) | 15 | 33 % | 100 % | ✅ |
330−| [United Services Group](unitedservices.md) | [`dayforce`](ats-dayforce.md) | 15 | 0 % | 100 % | ✅ |
331 | [Boralex](boralex.md) | [`dayforce`](ats-dayforce.md) | 14 | 0 % | 100 % | ✅ | 331 | [Boralex](boralex.md) | [`dayforce`](ats-dayforce.md) | 14 | 0 % | 100 % | ✅ |
332 | [CAA-Québec](caaquebec.md) | [`workday`](ats-workday.md) | 14 | 29 % | 100 % | ✅ | 332 | [CAA-Québec](caaquebec.md) | [`workday`](ats-workday.md) | 14 | 29 % | 100 % | ✅ |
333 | [Comptable de projet / Project Accountant](ellisdon.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ | 333 | [Comptable de projet / Project Accountant](ellisdon.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ |
@@ -381,8 +381,9 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
381 | [Luqia (INO)](ino_ca.md) | [`breezy`](ats-breezy.md) | 12 | 0 % | 100 % | ✅ | 381 | [Luqia (INO)](ino_ca.md) | [`breezy`](ats-breezy.md) | 12 | 0 % | 100 % | ✅ |
382 | [Sid Lee](sidlee.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ | 382 | [Sid Lee](sidlee.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
383 | [Toboggan Labs](tobogganlabs.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ | 383 | [Toboggan Labs](tobogganlabs.md) | [`greenhouse`](ats-greenhouse.md) | 12 | 0 % | 100 % | ✅ |
384+| [TransPerfect](transperfect.md) | [`recruitee`](ats-recruitee.md) | 12 | 0 % | 100 % | ✅ |
384 | [Uman Recrutement](umanrecrutement.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 12 | 0 % | 100 % | ✅ | 385 | [Uman Recrutement](umanrecrutement.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 12 | 0 % | 100 % | ✅ |
385−| [UV Assurance](uv_assurance.md) | [`adp`](ats-adp.md) | 12 | 0 % | 100 % | ✅ | 386+| [UV Assurance](uv_assurance.md) | [`adp`](ats-adp.md) | 12 | 0 % | 100 % | ❌ |
386 | [Wealthy Group of Companies LLC](wealthy_recruiting.md) | [`breezy`](ats-breezy.md) | 12 | 100 % | 92 % | ✅ | 387 | [Wealthy Group of Companies LLC](wealthy_recruiting.md) | [`breezy`](ats-breezy.md) | 12 | 100 % | 92 % | ✅ |
387 | [ZAYAT AROMA - ZAYAT AROMA](zayataroma.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 12 | 0 % | 100 % | ✅ | 388 | [ZAYAT AROMA - ZAYAT AROMA](zayataroma.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 12 | 0 % | 100 % | ✅ |
388 | [AlayaCare](alayacare.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 0 % | 100 % | ✅ | 389 | [AlayaCare](alayacare.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 0 % | 100 % | ✅ |
@@ -402,15 +403,14 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
402 | [Nora Pharma](nora_pharma.md) | [`breezy`](ats-breezy.md) | 11 | 100 % | 91 % | ✅ | 403 | [Nora Pharma](nora_pharma.md) | [`breezy`](ats-breezy.md) | 11 | 100 % | 91 % | ✅ |
403 | [Nuovo Photography](nuovophotography.md) | [`workable`](ats-workable.md) | 11 | 18 % | 100 % | ✅ | 404 | [Nuovo Photography](nuovophotography.md) | [`workable`](ats-workable.md) | 11 | 18 % | 100 % | ✅ |
404 | [Oliver & Bonacini](oliverbonacini.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 11 | 27 % | 100 % | ✅ | 405 | [Oliver & Bonacini](oliverbonacini.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 11 | 27 % | 100 % | ✅ |
405−| [Quincaillerie Richelieu](richelieu.md) | [`adp`](ats-adp.md) | 11 | 0 % | 100 % | ✅ | 406+| [Quincaillerie Richelieu](richelieu.md) | [`adp`](ats-adp.md) | 11 | 0 % | 100 % | ❌ |
406 | [Raymond Chabot Grant Thornton](rcgt.md) | [`workday`](ats-workday.md) | 11 | 0 % | 100 % | ✅ | 407 | [Raymond Chabot Grant Thornton](rcgt.md) | [`workday`](ats-workday.md) | 11 | 0 % | 100 % | ✅ |
407 | [Royal Vet](royalvet.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 0 % | 100 % | ✅ | 408 | [Royal Vet](royalvet.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 0 % | 100 % | ✅ |
408 | [Ryder](ryder.md) | [`workday`](ats-workday.md) | 11 | 91 % | 27 % | ✅ | 409 | [Ryder](ryder.md) | [`workday`](ats-workday.md) | 11 | 91 % | 27 % | ✅ |
409 | [SIA Innovations](siainnovationsinc.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 45 % | 100 % | ✅ | 410 | [SIA Innovations](siainnovationsinc.md) | [`greenhouse`](ats-greenhouse.md) | 11 | 45 % | 100 % | ✅ |
410 | [Starlink Aviation](starlink_aviation.md) | [`workable`](ats-workable.md) | 11 | 18 % | 100 % | ✅ | 411 | [Starlink Aviation](starlink_aviation.md) | [`workable`](ats-workable.md) | 11 | 18 % | 100 % | ✅ |
411−| [Strathmore](strathmore.md) | [`adp`](ats-adp.md) | 11 | 45 % | 100 % | ✅ | 412+| [Strathmore](strathmore.md) | [`adp`](ats-adp.md) | 11 | 45 % | 100 % | ❌ |
412 | [Synertek](synertek.md) | [`teamtailor`](ats-teamtailor.md) | 11 | 82 % | 100 % | ✅ | 413 | [Synertek](synertek.md) | [`teamtailor`](ats-teamtailor.md) | 11 | 82 % | 100 % | ✅ |
413−| [TransPerfect](transperfect.md) | [`recruitee`](ats-recruitee.md) | 11 | 0 % | 100 % | ✅ |
414 | [Valnet](valnetinc.md) | [`dayforce`](ats-dayforce.md) | 11 | 0 % | 100 % | ✅ | 414 | [Valnet](valnetinc.md) | [`dayforce`](ats-dayforce.md) | 11 | 0 % | 100 % | ✅ |
415 | [VF Corporation (The North Face, Vans)](vfc.md) | [`workday`](ats-workday.md) | 11 | 100 % | 100 % | ✅ | 415 | [VF Corporation (The North Face, Vans)](vfc.md) | [`workday`](ats-workday.md) | 11 | 100 % | 100 % | ✅ |
416 | [Vice-President, Strategic Procurement](eddyfi.md) | [`dayforce`](ats-dayforce.md) | 11 | 0 % | 100 % | ✅ | 416 | [Vice-President, Strategic Procurement](eddyfi.md) | [`dayforce`](ats-dayforce.md) | 11 | 0 % | 100 % | ✅ |
@@ -594,7 +594,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
594 | [Weir Group](weir.md) | [`workday`](ats-workday.md) | 6 | 17 % | 67 % | ✅ | 594 | [Weir Group](weir.md) | [`workday`](ats-workday.md) | 6 | 17 % | 67 % | ✅ |
595 | [Yaksa](yaksa.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 6 | 0 % | 100 % | ✅ | 595 | [Yaksa](yaksa.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 6 | 0 % | 100 % | ✅ |
596 | [36Pix](pix36.md) | [`jazzhr`](ats-jazzhr.md) | 5 | 20 % | 100 % | ✅ | 596 | [36Pix](pix36.md) | [`jazzhr`](ats-jazzhr.md) | 5 | 20 % | 100 % | ✅ |
597−| [Abritek](abritek.md) | [`adp`](ats-adp.md) | 5 | 100 % | 100 % | ✅ | 597+| [Abritek](abritek.md) | [`adp`](ats-adp.md) | 5 | 100 % | 100 % | ❌ |
598 | [Adèle Express](adeleexpressfr.md) | [`recruitee`](ats-recruitee.md) | 5 | 60 % | 100 % | ✅ | 598 | [Adèle Express](adeleexpressfr.md) | [`recruitee`](ats-recruitee.md) | 5 | 60 % | 100 % | ✅ |
599 | [Agile DSS](agiledss.md) | [`recruitee`](ats-recruitee.md) | 5 | 0 % | 100 % | ✅ | 599 | [Agile DSS](agiledss.md) | [`recruitee`](ats-recruitee.md) | 5 | 0 % | 100 % | ✅ |
600 | [Aleanza Recrutement Durable](aleanzarecrutementdurable.md) | [`teamtailor`](ats-teamtailor.md) | 5 | 40 % | 100 % | ✅ | 600 | [Aleanza Recrutement Durable](aleanzarecrutementdurable.md) | [`teamtailor`](ats-teamtailor.md) | 5 | 40 % | 100 % | ✅ |
@@ -639,6 +639,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
639 | [TSYS](tsys.md) | [`workday`](ats-workday.md) | 5 | 20 % | 80 % | ✅ | 639 | [TSYS](tsys.md) | [`workday`](ats-workday.md) | 5 | 20 % | 80 % | ✅ |
640 | [Unit8](unit8.md) | [`workable`](ats-workable.md) | 5 | 0 % | 100 % | ✅ | 640 | [Unit8](unit8.md) | [`workable`](ats-workable.md) | 5 | 0 % | 100 % | ✅ |
641 | [Ville de Mirabel](ville_mirabel.md) | [`njoyn`](ats-njoyn.md) | 5 | 100 % | 0 % | ✅ | 641 | [Ville de Mirabel](ville_mirabel.md) | [`njoyn`](ats-njoyn.md) | 5 | 100 % | 0 % | ✅ |
642+| [4Refuel](4refuel.md) | [`dayforce`](ats-dayforce.md) | 4 | 50 % | 100 % | ✅ |
642 | [Acumatica](acumatica.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 4 | 25 % | 100 % | ✅ | 643 | [Acumatica](acumatica.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 4 | 25 % | 100 % | ✅ |
643 | [Agent(e) de liaison médicale et scientifique, biologiques – Québec ...](organon.md) | [`workday`](ats-workday.md) | 4 | 25 % | 100 % | ✅ | 644 | [Agent(e) de liaison médicale et scientifique, biologiques – Québec ...](organon.md) | [`workday`](ats-workday.md) | 4 | 25 % | 100 % | ✅ |
644 | [Alo Yoga](aloyoga.md) | [`greenhouse`](ats-greenhouse.md) | 4 | 25 % | 75 % | ✅ | 645 | [Alo Yoga](aloyoga.md) | [`greenhouse`](ats-greenhouse.md) | 4 | 25 % | 75 % | ✅ |
@@ -702,7 +703,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
702 | [Warehouse Team Member](tricorbraun.md) | [`workday`](ats-workday.md) | 4 | 25 % | 100 % | ✅ | 703 | [Warehouse Team Member](tricorbraun.md) | [`workday`](ats-workday.md) | 4 | 25 % | 100 % | ✅ |
703 | [Warner Bros. Discovery (WB Games Montréal)](warnerbros.md) | [`workday`](ats-workday.md) | 4 | 0 % | 100 % | ✅ | 704 | [Warner Bros. Discovery (WB Games Montréal)](warnerbros.md) | [`workday`](ats-workday.md) | 4 | 0 % | 100 % | ✅ |
704 | [Welcome to the Jungle](artefactjobs.md) | [`greenhouse`](ats-greenhouse.md) | 4 | 50 % | 100 % | ✅ | 705 | [Welcome to the Jungle](artefactjobs.md) | [`greenhouse`](ats-greenhouse.md) | 4 | 50 % | 100 % | ✅ |
705−| [4Refuel](4refuel.md) | [`dayforce`](ats-dayforce.md) | 3 | 67 % | 100 % | ✅ |
706 | [A2 Design](a2design.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 3 | 0 % | 100 % | ✅ | 706 | [A2 Design](a2design.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 3 | 0 % | 100 % | ✅ |
707 | [Adoc Talent Management](adoc_tm.md) | [`breezy`](ats-breezy.md) | 3 | 0 % | 100 % | ✅ | 707 | [Adoc Talent Management](adoc_tm.md) | [`breezy`](ats-breezy.md) | 3 | 0 % | 100 % | ✅ |
708 | [Agence Maplr Inc.](agencemaplrinc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 3 | 0 % | 100 % | ✅ | 708 | [Agence Maplr Inc.](agencemaplrinc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 3 | 0 % | 100 % | ✅ |
@@ -1033,7 +1033,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
1033 | [Topbuild](topbuild.md) | [`workday`](ats-workday.md) | 1 | 100 % | 100 % | ✅ | 1033 | [Topbuild](topbuild.md) | [`workday`](ats-workday.md) | 1 | 100 % | 100 % | ✅ |
1034 | [Topcon](topcon.md) | [`workday`](ats-workday.md) | 1 | 0 % | 100 % | ✅ | 1034 | [Topcon](topcon.md) | [`workday`](ats-workday.md) | 1 | 0 % | 100 % | ✅ |
1035 | [Torc Robotics](torcrobotics.md) | [`greenhouse`](ats-greenhouse.md) | 1 | 100 % | 100 % | ✅ | 1035 | [Torc Robotics](torcrobotics.md) | [`greenhouse`](ats-greenhouse.md) | 1 | 100 % | 100 % | ✅ |
1036−| [Triple Boris](triple_boris.md) | [`adp`](ats-adp.md) | 1 | 0 % | 100 % | ✅ | 1036+| [Triple Boris](triple_boris.md) | [`adp`](ats-adp.md) | 1 | 0 % | 100 % | ❌ |
1037 | [Tristan Fleet](tristan_fleet_1.md) | [`workable`](ats-workable.md) | 1 | 0 % | 100 % | ✅ | 1037 | [Tristan Fleet](tristan_fleet_1.md) | [`workable`](ats-workable.md) | 1 | 0 % | 100 % | ✅ |
1038 | [Trisura](trisura.md) | [`dayforce`](ats-dayforce.md) | 1 | 0 % | 100 % | ✅ | 1038 | [Trisura](trisura.md) | [`dayforce`](ats-dayforce.md) | 1 | 0 % | 100 % | ✅ |
1039 | [Tyco](tyco.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ | 1039 | [Tyco](tyco.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ |
modified docs/connecteurs/ats-jazzhr.md +31 −30
@@ -5,14 +5,14 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/ats-jazzhr.md 6 Fichier : docs/connecteurs/ats-jazzhr.md
7 Rôle : Fiche plateforme ATS jazzhr — mécanique partagée + tableau des 28 tenants 7 Rôle : Fiche plateforme ATS jazzhr — mécanique partagée + tableau des 28 tenants
8−Généré : 2026-10-20 18:48 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-23 01:52 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 `jazzhr` 13 # Plateforme ATS `jazzhr`
14 14
15−**28 employeurs connectés** via cette plateforme — **143 offres actives**. Module partagé : `jobka/connectors/jazzhr.py` ; un employeur = une sous-classe d'environ 10 lignes. 15+**28 employeurs connectés** via cette plateforme — **137 offres actives**. Module partagé : `jobka/connectors/jazzhr.py` ; un employeur = une sous-classe d'environ 10 lignes.
16 16
17 ## Description & mécanique 17 ## Description & mécanique
18 18
@@ -38,34 +38,34 @@ Généré : 2026-10-20 18:48 EDT par scripts/gen_connector_docs.py — NE PAS
38 38
39 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK | 39 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |
40 |---|---|---|---|---|---|---| 40 |---|---|---|---|---|---|---|
41−| [XTL Transport](xtltransportlogistics.md) | 40 | 0 % | 98 % | 10 % | 2026-10-20 18:29 | ✅ | 41+| [Playground](playground.md) | 25 | 60 % | 64 % | 0 % | 2026-10-23 00:29 | ✅ |
42−| [Playground](playground.md) | 27 | 56 % | 63 % | 0 % | 2026-10-20 18:10 | ✅ | 42+| [XTL Transport](xtltransportlogistics.md) | 23 | 0 % | 96 % | 13 % | 2026-10-23 00:51 | ✅ |
43−| [Valnet](valnetconcept.md) | 18 | 0 % | 100 % | 50 % | 2026-10-20 18:25 | ✅ | 43+| [Valnet](valnetconcept.md) | 21 | 0 % | 100 % | 52 % | 2026-10-23 00:47 | ✅ |
44−| [Optel Group](optelgroup.md) | 10 | 0 % | 100 % | 0 % | 2026-10-20 18:10 | ✅ | 44+| [Optel Group](optelgroup.md) | 10 | 0 % | 100 % | 0 % | 2026-10-23 00:29 | ✅ |
45−| [WestGroupe](westgroupe.md) | 8 | 0 % | 100 % | 0 % | 2026-10-20 18:28 | ✅ | 45+| [WestGroupe](westgroupe.md) | 9 | 0 % | 100 % | 0 % | 2026-10-23 00:51 | ✅ |
46−| [Altitude Aerospace](altitudeaerospace.md) | 6 | 0 % | 100 % | 0 % | 2026-10-20 17:15 | ✅ | 46+| [Turning Point Brands Canada](recreationmarketing.md) | 7 | 14 % | 100 % | 0 % | 2026-10-23 00:34 | ✅ |
47−| [36Pix](pix36.md) | 4 | 25 % | 100 % | 0 % | 2026-10-20 18:10 | ✅ | 47+| [Altitude Aerospace](altitudeaerospace.md) | 6 | 0 % | 100 % | 0 % | 2026-10-22 23:31 | ✅ |
48−| [Digital Moment](digitalmoment.md) | 4 | 0 % | 100 % | 25 % | 2026-10-20 17:34 | ✅ | 48+| [36Pix](pix36.md) | 5 | 20 % | 100 % | 0 % | 2026-10-23 00:29 | ✅ |
49−| [ePac Flexible Packaging](epacllc.md) | 4 | 25 % | 100 % | 25 % | 2026-10-20 17:37 | ✅ | 49+| [Digital Moment](digitalmoment.md) | 5 | 0 % | 100 % | 40 % | 2026-10-22 23:50 | ✅ |
50−| [Longbow Advantage](longbowadvantage.md) | 4 | 0 % | 100 % | 0 % | 2026-10-20 18:05 | ✅ | 50+| [ePac Flexible Packaging](epacllc.md) | 4 | 25 % | 100 % | 25 % | 2026-10-22 23:53 | ✅ |
51−| [Turning Point Brands Canada](recreationmarketing.md) | 4 | 0 % | 100 % | 0 % | 2026-10-20 18:14 | ✅ | 51+| [Fortigo Freight Services Inc.](fortigofreightservicesinc.md) | 4 | 25 % | 50 % | 0 % | 2026-10-22 23:55 | ✅ |
52−| [Fortigo Freight Services Inc.](fortigofreightservicesinc.md) | 3 | 33 % | 67 % | 0 % | 2026-10-20 17:39 | ✅ | 52+| [Longbow Advantage](longbowadvantage.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 00:22 | ✅ |
53−| [Sun Gro Horticulture](sungrohorticulture.md) | 3 | 0 % | 100 % | 0 % | 2026-10-20 18:20 | ✅ | 53+| [CWP Energy](mcgillstlaurent.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 01:52 | ❌ |
54−| [CWP Energy](mcgillstlaurent.md) | 2 | 0 % | 100 % | 0 % | 2026-10-20 18:06 | ✅ | 54+| [Sun Gro Horticulture](sungrohorticulture.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 00:42 | ✅ |
55−| [Motos Illimitees](motosillimitees.md) | 2 | 100 % | 100 % | 0 % | 2026-10-20 18:08 | ✅ | 55+| [Ultium Cam](ultiumcam.md) | 3 | 0 % | 100 % | 0 % | 2026-10-23 00:47 | ✅ |
56−| [Ultium Cam](ultiumcam.md) | 2 | 0 % | 100 % | 0 % | 2026-10-20 18:24 | ✅ | 56+| [Bloom](makeitbloom.md) | 2 | 0 % | 100 % | 0 % | 2026-10-23 00:23 | ✅ |
57−| [Bloom](makeitbloom.md) | 1 | 0 % | 0 % | 0 % | 2026-10-20 18:47 | ✅ | 57+| [Motos Illimitees](motosillimitees.md) | 2 | 100 % | 100 % | 0 % | 2026-10-23 00:26 | ✅ |
58−| [Targray](targray.md) | 1 | 0 % | 100 % | 0 % | 2026-10-20 18:21 | ✅ | 58+| [Precision Parcel & Package Deliveries](precisionhomeandofficedeliveries.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 00:30 | ✅ |
59−| [11 Residential](residential11.md) | 0 | — | — | — | 2026-10-20 18:15 | ✅ | 59+| [Targray](targray.md) | 1 | 0 % | 100 % | 0 % | 2026-10-23 00:43 | ✅ |
60−| [Bluetooth SIG, Inc.](bluetoothsiginc.md) | 0 | — | — | — | 2026-10-20 17:18 | ✅ | 60+| [11 Residential](residential11.md) | 0 | — | — | — | 2026-10-23 00:34 | ✅ |
61−| [FortNine](canadasmotorcycle.md) | 0 | — | — | — | 2026-10-20 17:20 | ✅ | 61+| [Bluetooth SIG, Inc.](bluetoothsiginc.md) | 0 | — | — | — | 2026-10-22 23:35 | ✅ |
62−| [Clinique D](cliniqued.md) | 0 | — | — | — | 2026-10-20 17:31 | ✅ | 62+| [FortNine](canadasmotorcycle.md) | 0 | — | — | — | 2026-10-22 23:37 | ✅ |
63−| [GEOX](geox.md) | 0 | — | — | — | 2026-10-20 17:40 | ✅ | 63+| [Clinique D](cliniqued.md) | 0 | — | — | — | 2026-10-22 23:47 | ✅ |
64−| [Nadel International](nadel.md) | 0 | — | — | — | 2026-10-20 18:08 | ✅ | 64+| [GEOX](geox.md) | 0 | — | — | — | 2026-10-22 23:56 | ✅ |
65−| [Precision Parcel & Package Deliveries](precisionhomeandofficedeliveries.md) | 0 | — | — | — | 2026-10-20 18:11 | ✅ | 65+| [Nadel International](nadel.md) | 0 | — | — | — | 2026-10-23 00:26 | ✅ |
66−| [Seymour Pacific Developments](seymourpacificdevelopmentsltd.md) | 0 | — | — | — | 2026-10-20 18:17 | ✅ | 66+| [Seymour Pacific Developments](seymourpacificdevelopmentsltd.md) | 0 | — | — | — | 2026-10-23 00:38 | ✅ |
67−| [Synterra](synterra.md) | 0 | — | — | — | 2026-10-20 18:21 | ✅ | 67+| [Synterra](synterra.md) | 0 | — | — | — | 2026-10-23 00:42 | ✅ |
68−| [Teal Communications, Inc.](tealcommunicationsinc.md) | 0 | — | — | — | 2026-10-20 18:22 | ✅ | 68+| [Teal Communications, Inc.](tealcommunicationsinc.md) | 0 | — | — | — | 2026-10-23 00:44 | ✅ |
69 69
70 ## Licence / conformité 70 ## Licence / conformité
71 71
@@ -83,6 +83,7 @@ Généré : 2026-10-20 18:48 EDT par scripts/gen_connector_docs.py — NE PAS
83 83
84 Commits touchant `jobka/connectors/jazzhr.py` : 84 Commits touchant `jobka/connectors/jazzhr.py` :
85 85
86+- `2d24635a` 2026-10-20 [ka6] connecteur makeitbloom: stale = angle mort JazzHR réel — page détail sans JSON-LD JobPosting, repli HTML générique dans jazzhr.py (found 0→1). Les 3 offres SEO (UhDHyS6fne/xvSwVILniQ/qdFba5tbN5, Montréal) dépubliées le jour même entre les syncs de 06:38 (found=3) et 15:37 (found=0) du 2026-10-20, détails confirmés 410 Gone (marqueur JazzHR, cf. geox). MAIS le board n'était PAS vide : l'offre neuve dVcAlVM7ko « Spécialiste des médias payants » (republication du poste de sept. sous un id neuf, pattern du tenant) était rejetée par le filtre QC car sa page détail ne porte AUCUN bloc JSON-LD JobPosting (seul un Organization) — une première sur ce tenant, alors que le frère playground est toujours balisé. Vrai angle mort corrigé dans jazzhr.py : _detail_fields_from_html, repli quand extract_jobposting échoue — titre via h2 du job-header, lieu « Ville, QC, Canada » via le bloc job-attributes title=Location, type via resumator-job-employment, description via #job-description borné par resumator-mobile-apply-wrapper ; validé sur les pages live makeitbloom (sans LD → Montreal/QC) et playground (avec LD → chemin JSON-LD inchangé). Test de régression ajouté (QC gardée, ON lâchée, LD prioritaire). Sync isolé rejoué : found=1 added=1 ok=1 en 2,3 s, offre en base Montréal active. Artefact vague C : url vide dans sources.json → https://www.makeitbloom.com (200 vérifié live). Docstring chronologie 1re intervention, fiches makeitbloom.md/ats-jazzhr.md/INDEX.md régénérées. 108 tests verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
86 - `adb86378` 2026-09-04 [ka6] connecteur derumarketcatering: compte JazzHR fermé — l'employeur (faux positif US, Kirkland WA, verdict site_source_mort du 2026-08-26) a désactivé son compte JazzHR, la page /apply/ renvoie 200 'Inactive Career Page' sans marqueur resumator; la garde anti-faux-zéro de la plateforme jazzhr (1c116d8) partait alors en 3 essais + 30 s de backoff par sync avec un message trompeur — détection explicite de la page 'Inactive Career Page' au niveau plateforme: échec immédiat, message 'compte JazzHR désactivé / source fermée chez l'ATS' dans sync_log; non-régression vérifiée sur tenant vivant (motosillimitees 2 offres, médiane 2.0); 0 offre active en base pour cette source 87 - `adb86378` 2026-09-04 [ka6] connecteur derumarketcatering: compte JazzHR fermé — l'employeur (faux positif US, Kirkland WA, verdict site_source_mort du 2026-08-26) a désactivé son compte JazzHR, la page /apply/ renvoie 200 'Inactive Career Page' sans marqueur resumator; la garde anti-faux-zéro de la plateforme jazzhr (1c116d8) partait alors en 3 essais + 30 s de backoff par sync avec un message trompeur — détection explicite de la page 'Inactive Career Page' au niveau plateforme: échec immédiat, message 'compte JazzHR désactivé / source fermée chez l'ATS' dans sync_log; non-régression vérifiée sur tenant vivant (motosillimitees 2 offres, médiane 2.0); 0 offre active en base pour cette source
87 - `1c116d85` 2026-09-04 [ka6] fix connecteur motosillimitees: garde anti faux-zéro dans la plateforme jazzhr — la page liste renvoie parfois 200 sans la structure du jobboard (constaté 2026-09-04 10h09, sync à 0 en 0,2 s alors que 2 offres réelles), le marqueur 'resumator' est maintenant exigé avec retry+backoff sinon erreur explicite dans sync_log; sync rejoué: 2 offres (médiane 2.0), rotation d'offres de l'employeur absorbée 88 - `1c116d85` 2026-09-04 [ka6] fix connecteur motosillimitees: garde anti faux-zéro dans la plateforme jazzhr — la page liste renvoie parfois 200 sans la structure du jobboard (constaté 2026-09-04 10h09, sync à 0 en 0,2 s alors que 2 offres réelles), le marqueur 'resumator' est maintenant exigé avec retry+backoff sinon erreur explicite dans sync_log; sync rejoué: 2 offres (médiane 2.0), rotation d'offres de l'employeur absorbée
88 - `df3faf02` 2026-08-25 Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC 89 - `df3faf02` 2026-08-25 Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC
modified docs/connecteurs/mcgillstlaurent.md +20 −18
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/mcgillstlaurent.md 6 Fichier : docs/connecteurs/mcgillstlaurent.md
7 Rôle : Fiche connecteur — CWP Energy (employeur direct, ATS jazzhr) 7 Rôle : Fiche connecteur — CWP Energy (employeur direct, ATS jazzhr)
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-23 01:52 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 -->
@@ -16,9 +16,9 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
16 16
17 ## Description 17 ## Description
18 18
19−- **Site** : [CWP Energy]() 19+- **Site** : [CWP Energy](https://mcgillstlaurent.com/cwp-energy/)
20 - **Page carrières** : https://mcgillstlaurent.applytojob.com/apply/ 20 - **Page carrières** : https://mcgillstlaurent.applytojob.com/apply/
21−- **Secteurs** : n/d 21+- **Secteurs** : Énergie, Finance
22 - **Région** : Québec (province) 22 - **Région** : Québec (province)
23 - Offres marquées **« Offre directe »** dans l'app (badge) : la candidature se fait chez l'employeur, jamais via un intermédiaire. 23 - Offres marquées **« Offre directe »** dans l'app (badge) : la candidature se fait chez l'employeur, jamais via un intermédiaire.
24 24
@@ -36,7 +36,7 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
36 36
37 ## Champs → schéma 37 ## Champs → schéma
38 38
39−Complétude mesurée sur les **2 offres actives** de la source (base live, 2026-10-14 18:40 EDT). 39+Complétude mesurée sur les **3 offres actives** de la source (base live, 2026-10-23 01:52 EDT).
40 40
41 | Champ (`jobs.*`) | Rôle | Complétude | 41 | Champ (`jobs.*`) | Rôle | Complétude |
42 |---|---|---| 42 |---|---|---|
@@ -47,18 +47,18 @@ Complétude mesurée sur les **2 offres actives** de la source (base live, 2026-
47 | `city` — Ville | municipalité normalisée | 100 % | 47 | `city` — Ville | municipalité normalisée | 100 % |
48 | `region` — Région | région administrative | 100 % | 48 | `region` — Région | région administrative | 100 % |
49 | `address` — Adresse | adresse du lieu de travail | 0 % | 49 | `address` — Adresse | adresse du lieu de travail | 0 % |
50−| `postal_code` — Code postal | code postal si publié | 100 % | 50+| `postal_code` — Code postal | code postal si publié | 67 % |
51 | `work_mode` — Mode | presentiel / hybride / teletravail | 0 % | 51 | `work_mode` — Mode | presentiel / hybride / teletravail | 0 % |
52−| `employment_type` — Type | temps_plein / temps_partiel / … | 0 % | 52+| `employment_type` — Type | temps_plein / temps_partiel / … | 33 % |
53 | `salary` — Salaire ($) | bornes numériques normalisées $/h et $/an | 0 % | 53 | `salary` — Salaire ($) | bornes numériques normalisées $/h et $/an | 0 % |
54 | `salary_label` — Libellé salaire | texte salarial original | 0 % | 54 | `salary_label` — Libellé salaire | texte salarial original | 0 % |
55 | `benefits` — Avantages | avantages sociaux publiés (JSON) | 0 % | 55 | `benefits` — Avantages | avantages sociaux publiés (JSON) | 0 % |
56 | `requirements` — Exigences | scolarité, expérience, langues (JSON) | 100 % | 56 | `requirements` — Exigences | scolarité, expérience, langues (JSON) | 100 % |
57−| `date_posted` — Date de parution | ISO 8601 | 100 % | 57+| `date_posted` — Date de parution | ISO 8601 | 67 % |
58−| `date_deadline` — Date limite | date limite pour postuler | 100 % | 58+| `date_deadline` — Date limite | date limite pour postuler | 67 % |
59 | `category` — Catégorie | taxonomie interne (TI, Santé, …) | 100 % | 59 | `category` — Catégorie | taxonomie interne (TI, Santé, …) | 100 % |
60 | `language` — Langue | fr / en / bilingue (source ou heuristique) | 100 % | 60 | `language` — Langue | fr / en / bilingue (source ou heuristique) | 100 % |
61−| `company_logo` — Logo employeur | URL du logo si exposé par la source | 100 % | 61+| `company_logo` — Logo employeur | URL du logo si exposé par la source | 67 % |
62 | `apply_url` — Candidature | lien de candidature directe | 0 % | 62 | `apply_url` — Candidature | lien de candidature directe | 0 % |
63 | `gps` — GPS | lat/lng (géocodage sans invention) | 100 % | 63 | `gps` — GPS | lat/lng (géocodage sans invention) | 100 % |
64 64
@@ -77,15 +77,15 @@ Exemple réel : *Trading Risk & Performance Analyst* — Montréal · ∅ · par
77 77
78 ## Volumétrie & complétude live 78 ## Volumétrie & complétude live
79 79
80−*(mesuré le 2026-10-14 18:40 EDT dans `data/jobka.db`)* 80+*(mesuré le 2026-10-23 01:52 EDT dans `data/jobka.db`)*
81 81
82−- **Offres en base** : 5 (dont **2 actives**, 0 masquées comme doublons `dup_of`) 82+- **Offres en base** : 6 (dont **3 actives**, 0 masquées comme doublons `dup_of`)
83−- **Salaire** : 0/2 actives (0 %) 83+- **Salaire** : 0/3 actives (0 %)
84−- **GPS** : 2/2 actives (100 %) 84+- **GPS** : 3/3 actives (100 %)
85−- **Mode** : 0/2 actives (0 %) 85+- **Mode** : 0/3 actives (0 %)
86−- **Parution** : 2/2 actives (100 %) 86+- **Parution** : 2/3 actives (67 %)
87−- **Dernier sync** : 2026-10-14 15:40 — trouvées 4, +0, ~0, -0 87+- **Dernier sync** : 2026-10-23 01:52 — trouvées 0, +0, ~0, -0, **ÉCHEC : jazzhr mcgillstlaurent: compte JazzHR désactivé (« Inactive Career Page » — this account i…**
88−- **Syncs enregistrés** (`sync_log`) : 468 88+- **Syncs enregistrés** (`sync_log`) : 542
89 89
90 ## Erreurs & dépannage 90 ## Erreurs & dépannage
91 91
@@ -93,7 +93,7 @@ Erreurs relevées dans `sync_log` :
93 93
94 | Erreur | Occurrences | Dernière fois | 94 | Erreur | Occurrences | Dernière fois |
95 |---|---|---| 95 |---|---|---|
96−| jazzhr mcgillstlaurent: compte JazzHR désactivé (« Inactive Career Page » — this account i… | 2 | 2026-09-20 22:51 | 96+| jazzhr mcgillstlaurent: compte JazzHR désactivé (« Inactive Career Page » — this account i… | 9 | 2026-10-23 01:52 |
97 97
98 - Rejouer un sync isolé : `.venv/bin/python run.py sync mcgillstlaurent` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='mcgillstlaurent' ORDER BY ts DESC LIMIT 5;"` 98 - Rejouer un sync isolé : `.venv/bin/python run.py sync mcgillstlaurent` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='mcgillstlaurent' ORDER BY ts DESC LIMIT 5;"`
99 - 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`. 99 - 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`.
@@ -114,4 +114,6 @@ Erreurs relevées dans `sync_log` :
114 114
115 Commits touchant `jobka/connectors/mcgillstlaurent.py` : 115 Commits touchant `jobka/connectors/mcgillstlaurent.py` :
116 116
117+- `cff3361f` 2026-10-22 Revert "[ka6] connecteur mcgillstlaurent: compte JazzHR désactivé chez l'ATS, recrutement ABSORBÉ par le board Lever unifié du groupe déjà couvert par le frère mcgillstlaurentb8 — verdict site_source_mort, connecteur conservé intact (1re intervention). Chronologie (sync_log) : dernier sync OK 2026-10-22 12:58 EDT found=5 (médiane 5.0), puis « Inactive Career Page » à 14:44 — TOUT le tenant mcgillstlaurent.applytojob.com (CWP Energy, division trading d'énergie du groupe McGill St Laurent) fermé : liste /apply/ ET pages détail des offres en base → 200 « Inactive Career Page », vérifié live. 2e tenant JazzHR du même groupe fermé après mcgillstlaurentb8 le 2026-09-30 (93b0c2c3) : sortie de JazzHR délibérée, migration Lever achevée. REPRENEUR identifié et DÉJÀ COUVERT : cwpenergy.com redirige désormais vers mcgillstlaurent.com/cwp-energy/, la page carrières du groupe (mcgillstlaurent.com/career/) liste le board Lever unifié jobs.lever.co/mcgillstlaurent par compagnie (All 7 · CWP Energy 3 · CWP Wood 1 · GSL Grain 2 · MSL Climate 1, compagnie = categories.department côté API) ; les 3 offres CWP Energy du board (Junior Power Trader QC, Agentic Innovation Specialist QC, Power Trader US filtrée) sont déjà ingérées par le connecteur frère mcgillstlaurentb8 (found=6, sync vert). PAS de réécriture sur Lever : un 2e connecteur sur le même org violerait l'invariant « aucun autre connecteur Lever sur cet org » (93b0c2c3) et ne produirait que des doublons ; aucun ATS propre à CWP Energy (tenants cwpenergy inexistants chez Lever/Greenhouse/JazzHR/Workable/BambooHR, balayage Serper → copies agrégateurs tierces seulement). Les 3 offres JazzHR actives (Trading Risk & Performance Analyst, Risk Analyst, Electrical Engineer - Power Flow) NON reconduites sur le board Lever (postes abandonnés ou pourvus) : archivage automatique via expire_stale (7 j sans last_seen, vers le 2026-10-29), aucune purge manuelle. Sync isolé rejoué : échec explicite attendu « compte JazzHR désactivé » (détection adb8637), comportement conçu. Artefacts vague E corrigés dans sources.json (pattern xtl c4a681e1) : url vide → https://mcgillstlaurent.com/cwp-energy/ (200 vérifié live) et sectors [] → [Énergie, Finance] (vocabulaire établi : 24 et 59 sources). Docstring mcgillstlaurent.py enrichie (chronologie + re-vérifs + décision). Non-régression jazzhr sur tenant vivant motosillimitees found=2 ok=1 ; frère mcgillstlaurentb8 found=6 ok=1. Fiches docs/connecteurs/ mcgillstlaurent.md + ats-jazzhr.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1131 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 108 tests verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200."
118+- `35756e9b` 2026-10-22 [ka6] connecteur mcgillstlaurent: compte JazzHR désactivé chez l'ATS, recrutement ABSORBÉ par le board Lever unifié du groupe déjà couvert par le frère mcgillstlaurentb8 — verdict site_source_mort, connecteur conservé intact (1re intervention). Chronologie (sync_log) : dernier sync OK 2026-10-22 12:58 EDT found=5 (médiane 5.0), puis « Inactive Career Page » à 14:44 — TOUT le tenant mcgillstlaurent.applytojob.com (CWP Energy, division trading d'énergie du groupe McGill St Laurent) fermé : liste /apply/ ET pages détail des offres en base → 200 « Inactive Career Page », vérifié live. 2e tenant JazzHR du même groupe fermé après mcgillstlaurentb8 le 2026-09-30 (93b0c2c3) : sortie de JazzHR délibérée, migration Lever achevée. REPRENEUR identifié et DÉJÀ COUVERT : cwpenergy.com redirige désormais vers mcgillstlaurent.com/cwp-energy/, la page carrières du groupe (mcgillstlaurent.com/career/) liste le board Lever unifié jobs.lever.co/mcgillstlaurent par compagnie (All 7 · CWP Energy 3 · CWP Wood 1 · GSL Grain 2 · MSL Climate 1, compagnie = categories.department côté API) ; les 3 offres CWP Energy du board (Junior Power Trader QC, Agentic Innovation Specialist QC, Power Trader US filtrée) sont déjà ingérées par le connecteur frère mcgillstlaurentb8 (found=6, sync vert). PAS de réécriture sur Lever : un 2e connecteur sur le même org violerait l'invariant « aucun autre connecteur Lever sur cet org » (93b0c2c3) et ne produirait que des doublons ; aucun ATS propre à CWP Energy (tenants cwpenergy inexistants chez Lever/Greenhouse/JazzHR/Workable/BambooHR, balayage Serper → copies agrégateurs tierces seulement). Les 3 offres JazzHR actives (Trading Risk & Performance Analyst, Risk Analyst, Electrical Engineer - Power Flow) NON reconduites sur le board Lever (postes abandonnés ou pourvus) : archivage automatique via expire_stale (7 j sans last_seen, vers le 2026-10-29), aucune purge manuelle. Sync isolé rejoué : échec explicite attendu « compte JazzHR désactivé » (détection adb8637), comportement conçu. Artefacts vague E corrigés dans sources.json (pattern xtl c4a681e1) : url vide → https://mcgillstlaurent.com/cwp-energy/ (200 vérifié live) et sectors [] → [Énergie, Finance] (vocabulaire établi : 24 et 59 sources). Docstring mcgillstlaurent.py enrichie (chronologie + re-vérifs + décision). Non-régression jazzhr sur tenant vivant motosillimitees found=2 ok=1 ; frère mcgillstlaurentb8 found=6 ok=1. Fiches docs/connecteurs/ mcgillstlaurent.md + ats-jazzhr.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1131 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 108 tests verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
117 - `df3faf02` 2026-08-25 Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC 119 - `df3faf02` 2026-08-25 Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC
modified jobka/connectors/mcgillstlaurent.py +52 −1
@@ -4,12 +4,63 @@
4 # Contact : contact@spboucher.ai 4 # Contact : contact@spboucher.ai
5 # Fichier : jobka/connectors/jobka/connectors/mcgillstlaurent.py 5 # Fichier : jobka/connectors/jobka/connectors/mcgillstlaurent.py
6 # Rôle : Connecteur CWP Energy — JazzHR (mcgillstlaurent.applytojob.com) 6 # Rôle : Connecteur CWP Energy — JazzHR (mcgillstlaurent.applytojob.com)
7−# Créé : 2026-08-25 Modifié : 2026-08-25 7+# Créé : 2026-08-25 Modifié : 2026-10-23
8 # ============================================================================= 8 # =============================================================================
9 from .jazzhr import JazzHRConnector 9 from .jazzhr import JazzHRConnector
10 10
11 11
12 class McgillstlaurentConnector(JazzHRConnector): 12 class McgillstlaurentConnector(JazzHRConnector):
13+ """CWP Energy (trading d'énergie, division du groupe McGill St Laurent,
14+ Montréal) — ~5 offres QC en régime établi (médiane 5.0).
15+
16+ Mission ka6 du 2026-10-22 — compte JazzHR DÉSACTIVÉ chez l'ATS,
17+ recrutement ABSORBÉ par le board Lever unifié du groupe (déjà couvert
18+ par le connecteur frère mcgillstlaurentb8) :
19+ - Chronologie (sync_log) : dernier sync OK le 2026-10-22 12:58 EDT
20+ (found=5), puis « Inactive Career Page » à 14:44 → RuntimeError
21+ explicite à chaque sync (détection adb8637, cas derumarketcatering).
22+ TOUT le tenant mcgillstlaurent.applytojob.com est fermé : page liste
23+ /apply/ ET pages détail des offres en base renvoient 200 « Inactive
24+ Career Page » (vérifié live le 2026-10-22). 3e fermeture JazzHR du
25+ même groupe après mcgillstlaurentb8 (2026-09-30, 93b0c2c3) : sortie
26+ de JazzHR délibérée, migration Lever achevée côté maison mère.
27+ - REPRENEUR identifié et DÉJÀ COUVERT : cwpenergy.com redirige
28+ désormais vers mcgillstlaurent.com/cwp-energy/, dont la page
29+ carrières (mcgillstlaurent.com/career/) liste le board Lever unifié
30+ jobs.lever.co/mcgillstlaurent par compagnie du groupe (All 7 ·
31+ CWP Energy 3 · CWP Wood 1 · GSL Grain 2 · MSL Climate 1), compagnie
32+ portée par categories.department côté API Lever. Les 3 offres
33+ CWP Energy du board (Junior Power Trader QC, Agentic Innovation
34+ Specialist QC, Power Trader US filtrée) sont déjà ingérées par
35+ mcgillstlaurentb8 (Lever org mcgillstlaurent, found=6).
36+ - PAS de réécriture sur Lever : un 2e connecteur sur le même org
37+ violerait l'invariant « aucun autre connecteur Lever sur cet org »
38+ (93b0c2c3) et ne produirait que des doublons du frère. Aucun ATS
39+ propre à CWP Energy (lever/greenhouse/jazzhr/workable/bamboohr
40+ « cwpenergy » inexistants ; copies agrégateurs tierces seulement).
41+ - Les 3 offres JazzHR actives (Trading Risk & Performance Analyst,
42+ Risk Analyst, Electrical Engineer - Power Flow) NON reconduites sur
43+ le board Lever — postes abandonnés ou pourvus à la migration ; elles
44+ s'archiveront d'elles-mêmes via expire_stale (7 j sans last_seen,
45+ vers le 2026-10-29), aucune purge manuelle.
46+ - Décision : connecteur CONSERVÉ tel quel (on ne désactive jamais une
47+ source pour « réparer » sa santé) ; si le tenant revenait, le sync
48+ repartirait seul. Verdict site_source_mort, couverture totale via
49+ le frère mcgillstlaurentb8.
50+
51+ Mission ka6 du 2026-10-23 (2e intervention) — restauration après
52+ ROLLBACK AUTOMATIQUE : le commit 35756e9b (mission ci-dessus) a été
53+ auto-reverté par la supervision (cff3361f, verdict JSON tronqué →
54+ « inconnu », même mécanique que le cas enercare f5248721). Re-vérifié
55+ live le 2026-10-23 : tenant JazzHR toujours « Inactive Career Page »
56+ (200) et board Lever du groupe toujours vivant (7 offres dont 3
57+ CWP Energy, couvertes par mcgillstlaurentb8). Docstring et artefacts
58+ sources.json (url, sectors) restaurés chirurgicalement (checkout du
59+ .py + réédition JSON, PAS de revert du revert — les fiches docs ont
60+ été régénérées entre-temps par d'autres missions). Le diagnostic
61+ site_source_mort reste inchangé : ne PAS re-reverter ce fichier.
62+ """
63+
13 source_id = "mcgillstlaurent" 64 source_id = "mcgillstlaurent"
14 EMPLOYER = "CWP Energy" 65 EMPLOYER = "CWP Energy"
15 ORG = "mcgillstlaurent" 66 ORG = "mcgillstlaurent"
16 67
Menu

Theme