Search
Results for “location”
Index built 5 h ago · 190 repositories · 92,201 paths
Repositories 2
Files 20
- src/lib/cost/seed/locations.ts
- src/lib/cost/seed/locations.ts
- docs/connecteurs/location_di.md
- docs/connecteurs/location_sb.md
- louka/connectors/location_di.py
- louka/connectors/location_sb.py
- reports/connectors/location_di.md
- docs/connecteurs/location_saguenay.md
- louka/connectors/location_saguenay.py
- reports/connectors/location_saguenay.md
- reports/sources-entries/location_di.json
- reports/sources-entries/location_sb.json
- apps/lou/louka/connectors/location_di.py
- KA/Features/Trajet/LocationManager.swift
- reports/sources-entries/location_saguenay.json
- apps/lou/louka/connectors/location_saguenay.py
- louka/shortterm/connectors/locationdechalets.py
- fixtures/connectors/generic_html/locations.html
- apps/worker/src/connectors/news/locations-lexicon.ts
- fixtures/connectors/generic_html/locations_cookie_noise.html
Commits 17
- [ka6] connecteur poka: stale = faux positif « volume QC nul » (1re intervention), rien à réparer — Poka a dépublié sa dernière offre QC (6234417004 « Marketing AI & Analytics Strategist », Montréal) entre 17:50 et 19:12 EST le 2026-11-12 : vert found=1 en continu, puis ok=1 found=0 à 19:12 (missed=1) et 21:42 (removed=1 au garde-fou 2-miss), AUCUNE erreur HTTP — la supervision compte un sync à 0 offre comme non-succès, d'où le stale à médiane 0.5 (profil mémoire stale-volume-zero-faux-positif, même scénario que pokafr le 2026-10-07). La jumelle FR 6234416004 a disparu du board pokafr au même moment (paires EN/FR appariées). Vérifié live : board API 200 avec 4 offres (Atlanta ×2, US, « Canada (East) ») dont AUCUNE au Québec ; détail de l'offre retirée → marqueur Greenhouse de dépublication confirmé (302 → /poka?error=true, idem côté pokafr) ; « Canada (East) » sans province exclue par design (is_quebec_location → False, doctrine « Canada - Remote » 2026-10-07) ; la facette offices du détail (bureaux Québec/Montréal) n'est PAS un signal de lieu — l'offre US-only « Mid-Market Account Executive » les liste aussi (carnet administratif, vérifié sur les 4 offres). Tenant vivant et actif (publications des 3 et 9 novembre), zéro migration d'ATS : le volume 0 est l'état RÉEL de la source, Poka publie par vagues. Sync isolé rejoué à 22:10 : ok=1 found=0 added=0 removed=0 en 1,0 s, base = reflet exact de la source (0 offre active). Aucun code de fetch modifié : docstring chronologie seule dans poka.py. Fiches poka.md/ats-greenhouse.md/INDEX.md régénérées (1131 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Verdict rien_a_faire : le connecteur reverdira seul à la prochaine publication QC.
- [ka6] connecteur financeit: stale = faux positif « volume QC nul » (1re intervention), rien à réparer — Financeit a dépublié ses 2 offres QC (2055703416 « Directeur(trice) régional(e) des ventes » + 4386395923 « Gestionnaire de comptes », paire Québec/T.-N.-L./Maritimes) entre 13:33 et 14:43 EST le 2026-11-12 : vert found=2 en continu, puis ok=1 found=0 à 14:43 (missed=2) et 17:14 (removed=2 au garde-fou 2-miss), AUCUNE erreur HTTP — la supervision compte un sync à 0 offre comme non-succès, d'où le stale à médiane 1.0 (profil mémoire stale-volume-zero-faux-positif). Vérifié live : widget v1 200 name=Financeit, 12 entrées / 10 offres uniques (répétition par location, gotcha jove), toutes Toronto/Calgary/Edmonton, zéro QC ; détail des 2 offres retirées → marqueur Workable de dépublication confirmé (301 → /financeit/j/<id> puis board « Current Openings » + ?not_found=true). Tenant vivant et actif, zéro migration : le volume 0 est l'état RÉEL de la source, le poste régional Québec/Maritimes se republie par vagues. Sync isolé rejoué à 18:08 : ok=1 found=0 added=0 removed=0 en 0,2 s, base = reflet exact de la source (0 offre active). Aucun code de fetch modifié : docstring chronologie seule dans financeit.py. Fiches financeit.md/ats-workable.md/INDEX.md régénérées (1131 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Verdict rien_a_faire : le connecteur reverdira seul à la prochaine publication QC.
- [ka6] connecteur gilead: stale = faux positif « volume QC nul » (3e signalement) + blip 502 ponctuel du frontal Workday, rien à réparer — syncs verts ok=1 found=0 en continu depuis le 2026-09-16 (la supervision compte un sync à 0 offre comme non-succès, d'où « aucun succès depuis 1374 h » avec médiane 0.0), UN seul échec réel le 2026-11-12 13:47 EST : 502 Bad Gateway sur /wday/cxs/gilead après les 3 essais du garde-fou — seul échec Workday de l'app sur 24 h, frères verts = blip isolé du frontal, pas de panne ni maintenance. Vérifié live : cxs 200, board vivant à 436 offres mondiales, searchText Quebec/Montreal → total=0, facette Canada = Edmonton (7) + Mississauga (2) sans aucun nœud Québec, les offres multi-lieux de la recherche « Canada » inspectées une à une au détail cxs (Foster City/La Verne/Edmonton etc., zéro lieu QC caché — leçon rbc). Le tenant ne publie jamais au Québec : 0 offre QC est l'état RÉEL de la source, cohérent avec les re-vérifications des 2026-09-16 et 2026-09-26. Sync isolé rejoué à 14:08 EST : ok=1 found=0 en 32,6 s, sans erreur. Aucun code de fetch modifié, docstring chronologie seulement. Fiches gilead.md/ats-workday.md/INDEX.md régénérées (1131 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Verdict rien_a_faire : le connecteur a déjà reverdi seul à sa rotation (syncs 14:08 vert) et capturera toute future offre QC via le filtre is_quebec_location.
- [ka6] connecteur iamgold: stale = faux positif « volume QC nul » (1re occurrence sur ce tenant, 3e fausse alerte), rien à réparer — IAMGOLD a dépublié progressivement ses 4 offres Westwood (Abitibi) le 2026-11-11 : found=4 stable depuis des jours puis 13:09 EST found=3, 15:44 found=2, 18:58 found=0, tous les syncs verts ok=1 sans erreur HTTP — la supervision compte un sync à 0 offre comme non-succès. Vérifié live : page d'amorce 200 portal=101430233 inchangé, careerSectionUnAvailable=false, searchjobs fr totalCount=0 ; culture en totalCount=1 mais l'unique offre est au « 06 - Cote Gold Mine Site » (Gogama, Ontario, facette LOCATION) donc hors QC même en bi-culture ; pages détail 15472/15540/15537 à description vide (marqueur Taleo de dépublication) ; aucune nouvelle de vente/fermeture de Westwood (Serper), zéro migration d'ATS — le volume 0 est l'état RÉEL de la source, le tenant publie par vagues. Sync isolé rejoué : vert ok=1 found=0 removed=2 en 3,8 s (retrait propre des 2 dernières offres au garde-fou 2-miss), 0 offre active en base = reflet exact de la source ; reverdira seul à la prochaine publication QC. Aucun code de fetch modifié, docstring chronologie seulement. Fiches iamgold.md/ats-taleo.md/INDEX.md régénérées (1131 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Verdict rien_a_faire.
- V9 design (1/2): real self-hosted logos for every asset, network, venue and provider; design system; shell, Home, Assets, Asset, Receive, Send, Activity, Gate, Settings, Security
- [ka6] connecteur poolcorp: stale = faux positif « volume QC nul » (3e épisode), rien à réparer — l'unique offre QC R22282 « Associé d'entrepôt saisonnier/Seasonal Warehouse Associate » (Boucherville, apparue 2026-10-30) dépubliée par POOLCORP entre 16:06 et 17:36 EST le 2026-11-10. Profil connu « ok=1 found=0 médiane ≤1 » : la supervision compte un sync à 0 offre comme non-succès. Chronologie : vert found=1 en continu jusqu'à 16:06, puis ok=1 found=0 dès 17:36 (missed=1), retrait propre au garde-fou 2-miss à 19:22 (removed=1). Vérification live : détail cxs de R22282 → 403 S22 (marqueur Workday documenté « dépublié ») ; board cxs 200 avec 134 offres publiées (« Posted Today ») ; searchText Quebec/Québec/Boucherville/Montreal/Canada → 0 QC ; les 13 offres multi-lieux (« N Locations », leçon rbc c095c66) TOUTES vérifiées au détail cxs : aucun lieu QC/Canada — tenant VIVANT, zéro migration, le volume 0 est CORRECT. Même classe saisonnière que les épisodes 2026-10-02 et 2026-10-29 (industrie de la piscine, seul le centre de Boucherville publie au QC ; le poste saisonnier n'a vécu que 11 jours). Sync isolé rejoué : vert ok=1 found=0 en 8,8 s, 0 offre active en base = reflet exact de la source ; reverdira seul à la prochaine publication QC. Aucun code de fetch modifié, docstring chronologie seulement. Fiches poolcorp.md/ats-workday.md/INDEX.md régénérées (1131 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
- N2: field-level grounding audit of all 308,065 mentions (years, locations, partners, amounts), fallback bounds, amount tail
- [ka2] fix connecteur summum: migration du portail — Building Stack (location.summumpm.com) → Eversa (rental.summumpm.com). Au sync de 15:36 le connecteur rapportait found=0 « ok » (dérive détectée, retraits suspendus) : location.summumpm.com redirige désormais TOUT en 302 vers app.buildingstack.com (le portail jumeau edifialocation.com, lui, répond encore — c'est bien Summum qui a migré, lien « rental.summumpm.com/listings/list » sur summumpm.com). Le nouveau portail est une app Eversa (React Router « turbo-stream »), exactement le gabarit de gestion_cem : réécriture sur le patron gestion_cem.py (dont on importe _decode/_num/_unit_type) — /fr/listings/list.data (45 cartes immeuble) puis /fr/listings/<slug>/details.data par immeuble (units[] listed=true, via cache BD detail, clé = prix/dispo/compteur de la carte ; la fiche LÈVE si `listing` absent pour ne jamais empoisonner le cache). external_id = slug-uuid de l'UNITÉ (granularité inchangée, mais ids nécessairement neufs : les ApartmentId Building Stack n'existent plus → 75 ajouts, les 40 anciens partent en miss_count). Nouveautés : secteur (quartier, 56/75), pi² bornés 80-20000 (le portail publie des area=0/1 bidons), images Supabase préfixées BASE. Volume : le nouveau portail publie plus d'inventaire → 75 unités vs ~40 (Montréal 69, Blainville 2, Granby 2, Saint-Calixte 1, Longueuil 1 ; 695-2 589 $, 100 % prix/images, GPS 70/75). robots.txt : Crawl-delay 10 → request_delay = 10 s (patron halfred). Garde-fous : erreur franche si payload sans `listings` ou si cartes présentes mais 0 parsée. sources.json : URLs migrées vers rental.summumpm.com, secteurs mis à jour. Fixture ré-enregistrée (46 requêtes, 75 annonces), pytest summum 2 passed. Testé : fetch() venv → 75 unités, run.py sync summum → found=75 ok (added=75, removed=0, missed=40, 2,4 s) vs médiane 40, pm2 restart lou-ka-sync, site :8095 → 200.
- [ka2] fix connecteur logispro_mauricie: refonte du site — thème Elementor « adncommunication », migration sur l'API REST WP. Au sync de 12:18 le connecteur rapportait found=0 « ok » (dérive détectée, retraits suspendus) : logispro.ca a été entièrement refait — /appartements-a-louer/ (cartes div.apartments-item que l'ancien parseur lisait) redirige 301 vers /locations/, nouveau gabarit Elementor sans aucun des anciens sélecteurs. Réécriture complète sur l'API REST WordPress : les logements sont des posts CPT « location » (/wp-json/wp/v2/location, ACF exposé) — prix numérique + prix promo (le plus bas affiché, ex. « 1495 $ / mois (promo, prix régulier 1725 $) »), adresse géocodée + GPS (100 %), chambres/salles de bain/superficie/étage, galerie d'IDs médias résolus via /wp-json/wp/v2/media (requête groupée, avec cache BD detail invalidé par la date `modified` du post — et qui LÈVE sur hoquet HTTP pour ne jamais empoisonner le cache avec une galerie vide), taxonomies disponibilité/ville-secteur/dimension/caractéristiques/stationnement/proximité. external_id = slug (inchangé comme schéma : 10 des 12 anciennes annonces ont matché → updated=10, zéro churn inutile). Volume : le nouveau site publie TOUT l'inventaire à louer (dispo immédiate ET à venir) → ~69 unités vs ~12 avant la refonte (5 villes : Trois-Rivières 38, Bécancour 14, Shawinigan 11, Grandes-Piles 4, Nicolet 2). Garde-fous : échec franc si la requête page 1 échoue (pas de faux zéro) et si des posts existent mais 0 parsé (structure ACF changée). sources.json : listing_url migrée vers /locations/, secteurs mis à jour. Fixture enregistrée (75 requêtes, 69 annonces), pytest logispro_mauricie 2 passed. Testé : fetch() venv → 69 unités (775-1 745 $, 100 % prix/images/GPS, 31 promos), run.py sync logispro_mauricie → found=69 ok (added=59, updated=10, removed=0, 8,3 s) vs médiane 12, pm2 restart lou-ka-sync, site :8095 → 200.
- [ka2] fix connecteur gestion_isr: la table listings passée derrière RLS — lecture dynamique de LISTINGS_URL (vue listings_public) + retry anti-timeout. Depuis le run du 2026-10-20 15:03 le connecteur rapportait found=0 « ok » (alerte dérive, retraits suspendus) : le portail location.gestion-isr.com a migré ses annonces publiques vers la VUE expurgée /rest/v1/listings_public (migration 145-listings-vue-publique.sql visible dans le JS inline) et l'ancienne table /rest/v1/listings renvoie désormais 200 [] à la clé anon (RLS) — zéro silencieux classique. Fix : le connecteur lit maintenant le chemin REST dans la const LISTINGS_URL du HTML du portail (même philosophie que l'URL/clé Supabase déjà lues dynamiquement — se répare seul au prochain renommage), erreur FRANCHE si la const disparaît. Piège rencontré en route : la vue est coûteuse côté Postgres — « canceling statement due to statement timeout » (57014 → 500) sur 2 runs sur 4 → retry ×3 (pause 4 s/8 s, pattern solaris 8eff094), même URL (timeout serveur, pas un cache). Schéma de la vue identique à l'ancienne table pour tous les champs consommés (pk, id_app, titre, id, loyer, adresse_geo, units, photos…) : _parse_row inchangé, external_id stables. Fixture ré-enregistrée (2 requêtes, 20 annonces), pytest gestion_isr 2 passed. Testé : fetch() venv → 20 annonces (médiane 20 ; 21 lignes dans la vue, 1 exclue par les filtres), run.py sync gestion_isr → found=20 ok (updated=1, 2,5 s), pm2 restart lou-ka-sync, site :8095 → 200.
- [ka6] fix connecteur artisacreations.ca: 2e application du garde-fou ShopifyConnector._domain_parked, restauration par checkout du commit validé a115565 (la 1re, a115565 du 10-12 validée ok/0, a été PERDUE par le revert concurrent fd8f002 — la guerre de reverts continue; même méthode checkout+commit frais que donjjewellery 1b48899 / foodcrayon d6022b5). Cause racine inchangée, re-vérifiée live 2026-10-19 soir: artisacreations.ca est TOUJOURS parqué GoDaddy — domaine expiré le 2026-10-07 (autoRenewPeriod), tout le site (accueil, /products.json) répond le mini-HTML 200 « window.location.href=\"/lander\" » (114 octets, vérifié curl). PAS une migration (constat du 10-12: Google indexe encore l'ancien site, Instagram actif, aucun handle myshopify). Sans le fix: /products.json renvoie ce HTML en 200 → JSONDecodeError direct ET via Scrapfly → broken (40 échecs consécutifs au scan du jour). Avec: ShopifyConnector._domain_parked() (marqueurs /lander, forsale.godaddy.com, afternic.com, calqué sur WooCommerceConnector._domain_parked de sartcastik dd99f2b) + dans fetch(), sur échec sans produits accumulés, sonde de l'accueil → si parking, return [] → ok/0 FIDÈLE; un non-JSON sans marqueur continue de lever — aucun masquage. Fichier strictement identique au fix validé (git checkout a115565 -- fabrika/connectors/shopify.py, diff vide vérifié). Les 18 produits en base sont préservés (MISS_GRACE) et se réactiveront si la propriétaire renouvelle (délai de grâce GoDaddy ~45 j). Sync réel 2026-10-19: artisacreations.ca ok / 0 produit (médiane 0.0); non-régression arthicetnunc.com ok / 24 (0 erreur, chemin Shopify nominal intact). pm2 restart fabri-ka-sync fait, web local 200. NE PAS RE-REVERTER tant que le domaine sert le lander GoDaddy (re-sonder LIVE: curl -s https://artisacreations.ca/ | grep lander avant de toucher shopify.py).
- [ka6] fix connecteur oasisdugrandfond.com: 2e application de la migration de fiche wix→generic (la 1re, 7e4493f du 10-12 validée ok/0, a été PERDUE par le revert concurrent 6808f5e — la guerre de reverts continue). Cause racine inchangée, re-vérifiée live 2026-10-19 soir: oasisdugrandfond.com (apex+www) redirige TOUJOURS en 301 permanent vers lehamac.ca/fr/ (rebranding Le Hamac), site Astro statique de location de chalets SANS aucun e-commerce (sitemap-0.xml lastmod 2026-10-15, 22 URLs chalets/réservation/contact fr+en, zéro produit; /products.json 404). Sans le fix: le connecteur wix reçoit le HTML de lehamac.ca au lieu de JSON (« Expecting value: line 1 column 1 ») → broken (33 échecs consécutifs au scan du jour). Avec: fiche data/stores.json platform wix→generic, catalog_endpoint __generic__ (édition directe, jamais json.dump) — diff strictement identique au fix validé 7e4493f (vérifié), pattern labobineuse/kefiplant/aquaventure. Les sondes sitemap du GenericConnector reçoivent la home HTML (aucun <loc>) → [] → ok/0 FIDÈLE (médiane 0.0). Sync réel 2026-10-19: oasisdugrandfond.com ok / 0 produit; non-régression atelierora.ca ok / 15 (0 erreur, chemin generic nominal intact). pm2 restart fabri-ka-sync fait, web local 200. NE PAS RE-REVERTER tant que la 301 vers lehamac.ca tient et que lehamac.ca reste sans boutique (re-sonder LIVE: curl -sIL oasisdugrandfond.com avant de toucher la fiche).
- [ka2] fix connecteur nomade: refonte du site — le PDF mensuel remplacé par une mini-app liste.nomadegestion.com, granularité unité. Le run du 2026-10-15 14:48 levait « lien PDF Liste de prix introuvable » : le bouton de la home Squarespace pointe désormais vers /liste-location, page qui embarque en iframe https://liste.nomadegestion.com/ — mini-app rendue serveur (JSON-LD ItemList + sections HTML sémantiques), plus aucun /s/*.pdf nulle part. Réécriture du parseur : lecture des <section class="building-section"> (h2 nom, .owner-addr, .owner-link URL immeuble, data-photos UUIDs → /photo/<uuid>/image — plus besoin du cache détail ni de _fetch_images) et des <article class="unit"> (data-type, data-rent en cents, data-avail "now"/ISO, .unit-meta étage, badges aria-label = inclusions). Plus de pdfplumber dans nomade (la dep reste pour sept_elements/consolata — commentaire requirements ajusté). Schéma d'external_id inchangé ({slug}-{typo.5}-{étage|x} + compteur) : 3 ids réutilisés tels quels (astral-3.5-5, nordet1-5.5-4, nordet2-5.5-1) ; granularité PDF (étages agrégés « 1-4 ») → unité désormais. Téléphone concierge derrière POST /visit-phone avec jeton anti-bot + pot de miel : non collecté (politesse). Garde-fous anti zéro silencieux (pattern sotramont bcdf125) : erreur FRANCHE si aucune building-section ni section no-availability (gabarit remanié) ou si 0 unité parsée alors que les data-total annoncent des logements ; sections vides explicites = vrai zéro accepté. Fixture enregistrée pour la première fois (1 requête, 16 annonces), pytest nomade 2 passed. Testé : fetch() venv → 16 unités (7 immeubles : Nordet 1-2, Melozio, Astral, Bélanger, Griffon, Marie-Chapelier ; 1 275–2 025 $, dates ISO, 3-10 photos), run.py sync nomade → found=16 ok (added=13, updated=3, 0,1 s), pm2 restart lou-ka-sync, site :8095 → 200.
- Revert "[ka6] fix connecteur oasisdugrandfond.com: migration de fiche wix→generic (rebranding Le Hamac, e-commerce abandonné définitivement). Cause racine re-vérifiée live le 2026-10-12: oasisdugrandfond.com (apex+www+/sitemap.xml+tous chemins) redirige en 301 permanent vers lehamac.ca/fr/, un site Astro statique de location de chalets SANS aucun e-commerce; l'ancienne boutique Wix (médiane 12, dernier succès 2026-08-29 à volume 0) n'existe plus — le connecteur wix recevait du HTML au lieu de JSON (« Expecting value: line 1 column 1 »), 170 échecs consécutifs, broken à vie. Les 3 constats précédents (09-21, 09-28, 10-05) avaient documenté site_source_mort sans toucher la fiche → le sync continuait de planter. Changement d'angle suivant le pattern validé labobineuse/lafermevegetale/kefiplant: fiche data/stores.json platform wix→generic, catalog_endpoint __generic__. Les sondes sitemap du GenericConnector reçoivent la home HTML de lehamac.ca (aucun <loc>) → [] → ok/0 FIDÈLE (le nouveau site n'a aucun produit ni prix). Sync réel 2026-10-12: oasisdugrandfond.com ok / 0 produit; non-régression atelierora.ca ok / 23 produits (chemin generic intact). pm2 restart fabri-ka-sync fait, web local 200. Si l'Oasis du Grand Fond / Le Hamac rouvre une boutique en ligne un jour, re-sonder la plateforme LIVE avant de toucher la fiche."
- Revert "[ka6] fix connecteur artisacreations.ca: garde-fou _domain_parked dans le connecteur Shopify (domaine expiré, parking GoDaddy). Cause racine vérifiée live le 2026-10-12: artisacreations.ca a expiré le 2026-10-07 (WHOIS statut autoRenewPeriod — renouvellement impayé, délai de grâce) et a basculé entre 03h et 09h (heure de Mtl) le 2026-10-12 sur le lander de parking GoDaddy (NS ns61/ns62.domaincontrol.com, mini-HTML « window.location.href=\"/lander\" » sur tous les chemins, lander avec marqueur ap:"parking") — la boutique Shopify servait encore 18 produits (= médiane) le matin même à 02h59. /products.json renvoie donc ce mini-HTML en 200 → JSONDecodeError en direct ET via Scrapfly (« scrapfly: Expecting value: line 1 column 1 ») → 4 échecs consécutifs, broken. Pas une migration: Google indexe encore l'ancien site, Instagram du marchand actif, aucun nouveau domaine ni handle myshopify trouvé (botikiperle/artisacreations/artisa-creations/art-isa-creations .myshopify.com → tous 404). Fix minimal calqué sur le garde-fou validé WooCommerceConnector._domain_parked (sartcastik.com, dd99f2b): ShopifyConnector._domain_parked() (mêmes marqueurs /lander, forsale.godaddy.com, afternic.com) + dans fetch(), sur échec de page sans produits accumulés, sonde de l'accueil → si parking, retour [] → ok/0 FIDÈLE (le domaine ne vend plus rien), les 18 produits en base sont préservés et se réactiveront au retour du domaine. Un non-JSON sans marqueur parking continue de lever l'erreur — aucun masquage. Sync réel 2026-10-12: artisacreations.ca ok / 0 produit; non-régression arthicetnunc.com ok / 24 produits (chemin Shopify nominal intact). pm2 restart fabri-ka-sync fait, web local 200. Si la propriétaire renouvelle le domaine (probable: délai de grâce GoDaddy ~45 j), le connecteur reprendra tout seul; ne pas toucher la fiche."
- [ka6] fix connecteur artisacreations.ca: garde-fou _domain_parked dans le connecteur Shopify (domaine expiré, parking GoDaddy). Cause racine vérifiée live le 2026-10-12: artisacreations.ca a expiré le 2026-10-07 (WHOIS statut autoRenewPeriod — renouvellement impayé, délai de grâce) et a basculé entre 03h et 09h (heure de Mtl) le 2026-10-12 sur le lander de parking GoDaddy (NS ns61/ns62.domaincontrol.com, mini-HTML « window.location.href=\"/lander\" » sur tous les chemins, lander avec marqueur ap:"parking") — la boutique Shopify servait encore 18 produits (= médiane) le matin même à 02h59. /products.json renvoie donc ce mini-HTML en 200 → JSONDecodeError en direct ET via Scrapfly (« scrapfly: Expecting value: line 1 column 1 ») → 4 échecs consécutifs, broken. Pas une migration: Google indexe encore l'ancien site, Instagram du marchand actif, aucun nouveau domaine ni handle myshopify trouvé (botikiperle/artisacreations/artisa-creations/art-isa-creations .myshopify.com → tous 404). Fix minimal calqué sur le garde-fou validé WooCommerceConnector._domain_parked (sartcastik.com, dd99f2b): ShopifyConnector._domain_parked() (mêmes marqueurs /lander, forsale.godaddy.com, afternic.com) + dans fetch(), sur échec de page sans produits accumulés, sonde de l'accueil → si parking, retour [] → ok/0 FIDÈLE (le domaine ne vend plus rien), les 18 produits en base sont préservés et se réactiveront au retour du domaine. Un non-JSON sans marqueur parking continue de lever l'erreur — aucun masquage. Sync réel 2026-10-12: artisacreations.ca ok / 0 produit; non-régression arthicetnunc.com ok / 24 produits (chemin Shopify nominal intact). pm2 restart fabri-ka-sync fait, web local 200. Si la propriétaire renouvelle le domaine (probable: délai de grâce GoDaddy ~45 j), le connecteur reprendra tout seul; ne pas toucher la fiche.
- [ka2] fix connecteur devimco: escalade Scrapfly contre le pare-feu Sucuri CloudProxy apparu sur devimco.com — même cause et même fix que brio (195f19a). Les syncs du 2026-09-13 (05:03, 15:16, 20:16... puis 23:23) rapportaient found=0 ok par INTERMITTENCE (médiane 695, dérive déclenchée, retraits suspendus) : devimco.com est passé derrière Sucuri/Cloudproxy, qui répond 307 + challenge JavaScript (cookie sucuri_cloudproxy, en-tête x-sucuri-id, ~1,4 Ko sans Location) aux clients sans navigateur selon l'humeur du filtre IP — un statut < 400 invisible de raise_for_status(), le hub sans lien projet devenait « 0 trouvé ok » silencieux via le `except Exception: return listings` de fetch(). Le diagnostic « échec transitoire » du passage ka2 de 08:08 était donc incomplet : le hoquet se répétait un sync sur deux. Vérifié live : 3 GET directs consécutifs → 307 challenge ; Scrapfly ASP + rendu JS → 200, 297 Ko, 10 pages projets. Fix minimal, pattern brio : _get_html() tente le direct (gratuit quand Sucuri laisse passer), détecte le challenge (statut 307 ou marqueur sucuri_cloudproxy) et escalade vers get_rendered() (Scrapfly ASP + rendu JS, standard du repo) ; hub ET pages projets passent par _get_html() ; le hub lève désormais une erreur franche au lieu de retourner [] (fini le zéro silencieux, idem si aucun lien projet dans la soupe) ; les pages projets gardent le continue (résultats partiels acceptables) ; l'API Planpoint (app.planpoint.io, domaine distinct) reste en direct. Testé : pytest fixtures devimco 2 passed, fetch() venv → 695 annonces (13 phases : Cosma 237, Ostral 160, Maestria A/B 121, Alexander 66... — unité 309 Alexander 2 130 $/mois, 2255 René-Lévesque O, 13 photos — médiane 695 restaurée), run.py sync devimco → found=695 ok (161 s), pm2 restart lou-ka-sync, site :8095 → 200.
README content 20
-
toit-ka
…osystème Groupe Ka Toit Ka est une application Groupe Ka , aux côtés de Lou Ka (location), Immo Ka (vente), Vrai Prix, Auto Ka, Food Ka, Resto Ka, Sorti Ka, Job Ka, Trouve Ka, Créa Ka, Fabri Ka et des déclinaisons canadi…
-
wp9_uqo
…tation Area fixed effects plus 9 province level pools, finds that structure and location explain comparable shares of the variance of log asking prices (37.3 and 34.0 percentage points of an R² of 0.780, with a ranking t…
-
lou-ka
…ées, 302 sources actives (503 recensées dans le registre), 431 connecteurs (384 location long terme + 47 court terme), plus de 1 200 villes, 11 régions, KA Scores calculés sur 96,1 % du parc, loyer moyen 1 811 $ — plus 5…
-
maclustr-research
…ks the value. Commands Put the original photographs in (git ignored: they carry location metadata). Only output is published. Updating the inventory Edit (or re run on fresh discovery output), set and , update dates, the…
-
chat-spboucher-ai
…(default 50) , , runtime set by PM2 / Operations Runbook: docs/OPERATIONS.md — location, PM2 processes, access & rotation, rollback, logs, common failures, backup / restore. Cost controls Local daily / monthly spend lim…
-
firc0001_uqo
…er project; 60.2% rest on a single mention) with category, status, cited years, locations, technologies, partners and amounts, projected into a graph of 183,472 nodes. ⚙️ Methodology Lexical gate and focus windows — Sect…
-
wp5_uqo
…gs require 28 nights or more. ⚙️ Methodology Hedonic rent equations with nested location fixed effects — Log monthly asking rent regressed on the 500 m Airbnb count, bedrooms, bathrooms and building type, with city fixed…
-
wp41_uqo
…itted baselines on unseen instruments only at five minutes, without penalty; no location forecast has economic content after costs; a rank 4 copula adds nothing. The full model gains 1.54 % and 0.30 % of scaled CRPS over…
-
wp4_uqo
…mates the hedonic price function (structural, presentation, host/reputation and location blocks plus city / spatial cell fixed effects) by nested OLS with HC3 and clustered standard errors, re estimates it at five quanti…
-
wp38_uqo
…–category dependence under merchant equal weights against the mean of 2,000 reallocations of stores across regions. Holding each store's discovery source fixed cuts the excess from 0.0257 to 0.0084 (p = 0.0050): up to ab…
-
wp26_uqo
…ierarchical + repeat sales 0.182 0.115 0.645 0.913 ≈ 0 C LightGBM (attributes + location) 0.179 0.114 0.630 — ≈ 0 D AVM (C + as of comparables, conformal quantiles) 0.171 0.105 0.622 0.896 ≈ 0 E single LLM 0.166 0.107 0.…
-
wp24_uqo
…butes without distortion" → a land tax rebated to the claim owners changes no allocation; rebated to workers it moves output by 0.4 % in 2050 Limitations stated in the revised paper The paths are perfect foresight equili…
-
wp22_uqo
…Abstract SHARP HPI combines a robust pooled hedonic regression with fine scale location effects and nested local level state space deviations (province, region, regional county municipality, municipality) whose innovati…
-
wp21_uqo
…, garden), each with a cluster robust interval that excludes zero; a waterfront location is associated with 30.71 percent but rests on k = 8 studies and is reported as secondary 52 of 52 characteristic families whose pre…
-
wp2_uqo
…the broker, and the design cannot separate information, positioning and omitted location channels. The validation labels were coded by a large language model, not by human coders; a human two coder replication was not ca…
-
wp16_uqo
…s only, so the gain of the opaque model is attributed to the assessed value and location rather than to non linearity. Cluster sensitivity: the regional clustering key was undefined for 37.9% of the targets, which collap…
-
wp14_uqo
…d); test–retest variability not measured. Realtor.ca listings lack coordinates; location enters through municipality or RTA fixed effects. English language indicator carries a large conditional premium that proxies for u…
-
wp11_uqo
…nds that functional form moves the median absolute error by under one point and location controls by eleven; gradient boosting reaches 14.4%, 3.2 points below the spline hedonic, but on later sales the raw gap ranges fro…
-
toveli
…esend ; transport simulé sans clé), sessions révocables, wizard de publication (location/vente, photos traitées par sharp, attestation, modération), messagerie et visites, favoris et alertes serveur, console admin protég…
-
immo-ka
…es , 159 sous agences , 3 331 villes . C'est le pendant « à vendre » de Lou Ka (location), branché sur le moteur d'estimation Vrai Prix et sur le compte unique KA ID du Groupe KA. Visite guidée Captures du 2026 08 28 — d…