SPB Git

spb/job-ka

Public
7.6 KB

# Plateforme ATS eightfold

1 employeurs connectés via cette plateforme — 65 offres actives. Module partagé : jobka/connectors/eightfold.py ; un employeur = une sous-classe d'environ 10 lignes.

# Description & mécanique

Plateforme Eightfold AI (sites carrières « PCSX »).

API JSON publique, non authentifiée (constatée sur jobs.autodesk.com, 2026-09-25 — migration d'Autodesk depuis Workday) :

  • liste : GET https:///api/pcsx/search?domain=&query= &start=N&num=10&sort_by=timestamp -> {data:{count, positions:[{id, atsJobId, displayJobId, name, locations:[…], standardizedLocations:[…] (parallèles), creationTs(epoch), workLocationOption, positionUrl}]}} NB: la pagination est instable (le count fluctue d'un appel à l'autre et des lignes reviennent d'une page à l'autre) — on déduplique par id et on borne par max_pages. NB: num est plafonné à 10 par le serveur.
  • détail : GET https:///careers/job/ — la page publique est rendue serveur avec un bloc JSON-LD schema.org/JobPosting COMPLET (description avec la section transparence salariale, datePosted, validThrough, employmentType, jobLocation structurés). L'API api/pcsx/position_details existe aussi mais sa jobDescription est TRONQUÉE (sans le paragraphe salaire, constaté 2026-09-25 sur autodesk : 9 830 car. vs 11 683 dans le JSON-LD) — elle ne sert que de repli si le JSON-LD disparaît.

L'ancien endpoint Eightfold classique (/api/apply/v2/jobs) répond 403 « Not authorized for PCSX » sur ces tenants — ne pas l'utiliser.

Les boards listent le monde entier : filtrage client par is_quebec_location sur TOUTES les valeurs de locations + standardizedLocations (les postes télétravail pancanadiens listent le Québec parmi leurs lieux), puis page détail seulement pour les postes québécois (avec cache BD).

# Accès

  • Pagination : flux unique (une requête liste)
  • Backend : GET/POST direct requests (throttlé, User-Agent JobKaBot/1.0 identifié)
  • Auth : aucune — API/pages publiques du site carrières.
  • Throttle : 0.7 s entre requêtes.

# Tenants connectés

Employeur Actives Salaire GPS Mode Dernier sync OK
Autodesk 65 85 % 95 % 17 % 2026-10-14 18:12 ✅

# 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 :

  • fd4bfc8 qualité 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) ;
  • 4917d57 8 nouveaux ATS (Taleo, Njoyn, UltiPro, iCIMS, SuccessFactors, ADP WFN, Digital Recruiters, Workland) + 23 employeurs publics/parapublics ;
  • f6e7571 portails Guichet-Emplois, Jobillico, Espresso-Jobs — l'offre directe gagne toujours la canonique (dédup) ;
  • 744cbfc badge « Offre directe », stats directes/portails, dépôt direct employeurs ;
  • 1604ff9 reprise sur coupure WAF Guichet-Emplois (retry + acquis partiel).

Commits touchant jobka/connectors/eightfold.py :

  • 8373f654 2026-09-25 [ka6] fix connecteur autodesk: migration Workday → Eightfold PCSX (nouvelle plateforme jobka/connectors/eightfold.py) — le statut stale vient du sync de 12:19 en 404 sur https://autodesk.wd1.myworkdayjobs.com/wday/cxs/autodesk/Ext/jobs, corps Workday « not found: Job_Posting_Site_ID=Ext » : le site de publication Ext du tenant est DÉCOMMISSIONNÉ (toutes les variantes de nom testées → 404 ; seul survit le portail stages « uni », 27 postes hors périmètre) et la page carrières officielle autodesk.com/careers (403 Akamai en direct, lue via Scrapfly render_js) pointe désormais vers jobs.autodesk.com/careers = Eightfold AI variante PCSX (l'endpoint Eightfold classique /api/apply/v2/jobs répond 403 « Not authorized for PCSX »). Première plateforme Eightfold du repo, écrite dans le style des voisines (workday.py/workable.py) : liste GET /api/pcsx/search?domain=…&start=N&num=10&sort_by=timestamp (num plafonné serveur à 10, pagination INSTABLE — count fluctuant et lignes répétées — dédup par id + garde-fou max_pages), filtre client is_quebec_location sur TOUTES les valeurs de locations[]+standardizedLocations[] (les remote pancanadiens listent le Québec parmi des dizaines de lieux ; la facette serveur location=QC,Canada matche à tort un poste remote 100 % US, vérifié — le filtre client fait foi), détail via la page publique /careers/job/ rendue serveur avec JSON-LD JobPosting COMPLET (réutilise _jsonld.py : description AVEC la section transparence salariale — l'API position_details la tronque : 9 830 car. vs 11 683, ce qui déclenchait l'alerte « 96 % des offres sans salaire » au premier essai —, employmentType normalisé FULL_TIME→FULL TIME, validThrough, re-sélection de l'adresse QC parmi les jobLocation multi-lieux pour ne pas étiqueter Toronto sur une offre QC), repli position_details si le balisage disparaît ; UA JobKaBot vérifié accepté partout. Continuité des IDs préservée : les req IDs Workday (26WDxxxxxx) survivent dans atsJobId → les 22 offres QC encore publiées se METTENT À JOUR (URLs migrées vers jobs.autodesk.com, vérifiées en base) au lieu d'être recréées ; les 28 dépubliées pendant la migration (sondage individuel par req ID → 0 hit) sont retirées proprement par le garde-fou 2-miss. Sync isolé rejoué ×3 : found=22 stable, ok=1, ~15-42 s — 22 est le volume QC réel du nouveau board (126 postes monde, re-mesuré ×2 en connecteur et en urllib nu ; la médiane 50 datait du board Workday d'avant la purge de migration), fiches complètes : 22/22 ville+type+date+description, 15/22 salaire (les stages n'en publient pas), work_mode 5/22 (≈ 20 % historique). sources.json : careers_url → jobs.autodesk.com/careers, connector → eightfold, url vide → autodesk.com (même artefact que les vagues précédentes). Fiches docs/connecteurs/ autodesk.md + ats-workday.md + ats-eightfold.md (nouvelle) + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1129 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
Files · 17cb5feb00ad7368d32b6f3c8d5eaf875694f295
Menu

Theme