SPB Git

spb/job-ka

Public

[ka6] connecteur vestis: rien à réparer — namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14 (500 à 16:13 puis 503 HTML soutenu sur /api/geo/vestis/jobposting/search, toutes combinaisons board × culture QL/CL/CANDIDATEPORTAL × fr-CA/en-CA/en-US; tenant frère benmor 200 JSON même session = frontal vivant; même 503 via proxy résidentiel CA = pas un blocage IP). Pas de migration: quebec-linge.com/about-us/careers (200, ⚠️ domaine à trait d'union — quebeclinge.com sans trait = domaine parqué /lander) pointe toujours dayforcehcm.com/CandidatePortal/.../vestis/Site/CLCANDIDATEPORTAL = même tenant. PISTE post-panne documentée: le lien officiel affiche le board frère CLCANDIDATEPORTAL (Canadian Linen) alors que le connecteur lit QLCANDIDATEPORTAL (vert found=17 à 13:31 le jour même) — si QL revient vide, sonder CL (pattern enercare). Syncs verts found=17 jusqu'à 13:31, échec franc ensuite (ok=0, jamais de faux 0), 17 offres QC actives préservées (Montréal, Québec, Saguenay, Sherbrooke). DOUBLE artefact vague C corrigé au passage (classe gevgroupltd 8ff81d0): EMPLOYER/name = titre d'offre « Journalier(ère) de production » → Quebec Linge (Quebec Linge & Uniform Service Co., groupe Vestis ex-Aramark Uniform Services; vestis.py + sources.json), url vide → quebec-linge.com; propagation aux 17 lignes au prochain sync vert via content_hash. Docstring enrichie, fiches vestis.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.

Simon-Pierre Boucher committed (Oct 15, 2026) parent 12cbdb2 Browse files

5 changed files +82 −43

modified data/sources.json +2 −2
@@ -6370,8 +6370,8 @@
6370 6370 },
6371 6371 {
6372 6372 "id": "vestis",
6373 − "name": "Journalier(ère) de production",
6374 − "url": "",
6373 + "name": "Quebec Linge",
6374 + "url": "https://quebec-linge.com",
6375 6375 "careers_url": "https://jobs.dayforcehcm.com/fr-CA/vestis/QLCANDIDATEPORTAL",
6376 6376 "sectors": [
6377 6377 "Fabrication"
modified docs/connecteurs/INDEX.md +8 −8
@@ -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 21:38 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
8 +Généré : 2026-10-14 21:55 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 21:38 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 21:55 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** — **26074 offres actives** (23314 directes, 2760 portails ; 113 masquées comme doublons inter-sources, soit 25961 visibles). 1134 fiches.
17 +**1104 employeurs directs** connectés via **25 plateformes ATS** + **3 portails agrégateurs** + le canal de **dépôt direct** — **26072 offres actives** (23312 directes, 2760 portails ; 113 masquées comme doublons inter-sources, soit 25959 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
@@ -27,7 +27,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
27 27 | [`dayforce`](ats-dayforce.md) | 129 | 1913 | 9 % | 100 % |
28 28 | [`workable`](ats-workable.md) | 71 | 1912 | 18 % | 100 % |
29 29 | [`successfactors`](ats-successfactors.md) | 12 | 1767 | 21 % | 99 % |
30 −| [`njoyn`](ats-njoyn.md) | 11 | 1280 | 70 % | 87 % |
30 +| [`njoyn`](ats-njoyn.md) | 11 | 1279 | 70 % | 87 % |
31 31 | [`workland`](ats-workland.md) | 1 | 1092 | 37 % | 100 % |
32 32 | [`greenhouse`](ats-greenhouse.md) | 132 | 808 | 19 % | 100 % |
33 33 | [`wpjobmanager`](ats-wpjobmanager.md) | 8 | 771 | 6 % | 100 % |
@@ -38,7 +38,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
38 38 | [`ashby`](ats-ashby.md) | 41 | 278 | 49 % | 57 % |
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 −| [`jazzhr`](ats-jazzhr.md) | 28 | 155 | 14 % | 92 % |
41 +| [`jazzhr`](ats-jazzhr.md) | 28 | 154 | 14 % | 92 % |
42 42 | [`teamtailor`](ats-teamtailor.md) | 10 | 152 | 32 % | 95 % |
43 43 | [`adp`](ats-adp.md) | 17 | 139 | 40 % | 95 % |
44 44 | [`taleo`](ats-taleo.md) | 5 | 101 | 0 % | 100 % |
@@ -69,7 +69,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
69 69 | [Santé Québec — Montréal](sante_montreal.md) | [`njoyn`](ats-njoyn.md) | 832 | 97 % | 98 % | ✅ |
70 70 | [Université McGill](mcgill.md) | [`workday`](ats-workday.md) | 603 | 36 % | 100 % | ✅ |
71 71 | [TEHORA](tehora.md) | [`workable`](ats-workable.md) | 410 | 0 % | 100 % | ✅ |
72 −| [CGI](cgi.md) | [`njoyn`](ats-njoyn.md) | 293 | 0 % | 95 % | ✅ |
72 +| [CGI](cgi.md) | [`njoyn`](ats-njoyn.md) | 292 | 0 % | 95 % | ✅ |
73 73 | [Mouvement Desjardins](desjardins.md) | [`workday`](ats-workday.md) | 289 | 1 % | 94 % | ✅ |
74 74 | [Globalhr](globalhr.md) | [`workday`](ats-workday.md) | 283 | 0 % | 84 % | ✅ |
75 75 | [Go RH](gorh.md) | [`lever`](ats-lever.md) | 259 | 17 % | 98 % | ✅ |
@@ -293,8 +293,8 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
293 293 | [Vosker](vosker.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 18 | 0 % | 100 % | ✅ |
294 294 | [Airliquidehr](airliquidehr.md) | [`workday`](ats-workday.md) | 17 | 29 % | 100 % | ✅ |
295 295 | [GSK](gsk.md) | [`workday`](ats-workday.md) | 17 | 6 % | 88 % | ✅ |
296 −| [Journalier(ère) de production](vestis.md) | [`dayforce`](ats-dayforce.md) | 17 | 0 % | 100 % | ❌ |
297 296 | [OPAL-RT Technologies](opalrt.md) | [`bamboohr`](ats-bamboohr.md) | 17 | 0 % | 100 % | ✅ |
297 +| [Quebec Linge](vestis.md) | [`dayforce`](ats-dayforce.md) | 17 | 0 % | 100 % | ❌ |
298 298 | [Réseau Mieux-Être](reseau_mieux_etre.md) | [`breezy`](ats-breezy.md) | 17 | 6 % | 100 % | ✅ |
299 299 | [Scalian](scalian.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 17 | 18 % | 100 % | ✅ |
300 300 | [Sci](sci.md) | [`workday`](ats-workday.md) | 17 | 29 % | 88 % | ✅ |
@@ -512,7 +512,6 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
512 512 | [Ville de Mirabel](ville_mirabel.md) | [`njoyn`](ats-njoyn.md) | 8 | 88 % | 0 % | ✅ |
513 513 | [WestGroupe](westgroupe.md) | [`jazzhr`](ats-jazzhr.md) | 8 | 0 % | 100 % | ✅ |
514 514 | [AJ Walter Aviation](ajwalter.md) | [`recruitee`](ats-recruitee.md) | 7 | 0 % | 100 % | ✅ |
515 −| [Altitude Aerospace](altitudeaerospace.md) | [`jazzhr`](ats-jazzhr.md) | 7 | 14 % | 100 % | ✅ |
516 515 | [Artefact North America](artefactnoram.md) | [`greenhouse`](ats-greenhouse.md) | 7 | 57 % | 100 % | ✅ |
517 516 | [Big Bang](bigbang.md) | [`bamboohr`](ats-bamboohr.md) | 7 | 29 % | 100 % | ✅ |
518 517 | [CAM Mécanique](cammecanique.md) | [`teamtailor`](ats-teamtailor.md) | 7 | 0 % | 100 % | ✅ |
@@ -549,6 +548,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
549 548 | [Administrateur comptable principal](bird.md) | [`workday`](ats-workday.md) | 6 | 0 % | 100 % | ✅ |
550 549 | [Aliaxis](aliaxis.md) | [`workday`](ats-workday.md) | 6 | 50 % | 83 % | ✅ |
551 550 | [Also Recrutement - Carrière](alsorecrutement.md) | [`zoho_recruit`](ats-zoho_recruit.md) | 6 | 17 % | 50 % | ✅ |
551 +| [Altitude Aerospace](altitudeaerospace.md) | [`jazzhr`](ats-jazzhr.md) | 6 | 0 % | 100 % | ✅ |
552 552 | [Alveole](alveole.md) | [`greenhouse`](ats-greenhouse.md) | 6 | 100 % | 100 % | ✅ |
553 553 | [Aviya Aerospace Systems](aviyatech.md) | [`lever`](ats-lever.md) | 6 | 0 % | 100 % | ✅ |
554 554 | [Avocat·e de litige / Litigation Associate](clydeco.md) | [`workday`](ats-workday.md) | 6 | 0 % | 100 % | ✅ |
modified docs/connecteurs/ats-dayforce.md +20 −20
@@ -5,7 +5,7 @@ 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 21:38 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
8 +Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,
9 9 relancer le script pour régénérer.
10 10 =============================================================================
11 11 -->
@@ -54,12 +54,12 @@ Généré : 2026-10-14 21:38 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 21:31 | ✅ |
58 −| [Automobileendirect](automobileendirect.md) | 60 | 0 % | 100 % | 0 % | 2026-10-14 21:27 | ✅ |
57 +| [Bulkbarn](bulkbarn.md) | 75 | 0 % | 100 % | 0 % | 2026-10-14 21:51 | ✅ |
58 +| [Automobileendirect](automobileendirect.md) | 60 | 0 % | 100 % | 0 % | 2026-10-14 21:47 | ✅ |
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 21:31 | ✅ |
62 +| [BPA (Experts-conseils)](bpa.md) | 49 | 0 % | 100 % | 0 % | 2026-10-14 21:51 | ✅ |
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 | ✅ |
@@ -79,11 +79,11 @@ Généré : 2026-10-14 21:38 EDT par scripts/gen_connector_docs.py — NE PAS
79 79 | [VinFast Canada](vinfastcanada.md) | 18 | 28 % | 100 % | 0 % | 2026-10-14 19:33 | ✅ |
80 80 | [Pré-assemblage](motionc.md) | 18 | 0 % | 100 % | 0 % | 2026-10-14 19:07 | ✅ |
81 81 | [Spisante](spisante.md) | 18 | 0 % | 100 % | 33 % | 2026-10-14 19:23 | ✅ |
82 −| [Journalier(ère) de production](vestis.md) | 17 | 0 % | 100 % | 0 % | 2026-10-14 19:32 | ❌ |
82 +| [Quebec Linge](vestis.md) | 17 | 0 % | 100 % | 0 % | 2026-10-14 21:55 | ❌ |
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 21:31 | ❌ |
86 +| [Boralex](boralex.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 21:51 | ❌ |
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 | ❌ |
@@ -92,12 +92,12 @@ Généré : 2026-10-14 21:38 EDT par scripts/gen_connector_docs.py — NE PAS
92 92 | [Vice-President, Strategic Procurement](eddyfi.md) | 13 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
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 −| [Valnet](valnetinc.md) | 13 | 0 % | 100 % | 77 % | 2026-10-14 19:31 | ❌ |
95 +| [Valnet](valnetinc.md) | 13 | 0 % | 100 % | 77 % | 2026-10-14 21:40 | ❌ |
96 96 | [Heavy Machinery Operator](dhilmarele.md) | 12 | 0 % | 100 % | 0 % | 2026-10-14 18:30 | ✅ |
97 97 | [Colabor](colabor.md) | 11 | 9 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ |
98 98 | [Chef.fe de service de quart, soir](lantic.md) | 11 | 45 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ |
99 99 | [CEP Forensique](cep.md) | 11 | 0 % | 100 % | 0 % | 2026-10-14 21:37 | ✅ |
100 −| [Associé(e), entretien préventif](boardwalkreit.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 21:30 | ✅ |
100 +| [Associé(e), entretien préventif](boardwalkreit.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 21:49 | ✅ |
101 101 | [Ccmhockey](ccmhockey.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 21:36 | ✅ |
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 | ✅ |
@@ -105,8 +105,8 @@ Généré : 2026-10-14 21:38 EDT par scripts/gen_connector_docs.py — NE PAS
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 −| [Altg](altg.md) | 8 | 12 % | 100 % | 0 % | 2026-10-14 21:25 | ❌ |
109 −| [Manœuvre générale](athos.md) | 8 | 50 % | 100 % | 0 % | 2026-10-14 21:26 | ✅ |
108 +| [Altg](altg.md) | 8 | 12 % | 100 % | 0 % | 2026-10-14 21:45 | ❌ |
109 +| [Manœuvre générale](athos.md) | 8 | 50 % | 100 % | 0 % | 2026-10-14 21:45 | ✅ |
110 110 | [Quadra](quadra.md) | 8 | 100 % | 100 % | 75 % | 2026-10-14 19:16 | ✅ |
111 111 | [E-Commerce Shipping Associate](slg001.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:21 | ✅ |
112 112 | [Nationex](nationex.md) | 7 | 0 % | 100 % | 14 % | 2026-10-14 19:08 | ✅ |
@@ -120,23 +120,23 @@ Généré : 2026-10-14 21:38 EDT par scripts/gen_connector_docs.py — NE PAS
120 120 | [Liftow](liftow.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ |
121 121 | [Bilingual (French/English) Sales Broker (RIBO Licensed)](ogc.md) | 6 | 50 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ |
122 122 | [Terrapure](terrapure.md) | 6 | 17 % | 100 % | 0 % | 2026-10-14 19:28 | ✅ |
123 −| [Field Mechanic](bly.md) | 6 | 100 % | 100 % | 0 % | 2026-10-14 21:30 | ❌ |
123 +| [Field Mechanic](bly.md) | 6 | 100 % | 100 % | 0 % | 2026-10-14 21:49 | ❌ |
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:04 | ✅ |
125 +| [Challenger Motor Freight Inc.](challenger.md) | 6 | 67 % | 100 % | 0 % | 2026-10-14 21:39 | ✅ |
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 21:28 | ✅ |
129 +| [FOREMAN ASSISTANT SHIPPING RECEIVING](benmor.md) | 5 | 20 % | 100 % | 80 % | 2026-10-14 21:48 | ✅ |
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 132 | [Citronhygiene](citronhygiene.md) | 4 | 100 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ |
133 133 | [Cominar](cominar.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ |
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 21:28 | ✅ |
136 +| [Berger (tourbe horticole)](berger.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 21:48 | ✅ |
137 137 | [Téléfilm Canada](telefilmcanada.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 19:28 | ✅ |
138 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 21:32 | ✅ |
139 +| [Linehaul Nuit, Conducteur, classe 1](cardinalcouriers.md) | 3 | 67 % | 100 % | 33 % | 2026-10-14 21:52 | ✅ |
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 21:38 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 −| [Ajholdingsltd](ajholdingsltd.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 21:23 | ❌ |
149 −| [Bronswerk](bronswerk.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 21:31 | ✅ |
150 −| [Air Canada Rouge](acadierouge.md) | 2 | 50 % | 100 % | 0 % | 2026-10-14 21:21 | ✅ |
148 +| [Ajholdingsltd](ajholdingsltd.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 21:43 | ❌ |
149 +| [Bronswerk](bronswerk.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 21:51 | ✅ |
150 +| [Air Canada Rouge](acadierouge.md) | 2 | 50 % | 100 % | 0 % | 2026-10-14 21:40 | ✅ |
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,8 +158,8 @@ Généré : 2026-10-14 21:38 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 21:29 | ✅ |
162 −| [Canderel](canderel.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 21:32 | ✅ |
161 +| [BLEUFEU (Festival d'été de Québec)](bleufeu.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 21:55 | ✅ |
162 +| [Canderel](canderel.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 21:52 | ✅ |
163 163 | [Cooperrentsequip](cooperrentsequip.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ |
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 | ✅ |
modified docs/connecteurs/vestis.md +11 −10
@@ -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/vestis.md
7 −Rôle : Fiche connecteur — Journalier(ère) de production (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 — Quebec Linge (employeur direct, ATS dayforce)
8 +Généré : 2026-10-14 21:55 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 −# Journalier(ère) de production (`vestis`)
13 +# Quebec Linge (`vestis`)
14 14
15 15 **Employeur direct** · Plateforme ATS : [`dayforce`](ats-dayforce.md) · Statut registre : actif · Connecteur : `jobka/connectors/vestis.py`
16 16
17 17 ## Description
18 18
19 −- **Site** : [Journalier(ère) de production]()
19 +- **Site** : [Quebec Linge](https://quebec-linge.com)
20 20 - **Page carrières** : https://jobs.dayforcehcm.com/fr-CA/vestis/QLCANDIDATEPORTAL
21 21 - **Secteurs** : Fabrication
22 22 - **Région** : Quebec Linge Rue des Artisans Québec QC, Quebec Linge Rue de la Manouane Saguenay QC, 4375 Rue de Rouen
@@ -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` | `QLCANDIDATEPORTAL` |
33 33 | `CULTURE` | `fr-CA` |
34 −| `EMPLOYER` | `Journalier(ère) de production` |
34 +| `EMPLOYER` | `Quebec Linge` |
35 35 | `NS` | `vestis` |
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 **17 offres actives** de la source (base live, 2026-10-14 18:40 EDT).
41 +Complétude mesurée sur les **17 offres actives** de la source (base live, 2026-10-14 21:55 EDT).
42 42
43 43 | Champ (`jobs.*`) | Rôle | Complétude |
44 44 |---|---|---|
@@ -79,15 +79,15 @@ Exemple réel : *Représentant(e) du service à la clientèle remplaçant* — Q
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 21:55 EDT dans `data/jobka.db`)*
83 83
84 84 - **Offres en base** : 29 (dont **17 actives**, 0 masquées comme doublons `dup_of`)
85 85 - **Salaire** : 0/17 actives (0 %)
86 86 - **GPS** : 17/17 actives (100 %)
87 87 - **Mode** : 0/17 actives (0 %)
88 88 - **Parution** : 17/17 actives (100 %)
89 −- **Dernier sync** : 2026-10-14 16:13 — trouvées 0, +0, ~0, -0, **ÉCHEC : 500 Server Error: Internal Server Error for url: https://jobs.dayforcehcm.com/api/geo/vest…**
90 −- **Syncs enregistrés** (`sync_log`) : 447
89 +- **Dernier sync** : 2026-10-14 21:55 — trouvées 0, +0, ~0, -0, **ÉCHEC : 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/vestis…**
90 +- **Syncs enregistrés** (`sync_log`) : 449
91 91
92 92 ## Erreurs & dépannage
93 93
@@ -95,6 +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/vestis… | 2 | 2026-10-14 21:55 |
98 99 | 500 Server Error: Internal Server Error for url: https://jobs.dayforcehcm.com/api/geo/vest… | 1 | 2026-10-14 16:13 |
99 100
100 101 - Rejouer un sync isolé : `.venv/bin/python run.py sync vestis` puis inspecter `sync_log` : `sqlite3 data/jobka.db "SELECT * FROM sync_log WHERE source='vestis' ORDER BY ts DESC LIMIT 5;"`
@@ -102,7 +103,7 @@ Erreurs relevées dans `sync_log` :
102 103
103 104 ## Licence / conformité
104 105
105 −**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 Journalier(ère) de production » 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 Quebec Linge » 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 107
107 108 ## Historique
108 109
modified jobka/connectors/vestis.py +41 −3
@@ -3,15 +3,53 @@
3 3 # Auteur : Simon-Pierre Boucher
4 4 # Contact : contact@spboucher.ai
5 5 # Fichier : jobka/connectors/vestis.py
6 −# Rôle : Connecteur Journalier(ère) de production — dayforce (ns='vestis', board='QLCANDIDATEPORTAL')
6 +# Rôle : Connecteur Quebec Linge — dayforce (ns='vestis', board='QLCANDIDATEPORTAL')
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 10 from .dayforce import DayforceConnector
11 11
12 12
13 13 class VestisConnector(DayforceConnector):
14 + """Connecteur Quebec Linge (Quebec Linge & Uniform Service Co., marque
15 + québécoise du groupe Vestis — ex-Aramark Uniform Services ; location
16 + et entretien d'uniformes et de linge, ~17 offres QC : Montréal,
17 + Québec, Saguenay, Sherbrooke — journaliers de production,
18 + chauffeurs-livreurs, représentants service à la clientèle).
19 +
20 + Intervention ka6 2026-10-14 (stale, found=0 signalé) — RIEN À
21 + RÉPARER : namespace supplémentaire de la panne PARTIELLE de shard
22 + Dayforce du 2026-10-14 (voir checklist complète dans ndtglobal.py) :
23 + syncs verts found=17 jusqu'à 13:31, puis 500 à 16:13 et 503 HTML
24 + « Service Temporarily Unavailable » sur
25 + /api/geo/vestis/jobposting/search (toutes combinaisons board ×
26 + culture : QL/CL/CANDIDATEPORTAL × fr-CA/en-CA/en-US), alors que le
27 + tenant frère benmor répond 200 JSON dans la même session/IP et que
28 + le proxy résidentiel CA obtient le même 503 → panne côté Dayforce,
29 + ni blocage d'IP ni problème du connecteur. Pas de migration d'ATS :
30 + la page carrières officielle quebec-linge.com/about-us/careers
31 + (⚠️ domaine à trait d'union — quebeclinge.com sans trait est un
32 + domaine parqué qui redirige vers /lander) pointe toujours vers
33 + dayforcehcm.com/CandidatePortal/en-US/vestis/Site/CLCANDIDATEPORTAL
34 + = le même tenant. Les 17 offres QC actives restent préservées en
35 + base — les syncs en échec ne retirent rien.
36 +
37 + PISTE post-panne : le lien officiel affiche le board frère
38 + CLCANDIDATEPORTAL (Canadian Linen, l'autre marque canadienne de
39 + Vestis) alors que ce connecteur lit QLCANDIDATEPORTAL (vert avec 17
40 + offres QC à 13:31 le jour même). Si le board QL revient VIDE après
41 + la panne, sonder CLCANDIDATEPORTAL avant de conclure (pattern
42 + multi-boards enercare 242e8efa : itérer BOARDS × CULTURES).
43 +
44 + Artefact vague C corrigé au passage (classe gevgroupltd 8ff81d0) :
45 + EMPLOYER « Journalier(ère) de production » était le TITRE d'une
46 + offre pris pour un nom d'entreprise → Quebec Linge (ici +
47 + sources.json), url employeur vide → https://quebec-linge.com. Le bon
48 + nom se propagera aux lignes existantes au prochain sync vert
49 + (employer est dans content_hash → UPDATE automatique).
50 + """
51 +
14 52 source_id = 'vestis'
15 − EMPLOYER = 'Journalier(ère) de production'
53 + EMPLOYER = 'Quebec Linge'
16 54 NS = 'vestis'
17 55 BOARD = 'QLCANDIDATEPORTAL'
18 56
Menu

Theme