SPB Git

spb/job-ka

Public

[ka6] connecteur ajholdingsltd: rien à réparer — 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=3 jusqu'à 17:54 — ce tenant a tenu ~4 h de plus que les autres namespaces tombés ~13:30 —, 500 isolé à 17:25 puis 503 soutenu sur /api/geo/ajholdingsltd/jobposting/search de 18:08 à 21:59, échec franc ok=0 jamais de faux 0, 3 offres QC actives préservées; à 22h le même appel répond 200 JSON et run.py sync retourne found=3 = médiane, updated=3). Pas de migration: astenjohnson.com/careers (200) liste toujours des offres du même tenant/board dayforcehcm.com/en-US/ajholdingsltd/CANDIDATEPORTAL. Partition de culture vérifiée: fr-CA voit 7 offres dont les 3 QC (Salaberry-de-Valleyfield), en-CA 37 offres 0 QC (US/BE/CN/SG) — fr-CA est la bonne culture, pas d'angle mort. DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name = namespace brut « Ajholdingsltd » → AstenJohnson (AJ Holdings Ltd = AstenJohnson Holdings, fabricant mondial de toiles pour machines à papier, usine Baie Saint-François à Salaberry-de-Valleyfield; nom lu dans les descriptions d'offres; ajholdingsltd.py + sources.json), url vide → astenjohnson.com; propagation faite aux 3 lignes actives (sync vert updated=3 via content_hash). Docstring enrichie, fiches ajholdingsltd.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 02b1969 Browse files

5 changed files +73 −37

modified data/sources.json +2 −2
@@ -6444,8 +6444,8 @@
6444 }, 6444 },
6445 { 6445 {
6446 "id": "ajholdingsltd", 6446 "id": "ajholdingsltd",
6447− "name": "Ajholdingsltd", 6447+ "name": "AstenJohnson",
6448− "url": "", 6448+ "url": "https://www.astenjohnson.com",
6449 "careers_url": "https://jobs.dayforcehcm.com/fr-CA/ajholdingsltd/CANDIDATEPORTAL", 6449 "careers_url": "https://jobs.dayforcehcm.com/fr-CA/ajholdingsltd/CANDIDATEPORTAL",
6450 "sectors": [ 6450 "sectors": [
6451 "Finance" 6451 "Finance"
modified docs/connecteurs/INDEX.md +4 −4
@@ -5,14 +5,14 @@ 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-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-14 22:10 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-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`. 15+> Index généré le 2026-10-14 22:10 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** — **26072 offres actives** (23312 directes, 2760 portails ; 113 masquées comme doublons inter-sources, soit 25959 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
@@ -330,7 +330,7 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
330 | [United Services Group](unitedservices.md) | [`dayforce`](ats-dayforce.md) | 15 | 0 % | 100 % | ✅ | 330 | [United Services Group](unitedservices.md) | [`dayforce`](ats-dayforce.md) | 15 | 0 % | 100 % | ✅ |
331 | [Victoria Park Medispa](vicpark.md) | [`bamboohr`](ats-bamboohr.md) | 15 | 0 % | 100 % | ✅ | 331 | [Victoria Park Medispa](vicpark.md) | [`bamboohr`](ats-bamboohr.md) | 15 | 0 % | 100 % | ✅ |
332 | [Work From Home Customer Service Representative](usasurveyjob.md) | [`lever`](ats-lever.md) | 15 | 13 % | 100 % | ✅ | 332 | [Work From Home Customer Service Representative](usasurveyjob.md) | [`lever`](ats-lever.md) | 15 | 13 % | 100 % | ✅ |
333−| [Boralex](boralex.md) | [`dayforce`](ats-dayforce.md) | 14 | 0 % | 100 % | ❌ | 333+| [Boralex](boralex.md) | [`dayforce`](ats-dayforce.md) | 14 | 0 % | 100 % | ✅ |
334 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 14 | 100 % | 79 % | ✅ | 334 | [Canada Vie](canada_vie.md) | [`successfactors`](ats-successfactors.md) | 14 | 100 % | 79 % | ✅ |
335 | [Comptable de projet / Project Accountant](ellisdon.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ | 335 | [Comptable de projet / Project Accountant](ellisdon.md) | [`workday`](ats-workday.md) | 14 | 14 % | 93 % | ✅ |
336 | [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 14 | 0 % | 100 % | ✅ | 336 | [Epic Games](epicgames.md) | [`greenhouse`](ats-greenhouse.md) | 14 | 0 % | 100 % | ✅ |
@@ -710,12 +710,12 @@ Conformité : voir [`docs/CONFORMITE.md`](../CONFORMITE.md). Chaque offre conser
710 | [Agence Maplr Inc.](agencemaplrinc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 3 | 0 % | 100 % | ✅ | 710 | [Agence Maplr Inc.](agencemaplrinc.md) | [`smartrecruiters`](ats-smartrecruiters.md) | 3 | 0 % | 100 % | ✅ |
711 | [Agent(e) de liaison médicale et scientifique, biologiques – Québec ...](organon.md) | [`workday`](ats-workday.md) | 3 | 33 % | 67 % | ✅ | 711 | [Agent(e) de liaison médicale et scientifique, biologiques – Québec ...](organon.md) | [`workday`](ats-workday.md) | 3 | 33 % | 67 % | ✅ |
712 | [Agent(e) de location de communauté](iip.md) | [`dayforce`](ats-dayforce.md) | 3 | 0 % | 100 % | ✅ | 712 | [Agent(e) de location de communauté](iip.md) | [`dayforce`](ats-dayforce.md) | 3 | 0 % | 100 % | ✅ |
713−| [Ajholdingsltd](ajholdingsltd.md) | [`dayforce`](ats-dayforce.md) | 3 | 100 % | 100 % | ❌ |
714 | [Alimentiv](alimentiv_2.md) | [`lever`](ats-lever.md) | 3 | 100 % | 0 % | ✅ | 713 | [Alimentiv](alimentiv_2.md) | [`lever`](ats-lever.md) | 3 | 100 % | 0 % | ✅ |
715 | [Allucent](allucent.md) | [`workable`](ats-workable.md) | 3 | 0 % | 100 % | ✅ | 714 | [Allucent](allucent.md) | [`workable`](ats-workable.md) | 3 | 0 % | 100 % | ✅ |
716 | [Alo Yoga](aloyoga.md) | [`greenhouse`](ats-greenhouse.md) | 3 | 33 % | 100 % | ✅ | 715 | [Alo Yoga](aloyoga.md) | [`greenhouse`](ats-greenhouse.md) | 3 | 33 % | 100 % | ✅ |
717 | [Amgen](amgen.md) | [`workday`](ats-workday.md) | 3 | 0 % | 100 % | ✅ | 716 | [Amgen](amgen.md) | [`workday`](ats-workday.md) | 3 | 0 % | 100 % | ✅ |
718 | [ARC'TERYX](arcteryx_com.md) | [`lever`](ats-lever.md) | 3 | 100 % | 67 % | ✅ | 717 | [ARC'TERYX](arcteryx_com.md) | [`lever`](ats-lever.md) | 3 | 100 % | 67 % | ✅ |
718+| [AstenJohnson](ajholdingsltd.md) | [`dayforce`](ats-dayforce.md) | 3 | 100 % | 100 % | ✅ |
719 | [Bardel Entertainment](bardel_entertainment.md) | [`workable`](ats-workable.md) | 3 | 100 % | 100 % | ✅ | 719 | [Bardel Entertainment](bardel_entertainment.md) | [`workable`](ats-workable.md) | 3 | 100 % | 100 % | ✅ |
720 | [BDC](bdc.md) | [`workday`](ats-workday.md) | 3 | 0 % | 100 % | ✅ | 720 | [BDC](bdc.md) | [`workday`](ats-workday.md) | 3 | 0 % | 100 % | ✅ |
721 | [BETA Technologies](betatechnologiesinc.md) | [`greenhouse`](ats-greenhouse.md) | 3 | 67 % | 100 % | ✅ | 721 | [BETA Technologies](betatechnologiesinc.md) | [`greenhouse`](ats-greenhouse.md) | 3 | 67 % | 100 % | ✅ |
modified docs/connecteurs/ajholdingsltd.md +11 −11
@@ -4,19 +4,19 @@ Job·Ka — Groupe KA
4 Auteur : Simon-Pierre Boucher 4 Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/ajholdingsltd.md 6 Fichier : docs/connecteurs/ajholdingsltd.md
7−Rôle : Fiche connecteur — Ajholdingsltd (employeur direct, ATS dayforce) 7+Rôle : Fiche connecteur — AstenJohnson (employeur direct, ATS dayforce)
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-14 22:10 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−# Ajholdingsltd (`ajholdingsltd`) 13+# AstenJohnson (`ajholdingsltd`)
14 14
15 **Employeur direct** · Plateforme ATS : [`dayforce`](ats-dayforce.md) · Statut registre : actif · Connecteur : `jobka/connectors/ajholdingsltd.py` 15 **Employeur direct** · Plateforme ATS : [`dayforce`](ats-dayforce.md) · Statut registre : actif · Connecteur : `jobka/connectors/ajholdingsltd.py`
16 16
17 ## Description 17 ## Description
18 18
19−- **Site** : [Ajholdingsltd]() 19+- **Site** : [AstenJohnson](https://www.astenjohnson.com)
20 - **Page carrières** : https://jobs.dayforcehcm.com/fr-CA/ajholdingsltd/CANDIDATEPORTAL 20 - **Page carrières** : https://jobs.dayforcehcm.com/fr-CA/ajholdingsltd/CANDIDATEPORTAL
21 - **Secteurs** : Finance 21 - **Secteurs** : Finance
22 - **Région** : Trois-Rivières, Salaberry-de-Valleyfield 22 - **Région** : Trois-Rivières, Salaberry-de-Valleyfield
@@ -31,14 +31,14 @@ Généré : 2026-10-14 18:40 EDT par scripts/gen_connector_docs.py — NE PAS
31 |---|---| 31 |---|---|
32 | `BOARD` | `CANDIDATEPORTAL` | 32 | `BOARD` | `CANDIDATEPORTAL` |
33 | `CULTURE` | `fr-CA` | 33 | `CULTURE` | `fr-CA` |
34−| `EMPLOYER` | `Ajholdingsltd` | 34+| `EMPLOYER` | `AstenJohnson` |
35 | `NS` | `ajholdingsltd` | 35 | `NS` | `ajholdingsltd` |
36 - **Throttle** : 0.8 s entre requêtes. 36 - **Throttle** : 0.8 s entre requêtes.
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). 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 ## Champs → schéma 39 ## Champs → schéma
40 40
41−Complétude mesurée sur les **3 offres actives** de la source (base live, 2026-10-14 18:40 EDT). 41+Complétude mesurée sur les **3 offres actives** de la source (base live, 2026-10-14 22:10 EDT).
42 42
43 | Champ (`jobs.*`) | Rôle | Complétude | 43 | Champ (`jobs.*`) | Rôle | Complétude |
44 |---|---|---| 44 |---|---|---|
@@ -79,15 +79,15 @@ Exemple réel : *Technicien en maintenance de quart de soir* — Salaberry-de-Va
79 79
80 ## Volumétrie & complétude live 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:10 EDT dans `data/jobka.db`)*
83 83
84 - **Offres en base** : 4 (dont **3 actives**, 0 masquées comme doublons `dup_of`) 84 - **Offres en base** : 4 (dont **3 actives**, 0 masquées comme doublons `dup_of`)
85 - **Salaire** : 3/3 actives (100 %) 85 - **Salaire** : 3/3 actives (100 %)
86 - **GPS** : 3/3 actives (100 %) 86 - **GPS** : 3/3 actives (100 %)
87 - **Mode** : 0/3 actives (0 %) 87 - **Mode** : 0/3 actives (0 %)
88 - **Parution** : 3/3 actives (100 %) 88 - **Parution** : 3/3 actives (100 %)
89−- **Dernier sync** : 2026-10-14 18:08 — trouvées 0, +0, ~0, -0, **ÉCHEC : 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/ajhold…** 89+- **Dernier sync** : 2026-10-14 22:10 — trouvées 3, +0, ~3, -0
90−- **Syncs enregistrés** (`sync_log`) : 594 90+- **Syncs enregistrés** (`sync_log`) : 602
91 91
92 ## Erreurs & dépannage 92 ## Erreurs & dépannage
93 93
@@ -95,7 +95,7 @@ Erreurs relevées dans `sync_log` :
95 95
96 | Erreur | Occurrences | Dernière fois | 96 | Erreur | Occurrences | Dernière fois |
97 |---|---|---| 97 |---|---|---|
98−| 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/ajhold… | 1 | 2026-10-14 18:08 | 98+| 503 Server Error: Service Unavailable for url: https://jobs.dayforcehcm.com/api/geo/ajhold… | 7 | 2026-10-14 21:59 |
99 | 500 Server Error: Internal Server Error for url: https://jobs.dayforcehcm.com/api/geo/ajho… | 1 | 2026-10-14 17:25 | 99 | 500 Server Error: Internal Server Error for url: https://jobs.dayforcehcm.com/api/geo/ajho… | 1 | 2026-10-14 17:25 |
100 | HTTPSConnectionPool(host='jobs.dayforcehcm.com', port=443): Max retries exceeded with url:… | 1 | 2026-09-18 12:48 | 100 | HTTPSConnectionPool(host='jobs.dayforcehcm.com', port=443): Max retries exceeded with url:… | 1 | 2026-09-18 12:48 |
101 101
@@ -104,7 +104,7 @@ Erreurs relevées dans `sync_log` :
104 104
105 ## Licence / conformité 105 ## Licence / conformité
106 106
107−**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 Ajholdingsltd » 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+**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 AstenJohnson » 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.
108 108
109 ## Historique 109 ## Historique
110 110
modified docs/connecteurs/ats-dayforce.md +17 −17
@@ -5,7 +5,7 @@ Auteur : Simon-Pierre Boucher
5 Contact : contact@spboucher.ai 5 Contact : contact@spboucher.ai
6 Fichier : docs/connecteurs/ats-dayforce.md 6 Fichier : docs/connecteurs/ats-dayforce.md
7 Rôle : Fiche plateforme ATS dayforce — mécanique partagée + tableau des 129 tenants 7 Rôle : Fiche plateforme ATS dayforce — mécanique partagée + tableau des 129 tenants
8−Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER, 8+Généré : 2026-10-14 22:10 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 -->
@@ -54,12 +54,12 @@ Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS
54 | [Le Groupe Maurice](groupemaurice.md) | 153 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ | 54 | [Le Groupe Maurice](groupemaurice.md) | 153 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
55 | [La Vie en Rose](lavieenrose.md) | 143 | 3 % | 100 % | 0 % | 2026-10-14 19:35 | ✅ | 55 | [La Vie en Rose](lavieenrose.md) | 143 | 3 % | 100 % | 0 % | 2026-10-14 19:35 | ✅ |
56 | [Vetstrategy](vetstrategy.md) | 140 | 4 % | 100 % | 1 % | 2026-10-14 19:32 | ✅ | 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:51 | ✅ | 57+| [Bulkbarn](bulkbarn.md) | 75 | 0 % | 100 % | 0 % | 2026-10-14 22:06 | ✅ |
58−| [Automobileendirect](automobileendirect.md) | 60 | 0 % | 100 % | 0 % | 2026-10-14 21:47 | ✅ | 58+| [Automobileendirect](automobileendirect.md) | 60 | 0 % | 100 % | 0 % | 2026-10-14 22:02 | ✅ |
59 | [Gdv](gdv.md) | 58 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ | 59 | [Gdv](gdv.md) | 58 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ |
60 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | 55 | 0 % | 100 % | 0 % | 2026-10-14 18:38 | ✅ | 60 | [Gray Collection (Groupe Antonopoulos)](graycollection.md) | 55 | 0 % | 100 % | 0 % | 2026-10-14 18:38 | ✅ |
61 | [Laura Canada](lauracanada.md) | 52 | 0 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ | 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:51 | ✅ | 62+| [BPA (Experts-conseils)](bpa.md) | 49 | 0 % | 100 % | 0 % | 2026-10-14 22:06 | ✅ |
63 | [Unoria](unoria.md) | 47 | 0 % | 100 % | 0 % | 2026-10-14 19:30 | ✅ | 63 | [Unoria](unoria.md) | 47 | 0 % | 100 % | 0 % | 2026-10-14 19:30 | ✅ |
64 | [Camions Excellence Peterbilt](excellencepeterbilt.md) | 45 | 31 % | 100 % | 0 % | 2026-10-14 18:34 | ✅ | 64 | [Camions Excellence Peterbilt](excellencepeterbilt.md) | 45 | 31 % | 100 % | 0 % | 2026-10-14 18:34 | ✅ |
65 | [Lesymcaquebec](lesymcaquebec.md) | 45 | 20 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ | 65 | [Lesymcaquebec](lesymcaquebec.md) | 45 | 20 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ |
@@ -83,7 +83,7 @@ Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS
83 | [United Services Group](unitedservices.md) | 15 | 0 % | 100 % | 0 % | 2026-10-14 19:30 | ✅ | 83 | [United Services Group](unitedservices.md) | 15 | 0 % | 100 % | 0 % | 2026-10-14 19:30 | ✅ |
84 | [Intervenant·e au suivi psychosocial](obm.md) | 15 | 13 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ | 84 | [Intervenant·e au suivi psychosocial](obm.md) | 15 | 13 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ |
85 | [CONTRÔLEUR](novatech.md) | 15 | 33 % | 100 % | 0 % | 2026-10-14 19:10 | ✅ | 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:51 | ❌ | 86+| [Boralex](boralex.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 22:06 | ✅ |
87 | [Hygiéniste Industrielle](kdcone.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 19:52 | ❌ | 87 | [Hygiéniste Industrielle](kdcone.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 19:52 | ❌ |
88 | [Lapresse2018Inc](lapresse2018inc.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ | 88 | [Lapresse2018Inc](lapresse2018inc.md) | 14 | 0 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ |
89 | [Superior Propane](superiorplus.md) | 14 | 64 % | 100 % | 0 % | 2026-10-14 21:20 | ❌ | 89 | [Superior Propane](superiorplus.md) | 14 | 64 % | 100 % | 0 % | 2026-10-14 21:20 | ❌ |
@@ -97,7 +97,7 @@ Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS
97 | [Colabor](colabor.md) | 11 | 9 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ | 97 | [Colabor](colabor.md) | 11 | 9 % | 100 % | 0 % | 2026-10-14 21:06 | ✅ |
98 | [Chef.fe de service de quart, soir](lantic.md) | 11 | 45 % | 100 % | 0 % | 2026-10-14 19:01 | ✅ | 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 21:37 | ✅ | 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:49 | ✅ | 100+| [Associé(e), entretien préventif](boardwalkreit.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 22:05 | ✅ |
101 | [Ccmhockey](ccmhockey.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 21:36 | ✅ | 101 | [Ccmhockey](ccmhockey.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 21:36 | ✅ |
102 | [Groupe Scandinave (Scandinave Spa)](gscandinave.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ | 102 | [Groupe Scandinave (Scandinave Spa)](gscandinave.md) | 10 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
103 | [Eldoradogold](eldoradogold.md) | 9 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ | 103 | [Eldoradogold](eldoradogold.md) | 9 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
@@ -105,8 +105,8 @@ Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS
105 | [Vortex](vortex.md) | 9 | 0 % | 100 % | 0 % | 2026-10-14 19:33 | ✅ | 105 | [Vortex](vortex.md) | 9 | 0 % | 100 % | 0 % | 2026-10-14 19:33 | ✅ |
106 | [Administration portuaire de Québec](portquebec.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:13 | ✅ | 106 | [Administration portuaire de Québec](portquebec.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:13 | ✅ |
107 | [Eidos-Montréal](eidosmontreal.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ | 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:45 | ❌ | 108+| [Altg](altg.md) | 8 | 12 % | 100 % | 0 % | 2026-10-14 22:01 | ❌ |
109−| [Manœuvre générale](athos.md) | 8 | 50 % | 100 % | 0 % | 2026-10-14 21:45 | ✅ | 109+| [Manœuvre générale](athos.md) | 8 | 50 % | 100 % | 0 % | 2026-10-14 22:01 | ✅ |
110 | [Quadra](quadra.md) | 8 | 100 % | 100 % | 75 % | 2026-10-14 19:16 | ✅ | 110 | [Quadra](quadra.md) | 8 | 100 % | 100 % | 75 % | 2026-10-14 19:16 | ✅ |
111 | [E-Commerce Shipping Associate](slg001.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:21 | ✅ | 111 | [E-Commerce Shipping Associate](slg001.md) | 8 | 0 % | 100 % | 0 % | 2026-10-14 19:21 | ✅ |
112 | [Nationex](nationex.md) | 7 | 0 % | 100 % | 14 % | 2026-10-14 19:08 | ✅ | 112 | [Nationex](nationex.md) | 7 | 0 % | 100 % | 14 % | 2026-10-14 19:08 | ✅ |
@@ -120,23 +120,23 @@ Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS
120 | [Liftow](liftow.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ | 120 | [Liftow](liftow.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 19:03 | ✅ |
121 | [Bilingual (French/English) Sales Broker (RIBO Licensed)](ogc.md) | 6 | 50 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ | 121 | [Bilingual (French/English) Sales Broker (RIBO Licensed)](ogc.md) | 6 | 50 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ |
122 | [Terrapure](terrapure.md) | 6 | 17 % | 100 % | 0 % | 2026-10-14 19:28 | ✅ | 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:49 | ❌ | 123+| [Field Mechanic](bly.md) | 6 | 100 % | 100 % | 0 % | 2026-10-14 22:05 | ❌ |
124 | [Vendeur 3ème Clé (Thirdy Key)](fossil.md) | 6 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ | 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 21:39 | ✅ |
126 | [Ggi](ggi.md) | 5 | 0 % | 100 % | 0 % | 2026-10-14 18:37 | ✅ | 126 | [Ggi](ggi.md) | 5 | 0 % | 100 % | 0 % | 2026-10-14 18:37 | ✅ |
127 | [Architecte Salesforce Sommaire](jam.md) | 5 | 0 % | 100 % | 0 % | 2026-10-14 19:37 | ❌ | 127 | [Architecte Salesforce Sommaire](jam.md) | 5 | 0 % | 100 % | 0 % | 2026-10-14 19:37 | ❌ |
128 | [Consultant(e) en développement des affaires](omnitrans.md) | 5 | 40 % | 100 % | 0 % | 2026-10-14 19:11 | ✅ | 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:48 | ✅ | 129+| [FOREMAN ASSISTANT SHIPPING RECEIVING](benmor.md) | 5 | 20 % | 100 % | 80 % | 2026-10-14 22:04 | ✅ |
130 | [Realstar](realstar.md) | 4 | 0 % | 100 % | 50 % | 2026-10-14 19:16 | ✅ | 130 | [Realstar](realstar.md) | 4 | 0 % | 100 % | 50 % | 2026-10-14 19:16 | ✅ |
131 | [4Refuel](4refuel.md) | 4 | 25 % | 100 % | 0 % | 2026-10-14 19:38 | ✅ | 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 | ✅ | 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 | ✅ | 133 | [Cominar](cominar.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ |
134 | [Groupenorbec](groupenorbec.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ | 134 | [Groupenorbec](groupenorbec.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:39 | ✅ |
135 | [Flowcontrol](flowcontrol.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 18:41 | ❌ | 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:48 | ✅ | 136+| [Berger (tourbe horticole)](berger.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 22:04 | ✅ |
137 | [Téléfilm Canada](telefilmcanada.md) | 4 | 0 % | 100 % | 0 % | 2026-10-14 19:28 | ✅ | 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 | ✅ | 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:52 | ✅ | 139+| [Linehaul Nuit, Conducteur, classe 1](cardinalcouriers.md) | 3 | 67 % | 100 % | 33 % | 2026-10-14 22:07 | ✅ |
140 | [Agent(e) de location de communauté](iip.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 18:50 | ✅ | 140 | [Agent(e) de location de communauté](iip.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 18:50 | ✅ |
141 | [Maxicanada](maxicanada.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 19:04 | ✅ | 141 | [Maxicanada](maxicanada.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 19:04 | ✅ |
142 | [Designer graphique](mhca.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:06 | ✅ | 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:55 EDT par scripts/gen_connector_docs.py — NE PAS
145 | [Remco](remco.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:18 | ✅ | 145 | [Remco](remco.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:18 | ✅ |
146 | [Sobeys](sobeys.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:22 | ✅ | 146 | [Sobeys](sobeys.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 19:22 | ✅ |
147 | [Souffletmalt](souffletmalt.md) | 3 | 67 % | 100 % | 0 % | 2026-10-14 19:22 | ✅ | 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:43 | ❌ | 148+| [AstenJohnson](ajholdingsltd.md) | 3 | 100 % | 100 % | 0 % | 2026-10-14 22:10 | ✅ |
149−| [Bronswerk](bronswerk.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 21:51 | ✅ | 149+| [Bronswerk](bronswerk.md) | 3 | 0 % | 100 % | 0 % | 2026-10-14 22:06 | ✅ |
150−| [Air Canada Rouge](acadierouge.md) | 2 | 50 % | 100 % | 0 % | 2026-10-14 21:40 | ✅ | 150+| [Air Canada Rouge](acadierouge.md) | 2 | 50 % | 100 % | 0 % | 2026-10-14 21:56 | ✅ |
151 | [East Penn Canada](eastpenn.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ | 151 | [East Penn Canada](eastpenn.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 18:32 | ✅ |
152 | [Reflector Entertainment](reflector.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:17 | ✅ | 152 | [Reflector Entertainment](reflector.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:17 | ✅ |
153 | [StorageMart](storagemart.md) | 2 | 100 % | 100 % | 0 % | 2026-10-14 21:07 | ❌ | 153 | [StorageMart](storagemart.md) | 2 | 100 % | 100 % | 0 % | 2026-10-14 21:07 | ❌ |
@@ -158,8 +158,8 @@ Généré : 2026-10-14 21:55 EDT par scripts/gen_connector_docs.py — NE PAS
158 | [Accueil / Service client (Montréal)](tourismholdings.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:29 | ✅ | 158 | [Accueil / Service client (Montréal)](tourismholdings.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:29 | ✅ |
159 | [Wafna](wafna.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:34 | ❌ | 159 | [Wafna](wafna.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:34 | ❌ |
160 | [Westjet](westjet.md) | 2 | 0 % | 100 % | 0 % | 2026-10-14 19:36 | ✅ | 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:55 | ✅ | 161+| [BLEUFEU (Festival d'été de Québec)](bleufeu.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:10 | ✅ |
162−| [Canderel](canderel.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 21:52 | ✅ | 162+| [Canderel](canderel.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 22:07 | ✅ |
163 | [Cooperrentsequip](cooperrentsequip.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ | 163 | [Cooperrentsequip](cooperrentsequip.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:27 | ✅ |
164 | [Enercare](enercare.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:33 | ✅ | 164 | [Enercare](enercare.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:33 | ✅ |
165 | [G3 Canada](g3canada.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ | 165 | [G3 Canada](g3canada.md) | 1 | 0 % | 100 % | 0 % | 2026-10-14 18:36 | ✅ |
modified jobka/connectors/ajholdingsltd.py +39 −3
@@ -3,15 +3,51 @@
3 # Auteur : Simon-Pierre Boucher 3 # Auteur : Simon-Pierre Boucher
4 # Contact : contact@spboucher.ai 4 # Contact : contact@spboucher.ai
5 # Fichier : jobka/connectors/ajholdingsltd.py 5 # Fichier : jobka/connectors/ajholdingsltd.py
6−# Rôle : Connecteur Ajholdingsltd — dayforce (ns='ajholdingsltd', board='CANDIDATEPORTAL') 6+# Rôle : Connecteur AstenJohnson — dayforce (ns='ajholdingsltd', board='CANDIDATEPORTAL')
7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23] 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 from .dayforce import DayforceConnector 10 from .dayforce import DayforceConnector
11 11
12 12
13 class AjholdingsltdConnector(DayforceConnector): 13 class AjholdingsltdConnector(DayforceConnector):
14+ """Connecteur AstenJohnson (AJ Holdings Ltd = AstenJohnson Holdings —
15+ fabricant mondial de toiles et revêtements pour machines à papier et
16+ de médias de filtration, siège Charleston SC, usines Clinton SC,
17+ Hampton NH, Eupen BE, Suzhou CN… ; usine québécoise au bord de la
18+ Baie Saint-François à Salaberry-de-Valleyfield, ~3 offres QC :
19+ techniciens en maintenance, opérateurs d'équipements, plus
20+ historiquement un représentant technique à Trois-Rivières).
21+
22+ Intervention ka6 2026-10-14 (broken, 7 échecs signalés) — RIEN À
23+ RÉPARER : namespace supplémentaire de la panne PARTIELLE de shard
24+ Dayforce du 2026-10-14 (voir checklist complète dans ndtglobal.py),
25+ déjà RÉSOLUE côté Dayforce au moment de l'intervention : syncs verts
26+ found=3 jusqu'à 17:54 (ce tenant a tenu ~4 h de plus que les autres
27+ namespaces touchés, tombés vers 13:30), puis 500 à 17:25 isolé et
28+ 503 HTML soutenu sur /api/geo/ajholdingsltd/jobposting/search de
29+ 18:08 à 21:59 (échec franc ok=0, jamais de faux 0, les 3 offres QC
30+ actives préservées). À 22:3x le même appel répond de nouveau 200
31+ JSON et `run.py sync ajholdingsltd` retourne found=3 = médiane. Pas
32+ de migration d'ATS : astenjohnson.com/careers (200) liste toujours
33+ des offres du même tenant/board
34+ dayforcehcm.com/en-US/ajholdingsltd/CANDIDATEPORTAL.
35+
36+ Partition de culture VÉRIFIÉE À L'API (pattern peaktech/dayforce) :
37+ fr-CA voit 7 offres dont les 3 QC ; en-CA voit 37 offres mais 0 QC
38+ (toutes US/BE/CN/SG) — les offres québécoises ne sont publiées qu'en
39+ français, la culture fr-CA du connecteur est la bonne et suffit.
40+
41+ Artefact vague C corrigé au passage (classe gevgroupltd 8ff81d0) :
42+ EMPLOYER « Ajholdingsltd » était le namespace brut pris pour un nom
43+ d'entreprise → AstenJohnson (nom affiché dans les descriptions des
44+ offres ; ici + sources.json), url employeur vide →
45+ https://www.astenjohnson.com. Le bon nom se propage aux lignes
46+ existantes au sync suivant (employer est dans content_hash → UPDATE
47+ automatique).
48+ """
49+
14 source_id = 'ajholdingsltd' 50 source_id = 'ajholdingsltd'
15− EMPLOYER = 'Ajholdingsltd' 51+ EMPLOYER = 'AstenJohnson'
16 NS = 'ajholdingsltd' 52 NS = 'ajholdingsltd'
17 BOARD = 'CANDIDATEPORTAL' 53 BOARD = 'CANDIDATEPORTAL'
18 54
Menu

Theme