SPB Git

spb/job-ka

Public

[ka6] connecteur broccolini: broken = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL) DÉJÀ TERMINÉE à l'arrivée de la mission, rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a, toonboom e2674f6a, triotech 14ada0c8, vicpark 8bb2d6c6, ziptrekeco e6e7608c, batimoinc f3a1dbe1, bc2 676b3898 et bigbang 9d7b528c le même jour. Le tenant était vert avec found=23 (= médiane 23.0) au sync de 07:23:19 le 2026-10-21, premier échec à 10:16:50, première rotation du scheduler après la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT), 11 échecs 404 consécutifs (/careers/list = 404 Route Not Found) jusqu'à 13:37:33. Pas une migration d'ATS : www.broccolini.com/en/careers pointe toujours vers broccolini.bamboohr.com/careers (vérifié live). FIN DE PANNE constatée pendant la mission : /careers/list de nouveau 200 (totalCount=47) sur broccolini ET le frère mitacs, le sync horaire de 13:54:28 avait déjà reverdit le tenant seul (ok=1 found=23 removed=0), re-prouvé par sync isolé pendant la mission (found=23 = médiane, added=0 removed=0) — les portails BambooHR sont revenus alors que status.bamboohr.com est encore MONITORING ; les autres frères bamboohr reverdiront seuls à leur prochaine rotation horaire. Aucun retrait pendant la panne (sync échouait proprement, ok=0 raise_for_status 404) : les 23 offres QC (22 Montréal + 1 Québec, immobilier/construction Broccolini) sont restées actives en base. Artefact vague C : url vide dans sources.json → https://www.broccolini.com (broccolini.com redirige vers www.broccolini.com/fr, 200 vérifié live, « Broccolini | Investir. Développer. Construire. »). Docstring chronologie 1re intervention, fiches broccolini.md/ats-bamboohr.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.

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

5 changed files +73 −40

