SPB Git forge

spb/job-ka

Public
229commits 1branches 0releases
38.1 MBsize
maindefault branch
3 h agolast push
HTML 82.1% Python 14.6% TypeScript 1.9% CSS 1% JavaScript 0.5%
7.0 KB · 91 lines markdown
Rendered Raw Blame History
1<!--2=============================================================================3Job·Ka — Groupe KA4Auteur  : Simon-Pierre Boucher5Contact : contact@spboucher.ai6Fichier : docs/connecteurs/ats-jazzhr.md7Rôle    : Fiche plateforme ATS jazzhr — mécanique partagée + tableau des 30 tenants8Généré  : 2026-09-21 20:37 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,9          relancer le script pour régénérer.10=============================================================================11-->1213# Plateforme ATS `jazzhr`1415**30 employeurs connectés** via cette plateforme — **148 offres actives**. Module partagé : `jobka/connectors/jazzhr.py` ; un employeur = une sous-classe d'environ 10 lignes.1617## Description & mécanique1819> Plateforme JazzHR (<org>.applytojob.com), répandue chez les PME.20>21> - liste  : GET https://<org>.applytojob.com/apply/22>            -> liens /apply/<id>/<slug> (HTML léger, sans lieu fiable)23> - détail : GET https://<org>.applytojob.com/apply/<id>/<slug>24>            -> JSON-LD JobPosting (titre, lieu, dates, salaire, description).25>            Cache BD + budget ; le filtre Québec est appliqué au détail —26>            une offre sans détail frais (budget épuisé) est différée au27>            prochain cycle plutôt que publiée sans lieu.2829## Accès3031- **Pagination** : flux unique (une requête liste)32- **Backend** : GET/POST direct `requests` (throttlé, User-Agent `JobKaBot/1.0` identifié)33- **Auth** : aucune — API/pages publiques du site carrières.34- **Throttle** : 1.0 s entre requêtes.35- **Budgets (env)** : `JOBKA_JAZZHR_DETAIL_LIMIT` (défaut `60`)3637## Tenants connectés3839| Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |40|---|---|---|---|---|---|---|41| [XTL Transport](xtltransportlogistics.md) | 33 | 0 % | 97 % | 9 % | 2026-09-21 19:14 | ✅ |42| [Valnet](valnetconcept.md) | 22 | 0 % | 100 % | 45 % | 2026-09-21 19:10 | ✅ |43| [Playground](playground.md) | 20 | 70 % | 75 % | 0 % | 2026-09-21 18:58 | ✅ |44| [Optel Group](optelgroup.md) | 8 | 0 % | 100 % | 0 % | 2026-09-21 18:57 | ✅ |45| [Challenger Motor Freight Inc.](challenger.md) | 7 | 43 % | 100 % | 0 % | 2026-09-21 20:30 | ✅ |46| [Turning Point Brands Canada](recreationmarketing.md) | 7 | 0 % | 100 % | 0 % | 2026-09-21 19:00 | ✅ |47| [36Pix](pix36.md) | 5 | 0 % | 100 % | 0 % | 2026-09-21 18:58 | ✅ |48| [Altitude Aerospace](altitudeaerospace.md) | 5 | 0 % | 100 % | 0 % | 2026-09-21 20:20 | ✅ |49| [Digital Moment](digitalmoment.md) | 5 | 0 % | 100 % | 60 % | 2026-09-21 20:36 | ✅ |50| [Targray](targray.md) | 5 | 0 % | 100 % | 0 % | 2026-09-21 19:07 | ✅ |51| [Fortigo Freight Services Inc.](fortigofreightservicesinc.md) | 4 | 25 % | 75 % | 0 % | 2026-09-21 18:30 | ✅ |52| [Longbow Advantage](longbowadvantage.md) | 4 | 0 % | 100 % | 0 % | 2026-09-21 18:53 | ✅ |53| [WestGroupe](westgroupe.md) | 4 | 0 % | 100 % | 0 % | 2026-09-21 19:13 | ✅ |54| [McGill St Laurent](mcgillstlaurentb8.md) | 3 | 0 % | 100 % | 0 % | 2026-09-21 18:54 | ✅ |55| [Precision Parcel & Package Deliveries](precisionhomeandofficedeliveries.md) | 3 | 33 % | 67 % | 0 % | 2026-09-21 18:58 | ✅ |56| [Sun Gro Horticulture](sungrohorticulture.md) | 3 | 0 % | 100 % | 0 % | 2026-09-21 19:06 | ✅ |57| [ePac Flexible Packaging](epacllc.md) | 2 | 50 % | 100 % | 0 % | 2026-09-21 18:28 | ✅ |58| [Bloom](makeitbloom.md) | 2 | 0 % | 100 % | 0 % | 2026-09-21 18:53 | ✅ |59| [CWP Energy](mcgillstlaurent.md) | 2 | 0 % | 100 % | 0 % | 2026-09-21 18:54 | ✅ |60| [Motos Illimitees](motosillimitees.md) | 2 | 100 % | 100 % | 0 % | 2026-09-21 18:55 | ✅ |61| [Ultium Cam](ultiumcam.md) | 2 | 0 % | 100 % | 0 % | 2026-09-21 19:10 | ✅ |62| [11 Residential](residential11.md) | 0 | — | — | — | 2026-09-21 19:00 | ✅ |63| [Bluetooth SIG, Inc.](bluetoothsiginc.md) | 0 | — | — | — | 2026-09-21 20:23 | ✅ |64| [FortNine](canadasmotorcycle.md) | 0 | — | — | — | 2026-09-21 20:24 | ✅ |65| [Clinique D](cliniqued.md) | 0 | — | — | — | 2026-09-21 20:36 | ✅ |66| [GEOX](geox.md) | 0 | — | — | — | 2026-09-21 18:31 | ✅ |67| [Nadel International](nadel.md) | 0 | — | — | — | 2026-09-21 18:55 | ✅ |68| [Seymour Pacific Developments](seymourpacificdevelopmentsltd.md) | 0 | — | — | — | 2026-09-21 19:03 | ✅ |69| [Synterra](synterra.md) | 0 | — | — | — | 2026-09-21 19:06 | ✅ |70| [Teal Communications, Inc.](tealcommunicationsinc.md) | 0 | — | — | — | 2026-09-21 19:07 | ✅ |7172## Licence / conformité7374**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.7576## Historique7778**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 :79- `fd4bfc8` qualité lieux : rejet des villes hors Québec, bâtiments McGill → Montréal ;80- `5a66f48` +59 employeurs (sondage massif d'ATS + détection de pages carrières) ;81- `4917d57` 8 nouveaux ATS (Taleo, Njoyn, UltiPro, iCIMS, SuccessFactors, ADP WFN, Digital Recruiters, Workland) + 23 employeurs publics/parapublics ;82- `f6e7571` portails Guichet-Emplois, Jobillico, Espresso-Jobs — l'offre directe gagne toujours la canonique (dédup) ;83- `744cbfc` badge « Offre directe », stats directes/portails, dépôt direct employeurs ;84- `1604ff9` reprise sur coupure WAF Guichet-Emplois (retry + acquis partiel).8586Commits touchant `jobka/connectors/jazzhr.py` :8788- `adb8637` 2026-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 source89- `1c116d8` 2026-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ée90- `df3faf0` 2026-08-25 Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC91