SPB Git

spb/job-ka

Public

[ka6] connecteur scalia: stale = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que robotiq 11935dc7 et rethinkcanada 7b553af8 le même jour. Le tenant était vert avec found=5 (= médiane 5.0) au sync de 05:35:50 le 2026-10-21, premier échec à 08:40:05, pile dans la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT) : /careers/list = 404 text/plain sur scalia ET le frère mitacs (vérifiés live pendant la mission), status.bamboohr.com = « UPDATE: We have temporarily taking BambooHR offline as a precaution » (PHP2SHELL). Pas une migration d'ATS. Le sync échoue proprement (ok=0, raise_for_status 404, re-vérifié par sync isolé : removed=0) donc AUCUN retrait — les 5 offres QC (Montréal/Québec, projets Westwalk) restent actives en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Artefact vague C : url vide dans sources.json → https://scalia.ca (200 vérifié live, promoteur immobilier des projets Westwalk Anjou/Pointe-Claire/DDO cités dans les offres). Docstring chronologie 1re intervention, fiches scalia.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.

Simon-Pierre Boucher committed (Oct 21, 2026) parent 11935dc Browse files

5 changed files +53 −26

modified data/sources.json +1 −1
@@ -2407,7 +2407,7 @@
2407 { 2407 {
2408 "id": "scalia", 2408 "id": "scalia",
2409 "name": "Propriétés Scalia", 2409 "name": "Propriétés Scalia",
2410− "url": "", 2410+ "url": "https://scalia.ca",
2411 "careers_url": "https://scalia.bamboohr.com/careers", 2411 "careers_url": "https://scalia.bamboohr.com/careers",
2412 "sectors": [ 2412 "sectors": [
2413 "Immobilier" 2413 "Immobilier"
modified docs/connecteurs/INDEX.md +12 −12
@@ -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 11:27 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-21 11:43 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 11:27 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 11:43 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** — **26124 offres actives** (23123 directes, 3001 portails ; 131 masquées comme doublons inter-sources, soit 25993 visibles). 1134 fiches. 17+**1104 employeurs directs** connectés via **25 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **26119 offres actives** (23118 directes, 3001 portails ; 131 masquées comme doublons inter-sources, soit 25988 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
@@ -23,12 +23,12 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
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 | 7514 | 48 % | 87 % |
26−| [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 2946 | 16 % | 99 % | 26+| [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 2943 | 16 % | 99 % |
27 | [`workable`](ats-workable.md) | 71 | 1999 | 18 % | 100 % | 27 | [`workable`](ats-workable.md) | 71 | 1999 | 18 % | 100 % |
28 | [`dayforce`](ats-dayforce.md) | 129 | 1905 | 9 % | 100 % | 28 | [`dayforce`](ats-dayforce.md) | 129 | 1905 | 9 % | 100 % |
29−| [`successfactors`](ats-successfactors.md) | 12 | 1689 | 17 % | 99 % | 29+| [`successfactors`](ats-successfactors.md) | 12 | 1687 | 17 % | 99 % |
30 | [`njoyn`](ats-njoyn.md) | 11 | 1253 | 69 % | 87 % | 30 | [`njoyn`](ats-njoyn.md) | 11 | 1253 | 69 % | 87 % |
31−| [`workland`](ats-workland.md) | 1 | 1175 | 36 % | 100 % | 31+| [`workland`](ats-workland.md) | 1 | 1175 | 35 % | 100 % |
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 | 604 | 20 % | 96 % | 34 | [`lever`](ats-lever.md) | 58 | 604 | 20 % | 96 % |
@@ -61,7 +61,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
61 61
62 | Employeur | ATS | Actives | Salaire | GPS | Dernier sync OK | 62 | Employeur | ATS | Actives | Salaire | GPS | Dernier sync OK |
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) | 1175 | 36 % | 100 % | ✅ | 64+| [Réseau Atlas Workland (~80 employeurs QC : CSS, cégeps, Santé Québec, STQ, UQTR…)](atlas_workland.md) | [`workland`](ats-workland.md) | 1175 | 35 % | 100 % | ✅ |
65 | [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 1003 | 69 % | 68 % | ✅ | 65 | [Couche-Tard / Circle K](circlek.md) | [`workday`](ats-workday.md) | 1003 | 69 % | 68 % | ✅ |
66 | [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 959 | 1 % | 100 % | ✅ | 66 | [Bombardier](bombardier.md) | [`successfactors`](ats-successfactors.md) | 959 | 1 % | 100 % | ✅ |
67 | [Walmart Canada](walmart.md) | [`workday`](ats-workday.md) | 953 | 98 % | 90 % | ✅ | 67 | [Walmart Canada](walmart.md) | [`workday`](ats-workday.md) | 953 | 98 % | 90 % | ✅ |
@@ -74,11 +74,11 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
74 | [Slihrms](slihrms.md) | [`workday`](ats-workday.md) | 256 | 11 % | 93 % | ✅ | 74 | [Slihrms](slihrms.md) | [`workday`](ats-workday.md) | 256 | 11 % | 93 % | ✅ |
75 | [Go RH](gorh.md) | [`lever`](ats-lever.md) | 255 | 17 % | 98 % | ✅ | 75 | [Go RH](gorh.md) | [`lever`](ats-lever.md) | 255 | 17 % | 98 % | ✅ |
76 | [CIMA+](cima2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 250 | 1 % | 100 % | ✅ | 76 | [CIMA+](cima2.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 250 | 1 % | 100 % | ✅ |
77−| [Alstom](alstom.md) | [`successfactors`](ats-successfactors.md) | 248 | 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) | 211 | 4 % | 99 % | ✅ |
81−| [American Iron and Metal](americanironandmetal.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 210 | 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 % | ✅ |
@@ -92,8 +92,8 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
92 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 127 | 98 % | 100 % | ✅ | 92 | [TJX Canada (Winners, HomeSense, Marshalls)](tjx.md) | [`workday`](ats-workday.md) | 127 | 98 % | 100 % | ✅ |
93 | [La Vie en Rose](lavieenrose.md) | [`dayforce`](ats-dayforce.md) | 122 | 4 % | 100 % | ✅ | 93 | [La Vie en Rose](lavieenrose.md) | [`dayforce`](ats-dayforce.md) | 122 | 4 % | 100 % | ✅ |
94 | [Deloitte Canada](deloitte.md) | [`successfactors`](ats-successfactors.md) | 116 | 98 % | 98 % | ✅ | 94 | [Deloitte Canada](deloitte.md) | [`successfactors`](ats-successfactors.md) | 116 | 98 % | 98 % | ✅ |
95−| [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 115 | 0 % | 98 % | ✅ |
96 | [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 114 | 87 % | 79 % | ✅ | 95 | [BMO Groupe financier](bmo.md) | [`workday`](ats-workday.md) | 114 | 87 % | 79 % | ✅ |
96+| [Artelia Canada](artelia.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 113 | 0 % | 98 % | ✅ |
97 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 108 | 83 % | 100 % | ✅ | 97 | [Cascades](cascades.md) | [`successfactors`](ats-successfactors.md) | 108 | 83 % | 100 % | ✅ |
98 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 102 | 2 % | 100 % | ✅ | 98 | [Groupe Helios](groupehelios.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 102 | 2 % | 100 % | ✅ |
99 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 100 | 17 % | 100 % | ✅ | 99 | [Dentalcorp](dentalcorp.md) | [`workday`](ats-workday.md) | 100 | 17 % | 100 % | ✅ |
@@ -220,6 +220,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
220 | [RM Staffing B.V.](rebootmonkey.md) | [`recruitee`](ats-recruitee.md) | 26 | 85 % | 100 % | ✅ | 220 | [RM Staffing B.V.](rebootmonkey.md) | [`recruitee`](ats-recruitee.md) | 26 | 85 % | 100 % | ✅ |
221 | [Unitytech](unitytech.md) | [`workday`](ats-workday.md) | 26 | 88 % | 85 % | ✅ | 221 | [Unitytech](unitytech.md) | [`workday`](ats-workday.md) | 26 | 88 % | 85 % | ✅ |
222 | [Wabtec](wabtec.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 26 | 19 % | 100 % | ✅ | 222 | [Wabtec](wabtec.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 26 | 19 % | 100 % | ✅ |
223+| [AbbVie](abbvie.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 25 | 0 % | 100 % | ✅ |
223 | [AVP](aviva.md) | [`workday`](ats-workday.md) | 25 | 16 % | 92 % | ✅ | 224 | [AVP](aviva.md) | [`workday`](ats-workday.md) | 25 | 16 % | 92 % | ✅ |
224 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 25 | 100 % | 92 % | ✅ | 225 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 25 | 100 % | 92 % | ✅ |
225 | [Huawei Canada](huaweicanada.md) | [`recruitee`](ats-recruitee.md) | 25 | 4 % | 100 % | ✅ | 226 | [Huawei Canada](huaweicanada.md) | [`recruitee`](ats-recruitee.md) | 25 | 4 % | 100 % | ✅ |
@@ -240,7 +241,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
240 | [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 % | ✅ |
241 | [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 % | ✅ |
242 | [Tmx](tmx.md) | [`workday`](ats-workday.md) | 23 | 0 % | 83 % | ✅ | 243 | [Tmx](tmx.md) | [`workday`](ats-workday.md) | 23 | 0 % | 83 % | ✅ |
243−| [AbbVie](abbvie.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 22 | 0 % | 100 % | ✅ |
244 | [Baro RH](barorh.md) | [`workable`](ats-workable.md) | 22 | 0 % | 100 % | ✅ | 244 | [Baro RH](barorh.md) | [`workable`](ats-workable.md) | 22 | 0 % | 100 % | ✅ |
245 | [dcbel](dcbel.md) | [`bamboohr`](ats-bamboohr.md) | 22 | 0 % | 100 % | ❌ | 245 | [dcbel](dcbel.md) | [`bamboohr`](ats-bamboohr.md) | 22 | 0 % | 100 % | ❌ |
246 | [Groupe Mach](groupemach.md) | [`dayforce`](ats-dayforce.md) | 22 | 9 % | 100 % | ✅ | 246 | [Groupe Mach](groupemach.md) | [`dayforce`](ats-dayforce.md) | 22 | 9 % | 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 11:27 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-21 11:43 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 11:27 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 11:26 | ❌ | 46+| [Broccolini](broccolini.md) | 23 | 0 % | 100 % | 100 % | 2026-10-21 11:39 | ❌ |
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 11:27 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 11:23 | ❌ | 59+| [EMD-Batimo](batimoinc.md) | 8 | 0 % | 100 % | 100 % | 2026-10-21 11:35 | ❌ |
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 11:25 | ❌ | 61+| [Big Bang](bigbang.md) | 7 | 29 % | 100 % | 100 % | 2026-10-21 11:37 | ❌ |
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 11:27 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 08:47 | ❌ | 75 | [Toon Boom Animation](toonboom.md) | 2 | 0 % | 100 % | 100 % | 2026-10-21 08:47 | ❌ |
76 | [Ziptrek Tremblant](ziptrekeco.md) | 2 | 100 % | 100 % | 100 % | 2026-10-21 09:07 | ❌ | 76 | [Ziptrek Tremblant](ziptrekeco.md) | 2 | 100 % | 100 % | 100 % | 2026-10-21 09:07 | ❌ |
77−| [Groupe BC2](bc2.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 11:24 | ❌ | 77+| [Groupe BC2](bc2.md) | 1 | 0 % | 100 % | 100 % | 2026-10-21 11:35 | ❌ |
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/scalia.md +11 −7
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/scalia.md 6 Fichier : docs/connecteurs/scalia.md
7 Rôle : Fiche connecteur — Propriétés Scalia (employeur direct, ATS bamboohr) 7 Rôle : Fiche connecteur — Propriétés Scalia (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 11:43 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** : [Propriétés Scalia]() 19+- **Site** : [Propriétés Scalia](https://scalia.ca)
20 - **Page carrières** : https://scalia.bamboohr.com/careers 20 - **Page carrières** : https://scalia.bamboohr.com/careers
21 - **Secteurs** : Immobilier 21 - **Secteurs** : Immobilier
22 - **Région** : Montréal, Anjou 22 - **Région** : Montréal, Anjou
@@ -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 **5 offres actives** de la source (base live, 2026-10-14 18:40 EDT). 39+Complétude mesurée sur les **5 offres actives** de la source (base live, 2026-10-21 11:43 EDT).
40 40
41 | Champ (`jobs.*`) | Rôle | Complétude | 41 | Champ (`jobs.*`) | Rôle | Complétude |
42 |---|---|---| 42 |---|---|---|
@@ -77,19 +77,23 @@ Exemple réel : *Technicien comptable - Accounting technician* — Montréal ·
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 11:43 EDT dans `data/jobka.db`)*
81 81
82 - **Offres en base** : 10 (dont **5 actives**, 0 masquées comme doublons `dup_of`) 82 - **Offres en base** : 10 (dont **5 actives**, 0 masquées comme doublons `dup_of`)
83 - **Salaire** : 1/5 actives (20 %) 83 - **Salaire** : 1/5 actives (20 %)
84 - **GPS** : 5/5 actives (100 %) 84 - **GPS** : 5/5 actives (100 %)
85 - **Mode** : 5/5 actives (100 %) 85 - **Mode** : 5/5 actives (100 %)
86 - **Parution** : 5/5 actives (100 %) 86 - **Parution** : 5/5 actives (100 %)
87−- **Dernier sync** : 2026-10-14 15:58 — trouvées 5, +0, ~0, -0 87+- **Dernier sync** : 2026-10-21 08:40 — trouvées 0, +0, ~0, -0, **ÉCHEC : 404 Client Error: Not Found for url: https://scalia.bamboohr.com/careers/list**
88−- **Syncs enregistrés** (`sync_log`) : 561 88+- **Syncs enregistrés** (`sync_log`) : 618
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://scalia.bamboohr.com/careers/list | 1 | 2026-10-21 08:40 |
93 97
94 - Rejouer un sync isolé : `.venv/bin/python run.py sync scalia` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='scalia' ORDER BY ts DESC LIMIT 5;"` 98 - Rejouer un sync isolé : `.venv/bin/python run.py sync scalia` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='scalia' 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/scalia.py +24 −1
@@ -5,12 +5,35 @@
5 # Fichier : jobka/connectors/scalia.py 5 # Fichier : jobka/connectors/scalia.py
6 # Rôle : Connecteur Propriétés Scalia — bamboohr (org « scalia ») 6 # Rôle : Connecteur Propriétés Scalia — bamboohr (org « scalia »)
7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-17] 7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-17]
8−# Créé : 2026-08-17 Modifié : 2026-08-17 8+# Créé : 2026-08-17 Modifié : 2026-10-21
9 # ============================================================================= 9 # =============================================================================
10 from .bamboohr import BambooHRConnector 10 from .bamboohr import BambooHRConnector
11 11
12 12
13 class ScaliaConnector(BambooHRConnector): 13 class ScaliaConnector(BambooHRConnector):
14+ """Les Propriétés Scalia — promoteur immobilier montréalais (scalia.ca,
15+ projets Westwalk Anjou/Pointe-Claire/DDO) qui publie ses postes sur ce
16+ board BambooHR. Volume QC stable autour de 5 (médiane 5.0).
17+
18+ 2026-10-21 (1re intervention) : stale = PANNE MONDIALE DE LA PLATEFORME
19+ BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté
20+ connecteur — même constat que robotiq 11935dc7 et rethinkcanada
21+ 7b553af8 le même jour. BambooHR a mis ses portails carrières hors
22+ ligne par précaution entre 08:34 et 08:37 EDT : /careers/list = 404
23+ text/plain sur TOUS les tenants (scalia ET le frère mitacs vérifiés
24+ live pendant la mission), status.bamboohr.com = « UPDATE: We have
25+ temporarily taking BambooHR offline as a precaution » (PHP2SHELL).
26+ Pas une migration d'ATS : le tenant était vert avec found=5
27+ (= médiane) au sync de 05:35:50 le matin même, premier échec à
28+ 08:40:05 — pile dans la fenêtre de début de panne. Le sync échoue
29+ proprement (ok=0, raise_for_status 404) donc AUCUN retrait : les
30+ 5 offres QC (Montréal/Québec) restent actives en base ; dès que
31+ BambooHR revient (sonder /careers/list, 200 = fenêtre finie, cf.
32+ pattern fenêtre de maintenance Workday), le sync horaire repart seul.
33+ Artefact vague C corrigé au passage : url vide dans sources.json →
34+ https://scalia.ca (200 vérifié live).
35+ """
36+
14 source_id = 'scalia' 37 source_id = 'scalia'
15 EMPLOYER = 'Propriétés Scalia' 38 EMPLOYER = 'Propriétés Scalia'
16 ORG = 'scalia' 39 ORG = 'scalia'
17 40
Menu

Theme