modified data/sources.json +1 −1
@@ -464,7 +464,7 @@
464 { 464 {
465 "id": "broccolini", 465 "id": "broccolini",
466 "name": "Broccolini", 466 "name": "Broccolini",
467− "url": "", 467+ "url": "https://www.broccolini.com",
468 "careers_url": "https://broccolini.bamboohr.com/careers", 468 "careers_url": "https://broccolini.bamboohr.com/careers",
469 "sectors": [ 469 "sectors": [
470 "Construction", 470 "Construction",
modified docs/connecteurs/INDEX.md +18 −18
@@ -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-21 13:44 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-21 13:58 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-21 13:44 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-21 13:58 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** — **26140 offres actives** (23139 directes, 3001 portails ; 131 masquées comme doublons inter-sources, soit 26009 visibles). 1134 fiches. 17+**1104 employeurs directs** connectés via **25 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **26136 offres actives** (23135 directes, 3001 portails ; 131 masquées comme doublons inter-sources, soit 26005 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,8 +22,8 @@ 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 | 7514 | 48 % | 87 % | 25+| [`workday`](ats-workday.md) | 232 | 7512 | 48 % | 87 % |
26−| [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 2945 | 16 % | 99 % | 26+| [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 2942 | 16 % | 99 % |
27 | [`workable`](ats-workable.md) | 71 | 2000 | 18 % | 100 % | 27 | [`workable`](ats-workable.md) | 71 | 2000 | 18 % | 100 % |
28 | [`dayforce`](ats-dayforce.md) | 129 | 1907 | 9 % | 100 % | 28 | [`dayforce`](ats-dayforce.md) | 129 | 1907 | 9 % | 100 % |
29 | [`successfactors`](ats-successfactors.md) | 12 | 1687 | 17 % | 99 % | 29 | [`successfactors`](ats-successfactors.md) | 12 | 1687 | 17 % | 99 % |
@@ -32,7 +32,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
32 | [`greenhouse`](ats-greenhouse.md) | 132 | 824 | 18 % | 100 % | 32 | [`greenhouse`](ats-greenhouse.md) | 132 | 824 | 18 % | 100 % |
33 | [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 788 | 6 % | 100 % | 33 | [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 788 | 6 % | 100 % |
34 | [`lever`](ats-lever.md) | 58 | 606 | 20 % | 96 % | 34 | [`lever`](ats-lever.md) | 58 | 606 | 20 % | 96 % |
35−| [`breezy`](ats-breezy.md) | 71 | 428 | 38 % | 95 % | 35+| [`breezy`](ats-breezy.md) | 71 | 428 | 39 % | 95 % |
36 | [`recruitee`](ats-recruitee.md) | 30 | 289 | 19 % | 97 % | 36 | [`recruitee`](ats-recruitee.md) | 30 | 289 | 19 % | 97 % |
37 | [`bamboohr`](ats-bamboohr.md) | 37 | 284 | 8 % | 100 % | 37 | [`bamboohr`](ats-bamboohr.md) | 37 | 284 | 8 % | 100 % |
38 | [`ashby`](ats-ashby.md) | 41 | 278 | 50 % | 56 % | 38 | [`ashby`](ats-ashby.md) | 41 | 278 | 50 % | 56 % |
@@ -41,7 +41,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
41 | [`teamtailor`](ats-teamtailor.md) | 10 | 152 | 30 % | 95 % | 41 | [`teamtailor`](ats-teamtailor.md) | 10 | 152 | 30 % | 95 % |
42 | [`jazzhr`](ats-jazzhr.md) | 28 | 152 | 13 % | 91 % | 42 | [`jazzhr`](ats-jazzhr.md) | 28 | 152 | 13 % | 91 % |
43 | [`adp`](ats-adp.md) | 17 | 131 | 37 % | 94 % | 43 | [`adp`](ats-adp.md) | 17 | 131 | 37 % | 94 % |
44−| [`taleo`](ats-taleo.md) | 5 | 113 | 0 % | 99 % | 44+| [`taleo`](ats-taleo.md) | 5 | 114 | 0 % | 98 % |
45 | [`eightfold`](ats-eightfold.md) | 1 | 59 | 90 % | 100 % | 45 | [`eightfold`](ats-eightfold.md) | 1 | 59 | 90 % | 100 % |
46 | [`icims`](ats-icims.md) | 7 | 56 | 29 % | 91 % | 46 | [`icims`](ats-icims.md) | 7 | 56 | 29 % | 91 % |
47 | [`ultipro`](ats-ultipro.md) | 4 | 51 | 49 % | 100 % | 47 | [`ultipro`](ats-ultipro.md) | 4 | 51 | 49 % | 100 % |
@@ -77,8 +77,8 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
77 | [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 246 | 8 % | 99 % | ✅ | 77 | [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 246 | 8 % | 99 % | ✅ |
78 | [Rechercher des](gianttiger.md) | [`workday`](ats-workday.md) | 241 | 0 % | 99 % | ✅ | 78 | [Rechercher des](gianttiger.md) | [`workday`](ats-workday.md) | 241 | 0 % | 99 % | ✅ |
79 | [Globalhr](globalhr.md) | [`workday`](ats-workday.md) | 238 | 0 % | 83 % | ✅ | 79 | [Globalhr](globalhr.md) | [`workday`](ats-workday.md) | 238 | 0 % | 83 % | ✅ |
80−| [Airbus Canada](airbus.md) | [`workday`](ats-workday.md) | 211 | 4 % | 99 % | ✅ | 80+| [Airbus Canada](airbus.md) | [`workday`](ats-workday.md) | 210 | 4 % | 99 % | ✅ |
81−| [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 209 | 22 % | 100 % | ✅ | 81+| [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 206 | 22 % | 100 % | ✅ |
82 | [Reitmans](reitmanscanadalteltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 204 | 19 % | 100 % | ✅ | 82 | [Reitmans](reitmanscanadalteltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 204 | 19 % | 100 % | ✅ |
83 | [Groupe Banque TD](td.md) | [`workday`](ats-workday.md) | 186 | 94 % | 95 % | ✅ | 83 | [Groupe Banque TD](td.md) | [`workday`](ats-workday.md) | 186 | 94 % | 95 % | ✅ |
84 | [CISSS de Laval](cisss_laval.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 179 | 2 % | 100 % | ✅ | 84 | [CISSS de Laval](cisss_laval.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 179 | 2 % | 100 % | ✅ |
@@ -109,8 +109,8 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
109 | [iA Groupe financier](ia_groupe.md) | [`workday`](ats-workday.md) | 87 | 100 % | 93 % | ✅ | 109 | [iA Groupe financier](ia_groupe.md) | [`workday`](ats-workday.md) | 87 | 100 % | 93 % | ✅ |
110 | [Linen Chest](linenchest.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 84 | 8 % | 100 % | ✅ | 110 | [Linen Chest](linenchest.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 84 | 8 % | 100 % | ✅ |
111 | [Promutuel Assurance](promutuel.md) | [`workday`](ats-workday.md) | 81 | 0 % | 100 % | ✅ | 111 | [Promutuel Assurance](promutuel.md) | [`workday`](ats-workday.md) | 81 | 0 % | 100 % | ✅ |
112+| [Bulkbarn](bulkbarn.md) | [`dayforce`](ats-dayforce.md) | 79 | 0 % | 100 % | ✅ |
112 | [Gflenv](gflenv.md) | [`workday`](ats-workday.md) | 79 | 6 % | 90 % | ✅ | 113 | [Gflenv](gflenv.md) | [`workday`](ats-workday.md) | 79 | 6 % | 90 % | ✅ |
113−| [Bulkbarn](bulkbarn.md) | [`dayforce`](ats-dayforce.md) | 78 | 0 % | 100 % | ✅ |
114 | [CAE](cae.md) | [`workday`](ats-workday.md) | 77 | 18 % | 94 % | ✅ | 114 | [CAE](cae.md) | [`workday`](ats-workday.md) | 77 | 18 % | 94 % | ✅ |
115 | [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 74 | 28 % | 99 % | ✅ | 115 | [CISSS de l'Outaouais](cisss_outaouais.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 74 | 28 % | 99 % | ✅ |
116 | [Banque CIBC](cibc.md) | [`workday`](ats-workday.md) | 71 | 0 % | 100 % | ✅ | 116 | [Banque CIBC](cibc.md) | [`workday`](ats-workday.md) | 71 | 0 % | 100 % | ✅ |
@@ -119,10 +119,10 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
119 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 64 | 92 % | 53 % | ✅ | 119 | [Manuvie](manulife.md) | [`workday`](ats-workday.md) | 64 | 92 % | 53 % | ✅ |
120 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 63 | 0 % | 100 % | ✅ | 120 | [Dexterra](dexterra.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 63 | 0 % | 100 % | ✅ |
121 | [Automobileendirect](automobileendirect.md) | [`dayforce`](ats-dayforce.md) | 62 | 0 % | 100 % | ✅ | 121 | [Automobileendirect](automobileendirect.md) | [`dayforce`](ats-dayforce.md) | 62 | 0 % | 100 % | ✅ |
122+| [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 61 | 0 % | 98 % | ✅ |
122 | [Laporte Experts Conseils](laportefr.md) | [`greenhouse`](ats-greenhouse.md) | 61 | 0 % | 100 % | ✅ | 123 | [Laporte Experts Conseils](laportefr.md) | [`greenhouse`](ats-greenhouse.md) | 61 | 0 % | 100 % | ✅ |
123 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 61 | 31 % | 87 % | ✅ | 124 | [Lifeworks](lifeworks.md) | [`workday`](ats-workday.md) | 61 | 31 % | 87 % | ✅ |
124 | [MaintainX](maintainx.md) | [`ashby`](ats-ashby.md) | 61 | 92 % | 72 % | ✅ | 125 | [MaintainX](maintainx.md) | [`ashby`](ats-ashby.md) | 61 | 92 % | 72 % | ✅ |
125−| [Agnico Eagle Mines](agnico_eagle.md) | [`taleo`](ats-taleo.md) | 60 | 0 % | 100 % | ✅ |
126 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 60 | 0 % | 100 % | ✅ | 126 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | [`dayforce`](ats-dayforce.md) | 60 | 0 % | 100 % | ✅ |
127 | [Autodesk](autodesk.md) | [`eightfold`](ats-eightfold.md) | 59 | 90 % | 100 % | ✅ | 127 | [Autodesk](autodesk.md) | [`eightfold`](ats-eightfold.md) | 59 | 90 % | 100 % | ✅ |
128 | [Gdv](gdv.md) | [`dayforce`](ats-dayforce.md) | 59 | 0 % | 100 % | ✅ | 128 | [Gdv](gdv.md) | [`dayforce`](ats-dayforce.md) | 59 | 0 % | 100 % | ✅ |
@@ -161,10 +161,10 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
161 | [Hydro-Québec](hydroquebec.md) | [`successfactors`](ats-successfactors.md) | 42 | 17 % | 74 % | ✅ | 161 | [Hydro-Québec](hydroquebec.md) | [`successfactors`](ats-successfactors.md) | 42 | 17 % | 74 % | ✅ |
162 | [JD Sports Canada](jdsports.md) | [`dayforce`](ats-dayforce.md) | 42 | 0 % | 100 % | ✅ | 162 | [JD Sports Canada](jdsports.md) | [`dayforce`](ats-dayforce.md) | 42 | 0 % | 100 % | ✅ |
163 | [Laura Canada](lauracanada.md) | [`dayforce`](ats-dayforce.md) | 42 | 0 % | 100 % | ✅ | 163 | [Laura Canada](lauracanada.md) | [`dayforce`](ats-dayforce.md) | 42 | 0 % | 100 % | ✅ |
164−| [Brand Momentum](brandmomentum.md) | [`breezy`](ats-breezy.md) | 41 | 93 % | 100 % | ✅ | 164+| [Brand Momentum](brandmomentum.md) | [`breezy`](ats-breezy.md) | 41 | 95 % | 100 % | ✅ |
165−| [Advanceauto](advanceauto.md) | [`workday`](ats-workday.md) | 40 | 0 % | 48 % | ✅ |
166 | [Kenworthmaska](kenworthmaska.md) | [`dayforce`](ats-dayforce.md) | 40 | 2 % | 100 % | ✅ | 165 | [Kenworthmaska](kenworthmaska.md) | [`dayforce`](ats-dayforce.md) | 40 | 2 % | 100 % | ✅ |
167 | [XTL Transport](xtltransportlogistics.md) | [`jazzhr`](ats-jazzhr.md) | 40 | 0 % | 98 % | ✅ | 166 | [XTL Transport](xtltransportlogistics.md) | [`jazzhr`](ats-jazzhr.md) | 40 | 0 % | 98 % | ✅ |
167+| [Advanceauto](advanceauto.md) | [`workday`](ats-workday.md) | 39 | 0 % | 46 % | ✅ |
168 | [Groupe CH (Canadiens de Montréal, Centre Bell)](groupech.md) | [`dayforce`](ats-dayforce.md) | 39 | 0 % | 100 % | ✅ | 168 | [Groupe CH (Canadiens de Montréal, Centre Bell)](groupech.md) | [`dayforce`](ats-dayforce.md) | 39 | 0 % | 100 % | ✅ |
169 | [Info-Ways](info_ways.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 39 | 0 % | 100 % | ✅ | 169 | [Info-Ways](info_ways.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 39 | 0 % | 100 % | ✅ |
170 | [Montreal Export Package Handler (18:00-23:00)](hcmportal.md) | [`workday`](ats-workday.md) | 38 | 84 % | 100 % | ✅ | 170 | [Montreal Export Package Handler (18:00-23:00)](hcmportal.md) | [`workday`](ats-workday.md) | 38 | 84 % | 100 % | ✅ |
@@ -236,7 +236,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
236 | [AECOM](aecom2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 23 | 0 % | 91 % | ✅ | 236 | [AECOM](aecom2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 23 | 0 % | 91 % | ✅ |
237 | [Altasciences](altasciences.md) | [`workday`](ats-workday.md) | 23 | 0 % | 96 % | ✅ | 237 | [Altasciences](altasciences.md) | [`workday`](ats-workday.md) | 23 | 0 % | 96 % | ✅ |
238 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 23 | 100 % | 0 % | ✅ | 238 | [Baseten](baseten.md) | [`ashby`](ats-ashby.md) | 23 | 100 % | 0 % | ✅ |
239−| [Broccolini](broccolini.md) | [`bamboohr`](ats-bamboohr.md) | 23 | 0 % | 100 % | ❌ | 239+| [Broccolini](broccolini.md) | [`bamboohr`](ats-bamboohr.md) | 23 | 0 % | 100 % | ✅ |
240 | [JAM Industries](jam.md) | [`dayforce`](ats-dayforce.md) | 23 | 0 % | 100 % | ✅ | 240 | [JAM Industries](jam.md) | [`dayforce`](ats-dayforce.md) | 23 | 0 % | 100 % | ✅ |
241 | [Spectrum Health Care](spectrumhealthcare.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 23 | 87 % | 100 % | ✅ | 241 | [Spectrum Health Care](spectrumhealthcare.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 23 | 87 % | 100 % | ✅ |
242 | [Teknion Roy & Breton](teknionroybreton.md) | [`recruitee`](ats-recruitee.md) | 23 | 52 % | 83 % | ✅ | 242 | [Teknion Roy & Breton](teknionroybreton.md) | [`recruitee`](ats-recruitee.md) | 23 | 52 % | 83 % | ✅ |
@@ -328,7 +328,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
328 | [Abbott](abbott.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ | 328 | [Abbott](abbott.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ |
329 | [Aylo](aylo.md) | [`greenhouse`](ats-greenhouse.md) | 14 | 0 % | 100 % | ✅ | 329 | [Aylo](aylo.md) | [`greenhouse`](ats-greenhouse.md) | 14 | 0 % | 100 % | ✅ |
330 | [Aylo](aylofr.md) | [`greenhouse`](ats-greenhouse.md) | 14 | 0 % | 100 % | ✅ | 330 | [Aylo](aylofr.md) | [`greenhouse`](ats-greenhouse.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 % | ✅ | 331 | [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 % | ✅ | 332 | [Comptable de projet / Project Accountant](ellisdon.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ |
334 | [dentago](dentago.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 14 | 7 % | 64 % | ✅ | 333 | [dentago](dentago.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 14 | 7 % | 64 % | ✅ |
@@ -355,6 +354,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
355 | [Triotech](triotech.md) | [`bamboohr`](ats-bamboohr.md) | 14 | 7 % | 100 % | ❌ | 354 | [Triotech](triotech.md) | [`bamboohr`](ats-bamboohr.md) | 14 | 7 % | 100 % | ❌ |
356 | [Ur](ur.md) | [`workday`](ats-workday.md) | 14 | 0 % | 100 % | ✅ | 355 | [Ur](ur.md) | [`workday`](ats-workday.md) | 14 | 0 % | 100 % | ✅ |
357 | [VIA Rail Canada](via_rail.md) | [`successfactors`](ats-successfactors.md) | 14 | 14 % | 100 % | ✅ | 356 | [VIA Rail Canada](via_rail.md) | [`successfactors`](ats-successfactors.md) | 14 | 14 % | 100 % | ✅ |
357+| [Boralex](boralex.md) | [`dayforce`](ats-dayforce.md) | 13 | 0 % | 100 % | ✅ |
358 | [Canadian Tire](canadiantirecorporation.md) | [`workday`](ats-workday.md) | 13 | 54 % | 100 % | ✅ | 358 | [Canadian Tire](canadiantirecorporation.md) | [`workday`](ats-workday.md) | 13 | 54 % | 100 % | ✅ |
359 | [Cuisinier(ère) 2, Restaurant Marcus & Lounge (Sur appel) / Cook 2 ...](fourseasons.md) | [`workday`](ats-workday.md) | 13 | 0 % | 100 % | ✅ | 359 | [Cuisinier(ère) 2, Restaurant Marcus & Lounge (Sur appel) / Cook 2 ...](fourseasons.md) | [`workday`](ats-workday.md) | 13 | 0 % | 100 % | ✅ |
360 | [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 13 | 0 % | 100 % | ✅ | 360 | [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 13 | 0 % | 100 % | ✅ |
@@ -485,7 +485,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
485 | [Ciena](ciena.md) | [`workday`](ats-workday.md) | 8 | 75 % | 88 % | ✅ | 485 | [Ciena](ciena.md) | [`workday`](ats-workday.md) | 8 | 75 % | 88 % | ✅ |
486 | [Coordinateur, Achats Numériques](dentsuaegis.md) | [`workday`](ats-workday.md) | 8 | 88 % | 88 % | ✅ | 486 | [Coordinateur, Achats Numériques](dentsuaegis.md) | [`workday`](ats-workday.md) | 8 | 88 % | 88 % | ✅ |
487 | [Eidos-Montréal](eidosmontreal.md) | [`dayforce`](ats-dayforce.md) | 8 | 0 % | 100 % | ✅ | 487 | [Eidos-Montréal](eidosmontreal.md) | [`dayforce`](ats-dayforce.md) | 8 | 0 % | 100 % | ✅ |
488−| [EMD-Batimo](batimoinc.md) | [`bamboohr`](ats-bamboohr.md) | 8 | 0 % | 100 % | ❌ | 488+| [EMD-Batimo](batimoinc.md) | [`bamboohr`](ats-bamboohr.md) | 8 | 0 % | 100 % | ✅ |
489 | [eStruxture](estruxture.md) | [`bamboohr`](ats-bamboohr.md) | 8 | 12 % | 100 % | ❌ | 489 | [eStruxture](estruxture.md) | [`bamboohr`](ats-bamboohr.md) | 8 | 12 % | 100 % | ❌ |
490 | [Expresco Foods](exprescofoods.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 8 | 12 % | 100 % | ✅ | 490 | [Expresco Foods](exprescofoods.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 8 | 12 % | 100 % | ✅ |
491 | [Fonds de solidarité FTQ](fondsftq.md) | [`workday`](ats-workday.md) | 8 | 0 % | 100 % | ✅ | 491 | [Fonds de solidarité FTQ](fondsftq.md) | [`workday`](ats-workday.md) | 8 | 0 % | 100 % | ✅ |
@@ -517,7 +517,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
517 | [AJ Walter Aviation](ajwalter.md) | [`recruitee`](ats-recruitee.md) | 7 | 0 % | 100 % | ✅ | 517 | [AJ Walter Aviation](ajwalter.md) | [`recruitee`](ats-recruitee.md) | 7 | 0 % | 100 % | ✅ |
518 | [Aliaxis](aliaxis.md) | [`workday`](ats-workday.md) | 7 | 43 % | 86 % | ✅ | 518 | [Aliaxis](aliaxis.md) | [`workday`](ats-workday.md) | 7 | 43 % | 86 % | ✅ |
519 | [Artefact North America](artefactnoram.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 57 % | 100 % | ✅ | 519 | [Artefact North America](artefactnoram.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 57 % | 100 % | ✅ |
520−| [Big Bang](bigbang.md) | [`bamboohr`](ats-bamboohr.md) | 7 | 29 % | 100 % | ❌ | 520+| [Big Bang](bigbang.md) | [`bamboohr`](ats-bamboohr.md) | 7 | 29 % | 100 % | ✅ |
521 | [Boart Longyear](bly.md) | [`dayforce`](ats-dayforce.md) | 7 | 100 % | 100 % | ✅ | 521 | [Boart Longyear](bly.md) | [`dayforce`](ats-dayforce.md) | 7 | 100 % | 100 % | ✅ |
522 | [Cerence](cerence.md) | [`workday`](ats-workday.md) | 7 | 71 % | 29 % | ✅ | 522 | [Cerence](cerence.md) | [`workday`](ats-workday.md) | 7 | 71 % | 29 % | ✅ |
523 | [Cfibfcei](cfibfcei.md) | [`dayforce`](ats-dayforce.md) | 7 | 0 % | 100 % | ✅ | 523 | [Cfibfcei](cfibfcei.md) | [`dayforce`](ats-dayforce.md) | 7 | 0 % | 100 % | ✅ |
@@ -952,7 +952,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
952 | [Goalcast](goalcast.md) | [`greenhouse`](ats-greenhouse.md) | 1 | 0 % | 100 % | ✅ | 952 | [Goalcast](goalcast.md) | [`greenhouse`](ats-greenhouse.md) | 1 | 0 % | 100 % | ✅ |
953 | [GoLogic](gologic.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ | 953 | [GoLogic](gologic.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 1 | 0 % | 100 % | ✅ |
954 | [Groupe Altus](altusgroup.md) | [`workday`](ats-workday.md) | 1 | 100 % | 100 % | ✅ | 954 | [Groupe Altus](altusgroup.md) | [`workday`](ats-workday.md) | 1 | 100 % | 100 % | ✅ |
955−| [Groupe BC2](bc2.md) | [`bamboohr`](ats-bamboohr.md) | 1 | 0 % | 100 % | ❌ | 955+| [Groupe BC2](bc2.md) | [`bamboohr`](ats-bamboohr.md) | 1 | 0 % | 100 % | ✅ |
956 | [GUS](gus.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 1 | 0 % | 100 % | ✅ | 956 | [GUS](gus.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 1 | 0 % | 100 % | ✅ |
957 | [Havenpoint Health](havenpoint_health.md) | [`lever`](ats-lever.md) | 1 | 0 % | 100 % | ✅ | 957 | [Havenpoint Health](havenpoint_health.md) | [`lever`](ats-lever.md) | 1 | 0 % | 100 % | ✅ |
958 | [Hinge Health](hinge_health.md) | [`ashby`](ats-ashby.md) | 1 | 100 % | 100 % | ✅ | 958 | [Hinge Health](hinge_health.md) | [`ashby`](ats-ashby.md) | 1 | 100 % | 100 % | ✅ |
modified docs/connecteurs/ats-bamboohr.md +5 −5
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/ats-bamboohr.md 6 Fichier : docs/connecteurs/ats-bamboohr.md
7 Rôle : Fiche plateforme ATS bamboohr — mécanique partagée + tableau des 37 tenants 7 Rôle : Fiche plateforme ATS bamboohr — mécanique partagée + tableau des 37 tenants
8−Généré : 2026-10-21 13:44 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-21 13:58 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 -->
@@ -43,7 +43,7 @@ Généré : 2026-10-21 13:44 EDT par scripts/gen_connector_docs.py — NE PAS
43 43
44 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK | 44 | Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |
45 |---|---|---|---|---|---|---| 45 |---|---|---|---|---|---|---|
46−| [Broccolini](broccolini.md) | 23 | 0 % | 100 % | 100 % | 2026-10-21 13:37 | ❌ | 46+| [Broccolini](broccolini.md) | 23 | 0 % | 100 % | 100 % | 2026-10-21 13:58 | ✅ |
47 | [dcbel](dcbel.md) | 22 | 0 % | 100 % | 100 % | 2026-10-21 10:38 | ❌ | 47 | [dcbel](dcbel.md) | 22 | 0 % | 100 % | 100 % | 2026-10-21 10:38 | ❌ |
48 | [Produits Labelink](labelink.md) | 19 | 0 % | 100 % | 100 % | 2026-10-21 11:14 | ❌ | 48 | [Produits Labelink](labelink.md) | 19 | 0 % | 100 % | 100 % | 2026-10-21 11:14 | ❌ |
49 | [OPAL-RT Technologies](opalrt.md) | 18 | 0 % | 100 % | 100 % | 2026-10-21 08:28 | ✅ | 49 | [OPAL-RT Technologies](opalrt.md) | 18 | 0 % | 100 % | 100 % | 2026-10-21 08:28 | ✅ |
@@ -56,9 +56,9 @@ Généré : 2026-10-21 13:44 EDT par scripts/gen_connector_docs.py — NE PAS
56 | [Ludia / Jam City](ludia.md) | 11 | 0 % | 100 % | 100 % | 2026-10-21 11:16 | ❌ | 56 | [Ludia / Jam City](ludia.md) | 11 | 0 % | 100 % | 100 % | 2026-10-21 11:16 | ❌ |
57 | [Devimco Appartements](devimco.md) | 9 | 11 % | 100 % | 100 % | 2026-10-21 10:39 | ❌ | 57 | [Devimco Appartements](devimco.md) | 9 | 11 % | 100 % | 100 % | 2026-10-21 10:39 | ❌ |
58 | [Robotiq](robotiq.md) | 8 | 0 % | 100 % | 100 % | 2026-10-21 08:38 | ❌ | 58 | [Robotiq](robotiq.md) | 8 | 0 % | 100 % | 100 % | 2026-10-21 08:38 | ❌ |
59−| [EMD-Batimo](batimoinc.md) | 8 | 0 % | 100 % | 100 % | 2026-10-21 13:34 | ❌ | 59+| [EMD-Batimo](batimoinc.md) | 8 | 0 % | 100 % | 100 % | 2026-10-21 13:51 | ✅ |
60 | [eStruxture](estruxture.md) | 8 | 12 % | 100 % | 100 % | 2026-10-21 10:45 | ❌ | 60 | [eStruxture](estruxture.md) | 8 | 12 % | 100 % | 100 % | 2026-10-21 10:45 | ❌ |
61−| [Big Bang](bigbang.md) | 7 | 29 % | 100 % | 100 % | 2026-10-21 13:43 | ❌ | 61+| [Big Bang](bigbang.md) | 7 | 29 % | 100 % | 100 % | 2026-10-21 13:53 | ✅ |
62 | [Flare (cybersécurité)](flare.md) | 7 | 14 % | 100 % | 100 % | 2026-10-21 10:46 | ❌ | 62 | [Flare (cybersécurité)](flare.md) | 7 | 14 % | 100 % | 100 % | 2026-10-21 10:46 | ❌ |
63 | [North West Rubber](northwestrubber.md) | 7 | 0 % | 100 % | 100 % | 2026-10-21 08:27 | ✅ | 63 | [North West Rubber](northwestrubber.md) | 7 | 0 % | 100 % | 100 % | 2026-10-21 08:27 | ✅ |
64 | [Rethink](rethinkcanada.md) | 7 | 0 % | 100 % | 100 % | 2026-10-21 11:14 | ❌ | 64 | [Rethink](rethinkcanada.md) | 7 | 0 % | 100 % | 100 % | 2026-10-21 11:14 | ❌ |
@@ -74,7 +74,7 @@ Généré : 2026-10-21 13:44 EDT par scripts/gen_connector_docs.py — NE PAS
74 | [OTT Financial](ott.md) | 2 | 0 % | 100 % | 100 % | 2026-10-21 08:29 | ✅ | 74 | [OTT Financial](ott.md) | 2 | 0 % | 100 % | 100 % | 2026-10-21 08:29 | ✅ |
75 | [Toon Boom Animation](toonboom.md) | 2 | 0 % | 100 % | 100 % | 2026-10-21 12:12 | ❌ | 75 | [Toon Boom Animation](toonboom.md) | 2 | 0 % | 100 % | 100 % | 2026-10-21 12:12 | ❌ |
76 | [Ziptrek Tremblant](ziptrekeco.md) | 2 | 100 % | 100 % | 100 % | 2026-10-21 12:57 | ❌ | 76 | [Ziptrek Tremblant](ziptrekeco.md) | 2 | 100 % | 100 % | 100 % | 2026-10-21 12:57 | ❌ |
77−| [Groupe BC2](bc2.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 13:35 | ❌ | 77+| [Groupe BC2](bc2.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 13:52 | ✅ |
78 | [Aliments Ouimet-Cordon Bleu inc.](cordonbleu.md) | 1 | 100 % | 100 % | 100 % | 2026-10-21 10:36 | ❌ | 78 | [Aliments Ouimet-Cordon Bleu inc.](cordonbleu.md) | 1 | 100 % | 100 % | 100 % | 2026-10-21 10:36 | ❌ |
79 | [Poulet Rouge](pouletrouge.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 08:29 | ✅ | 79 | [Poulet Rouge](pouletrouge.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 08:29 | ✅ |
80 | [Openmind Technologies](openmindt.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 08:28 | ✅ | 80 | [Openmind Technologies](openmindt.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 08:28 | ✅ |
modified docs/connecteurs/broccolini.md +19 −15
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/broccolini.md 6 Fichier : docs/connecteurs/broccolini.md
7 Rôle : Fiche connecteur — Broccolini (employeur direct, ATS bamboohr) 7 Rôle : Fiche connecteur — Broccolini (employeur direct, ATS bamboohr)
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-21 13:58 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,7 +16,7 @@ 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** : [Broccolini]() 19+- **Site** : [Broccolini](https://www.broccolini.com)
20 - **Page carrières** : https://broccolini.bamboohr.com/careers 20 - **Page carrières** : https://broccolini.bamboohr.com/careers
21 - **Secteurs** : Construction, Immobilier 21 - **Secteurs** : Construction, Immobilier
22 - **Région** : Montréal 22 - **Région** : Montréal
@@ -36,14 +36,14 @@ 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 **22 offres actives** de la source (base live, 2026-10-14 18:40 EDT). 39+Complétude mesurée sur les **23 offres actives** de la source (base live, 2026-10-21 13:58 EDT).
40 40
41 | Champ (`jobs.*`) | Rôle | Complétude | 41 | Champ (`jobs.*`) | Rôle | Complétude |
42 |---|---|---| 42 |---|---|---|
43 | `title` — Titre | titre du poste | 100 % | 43 | `title` — Titre | titre du poste | 100 % |
44 | `employer` — Employeur | nom de l'entreprise | 100 % | 44 | `employer` — Employeur | nom de l'entreprise | 100 % |
45 | `url` — URL | lien direct vers l'offre originale | 100 % | 45 | `url` — URL | lien direct vers l'offre originale | 100 % |
46−| `description` — Description | texte complet (HTML nettoyé) | 95 % | 46+| `description` — Description | texte complet (HTML nettoyé) | 96 % |
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 % |
@@ -57,12 +57,12 @@ Complétude mesurée sur les **22 offres actives** de la source (base live, 2026
57 | `date_posted` — Date de parution | ISO 8601 | 100 % | 57 | `date_posted` — Date de parution | ISO 8601 | 100 % |
58 | `date_deadline` — Date limite | date limite pour postuler | 0 % | 58 | `date_deadline` — Date limite | date limite pour postuler | 0 % |
59 | `category` — Catégorie | taxonomie interne (TI, Santé, …) | 91 % | 59 | `category` — Catégorie | taxonomie interne (TI, Santé, …) | 91 % |
60−| `language` — Langue | fr / en / bilingue (source ou heuristique) | 95 % | 60+| `language` — Langue | fr / en / bilingue (source ou heuristique) | 96 % |
61 | `company_logo` — Logo employeur | URL du logo si exposé par la source | 0 % | 61 | `company_logo` — Logo employeur | URL du logo si exposé par la source | 0 % |
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
65−Exemple réel : *Directeur(trice), Prédéveloppement résidentiel \| Director, Residential Pre-Development* — Montréal · ∅ · parue le 2026-10-05. 65+Exemple réel : *Planificateur(trice) de construction \| Construction Scheduler* — Montréal · ∅ · parue le 2026-10-16.
66 66
67 ## Fréquence & budgets 67 ## Fréquence & budgets
68 68
@@ -77,19 +77,23 @@ Exemple réel : *Directeur(trice), Prédéveloppement résidentiel \| Director,
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-21 13:58 EDT dans `data/jobka.db`)*
81 81
82−- **Offres en base** : 30 (dont **22 actives**, 0 masquées comme doublons `dup_of`) 82+- **Offres en base** : 32 (dont **23 actives**, 0 masquées comme doublons `dup_of`)
83−- **Salaire** : 0/22 actives (0 %) 83+- **Salaire** : 0/23 actives (0 %)
84−- **GPS** : 22/22 actives (100 %) 84+- **GPS** : 23/23 actives (100 %)
85−- **Mode** : 22/22 actives (100 %) 85+- **Mode** : 23/23 actives (100 %)
86−- **Parution** : 22/22 actives (100 %) 86+- **Parution** : 23/23 actives (100 %)
87−- **Dernier sync** : 2026-10-14 18:16 — trouvées 22, +0, ~0, -0 87+- **Dernier sync** : 2026-10-21 13:58 — trouvées 23, +0, ~0, -0
88−- **Syncs enregistrés** (`sync_log`) : 644 88+- **Syncs enregistrés** (`sync_log`) : 741
89 89
90 ## Erreurs & dépannage 90 ## Erreurs & dépannage
91 91
92−Aucune erreur dans `sync_log` pour cette source. 92+Erreurs relevées dans `sync_log` :
93+
94+| Erreur | Occurrences | Dernière fois |
95+|---|---|---|
96+| 404 Client Error: Not Found for url: https://broccolini.bamboohr.com/careers/list | 11 | 2026-10-21 13:37 |
93 97
94 - Rejouer un sync isolé : `.venv/bin/python run.py sync broccolini` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='broccolini' ORDER BY ts DESC LIMIT 5;"` 98 - Rejouer un sync isolé : `.venv/bin/python run.py sync broccolini` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='broccolini' ORDER BY ts DESC LIMIT 5;"`
95 - 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`.
modified jobka/connectors/broccolini.py +30 −1
@@ -5,12 +5,41 @@
5 # Fichier : jobka/connectors/broccolini.py 5 # Fichier : jobka/connectors/broccolini.py
6 # Rôle : Connecteur Broccolini — bamboohr (org « broccolini ») 6 # Rôle : Connecteur Broccolini — bamboohr (org « broccolini »)
7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-18] 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 8+# Créé : 2026-08-18 Modifié : 2026-10-21
9 # ============================================================================= 9 # =============================================================================
10 from .bamboohr import BambooHRConnector 10 from .bamboohr import BambooHRConnector
11 11
12 12
13 class BroccoliniConnector(BambooHRConnector): 13 class BroccoliniConnector(BambooHRConnector):
14+ """Broccolini — développeur immobilier et constructeur montréalais
15+ (bureaux, industriel, résidentiel ; www.broccolini.com) qui publie ses
16+ postes sur ce board BambooHR. Volume QC stable autour de 23
17+ (médiane 23.0), surtout Montréal.
18+
19+ 2026-10-21 : broken = PANNE MONDIALE DE LA PLATEFORME BambooHR (incident
20+ de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que
21+ les frères rethinkcanada, robotiq, scalia, surmesur, toonboom, triotech,
22+ vicpark, ziptrekeco, batimoinc, bc2 et bigbang traités le même jour.
23+ BambooHR a mis ses portails carrières hors ligne par précaution entre
24+ 08:34 et 08:37 EDT : /careers/list = 404 « Route Not Found ». Le tenant
25+ était vert avec found=23 (= médiane) au sync de 07:23:19 le matin même,
26+ premier échec à 10:16:50 (première rotation du scheduler après la
27+ fenêtre), 11 échecs 404 consécutifs jusqu'à 13:37:33. Pas une migration
28+ d'ATS : www.broccolini.com/en/carrieres pointe toujours vers
29+ broccolini.bamboohr.com/careers (vérifié live). Le sync échouait
30+ proprement (ok=0, raise_for_status 404) donc AUCUN retrait pendant la
31+ panne. FIN DE PANNE constatée pendant la mission : /careers/list de
32+ nouveau 200 (totalCount=47) sur broccolini ET le frère mitacs, et le
33+ sync horaire de 13:54:28 avait déjà reverdit le tenant tout seul
34+ (ok=1, found=23, removed=0) — re-prouvé par sync isolé pendant la
35+ mission (found=23 = médiane, removed=0). status.bamboohr.com encore en
36+ MONITORING au moment du constat : les portails carrières sont revenus
37+ avant la clôture officielle de l'incident. Artefact vague C corrigé :
38+ url vide dans sources.json → https://www.broccolini.com (broccolini.com
39+ redirige vers www.broccolini.com/fr, 200 vérifié live, « Broccolini |
40+ Investir. Développer. Construire. »).
41+ """
42+
14 source_id = 'broccolini' 43 source_id = 'broccolini'
15 EMPLOYER = 'Broccolini' 44 EMPLOYER = 'Broccolini'
16 ORG = 'broccolini' 45 ORG = 'broccolini'
17 46
Menu

Theme