# Job·Ka — Registre de conformité des sources > **Dates de vérification : 2026-08-18 (socle) et 2026-08-19 (phase 3 — > nouvelles sources)**, vérifié dans le code, la base live et le frontend. > Détail par source : [`docs/connecteurs/INDEX.md`](connecteurs/INDEX.md). ## Principes vérifiés (2026-08-18) - **L'app renvoie toujours vers l'offre originale.** Chaque offre conserve son URL source (`jobs.url`) ; le bouton « Postuler chez {employeur} » du frontend (`frontend/src/pages/Job.tsx`) ouvre `job.url` dans un nouvel onglet. Il n'existe **aucun formulaire de candidature** dans Job·Ka. - **Aucune donnée personnelle de candidat n'est collectée** : pas de CV, pas de profil candidat, pas de suivi de candidature. Le seul champ de contact stocké est le **courriel d'affaires** fourni volontairement par un employeur qui dépose une offre (`depot-direct`, `details.contact_email`). - **Identification honnête** : User-Agent `JobKaBot/1.0 (+https://www.job-ka.com; contact@spboucher.ai)` sur les accès directs ; throttling par source (`request_delay`) et budgets de requêtes/pages détail par synchronisation ; cache BD des pages détail. - **Fidélité** : aucune valeur inventée (salaire, date, coordonnées) ; les offres retirées sont désactivées, jamais falsifiées. ## Tableau par famille de sources | Famille | Sources | Base d'accès | Attribution / lien candidature | Données personnelles | Vérifié | |---|---|---|---|---|---| | **Employeurs directs — ATS** (workday, lever, greenhouse, smartrecruiters, bamboohr, breezy, recruitee, ashby, workable, taleo, njoyn, ultipro, icims, successfactors, adp, digitalrecruiters, workland) | 217 employeurs, 17 plateformes | **API JSON publique du tenant ATS** (ou HTML rendu serveur du babillard officiel) — le flux même que la page carrière de l'employeur utilise pour diffuser ses offres, sans authentification. Quelques domaines derrière anti-bot (ex. `*.njoyn.com`) lus via Scrapfly, sur pages strictement publiques. | Employeur affiché, badge « Offre directe », lien « Postuler » → page de l'offre **chez l'employeur** | Aucune | 2026-08-18 | | **Portail — Guichet-Emplois** (`guichet_emplois`) | 1 | Scraping de pages **publiques** (guichetemplois.gc.ca, gouv. du Canada), fenêtre bornée. `robots.txt` respecté : **Crawl-delay 5 s appliqué** (`request_delay = 5.0`). | Lien vers la fiche Guichet-Emplois, qui référence l'offre originale ; pas de badge « directe » ; masquée si l'offre directe existe (dédup direct-prioritaire) | Aucune | 2026-08-18 | | **Portail — Jobillico** (`jobillico`) | 1 | **Sitemaps publics** (`sitemap_job_postings_*.xml`) + **JSON-LD schema.org/JobPosting** publié par chaque page offre à destination des moteurs. robots.txt respecté, budgets par sync. | Lien vers l'offre originale sur Jobillico ; pas de badge « directe » ; dédup direct-prioritaire | Aucune | 2026-08-18 | | **Portail — Espresso-Jobs** (`espresso_jobs`) | 1 | Pages publiques + **JSON-LD schema.org** (ItemList + JobPosting). robots.txt respecté, budgets par sync. | Lien vers l'offre originale sur le portail ; pas de badge « directe » ; dédup direct-prioritaire | Aucune | 2026-08-18 | | **Dépôt direct employeurs** (`depot-direct`) | 1 canal | Soumission **volontaire** par l'employeur (`POST /api/employeurs/offres`), stockée inactive jusqu'à **modération manuelle** ; pot de miel anti-robots. | Lien fourni par l'employeur lui-même | Courriel d'affaires de contact seulement (fourni volontairement) | 2026-08-18 | ## Nouvelles familles et sources — phase 3 (2026-08-19) | Famille / source | Sources | Base d'accès (robots/CGU lus le 2026-08-19) | Fréquence & politesse | Décision | |---|---|---|---|---| | **Taleo Business Edition** (`taleo_tbe` — Sépaq, exo, HEC ×2, Kruger, Produits Kruger) | 6 | **Flux RSS public** `…/ats/servlet/Rss?org=&cws=` (publié par l'ATS pour la diffusion) + JSON-LD schema.org/JobPosting des pages `requisition.jsp` (données destinées aux moteurs). robots.txt tbe.taleo.net : pas d'interdiction des chemins carrières publics. | 1 req/s, budget détail 60/cycle (cache BD) | Connecté — offres publiques, lien direct employeur | | **WordPress + WP Job Manager** (`wpjobmanager` — plateforme **carrieresante.gouv.qc.ca** de Santé Québec : CHU de Québec, CHUM, CISSS AT / Chaudière-Appalaches / Laval, + viensvivretespassions.ca Outaouais) | 6 | **Flux RSS `job_feed` natif de WP Job Manager** (contenu complet publié pour syndication) + JSON-LD JobPosting des pages poste. Sites publics du gouvernement du Québec destinés à la diffusion des offres. | 1 req/s, 1 requête liste/cycle + détails budgetés | Connecté | | **Workland / Atlas — réseau** (`atlas_workland`, ~80 employeurs QC : CSS scolaires, cégeps, établissements Santé Québec, STQ, UQTR, INRS…) | 1 connecteur réseau | **API JSON publique du frontal** (`jobs-prod.workland.com/api/v1/job/published-external` + `default-profiles`) — celle que la SPA publique atlas.workland.com consomme sans authentification ; offres « publiées à l'externe » uniquement. | **2 requêtes par cycle** pour tout le réseau (politesse maximale) | Connecté — remplace les grattages unitaires (cssdm/uqam/cssvt) | | **SuccessFactors CSB** — ajouts (`hydroquebec`, `deloitte`) | +2 | Sitemap RSS public du site carrières officiel (comme bombardier/cascades/domtar) | 1 req/s, budget détail | Connecté | | **UKG Pro Recruiting** — instance canadienne (`fruitdor`, `nortera` sur recruiting.ultipro.**ca**) | +2 | API JSON publique du frontal (`LoadSearchResults`), famille existante paramétrée pour l'hôte canadien | 0,8 req/s | Connecté | | **Njoyn** — ajout (`cgi`) + pagination générale | +1 | Babillard public ; domaine `cgi.njoyn.com` derrière Radware → **Scrapfly** (pages strictement publiques, précédent njoyn documenté). Pagination = rejeu du **formulaire de recherche public** (`Inp_ItemsPerPage`/`pn`). | 6 pages liste + **12 détails max/cycle** (frugalité Scrapfly) ; filtre Québec sur le babillard mondial | Connecté | | **iCIMS** — ajout (`mackenzie`) | +1 | Portail iCIMS public (famille existante) | 1 req/s | Connecté | | **ADP WFN** — ajouts (`cultures_genv`, `bento_sushi`, `osgoode_properties`) | +3 | API JSON publique du centre de carrières (famille existante) | 1 req/s | Connecté | | **Cegid Digital Recruiters** — ajout (`cssdd`) | +1 | Sitemap + JSON-LD (famille existante) | 0,8 req/s | Connecté | | **Site maison Lassonde** (`lassonde`, réparation) | 1 | Pages publiques rendues serveur de lassonde.com/fr/emplois (l'ADP WFN de Lassonde ne sert plus que les postes américains) | 1 req/s, budget détail 40 | Reconnecté | > **Base légale d'usage des API ATS publiques** : chaque famille consomme le > point d'accès que l'employeur publie lui-même (flux RSS/sitemap destiné aux > moteurs, ou API JSON servie sans authentification au navigateur de tout > visiteur de sa page carrières). Job·Ka ne rediffuse que des **données > publiques d'offres d'emploi**, avec lien direct vers la source et sans > capter de candidature. ### Guichet-Emplois / Job Bank — flux officiel (volet D, documenté 2026-08-19) - L'ancienne page libre-service « Data feeds / Flux de données » de Job Bank (jobbank.gc.ca/datafeeds, guichetemplois.gc.ca/flux-de-donnees) **n'existe plus** (404 vérifié 2026-08-19) ; aucun jeu « offres actives » sur ouvert.canada.ca. - **Démarche pour un accès officiel** (non entamée — exige une identité humaine/organisationnelle) : formulaire « Aide et soutien » `https://www.guichetemplois.gc.ca/aidesoutien` → demande écrite d'accès au **flux de données pour diffuseurs partenaires**, en décrivant Job·Ka (agrégateur QC, lien direct vers l'offre originale, aucune candidature captée). Historiquement, ce programme exige la signature d'une **entente de diffusion** avec EDSC (délai : quelques semaines). - En attendant : **scraping poli maintenu** (Crawl-delay 5 s de robots.txt respecté, fenêtre bornée, retries espacés 25 s) — inchangé. ## Sources écartées | Source | Raison | |---|---| | **Québec Emploi** (quebecemploi.gouv.qc.ca) | Accès derrière **authentification clicSÉQUR** — pas de flux public prévu pour la diffusion ; écarté (2026-08-18). | | **Canada Vie** (career5.successfactors.eu / careers.canadalife.com) | Portail SuccessFactors **héritage** (career5, session requise) + site AEM sans sitemap d'offres ; aucun flux public simple (2026-08-19). | | **Groupe Dynamite** (careers.groupedynamite.com/gdi) | Portail iCIMS nouvelle génération rendu par JS ; le babillard iframe hérité (`frcareers-groupedynamite.icims.com`) est **vide** (2026-08-19). | | **Jack Astor's / SIR Corp** (careersen-sircorp.icims.com) | Babillard fonctionnel mais **0 offre au Québec** (recherches lieu et mot-clé, 2026-08-19). | | **Méchant Bœuf** (mechantboeuf.com) | Plus aucun babillard UKG visible sur le site (détection 2026-08-18 périmée). | | **Université TÉLUQ** (phh01 TBE org=TELUQ) | Tenant Taleo Business Edition **fermé** (« Come Back Soon », 2026-08-19). | | **Valero — raffinerie Jean-Gaulin** (valero.taleo.net) | Portail Taleo joignable mais **0 offre** (totalCount=0, 2026-08-19) — confirme le retrait antérieur du connecteur. | | **Produits forestiers Résolu** (pfresolu.com) | Domaine carrières disparu ; employeur intégré à **Domtar** (déjà connecté via jobs.domtar.com) après la fusion. | | **Power Corporation (directe)** | Page carrières 404 ; le groupe recrute via ses filiales (Mackenzie **connectée**). | | **Deloitte via Taleo (dttit)** | Détection périmée (section Grèce) — remplacée par le site SuccessFactors `careers.deloitte.ca` (**connecté**). | | **TTC Global** (`ttcglobal`, retiré) | Board Greenhouse actif mais plus aucune offre au Québec (2 offres : Dallas, Londres) — connecteur retiré (2026-08-19). | | **CGI via site cgi.com** | Le moteur carrières de cgi.com est propriétaire (JS) — on passe par son babillard **Njoyn** public (connecté ci-dessus). | | **STL, RTC, Ville de Terrebonne, CIUSSS Est-de-l'Île, CAPREIT, MSI, Agnico Eagle, Cascades, Domtar, Bell Textron, HEC (détections)** | Entrées `detected-other-ats.jsonl` **déjà connectées** avant la phase 3 — détections périmées, aucun doublon créé. | ## Rappels d'exploitation - La déduplication inter-sources donne **toujours la canonique à l'offre directe** (`jobka/dedup.py`, `AGGREGATORS`) : la copie portail est masquée (`dup_of`), jamais supprimée. - Toute nouvelle source doit être ajoutée à ce registre **avec sa base d'accès et sa date de vérification**, et recevoir une fiche via `scripts/gen_connector_docs.py`.