HTML 82.1%
Python 14.6%
TypeScript 1.9%
CSS 1%
JavaScript 0.5%
1<!--2=============================================================================3Job·Ka — Groupe KA4Auteur : Simon-Pierre Boucher5Contact : contact@spboucher.ai6Fichier : docs/connecteurs/ats-breezy.md7Rôle : Fiche plateforme ATS breezy — mécanique partagée + tableau des 72 tenants8Généré : 2026-09-21 18:06 EDT par scripts/gen_connector_docs.py — NE PAS ÉDITER,9 relancer le script pour régénérer.10=============================================================================11-->1213# Plateforme ATS `breezy`1415**72 employeurs connectés** via cette plateforme — **393 offres actives**. Module partagé : `jobka/connectors/breezy.py` ; un employeur = une sous-classe d'environ 10 lignes.1617## Description & mécanique1819> Plateforme Breezy HR.20>21> API publique : GET https://<org>.breezy.hr/json?verbose=true22> -> liste de {id, friendly_id, name(titre), url(lien direct),23> type:{id:"fullTime", name:"Temps plein"}, department,24> location:{country:{id}, state:{id:"QC", name:"Quebec"}, city},25> published_date(ISO), salary, description(HTML — seulement avec verbose)}.26>27> Le filtre le plus fiable est location.state.id == "QC". Une seule requête.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.3536## Tenants connectés3738| Employeur | Actives | Salaire | GPS | Mode | Dernier sync | OK |39|---|---|---|---|---|---|---|40| [HIKINEX](recruiting.md) | 85 | 0 % | 100 % | 78 % | 2026-09-21 17:29 | ✅ |41| [Brand Momentum](brandmomentum.md) | 33 | 61 % | 100 % | 0 % | 2026-09-21 16:40 | ✅ |42| [Progesys](progesys_inc.md) | 25 | 4 % | 96 % | 4 % | 2026-09-21 17:27 | ✅ |43| [EQ3](eq3_ltd.md) | 16 | 56 % | 94 % | 0 % | 2026-09-21 16:56 | ✅ |44| [Réseau Mieux-Être](reseau_mieux_etre.md) | 16 | 0 % | 100 % | 6 % | 2026-09-21 17:30 | ✅ |45| [NOVIPRO](novipro.md) | 15 | 0 % | 100 % | 27 % | 2026-09-21 17:25 | ✅ |46| [Lindt & Sprüngli Canada](lindt_sprunglicanada.md) | 14 | 0 % | 93 % | 0 % | 2026-09-21 17:21 | ✅ |47| [Wealthy Group of Companies LLC](wealthy_recruiting.md) | 14 | 100 % | 93 % | 0 % | 2026-09-21 17:43 | ✅ |48| [MicroHabitat](microhabitat.md) | 13 | 100 % | 100 % | 38 % | 2026-09-21 17:23 | ✅ |49| [ADI - Albert Davidson Industries](adi_albert_davidson_industries.md) | 10 | 100 % | 100 % | 10 % | 2026-09-21 16:34 | ✅ |50| [Luqia (INO)](ino_ca.md) | 10 | 0 % | 100 % | 0 % | 2026-09-21 17:12 | ✅ |51| [3 Brasseurs Canada](trois_brasseurs.md) | 10 | 70 % | 100 % | 100 % | 2026-09-21 17:38 | ✅ |52| [BellatRx](bellatrx_inc.md) | 10 | 0 % | 100 % | 10 % | 2026-09-21 16:39 | ✅ |53| [Merchandising Consultants Associates](merchandising_consultants_associates.md) | 10 | 100 % | 100 % | 100 % | 2026-09-21 17:23 | ✅ |54| [Technica Mining](technica_mining.md) | 10 | 0 % | 10 % | 0 % | 2026-09-21 17:37 | ✅ |55| [Nora Pharma](nora_pharma.md) | 8 | 100 % | 88 % | 0 % | 2026-09-21 17:24 | ✅ |56| [Prep Academy Tutors](prep_academy_tutors.md) | 8 | 100 % | 100 % | 25 % | 2026-09-21 17:27 | ✅ |57| [ThirdChannel](thirdchannel_inc.md) | 8 | 100 % | 100 % | 0 % | 2026-09-21 17:38 | ✅ |58| [TEN Canada (Transportation Equipment Network)](ten_canada.md) | 6 | 17 % | 67 % | 0 % | 2026-09-21 17:37 | ✅ |59| [Alphanumeric Systems](alphanumeric_systems.md) | 5 | 100 % | 100 % | 40 % | 2026-09-21 16:36 | ✅ |60| [New York Holdings](new_york_holdings.md) | 5 | 20 % | 100 % | 80 % | 2026-09-21 17:24 | ✅ |61| [VOXDATA](voxdata.md) | 4 | 100 % | 100 % | 100 % | 2026-09-21 17:41 | ✅ |62| [Jay Analytix](jay_analytix.md) | 4 | 0 % | 100 % | 50 % | 2026-09-21 17:13 | ✅ |63| [Norbert Health](norbert_health.md) | 4 | 0 % | 100 % | 0 % | 2026-09-21 17:24 | ✅ |64| [Spiegel Ryan S.E.N.C.R.L.](spiegel_sohmer.md) | 4 | 0 % | 100 % | 25 % | 2026-09-21 17:34 | ✅ |65| [BDL Énergie](bdl_energie.md) | 3 | 33 % | 0 % | 0 % | 2026-09-21 16:39 | ✅ |66| [Black & McDonald](black_mcdonald_francais.md) | 3 | 0 % | 67 % | 0 % | 2026-09-21 16:39 | ✅ |67| [Turbulent](turbulent.md) | 3 | 0 % | 67 % | 0 % | 2026-09-21 17:38 | ✅ |68| [Adoc Talent Management](adoc_tm.md) | 3 | 0 % | 100 % | 33 % | 2026-09-21 16:34 | ✅ |69| [Groupe Unigesco](groupe_unigesco.md) | 3 | 67 % | 100 % | 33 % | 2026-09-21 17:01 | ✅ |70| [Vaporus](vaporus_inc.md) | 2 | 100 % | 50 % | 0 % | 2026-09-21 17:40 | ✅ |71| [Sense Ingénierie](sense_engineering.md) | 2 | 0 % | 100 % | 100 % | 2026-09-21 17:32 | ✅ |72| [Canada Global Recruitment](canada_global.md) | 1 | 0 % | 0 % | 0 % | 2026-09-21 16:41 | ✅ |73| [YouSet](youset.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 17:44 | ✅ |74| [Panda7](panda7.md) | 1 | 100 % | 100 % | 100 % | 2026-09-21 17:27 | ✅ |75| [TELUS Santé — Cliniques](telus_health_7fe6b0fe8614.md) | 1 | 100 % | 0 % | 0 % | 2026-09-21 17:37 | ✅ |76| [1perTInent](x1pertinent.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 17:44 | ✅ |77| [Above Flights](above_flights.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 16:34 | ✅ |78| [AC780](ac780.md) | 1 | 0 % | 100 % | 0 % | 2026-09-21 16:34 | ✅ |79| [MOKO](africa_moko.md) | 1 | 0 % | 100 % | 0 % | 2026-09-21 16:35 | ✅ |80| [Agence](agence_carrieres.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 16:35 | ✅ |81| [Bliinx](bliinx.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 16:39 | ✅ |82| [Bon Poste](bon_poste.md) | 1 | 0 % | 100 % | 0 % | 2026-09-21 16:40 | ✅ |83| [BoxKnight](boxknight.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 16:40 | ✅ |84| [Canada-Explorers](canada_explorers.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 16:41 | ✅ |85| [Endossed](endossed.md) | 1 | 100 % | 100 % | 100 % | 2026-09-21 16:56 | ✅ |86| [Eranum Solutions Numériques](eranum.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 16:56 | ✅ |87| [Fundica](fundica.md) | 1 | 0 % | 100 % | 0 % | 2026-09-21 16:58 | ✅ |88| [Km Impact](km_impact.md) | 1 | 100 % | 100 % | 100 % | 2026-09-21 17:20 | ✅ |89| [Myle Home Service](myle_service.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 17:24 | ✅ |90| [Next Generation Inc](next_generation_inc.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 17:24 | ✅ |91| [Octav](octav.md) | 1 | 100 % | 100 % | 100 % | 2026-09-21 17:26 | ✅ |92| [PeopleConnect Inc](peopleconnect_inc.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 17:27 | ✅ |93| [Postmedia Distribution Solutions](postmediadistributionsolutions.md) | 1 | 100 % | 100 % | 0 % | 2026-09-21 17:27 | ✅ |94| [Shearwater Aerospace](shearwater_aerospace.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 17:32 | ✅ |95| [SportWhere](sportwhere.md) | 1 | 0 % | 100 % | 0 % | 2026-09-21 17:35 | ✅ |96| [Urbania](urbania.md) | 1 | 0 % | 100 % | 0 % | 2026-09-21 17:39 | ✅ |97| [Valital Technologies](valital_technologies.md) | 1 | 0 % | 100 % | 100 % | 2026-09-21 17:39 | ✅ |98| [Volume7](volume7.md) | 1 | 100 % | 100 % | 100 % | 2026-09-21 17:41 | ✅ |99| [4th Day Trucking](x4th_day_trucking.md) | 0 | — | — | — | 2026-09-21 17:44 | ✅ |100| [DropGenie](drop_genie.md) | 0 | — | — | — | 2026-09-21 16:53 | ✅ |101| [Family Resource Home Care](family_resource_home_care.md) | 0 | — | — | — | 2026-09-21 16:57 | ✅ |102| [Gastro Health](gastro_health.md) | 0 | — | — | — | 2026-09-21 16:58 | ✅ |103| [H & S Loss Control Inspections](h_s_loss_control_inspections_in.md) | 0 | — | — | — | 2026-09-21 17:08 | ✅ |104| [Hera AI](hera.md) | 0 | — | — | — | 2026-09-21 17:09 | ✅ |105| [Insite Property Solutions](insite_property_solutions.md) | 0 | — | — | — | 2026-09-21 17:12 | ✅ |106| [Paythings](paythings_19f14e354a62.md) | 0 | — | — | — | 2026-09-21 17:27 | ✅ |107| [Ridepanda](ridepanda.md) | 0 | — | — | — | 2026-09-21 17:30 | ✅ |108| [SRS Merchandising](srs_merchandising.md) | 0 | — | — | — | 2026-09-21 17:35 | ✅ |109| [Trueline](trueline.md) | 0 | — | — | — | 2026-09-21 17:38 | ✅ |110| [VA Desk](vadesk.md) | 0 | — | — | — | 2026-09-21 17:39 | ✅ |111| [Wyze Labs](wyze_labs.md) | 0 | — | — | — | 2026-09-21 17:44 | ✅ |112113## Licence / conformité114115**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.116117## Historique118119**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 :120- `fd4bfc8` qualité lieux : rejet des villes hors Québec, bâtiments McGill → Montréal ;121- `5a66f48` +59 employeurs (sondage massif d'ATS + détection de pages carrières) ;122- `4917d57` 8 nouveaux ATS (Taleo, Njoyn, UltiPro, iCIMS, SuccessFactors, ADP WFN, Digital Recruiters, Workland) + 23 employeurs publics/parapublics ;123- `f6e7571` portails Guichet-Emplois, Jobillico, Espresso-Jobs — l'offre directe gagne toujours la canonique (dédup) ;124- `744cbfc` badge « Offre directe », stats directes/portails, dépôt direct employeurs ;125- `1604ff9` reprise sur coupure WAF Guichet-Emplois (retry + acquis partiel).126127Commits touchant `jobka/connectors/breezy.py` :128129- `c4bfc7b` 2026-08-27 [ka6] fix connecteur x4th_day_trucking: employeur de camionnage AMÉRICAIN (4th Day Trucking) — les 182 postings du board Breezy sont tous aux É.-U. (VA, OH, TX, CA…), zéro Québec. L'unique offre captée (CDL A LOCAL TRUCK DRIVING POSITION Grocery ACCOUNT!, 163eb419c625, East Granby) était un faux positif: East Granby, CONNECTICUT — « Granby » (ville d'Estrie, _QC_CITIES) matchait dans le libellé, même famille que usamechasp b387be9, MAIS la variante Breezy échappe au fix f4038e4 parce que _keep passe le nom d'État COMPLET (« East Granby, Connecticut ») alors que _NON_QC_REGION_RE ne couvre que les codes (« CT »). Le passage 1→0 du 2026-08-27 vient de la dépublication de cette offre à la source (absente des 182 postings actuels) — volume 0 légitime, médiane 0.5 < DRIFT_MIN_BASE=8. Durcissement minimal: BreezyConnector._keep rejette désormais tout posting dont location.country.id est présent et != CA (donnée autoritaire de l'API Breezy, avant l'heuristique texte); pays absent → heuristique inchangée. Vérifié sans régression sur 5 boards QC légitimes (novipro 16, progesys_inc 25, brandmomentum 36, microhabitat 13, bellatrx_inc 14 — 104/104 postings retenus portent country.id=CA, volumes identiques avant/après). Purge par le mécanisme normal: sync isolé rejoué → miss_count=2 → active=0 (found=0, removed=1, statut ok). Test final: fetch réel = 182 bruts, 0 retenus = comportement correct. Note de contexte ajoutée au connecteur. pm2 restart job-ka-sync OK, site 200.130- `49067dd` 2026-08-19 Connecteurs phase 2 — correctifs et enrichissement champ par champ. Correctifs : villes SuccessFactors à trait d'union (préfixe municipal MAMH sur le slug, bogue « St »/« Pointe »), colonne date Taleo = date LIMITE chez agnico_eagle (+ garde-fou date future). Enrichissement : SmartRecruiters experienceLevel/function/industry/language/refNumber (lignes de liste, zéro requête), BambooHR locationType→work_mode, Breezy is_remote/logo_url/streetAddress, JSON-LD logo/industry/educationRequirements/skills (portails+icims+DR), Ashby applyUrl + composantes Bonus/Equity/Commission, Lever applyUrl + blocs opening/additional + allLocations, Workable application_url + function/industry, Recruitee careers_apply_url + description FR (translations) + expérience/scolarité + heures/sem, Greenhouse language + requisition_id, Workday externalUrl→apply_url + work_mode via facette Remote Type + clé cache v2, Guichet-Emplois avantages structurés + langue de travail, njoyn apply_url en colonne ; secours cache périmé quand le budget détail est épuisé (plus de fiches vidées)131- `4657429` 2026-08-17 Création massive : 135 connecteurs employeurs québécois sur 9 plateformes ATS132