Plateforme ATS jazzhr
27 employeurs connectés via cette plateforme — 145 offres actives. Module partagé : jobka/connectors/jazzhr.py ; un employeur = une sous-classe d'environ 10 lignes.
Description & mécanique
Plateforme JazzHR (.applytojob.com), répandue chez les PME.
- liste : GET https://.applytojob.com/apply/ -> liens /apply// (HTML léger, sans lieu fiable)
- détail : GET https://.applytojob.com/apply// -> JSON-LD JobPosting (titre, lieu, dates, salaire, description). Cache BD + budget ; le filtre Québec est appliqué au détail — une offre sans détail frais (budget épuisé) est différée au prochain cycle plutôt que publiée sans lieu.
Accès
- Pagination : flux unique (une requête liste)
- Backend : GET/POST direct
requests(throttlé, User-AgentJobKaBot/1.0identifié) - Auth : aucune — API/pages publiques du site carrières.
- Throttle : 1.0 s entre requêtes.
- Budgets (env) :
JOBKA_JAZZHR_DETAIL_LIMIT(défaut60)
Tenants connectés
| Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |
|---|---|---|---|---|---|---|
| XTL Transport | 31 | 0 % | 97 % | 10 % | 2026-10-30 00:22 | ✅ |
| Playground | 25 | 68 % | 64 % | 0 % | 2026-10-29 23:58 | ✅ |
| Valnet | 20 | 0 % | 100 % | 50 % | 2026-10-30 00:18 | ✅ |
| Optel Group | 11 | 0 % | 91 % | 0 % | 2026-10-29 23:58 | ✅ |
| Turning Point Brands Canada | 9 | 33 % | 100 % | 22 % | 2026-10-30 00:03 | ✅ |
| WestGroupe | 8 | 0 % | 100 % | 0 % | 2026-10-30 00:22 | ✅ |
| Altitude Aerospace | 7 | 14 % | 100 % | 0 % | 2026-10-30 01:26 | ✅ |
| Fortigo Freight Services Inc. | 6 | 17 % | 50 % | 0 % | 2026-10-30 01:52 | ✅ |
| Digital Moment | 4 | 0 % | 100 % | 50 % | 2026-10-30 01:45 | ✅ |
| ePac Flexible Packaging | 4 | 25 % | 100 % | 25 % | 2026-10-30 01:48 | ✅ |
| 36Pix | 3 | 0 % | 100 % | 0 % | 2026-10-29 23:58 | ✅ |
| Longbow Advantage | 3 | 0 % | 100 % | 0 % | 2026-10-29 23:51 | ✅ |
| Bloom | 3 | 0 % | 100 % | 0 % | 2026-10-29 23:51 | ✅ |
| Sun Gro Horticulture | 3 | 0 % | 100 % | 0 % | 2026-10-30 00:12 | ✅ |
| Ultium Cam | 3 | 0 % | 100 % | 0 % | 2026-10-30 00:17 | ✅ |
| Clinique D | 2 | 0 % | 100 % | 0 % | 2026-10-30 01:42 | ✅ |
| Motos Illimitees | 1 | 100 % | 100 % | 0 % | 2026-10-29 23:55 | ✅ |
| Precision Parcel & Package Deliveries | 1 | 0 % | 100 % | 0 % | 2026-10-29 23:59 | ✅ |
| Targray | 1 | 0 % | 100 % | 0 % | 2026-10-30 00:13 | ✅ |
| 11 Residential | 0 | — | — | — | 2026-10-30 00:04 | ✅ |
| Bluetooth SIG, Inc. | 0 | — | — | — | 2026-10-30 01:32 | ✅ |
| FortNine | 0 | — | — | — | 2026-10-30 01:34 | ✅ |
| GEOX | 0 | — | — | — | 2026-10-30 01:53 | ✅ |
| Nadel International | 0 | — | — | — | 2026-10-29 23:56 | ✅ |
| Seymour Pacific Developments | 0 | — | — | — | 2026-10-30 00:08 | ✅ |
| Synterra | 0 | — | — | — | 2026-10-30 00:12 | ✅ |
| Teal Communications, Inc. | 0 | — | — | — | 2026-10-30 00:13 | ✅ |
Licence / conformité
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 l'employeur » 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.
Historique
Mission connecteurs du 2026-08-18 — passage de 135 à 217 employeurs directs connectés, de 9 à 17 plateformes ATS, ajout de 3 portails agrégateurs et du canal de dépôt direct :
fd4bfc8qualité lieux : rejet des villes hors Québec, bâtiments McGill → Montréal ;5a66f48+59 employeurs (sondage massif d'ATS + détection de pages carrières) ;4917d578 nouveaux ATS (Taleo, Njoyn, UltiPro, iCIMS, SuccessFactors, ADP WFN, Digital Recruiters, Workland) + 23 employeurs publics/parapublics ;f6e7571portails Guichet-Emplois, Jobillico, Espresso-Jobs — l'offre directe gagne toujours la canonique (dédup) ;744cbfcbadge « Offre directe », stats directes/portails, dépôt direct employeurs ;1604ff9reprise sur coupure WAF Guichet-Emplois (retry + acquis partiel).
Commits touchant jobka/connectors/jazzhr.py :
2d24635a2026-10-20 [ka6] connecteur makeitbloom: stale = angle mort JazzHR réel — page détail sans JSON-LD JobPosting, repli HTML générique dans jazzhr.py (found 0→1). Les 3 offres SEO (UhDHyS6fne/xvSwVILniQ/qdFba5tbN5, Montréal) dépubliées le jour même entre les syncs de 06:38 (found=3) et 15:37 (found=0) du 2026-10-20, détails confirmés 410 Gone (marqueur JazzHR, cf. geox). MAIS le board n'était PAS vide : l'offre neuve dVcAlVM7ko « Spécialiste des médias payants » (republication du poste de sept. sous un id neuf, pattern du tenant) était rejetée par le filtre QC car sa page détail ne porte AUCUN bloc JSON-LD JobPosting (seul un Organization) — une première sur ce tenant, alors que le frère playground est toujours balisé. Vrai angle mort corrigé dans jazzhr.py : _detail_fields_from_html, repli quand extract_jobposting échoue — titre via h2 du job-header, lieu « Ville, QC, Canada » via le bloc job-attributes title=Location, type via resumator-job-employment, description via #job-description borné par resumator-mobile-apply-wrapper ; validé sur les pages live makeitbloom (sans LD → Montreal/QC) et playground (avec LD → chemin JSON-LD inchangé). Test de régression ajouté (QC gardée, ON lâchée, LD prioritaire). Sync isolé rejoué : found=1 added=1 ok=1 en 2,3 s, offre en base Montréal active. Artefact vague C : url vide dans sources.json → https://www.makeitbloom.com (200 vérifié live). Docstring chronologie 1re intervention, fiches makeitbloom.md/ats-jazzhr.md/INDEX.md régénérées. 108 tests verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.adb863782026-09-04 [ka6] connecteur derumarketcatering: compte JazzHR fermé — l'employeur (faux positif US, Kirkland WA, verdict site_source_mort du 2026-08-26) a désactivé son compte JazzHR, la page /apply/ renvoie 200 'Inactive Career Page' sans marqueur resumator; la garde anti-faux-zéro de la plateforme jazzhr (1c116d8) partait alors en 3 essais + 30 s de backoff par sync avec un message trompeur — détection explicite de la page 'Inactive Career Page' au niveau plateforme: échec immédiat, message 'compte JazzHR désactivé / source fermée chez l'ATS' dans sync_log; non-régression vérifiée sur tenant vivant (motosillimitees 2 offres, médiane 2.0); 0 offre active en base pour cette source1c116d852026-09-04 [ka6] fix connecteur motosillimitees: garde anti faux-zéro dans la plateforme jazzhr — la page liste renvoie parfois 200 sans la structure du jobboard (constaté 2026-09-04 10h09, sync à 0 en 0,2 s alors que 2 offres réelles), le marqueur 'resumator' est maintenant exigé avec retry+backoff sinon erreur explicite dans sync_log; sync rejoué: 2 offres (médiane 2.0), rotation d'offres de l'employeur absorbéedf3faf022026-08-25 Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC