SPB Git forge

spb/job-ka

Public
229commits 1branches 0releases
38.1 MBsize
maindefault branch
7 h agolast push
HTML 82.1% Python 14.6% TypeScript 1.9% CSS 1% JavaScript 0.5%

History of jobka/connectors/base.py · clear filter

  1. Wed, Sep 16, 2026 1

  2. Wed, Sep 9, 2026 1

    1. [ka6] fix connecteur sante_montreal: Radware étendu au domaine personnalisé post-maintenance Njoyn — bascule Scrapfly + sessions Scrapfly pour la pagination
      …
      Depuis la maintenance Njoyn du 2026-09-05→07, Radware Bot Manager couvre aussi
      emplois.santemontreal.qc.ca (avant : seulement *.njoyn.com). Chronologie des
      syncs : 731 offres (08/09 14h32) → 50 (POST de pagination rejeté) → 0 (page
      liste bloquée). La page « Radware Block Page » embarque l'URL Xweb.asp dans ses
      paramètres et passait le garde-fou de _fetch_listing → faux « 0 offre, ok ».
      
      - sante_montreal.py : USE_SCRAPFLY = True (pattern des 10 autres tenants Njoyn)
      - njoyn.py : détection _RADWARE_RE (Radware Block Page/shieldsquare/perfdrive)
        dans _html avec bascule Scrapfly pour tout le reste du sync ; sessions
        Scrapfly (_sf_session) partagées entre GET liste / POST pagination / détails
        — sans session le tbtoken (lié aux cookies ASP du GET) est rejeté en
        400 Bad Request au POST ; casse Xweb.asp forcée sur l'action du formulaire
        (gotcha 2026-09-02)
      - base.py : kwarg optionnel session sur scrapfly()/get_scrapfly()
        (session + session_sticky_proxy), rétrocompatible
      
      Sync rejoué : 726 offres (médiane historique ~706), removed=16 offres
      dépubliées pendant la panne. pm2 restart job-ka-sync OK, site 200.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 15 days ago · 1 file +14 −4
  3. Thu, Aug 27, 2026 1

  4. Wed, Aug 26, 2026 1

  5. Sun, Aug 23, 2026 1

    1. taleo_tbe: secours og:title (retrait du JSON-LD par la plateforme) + fenêtre syncs_since_h
      …
      - Taleo TBE a retiré le JSON-LD JobPosting de requisition.jsp : les offres
        sans cache de détail étaient toutes différées par le filtre Québec →
        kruger publiait 0 offre depuis des jours (72 items RSS). Secours : lieu
        extrait du og:title (« … – Ville, RÉGION, PAYS »). Kruger retrouve 54
        offres QC ; sepaq/hec/exo tenaient encore grâce à leurs caches.
      - base.detail() : ne met plus en cache les payloads vides ({} cadenassé par
        clé stable = connecteur gelé) ; 89 caches vides purgés de la base.
      - /api/stats : paramètre optionnel syncs_since_h pour la supervision api-ka
        (fenêtre complète du sync_log au lieu des 20 dernières entrées).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +7 −3
  6. Sat, Aug 22, 2026 1

    1. connecteurs: chaine de fetch anti-bot resiliente (Oxylabs->Scrapfly->Bright Data)
      …
      Auto-escalade de BaseConnector.get() sur blocage (403/429/503/challenge CF)
      ou coupure reseau, via connectors/_resilient.py. Cles lues de l env avec repli
      sur ~/.claude/.env (accepte SCRAPFLY_KEY et SCRAPFLY_API_KEY). Reponse
      compatible requests.Response; coupe-circuit par hote. Aucun connecteur modifie.
      
      Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +68
  7. Wed, Aug 19, 2026 1

  8. Mon, Aug 17, 2026 1

    1. Fondation Job·Ka : socle backend, 5 connecteurs pilotes, frontend, tests
      …
      - Schéma JobPosting + normalisation (salaires $/h↔$/an, dates ISO, villes
        canoniques, catégories) — 25 tests unitaires
      - Pipeline hérité de Lou·Ka : diff par content_hash, délai de grâce,
        anti-dérive, expiration sur date limite, dédup union-find, géocodage
        Nominatim + Adresses Québec avec cache
      - Plateformes ATS : Workday (facette Québec auto-découverte), Lever,
        Greenhouse, SmartRecruiters — connecteurs pilotes CAE, Desjardins, Poka,
        Mistplay, Ubisoft (442 offres QC)
      - API FastAPI (/api/jobs, geojson, facets, sources, stats, /health) +
        frontend React/Vite (liste, fiche, carte MapLibre, stats)
      - Fixtures HTTP enregistrées/rejouées hors ligne + hook pre-commit
        d'en-tête d'auteur (section 17)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +150