SPB Git

spb/job-ka

Public

[ka6] fix connecteur bly: angle mort de culture récupéré (found 6→7) + panne shard Dayforce 2026-10-14 déjà résolue + double artefact vague C corrigé (Field Mechanic → Boart Longyear)

Panne: namespace supplémentaire de la panne partielle de shard Dayforce du
2026-10-14, DÉJÀ RÉSOLUE côté Dayforce à l'intervention (syncs verts found=6
jusqu'à 17:58, 500 à 17:33 puis 503 soutenu sur
/api/geo/bly/jobposting/search de 18:14 à 22:05, échec franc ok=0 jamais de
faux 0, 6 offres QC actives préservées; le scheduler repasse vert seul à
22:17 found=6 = médiane 6.0). Pas de migration: careers.boartlongyear.com
(frontend custom, l'ancien /careers/ est 404) fait postuler via
jobs.dayforcehcm.com/en-CA/bly/CANDIDATEPORTAL = même tenant/board.

VRAI angle mort de culture corrigé: fr-CA ne voit que les offres traduites
(7 dont 6 QC), en-CA liste les 63 offres du board dont « Foreur
Long-Trou/Dynamiteur » Val-d'Or (id 1000) publiée en ANGLAIS SEULEMENT et
pourtant listée sur le site carrières officiel — invisible en fr-CA. Fix
pattern peaktech/challenger/fnfmb: CULTURES=(fr-CA,en-CA), fusion par
external_id priorité fr-CA → sync réel found=7, added=1, updated=6.

DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name
= titre de poste « Field Mechanic » → Boart Longyear (bly = ticker ASX;
principal fournisseur mondial de services de forage minier, base QC à
Val-d'Or; nom lu dans les descriptions FR des offres; bly.py +
sources.json), url vide → boartlongyear.com; propagation faite aux 7 lignes
actives via content_hash.

Docstring enrichie, fiches bly.md/ats-dayforce.md/INDEX.md régénérées.
Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart
OK, site local+public 200.

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

5 changed files +106 −65

modified data/sources.json +2 −2
@@ -6468,8 +6468,8 @@
6468 6468 },
6469 6469 {
6470 6470 "id": "bly",
6471 − "name": "Field Mechanic",
6472 − "url": "",
6471 + "name": "Boart Longyear",
6472 + "url": "https://www.boartlongyear.com",
6473 6473 "careers_url": "https://jobs.dayforcehcm.com/fr-CA/bly/CANDIDATEPORTAL",
6474 6474 "sectors": [
6475 6475 "Automobile"
modified docs/connecteurs/INDEX.md +10 −10
@@ -5,16 +5,16 @@ Auteur : Simon-Pierre Boucher
5 5 Contact : contact@spboucher.ai
6 6 Fichier : docs/connecteurs/INDEX.md
7 7 Rôle : Index généré de la documentation des connecteurs (ATS, employeurs, portails, dépôt)
8 −Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
8 +Généré : 2026-10-14 22:45 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
12 12
13 13 # Job·Ka — Connecteurs (index)
14 14
15 −> Index généré le 2026-10-14 22:25 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-14 22:45 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** — **26073 offres actives** (23313 directes, 2760 portails ; 113 masquées comme doublons inter-sources, soit 25960 visibles). 1134 fiches.
17 +**1104 employeurs directs** connectés via **25 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **26077 offres actives** (23317 directes, 2760 portails ; 113 masquées comme doublons inter-sources, soit 25964 visibles). 1134 fiches.
18 18
19 19 Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conserve son URL originale ; la candidature se fait chez l'employeur (badge « Offre directe » sur les sources directes).
20 20
@@ -22,10 +22,10 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
22 22
23 23 | Plateforme | Employeurs | Actives | Salaire | GPS |
24 24 |---|---|---|---|---|
25 −| [`workday`](ats-workday.md) | 232 | 7731 | 44 % | 88 % |
25 +| [`workday`](ats-workday.md) | 232 | 7732 | 44 % | 87 % |
26 26 | [`smartrecruiters`](ats-smartrecruiters.md) | 172 | 3014 | 17 % | 99 % |
27 +| [`dayforce`](ats-dayforce.md) | 129 | 1913 | 9 % | 100 % |
27 28 | [`workable`](ats-workable.md) | 71 | 1912 | 18 % | 100 % |
28 −| [`dayforce`](ats-dayforce.md) | 129 | 1912 | 9 % | 100 % |
29 29 | [`successfactors`](ats-successfactors.md) | 12 | 1769 | 21 % | 99 % |
30 30 | [`njoyn`](ats-njoyn.md) | 11 | 1279 | 70 % | 87 % |
31 31 | [`workland`](ats-workland.md) | 1 | 1092 | 37 % | 100 % |
@@ -35,7 +35,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
35 35 | [`breezy`](ats-breezy.md) | 71 | 403 | 37 % | 95 % |
36 36 | [`bamboohr`](ats-bamboohr.md) | 37 | 290 | 9 % | 100 % |
37 37 | [`recruitee`](ats-recruitee.md) | 30 | 280 | 19 % | 97 % |
38 −| [`ashby`](ats-ashby.md) | 41 | 278 | 49 % | 57 % |
38 +| [`ashby`](ats-ashby.md) | 41 | 280 | 49 % | 56 % |
39 39 | [`taleo_tbe`](ats-taleo_tbe.md) | 7 | 201 | 24 % | 60 % |
40 40 | [`zoho_recruit`](ats-zoho_recruit.md) | 17 | 161 | 13 % | 88 % |
41 41 | [`jazzhr`](ats-jazzhr.md) | 28 | 154 | 14 % | 92 % |
@@ -84,7 +84,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
84 84 | [CISSS de Laval](cisss_laval.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 178 | 2 % | 100 % | ✅ |
85 85 | [Sodexo Canada](sodexocanadaltd.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 171 | 82 % | 99 % | ✅ |
86 86 | [Le Groupe Maurice](groupemaurice.md) | [`dayforce`](ats-dayforce.md) | 153 | 0 % | 100 % | ✅ |
87 −| [Consignaction (AQRCB)](consignaction.md) | [`workday`](ats-workday.md) | 149 | 87 % | 100 % | ✅ |
87 +| [Consignaction (AQRCB)](consignaction.md) | [`workday`](ats-workday.md) | 150 | 87 % | 99 % | ✅ |
88 88 | [CISSS de l'Abitibi-Témiscamingue](cisss_abitibi.md) | [`wpjobmanager`](ats-wpjobmanager.md) | 143 | 0 % | 100 % | ✅ |
89 89 | [La Vie en Rose](lavieenrose.md) | [`dayforce`](ats-dayforce.md) | 143 | 3 % | 100 % | ✅ |
90 90 | [Vetstrategy](vetstrategy.md) | [`dayforce`](ats-dayforce.md) | 140 | 4 % | 100 % | ✅ |
@@ -514,6 +514,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
514 514 | [Alta Équipements de Manutention](altg.md) | [`dayforce`](ats-dayforce.md) | 7 | 14 % | 100 % | ✅ |
515 515 | [Artefact North America](artefactnoram.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 57 % | 100 % | ✅ |
516 516 | [Big Bang](bigbang.md) | [`bamboohr`](ats-bamboohr.md) | 7 | 29 % | 100 % | ✅ |
517 +| [Boart Longyear](bly.md) | [`dayforce`](ats-dayforce.md) | 7 | 100 % | 100 % | ✅ |
517 518 | [CAM Mécanique](cammecanique.md) | [`teamtailor`](ats-teamtailor.md) | 7 | 0 % | 100 % | ✅ |
518 519 | [Cerence](cerence.md) | [`workday`](ats-workday.md) | 7 | 71 % | 29 % | ✅ |
519 520 | [Cfibfcei](cfibfcei.md) | [`dayforce`](ats-dayforce.md) | 7 | 0 % | 100 % | ✅ |
@@ -553,7 +554,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
553 554 | [Aviya Aerospace Systems](aviyatech.md) | [`lever`](ats-lever.md) | 6 | 0 % | 100 % | ✅ |
554 555 | [Avocat·e de litige / Litigation Associate](clydeco.md) | [`workday`](ats-workday.md) | 6 | 0 % | 100 % | ✅ |
555 556 | [Bilingual (French/English) Sales Broker (RIBO Licensed)](ogc.md) | [`dayforce`](ats-dayforce.md) | 6 | 50 % | 100 % | ✅ |
556 −| [Board](deltastar.md) | [`dayforce`](ats-dayforce.md) | 6 | 33 % | 100 % | ❌ |
557 +| [Board](deltastar.md) | [`dayforce`](ats-dayforce.md) | 6 | 33 % | 100 % | ✅ |
557 558 | [Challenger Motor Freight Inc.](challenger.md) | [`dayforce`](ats-dayforce.md) | 6 | 67 % | 100 % | ✅ |
558 559 | [Chanel](cc.md) | [`workday`](ats-workday.md) | 6 | 17 % | 100 % | ✅ |
559 560 | [Chef de secteur](gsknch.md) | [`workday`](ats-workday.md) | 6 | 0 % | 100 % | ✅ |
@@ -563,7 +564,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
563 564 | [Dxctechnology](dxctechnology.md) | [`workday`](ats-workday.md) | 6 | 0 % | 33 % | ✅ |
564 565 | [EQ Bank](eqbank.md) | [`lever`](ats-lever.md) | 6 | 67 % | 50 % | ✅ |
565 566 | [Fastco Canada](fastcocanada.md) | [`dayforce`](ats-dayforce.md) | 6 | 0 % | 100 % | ✅ |
566 −| [Field Mechanic](bly.md) | [`dayforce`](ats-dayforce.md) | 6 | 100 % | 100 % | ✅ |
567 567 | [GAME DESIGN AND VIDEO GAME LEVEL](lci.md) | [`dayforce`](ats-dayforce.md) | 6 | 0 % | 100 % | ✅ |
568 568 | [GoMaterials](gomaterials.md) | [`lever`](ats-lever.md) | 6 | 0 % | 100 % | ✅ |
569 569 | [Groupe Beaudry](groupebeaudry.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 6 | 50 % | 100 % | ✅ |
@@ -811,6 +811,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
811 811 | [Conseil de gestion financière des Premières Nations (FNFMB)](fnfmb.md) | [`dayforce`](ats-dayforce.md) | 2 | 0 % | 100 % | ✅ |
812 812 | [Conseil régional de l'environnement - Région de la Capitale Nationale](conseilrgionaldelenvironnement_rgiondelacapitalenationale.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 2 | 0 % | 100 % | ✅ |
813 813 | [CWP Energy](mcgillstlaurent.md) | [`jazzhr`](ats-jazzhr.md) | 2 | 0 % | 100 % | ✅ |
814 +| [Delos Data](delos_data.md) | [`ashby`](ats-ashby.md) | 2 | 100 % | 0 % | ✅ |
814 815 | [Dentons](dentons.md) | [`successfactors`](ats-successfactors.md) | 2 | 100 % | 100 % | ✅ |
815 816 | [Devoted Studios](devoted_studios_1.md) | [`workable`](ats-workable.md) | 2 | 0 % | 100 % | ✅ |
816 817 | [DONTNOD](dontnod.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 2 | 0 % | 100 % | ✅ |
@@ -1078,7 +1079,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
1078 1079 | [CSC Generation](cscgeneration_2.md) | [`lever`](ats-lever.md) | 0 | — | — | ✅ |
1079 1080 | [CSN Collision](csncollision.md) | [`workable`](ats-workable.md) | 0 | — | — | ✅ |
1080 1081 | [Culligan Quench](quenchwater.md) | [`lever`](ats-lever.md) | 0 | — | — | ✅ |
1081 −| [Delos Data](delos_data.md) | [`ashby`](ats-ashby.md) | 0 | — | — | ✅ |
1082 1082 | [Dentons](dentons_europe.md) | [`workable`](ats-workable.md) | 0 | — | — | ✅ |
1083 1083 | [DropGenie](drop_genie.md) | [`breezy`](ats-breezy.md) | 0 | — | — | ✅ |
1084 1084 | [Earth Rated](earthrated.md) | [`greenhouse`](ats-greenhouse.md) | 0 | — | — | ✅ |
modified docs/connecteurs/ats-dayforce.md +31 −31
@@ -5,14 +5,14 @@ Auteur : Simon-Pierre Boucher
5 5 Contact : contact@spboucher.ai
6 6 Fichier : docs/connecteurs/ats-dayforce.md
7 7 Rôle : Fiche plateforme ATS dayforce — mécanique partagée + tableau des 129 tenants
8 −Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
8 +Généré : 2026-10-14 22:45 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
12 12
13 13 # Plateforme ATS `dayforce`
14 14
15 −**129 employeurs connectés** via cette plateforme — **1912 offres actives**. Module partagé : `jobka/connectors/dayforce.py` ; un employeur = une sous-classe d'environ 10 lignes.
15 +**129 employeurs connectés** via cette plateforme — **1913 offres actives**. Module partagé : `jobka/connectors/dayforce.py` ; un employeur = une sous-classe d'environ 10 lignes.
16 16
17 17 ## Description & mécanique
18 18
@@ -54,12 +54,12 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
54 54 | [Le Groupe Maurice](groupemaurice.md) | 153 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
55 55 | [La Vie en Rose](lavieenrose.md) | 143 | 3 % | 100 % | 0 % | 2026-10-14 19:35 | ✅ |
56 56 | [Vetstrategy](vetstrategy.md) | 140 | 4 % | 100 % | 1 % | 2026-10-14 19:32 | ✅ |
57 −| [Bulkbarn](bulkbarn.md) | 75 | 0 % | 100 % | 0 % | 2026-10-14 22:18 | ✅ |
58 −| [Automobileendirect](automobileendirect.md) | 60 | 0 % | 100 % | 0 % | 2026-10-14 22:15 | ✅ |
57 +| [Bulkbarn](bulkbarn.md) | 75 | 0 % | 100 % | 0 % | 2026-10-14 22:33 | ✅ |
58 +| [Automobileendirect](automobileendirect.md) | 60 | 0 % | 100 % | 0 % | 2026-10-14 22:31 | ✅ |
59 59 | [Gdv](gdv.md) | 58 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ |
60 60 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | 55 | 0 % | 100 % | 0 % | 2026-10-14 18:38 | ✅ |
61 61 | [Laura Canada](lauracanada.md) | 52 | 0 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ |
62 −| [BPA (Experts-conseils)](bpa.md) | 49 | 0 % | 100 % | 0 % | 2026-10-14 22:18 | ✅ |
62 +| [BPA (Experts-conseils)](bpa.md) | 49 | 0 % | 100 % | 0 % | 2026-10-14 22:33 | ✅ |
63 63 | [Unoria](unoria.md) | 47 | 0 % | 100 % | 0 % | 2026-10-14 19:30 | ✅ |
64 64 | [Camions Excellence Peterbilt](excellencepeterbilt.md) | 45 | 31 % | 100 % | 0 % | 2026-10-14 18:34 | ✅ |
65 65 | [Lesymcaquebec](lesymcaquebec.md) | 45 | 20 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ |
@@ -72,7 +72,7 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
72 72 | [Lgs](lgs.md) | 29 | 0 % | 100 % | 31 % | 2026-10-14 19:03 | ✅ |
73 73 | [Soprema](soprema.md) | 27 | 30 % | 100 % | 0 % | 2026-10-14 19:22 | ✅ |
74 74 | [Stellajones](stellajones.md) | 25 | 24 % | 100 % | 0 % | 2026-10-14 19:24 | ✅ |
75 −| [Cmpams](cmpams.md) | 22 | 0 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ |
75 +| [Cmpams](cmpams.md) | 22 | 0 % | 100 % | 0 % | 2026-10-14 22:42 | ✅ |
76 76 | [Groupe Mach](groupemach.md) | 20 | 10 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
77 77 | [Logm](logm.md) | 20 | 80 % | 100 % | 30 % | 2026-10-14 19:03 | ✅ |
78 78 | [Premierparks](premierparks.md) | 19 | 11 % | 100 % | 0 % | 2026-10-14 19:13 | ✅ |
@@ -83,7 +83,7 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
83 83 | [United Services Group](unitedservices.md) | 15 | 0 % | 100 % | 0 % | 2026-10-14 19:30 | ✅ |
84 84 | [Intervenant·e au suivi psychosocial](obm.md) | 15 | 13 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ |
85 85 | [CONTRÔLEUR](novatech.md) | 15 | 33 % | 100 % | 0 % | 2026-10-14 19:10 | ✅ |
86 −| [Boralex](boralex.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 22:17 | ✅ |
86 +| [Boralex](boralex.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 22:33 | ✅ |
87 87 | [Hygiéniste Industrielle](kdcone.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 19:52 | ❌ |
88 88 | [Lapresse2018Inc](lapresse2018inc.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ |
89 89 | [Superior Propane](superiorplus.md) | 14 | 64 % | 100 % | 0 % | 2026-10-14 21:20 | ❌ |
@@ -93,50 +93,50 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
93 93 | [Erb](erb.md) | 13 | 54 % | 100 % | 0 % | 2026-10-14 18:33 | ✅ |
94 94 | [Avocat·e, Bureau de l'avocate générale](mthris.md) | 13 | 46 % | 100 % | 0 % | 2026-10-14 19:08 | ✅ |
95 95 | [Valnet](valnetinc.md) | 13 | 0 % | 100 % | 77 % | 2026-10-14 21:40 | ❌ |
96 −| [Heavy Machinery Operator](dhilmarele.md) | 12 | 0 % | 100 % | 0 % | 2026-10-14 18:30 | ✅ |
97 −| [Colabor](colabor.md) | 11 | 9 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ |
96 +| [Heavy Machinery Operator](dhilmarele.md) | 12 | 0 % | 100 % | 0 % | 2026-10-14 22:45 | ✅ |
97 +| [Colabor](colabor.md) | 11 | 9 % | 100 % | 0 % | 2026-10-14 22:42 | ✅ |
98 98 | [Chef.fe de service de quart, soir](lantic.md) | 11 | 45 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ |
99 −| [CEP Forensique](cep.md) | 11 | 0 % | 100 % | 0 % | 2026-10-14 22:23 | ✅ |
100 −| [Associé(e), entretien préventif](boardwalkreit.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 22:17 | ✅ |
101 −| [Ccmhockey](ccmhockey.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 22:23 | ✅ |
99 +| [CEP Forensique](cep.md) | 11 | 0 % | 100 % | 0 % | 2026-10-14 22:38 | ✅ |
100 +| [Associé(e), entretien préventif](boardwalkreit.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 22:32 | ✅ |
101 +| [Ccmhockey](ccmhockey.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 22:38 | ✅ |
102 102 | [Groupe Scandinave (Scandinave Spa)](gscandinave.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
103 103 | [Eldoradogold](eldoradogold.md) | 9 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
104 104 | [Porta](porta.md) | 9 | 11 % | 100 % | 0 % | 2026-10-14 19:12 | ✅ |
105 105 | [Vortex](vortex.md) | 9 | 0 % | 100 % | 0 % | 2026-10-14 19:33 | ✅ |
106 106 | [Administration portuaire de Québec](portquebec.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:13 | ✅ |
107 107 | [Eidos-Montréal](eidosmontreal.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
108 −| [Manœuvre générale](athos.md) | 8 | 50 % | 100 % | 0 % | 2026-10-14 22:14 | ✅ |
108 +| [Manœuvre générale](athos.md) | 8 | 50 % | 100 % | 0 % | 2026-10-14 22:29 | ✅ |
109 109 | [Quadra](quadra.md) | 8 | 100 % | 100 % | 75 % | 2026-10-14 19:16 | ✅ |
110 110 | [E-Commerce Shipping Associate](slg001.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:21 | ✅ |
111 111 | [Nationex](nationex.md) | 7 | 0 % | 100 % | 14 % | 2026-10-14 19:08 | ✅ |
112 −| [Alta Équipements de Manutention](altg.md) | 7 | 14 % | 100 % | 0 % | 2026-10-14 22:25 | ✅ |
113 −| [Cfibfcei](cfibfcei.md) | 7 | 0 % | 100 % | 0 % | 2026-10-14 22:23 | ✅ |
112 +| [Alta Équipements de Manutention](altg.md) | 7 | 14 % | 100 % | 0 % | 2026-10-14 22:29 | ✅ |
113 +| [Cfibfcei](cfibfcei.md) | 7 | 0 % | 100 % | 0 % | 2026-10-14 22:38 | ✅ |
114 +| [Boart Longyear](bly.md) | 7 | 100 % | 100 % | 0 % | 2026-10-14 22:45 | ✅ |
114 115 | [Sales Associate-Retail](roots.md) | 7 | 0 % | 100 % | 0 % | 2026-10-14 19:19 | ✅ |
115 116 | [Fastco Canada](fastcocanada.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 18:34 | ✅ |
116 −| [Board](deltastar.md) | 6 | 33 % | 100 % | 0 % | 2026-10-14 18:29 | ❌ |
117 +| [Board](deltastar.md) | 6 | 33 % | 100 % | 0 % | 2026-10-14 22:43 | ✅ |
117 118 | [Groupemarcelle](groupemarcelle.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
118 119 | [Josephribkoff](josephribkoff.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 19:00 | ✅ |
119 120 | [GAME DESIGN AND VIDEO GAME LEVEL](lci.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 19:02 | ✅ |
120 121 | [Liftow](liftow.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ |
121 122 | [Bilingual (French/English) Sales Broker (RIBO Licensed)](ogc.md) | 6 | 50 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ |
122 123 | [Terrapure](terrapure.md) | 6 | 17 % | 100 % | 0 % | 2026-10-14 19:28 | ✅ |
123 −| [Field Mechanic](bly.md) | 6 | 100 % | 100 % | 0 % | 2026-10-14 22:17 | ✅ |
124 124 | [Vendeur 3ème Clé (Thirdy Key)](fossil.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ |
125 −| [Challenger Motor Freight Inc.](challenger.md) | 6 | 67 % | 100 % | 0 % | 2026-10-14 21:39 | ✅ |
125 +| [Challenger Motor Freight Inc.](challenger.md) | 6 | 67 % | 100 % | 0 % | 2026-10-14 22:40 | ✅ |
126 126 | [Ggi](ggi.md) | 5 | 0 % | 100 % | 0 % | 2026-10-14 18:37 | ✅ |
127 127 | [Architecte Salesforce Sommaire](jam.md) | 5 | 0 % | 100 % | 0 % | 2026-10-14 19:37 | ❌ |
128 128 | [Consultant(e) en développement des affaires](omnitrans.md) | 5 | 40 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ |
129 −| [FOREMAN ASSISTANT SHIPPING RECEIVING](benmor.md) | 5 | 20 % | 100 % | 80 % | 2026-10-14 22:17 | ✅ |
129 +| [FOREMAN ASSISTANT SHIPPING RECEIVING](benmor.md) | 5 | 20 % | 100 % | 80 % | 2026-10-14 22:32 | ✅ |
130 130 | [Realstar](realstar.md) | 4 | 0 % | 100 % | 50 % | 2026-10-14 19:16 | ✅ |
131 131 | [4Refuel](4refuel.md) | 4 | 25 % | 100 % | 0 % | 2026-10-14 19:38 | ✅ |
132 −| [Citronhygiene](citronhygiene.md) | 4 | 100 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ |
133 −| [Cominar](cominar.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ |
132 +| [Citronhygiene](citronhygiene.md) | 4 | 100 % | 100 % | 0 % | 2026-10-14 22:42 | ✅ |
133 +| [Cominar](cominar.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 22:43 | ✅ |
134 134 | [Groupenorbec](groupenorbec.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
135 135 | [Flowcontrol](flowcontrol.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:41 | ❌ |
136 −| [Berger (tourbe horticole)](berger.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 22:17 | ✅ |
136 +| [Berger (tourbe horticole)](berger.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 22:32 | ✅ |
137 137 | [Téléfilm Canada](telefilmcanada.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 19:28 | ✅ |
138 −| [Dare Foods](darefoods.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 18:28 | ✅ |
139 −| [Linehaul Nuit, Conducteur, classe 1](cardinalcouriers.md) | 3 | 67 % | 100 % | 33 % | 2026-10-14 22:19 | ✅ |
138 +| [Dare Foods](darefoods.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 22:43 | ✅ |
139 +| [Linehaul Nuit, Conducteur, classe 1](cardinalcouriers.md) | 3 | 67 % | 100 % | 33 % | 2026-10-14 22:34 | ✅ |
140 140 | [Agent(e) de location de communauté](iip.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 18:50 | ✅ |
141 141 | [Maxicanada](maxicanada.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 19:04 | ✅ |
142 142 | [Designer graphique](mhca.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:06 | ✅ |
@@ -145,9 +145,9 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
145 145 | [Remco](remco.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:18 | ✅ |
146 146 | [Sobeys](sobeys.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:22 | ✅ |
147 147 | [Souffletmalt](souffletmalt.md) | 3 | 67 % | 100 % | 0 % | 2026-10-14 19:22 | ✅ |
148 −| [AstenJohnson](ajholdingsltd.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 22:13 | ✅ |
149 −| [Bronswerk](bronswerk.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 22:18 | ✅ |
150 −| [Air Canada Rouge](acadierouge.md) | 2 | 50 % | 100 % | 0 % | 2026-10-14 22:11 | ✅ |
148 +| [AstenJohnson](ajholdingsltd.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 22:28 | ✅ |
149 +| [Bronswerk](bronswerk.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 22:33 | ✅ |
150 +| [Air Canada Rouge](acadierouge.md) | 2 | 50 % | 100 % | 0 % | 2026-10-14 22:26 | ✅ |
151 151 | [East Penn Canada](eastpenn.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
152 152 | [Reflector Entertainment](reflector.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:17 | ✅ |
153 153 | [StorageMart](storagemart.md) | 2 | 100 % | 100 % | 0 % | 2026-10-14 21:07 | ❌ |
@@ -158,9 +158,9 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
158 158 | [Accueil / Service client (Montréal)](tourismholdings.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:29 | ✅ |
159 159 | [Wafna](wafna.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:34 | ❌ |
160 160 | [Westjet](westjet.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:36 | ✅ |
161 −| [BLEUFEU (Festival d'été de Québec)](bleufeu.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:25 | ✅ |
162 −| [Canderel](canderel.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:18 | ✅ |
163 −| [Cooperrentsequip](cooperrentsequip.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ |
161 +| [BLEUFEU (Festival d'été de Québec)](bleufeu.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:45 | ✅ |
162 +| [Canderel](canderel.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:34 | ✅ |
163 +| [Cooperrentsequip](cooperrentsequip.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:43 | ✅ |
164 164 | [Enercare](enercare.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:33 | ✅ |
165 165 | [G3 Canada](g3canada.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ |
166 166 | [Gng](gng.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:38 | ✅ |
@@ -175,7 +175,7 @@ Généré : 2026-10-14 22:25 EDT par scripts/gen_connector_docs.py — NE PAS
175 175 | [Production Operator I (Montreal)](wikoff.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 19:38 | ❌ |
176 176 | [Journalier de production](ecyclesolu.md) | 1 | 100 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
177 177 | [Spectra Premium](spectrapremium.md) | 0 | — | — | — | 2026-10-14 19:22 | ✅ |
178 −| [CPAB (Conseil canadien sur la reddition de comptes)](cpab.md) | 0 | — | — | — | 2026-10-14 18:28 | ✅ |
178 +| [CPAB (Conseil canadien sur la reddition de comptes)](cpab.md) | 0 | — | — | — | 2026-10-14 22:43 | ✅ |
179 179 | [Talent Acquisition Partner](euromoneyplc.md) | 0 | — | — | — | 2026-10-14 18:34 | ✅ |
180 180 | [Sofinafoods](sofinafoods.md) | 0 | — | — | — | 2026-10-14 19:22 | ✅ |
181 181 | [State Industrial Products](stateindustrial.md) | 0 | — | — | — | 2026-10-14 19:24 | ❌ |
modified docs/connecteurs/bly.md +19 −19
@@ -4,19 +4,19 @@ Job·Ka — Groupe KA
4 4 Auteur : Simon-Pierre Boucher
5 5 Contact : contact@spboucher.ai
6 6 Fichier : docs/connecteurs/bly.md
7 −Rôle : Fiche connecteur — Field Mechanic (employeur direct, ATS dayforce)
8 −Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
7 +Rôle : Fiche connecteur — Boart Longyear (employeur direct, ATS dayforce)
8 +Généré : 2026-10-14 22:45 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
12 12
13 −# Field Mechanic (`bly`)
13 +# Boart Longyear (`bly`)
14 14
15 15 **Employeur direct** · Plateforme ATS : [`dayforce`](ats-dayforce.md) · Statut registre : actif · Connecteur : `jobka/connectors/bly.py`
16 16
17 17 ## Description
18 18
19 −- **Site** : [Field Mechanic]()
19 +- **Site** : [Boart Longyear](https://www.boartlongyear.com)
20 20 - **Page carrières** : https://jobs.dayforcehcm.com/fr-CA/bly/CANDIDATEPORTAL
21 21 - **Secteurs** : Automobile
22 22 - **Région** : Val D'Or
@@ -31,14 +31,14 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
31 31 |---|---|
32 32 | `BOARD` | `CANDIDATEPORTAL` |
33 33 | `CULTURE` | `fr-CA` |
34 −| `EMPLOYER` | `Field Mechanic` |
34 +| `EMPLOYER` | `Boart Longyear` |
35 35 | `NS` | `bly` |
36 36 - **Throttle** : 0.8 s entre requêtes.
37 37 - **Filtre Québec** : seuls les postes localisés au Québec sont conservés (facette serveur quand l'ATS en offre une, sinon `is_quebec_location` côté client).
38 38
39 39 ## Champs → schéma
40 40
41 −Complétude mesurée sur les **6 offres actives** de la source (base live, 2026-10-14 18:40 EDT).
41 +Complétude mesurée sur les **7 offres actives** de la source (base live, 2026-10-14 22:45 EDT).
42 42
43 43 | Champ (`jobs.*`) | Rôle | Complétude |
44 44 |---|---|---|
@@ -51,14 +51,14 @@ Complétude mesurée sur les **6 offres actives** de la source (base live, 2026-
51 51 | `address` — Adresse | adresse du lieu de travail | 100 % |
52 52 | `postal_code` — Code postal | code postal si publié | 0 % |
53 53 | `work_mode` — Mode | presentiel / hybride / teletravail | 0 % |
54 −| `employment_type` — Type | temps_plein / temps_partiel / … | 17 % |
54 +| `employment_type` — Type | temps_plein / temps_partiel / … | 14 % |
55 55 | `salary` — Salaire ($) | bornes numériques normalisées $/h et $/an | 100 % |
56 56 | `salary_label` — Libellé salaire | texte salarial original | 100 % |
57 57 | `benefits` — Avantages | avantages sociaux publiés (JSON) | 0 % |
58 58 | `requirements` — Exigences | scolarité, expérience, langues (JSON) | 100 % |
59 59 | `date_posted` — Date de parution | ISO 8601 | 100 % |
60 −| `date_deadline` — Date limite | date limite pour postuler | 17 % |
61 −| `category` — Catégorie | taxonomie interne (TI, Santé, …) | 50 % |
60 +| `date_deadline` — Date limite | date limite pour postuler | 14 % |
61 +| `category` — Catégorie | taxonomie interne (TI, Santé, …) | 43 % |
62 62 | `language` — Langue | fr / en / bilingue (source ou heuristique) | 100 % |
63 63 | `company_logo` — Logo employeur | URL du logo si exposé par la source | 0 % |
64 64 | `apply_url` — Candidature | lien de candidature directe | 0 % |
@@ -79,15 +79,15 @@ Exemple réel : *Foreur au Diamant de Souterrain* — Val-d'Or · Salaire Horair
79 79
80 80 ## Volumétrie & complétude live
81 81
82 −*(mesuré le 2026-10-14 18:40 EDT dans `data/jobka.db`)*
82 +*(mesuré le 2026-10-14 22:45 EDT dans `data/jobka.db`)*
83 83
84 −- **Offres en base** : 6 (dont **6 actives**, 0 masquées comme doublons `dup_of`)
85 −- **Salaire** : 6/6 actives (100 %)
86 −- **GPS** : 6/6 actives (100 %)
87 −- **Mode** : 0/6 actives (0 %)
88 −- **Parution** : 6/6 actives (100 %)
89 −- **Dernier sync** : 2026-10-14 18:14 — trouvées 0, +0, ~0, -0, **ÉCHEC : 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/bly/jo…**
90 −- **Syncs enregistrés** (`sync_log`) : 560
84 +- **Offres en base** : 7 (dont **7 actives**, 0 masquées comme doublons `dup_of`)
85 +- **Salaire** : 7/7 actives (100 %)
86 +- **GPS** : 7/7 actives (100 %)
87 +- **Mode** : 0/7 actives (0 %)
88 +- **Parution** : 7/7 actives (100 %)
89 +- **Dernier sync** : 2026-10-14 22:45 — trouvées 7, +1, ~6, -0
90 +- **Syncs enregistrés** (`sync_log`) : 570
91 91
92 92 ## Erreurs & dépannage
93 93
@@ -95,7 +95,7 @@ Erreurs relevées dans `sync_log` :
95 95
96 96 | Erreur | Occurrences | Dernière fois |
97 97 |---|---|---|
98 −| 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/bly/jo… | 1 | 2026-10-14 18:14 |
98 +| 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/bly/jo… | 7 | 2026-10-14 22:05 |
99 99 | 500 Server Error: Internal Server Error for url: https://jobs.dayforcehcm.com/api/geo/bly/… | 1 | 2026-10-14 17:33 |
100 100
101 101 - Rejouer un sync isolé : `.venv/bin/python run.py sync bly` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='bly' ORDER BY ts DESC LIMIT 5;"`
@@ -103,7 +103,7 @@ Erreurs relevées dans `sync_log` :
103 103
104 104 ## Licence / conformité
105 105
106 −**Flux public du site carrières officiel de l'employeur** (API JSON de l'ATS ou HTML rendu serveur) — le même contenu que la page carrière affiche publiquement, prévu pour la diffusion des offres, sans authentification. Chaque offre conserve son URL originale et le bouton « Postuler chez Field Mechanic » renvoie chez l'employeur. Aucune donnée personnelle de candidat n'est collectée. User-Agent identifié `JobKaBot/1.0 (+https://www.job-ka.com; contact@spboucher.ai)` sur les accès directs ; requêtes throttlées et plafonnées par budgets.
106 +**Flux public du site carrières officiel de l'employeur** (API JSON de l'ATS ou HTML rendu serveur) — le même contenu que la page carrière affiche publiquement, prévu pour la diffusion des offres, sans authentification. Chaque offre conserve son URL originale et le bouton « Postuler chez Boart Longyear » renvoie chez l'employeur. Aucune donnée personnelle de candidat n'est collectée. User-Agent identifié `JobKaBot/1.0 (+https://www.job-ka.com; contact@spboucher.ai)` sur les accès directs ; requêtes throttlées et plafonnées par budgets.
107 107
108 108 ## Historique
109 109
modified jobka/connectors/bly.py +44 −3
@@ -3,15 +3,56 @@
3 3 # Auteur : Simon-Pierre Boucher
4 4 # Contact : contact@spboucher.ai
5 5 # Fichier : jobka/connectors/bly.py
6 −# Rôle : Connecteur Field Mechanic — dayforce (ns='bly', board='CANDIDATEPORTAL')
6 +# Rôle : Connecteur Boart Longyear — dayforce (ns='bly', board='CANDIDATEPORTAL')
7 7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23]
8 −# Créé : 2026-08-23 Modifié : 2026-08-23
8 +# Créé : 2026-08-23 Modifié : 2026-10-14
9 9 # =============================================================================
10 +"""Boart Longyear (boartlongyear.com) — board Dayforce `bly`.
11 +
12 +`bly` = ticker historique (ASX) de Boart Longyear, principal fournisseur
13 +mondial de services de forage minier (forage au diamant de surface et
14 +souterrain) ; base québécoise à Val-d'Or, offres de foreurs/assistants
15 +foreurs, mécaniciens d'engins lourds et commis d'entrepôt. Nom lu dans
16 +les descriptions FR des offres (« Boart Longyear embauche actuellement
17 +des foreurs… ») — l'EMPLOYER initial « Field Mechanic » était un titre
18 +de poste (artefact vague C, classe gevgroupltd 8ff81d0), corrigé le
19 +2026-10-14 avec l'url vide → boartlongyear.com.
20 +
21 +Chronologie 2026-10-14 (broken, 1re intervention) : rien à réparer côté
22 +panne — namespace supplémentaire de la panne partielle de shard Dayforce
23 +du 2026-10-14 (500 à 17:33 puis 503 soutenu sur
24 +/api/geo/bly/jobposting/search de 18:14 à 22:05, échec franc ok=0 jamais
25 +de faux 0, 6 offres QC actives préservées), DÉJÀ RÉSOLUE à l'intervention :
26 +le scheduler est repassé vert seul à 22:17 (found=6 = médiane 6.0). Pas de
27 +migration : careers.boartlongyear.com (frontend carrières custom, lien
28 +depuis boartlongyear.com ; l'ancien chemin /careers/ est 404) fait
29 +postuler via jobs.dayforcehcm.com/en-CA/bly/CANDIDATEPORTAL = même
30 +tenant/board.
31 +
32 +PARTITION DE CULTURE avec angle mort réel (vérifiée le 2026-10-14) :
33 +fr-CA ne voit que les offres traduites (maxCount=7 : 6 QC + 1 ON), alors
34 +qu'en-CA liste les 63 offres du board dont « Foreur Long-Trou/Dynamiteur »
35 +Val-d'Or (id 1000), publiée en ANGLAIS SEULEMENT et pourtant listée sur le
36 +site carrières officiel — invisible en fr-CA. On interroge donc les deux
37 +cultures et on fusionne par external_id, version fr-CA prioritaire (même
38 +pattern que peaktech.py / challenger.py / fnfmb.py) : found 6 → 7.
39 +"""
40 +from ..schema import JobPosting
10 41 from .dayforce import DayforceConnector
11 42
12 43
13 44 class BlyConnector(DayforceConnector):
14 45 source_id = 'bly'
15 − EMPLOYER = 'Field Mechanic'
46 + EMPLOYER = 'Boart Longyear'
16 47 NS = 'bly'
17 48 BOARD = 'CANDIDATEPORTAL'
49 +
50 + CULTURES = ("fr-CA", "en-CA")
51 +
52 + def fetch(self) -> list[JobPosting]:
53 + merged: dict[str, JobPosting] = {}
54 + for culture in self.CULTURES:
55 + self.CULTURE = culture
56 + for job in super().fetch():
57 + merged.setdefault(job.external_id, job)
58 + return list(merged.values())
18 59
Menu

Theme