Court terme : retrait des 7 connecteurs squelettes jamais productifs (sources mortes ou hors Québec)
Suppression des stubs disabled=True et de leurs entrées dans sources_ct.json, verdicts revérifiés en live le 2026-08-25 : - chaletsquebec : domaine sans DNS (SERVFAIL) - locationschalets : 301 → km42.ca (1 exploitant, 2 chalets, 0 prix) - hebergementquebec : 302 → citq.qc.ca (aucun répertoire scrapable) - chaletsdirect : chalets de ski européens, zéro inventaire QC - blueground : aucun marché québécois (sitemap = tor seul, page Montréal 404) - tripadvisor : produit locations fermé nov. 2024 (VacationRentals-g155033 → 301 Hotels, confirmé Scrapfly) - sonder : liquidation nov. 2025, sonder.com = affilié Booking (403 même via Scrapfly ASP) Aucune rangée de ces sources dans les bases ; registre auto-découvrant intact (22 connecteurs actifs). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
8 changed files +0 −196
modified
data/sources_ct.json
+0 −7
@@ -3,15 +3,12 @@ | ||
| 3 | 3 | { "id": "airbnb", "name": "Airbnb", "url": "https://www.airbnb.ca", "category": "internationale" }, |
| 4 | 4 | { "id": "booking", "name": "Booking.com", "url": "https://www.booking.com", "category": "internationale" }, |
| 5 | 5 | { "id": "vrbo", "name": "Vrbo", "url": "https://www.vrbo.com", "category": "internationale" }, |
| 6 | − { "id": "tripadvisor", "name": "TripAdvisor Rentals", "url": "https://www.tripadvisor.ca", "category": "internationale", "status": "fermée — produit locations arrêté (nov. 2024)" }, | |
| 7 | 6 | { "id": "expedia", "name": "Expedia (locations de vacances)", "url": "https://www.expedia.ca", "category": "internationale" }, |
| 8 | 7 | { "id": "agoda", "name": "Agoda Homes", "url": "https://www.agoda.com", "category": "internationale", "status": "en attente de connecteur" }, |
| 9 | 8 | { "id": "plumguide", "name": "Plum Guide", "url": "https://www.plumguide.com", "category": "internationale", "status": "en attente de connecteur" }, |
| 10 | 9 | { "id": "glampinghub", "name": "Glamping Hub", "url": "https://glampinghub.com", "category": "internationale" }, |
| 11 | 10 | { "id": "hipcamp", "name": "Hipcamp", "url": "https://www.hipcamp.com", "category": "internationale" }, |
| 12 | 11 | { "id": "marriott_hvmi", "name": "Marriott Homes & Villas", "url": "https://homes-and-villas.marriott.com", "category": "internationale", "status": "en attente de connecteur" }, |
| 13 | − { "id": "sonder", "name": "Sonder", "url": "https://www.sonder.com", "category": "internationale", "status": "fermée — liquidation (nov. 2025)" }, | |
| 14 | − { "id": "blueground", "name": "Blueground", "url": "https://www.theblueground.com", "category": "internationale", "status": "hors Québec" }, | |
| 15 | 12 | { "id": "furnishedfinder", "name": "Furnished Finder", "url": "https://www.furnishedfinder.com", "category": "internationale", "status": "en attente de connecteur" }, |
| 16 | 13 | { "id": "corporatestays", "name": "Corporate Stays", "url": "https://www.corporatestays.com", "category": "internationale" }, |
| 17 | 14 | { "id": "monsieurchalets", "name": "MonsieurChalets", "url": "https://www.monsieurchalets.com", "category": "quebecoise" }, |
@@ -21,11 +18,7 @@ | ||
| 21 | 18 | { "id": "mcal", "name": "Maisons et chalets à louer", "url": "https://maisonsetchaletsalouer.com", "category": "quebecoise" }, |
| 22 | 19 | { "id": "qldc", "name": "Québec Location de Chalets", "url": "https://www.quebeclocationdechalets.com", "category": "quebecoise" }, |
| 23 | 20 | { "id": "rsvpchalets", "name": "RSVP Chalets", "url": "https://rsvpchalets.com", "category": "quebecoise" }, |
| 24 | − { "id": "chaletsquebec", "name": "Chalets Québec", "url": "https://www.chaletsquebec.com", "category": "quebecoise", "status": "site disparu" }, | |
| 25 | 21 | { "id": "chaletsauquebec", "name": "Chalets au Québec", "url": "https://www.chaletsauquebec.com", "category": "quebecoise" }, |
| 26 | − { "id": "hebergementquebec", "name": "Hébergement Québec", "url": "https://hebergementquebec.com", "category": "quebecoise", "status": "site disparu" }, | |
| 27 | − { "id": "chaletsdirect", "name": "ChaletsDirect", "url": "https://www.chaletsdirect.com", "category": "quebecoise", "status": "hors Québec" }, | |
| 28 | − { "id": "locationschalets", "name": "LocationsChalets", "url": "https://www.locationschalets.com", "category": "quebecoise", "status": "site disparu" }, | |
| 29 | 22 | { "id": "tremblant_living", "name": "Tremblant Living", "url": "https://www.tremblantliving.com", "category": "agence" }, |
| 30 | 23 | { "id": "gites_passant", "name": "Gîtes et Auberges du Passant", "url": "https://www.terroiretsaveurs.com", "category": "gites" }, |
| 31 | 24 | { "id": "bonjourquebec", "name": "Bonjour Québec (CITQ)", "url": "https://www.bonjourquebec.com", "category": "officielle" }, |
deleted
louka/shortterm/connectors/blueground.py
+0 −28
@@ -1,28 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/blueground.py : Blueground (theblueground.com) — SOURCE NON | |
| 4 | −# VIABLE (2026-08) : aucun inventaire au Québec. | |
| 5 | −# | |
| 6 | −# Constat au 2026-08-23 : le sitemap officiel (theblueground.com/sitemap.xml) | |
| 7 | −# énumère les 37 marchés de la plateforme par code ville (ath, atl, …, tor, | |
| 8 | −# tyo, vie, wdc, zrh) — le SEUL marché canadien est Toronto (« tor ») ; | |
| 9 | −# ni Montréal ni aucune ville québécoise n'existe (l'URL | |
| 10 | −# /furnished-apartments-montreal-canada renvoie un 404 applicatif). | |
| 11 | −# Blueground n'opère donc pas au Québec ; rien à agréger. | |
| 12 | −# | |
| 13 | −# À réévaluer si la plateforme ouvre Montréal : la mécanique serait alors | |
| 14 | −# simple (pages ville server-rendered + sitemaps par code ville, ex. | |
| 15 | −# sitemap.tor.xml, aucune protection anti-bot rencontrée). | |
| 16 | −# ----------------------------------------------------------------------------- | |
| 17 | −from __future__ import annotations | |
| 18 | − | |
| 19 | −from ..schema import StListing | |
| 20 | −from .base import StConnector | |
| 21 | − | |
| 22 | − | |
| 23 | −class Blueground(StConnector): | |
| 24 | − source_id = "blueground" | |
| 25 | − disabled = True # aucun marché québécois (Toronto = seul marché canadien) | |
| 26 | − | |
| 27 | − def fetch(self) -> list[StListing]: | |
| 28 | − return [] | |
deleted
louka/shortterm/connectors/chaletsdirect.py
+0 −22
@@ -1,22 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/chaletsdirect.py : ChaletsDirect.com — SOURCE HORS SUJET. | |
| 4 | −# | |
| 5 | −# Vérifié le 2026-08-22 : malgré son nom, www.chaletsdirect.com est un | |
| 6 | −# répertoire de chalets de SKI EN EUROPE (Morzine, Chamonix, Avoriaz, | |
| 7 | −# Verbier, Andorre, Autriche… — sitemap.xml complet parcouru : zéro | |
| 8 | −# occurrence de « Québec », aucune destination canadienne). Aucun | |
| 9 | −# inventaire québécois à ingérer → connecteur désactivé. | |
| 10 | −# ----------------------------------------------------------------------------- | |
| 11 | −from __future__ import annotations | |
| 12 | − | |
| 13 | −from ..schema import StListing | |
| 14 | −from .base import StConnector | |
| 15 | − | |
| 16 | − | |
| 17 | −class ChaletsDirect(StConnector): | |
| 18 | − source_id = "chaletsdirect" | |
| 19 | − disabled = True # site = chalets de ski européens, rien au Québec | |
| 20 | − | |
| 21 | − def fetch(self) -> list[StListing]: | |
| 22 | − return [] | |
deleted
louka/shortterm/connectors/chaletsquebec.py
+0 −24
@@ -1,24 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/chaletsquebec.py : Chalets Québec (www.chaletsquebec.com) | |
| 4 | −# | |
| 5 | −# SOURCE INFAISABLE (vérifié le 2026-08-22) : le domaine chaletsquebec.com | |
| 6 | −# n'existe plus — aucun enregistrement NS/A (SERVFAIL à la délégation, y | |
| 7 | −# compris via 1.1.1.1/8.8.8.8), injoignable via Scrapfly et Bright Data, | |
| 8 | −# aucun instantané dans la Wayback Machine et aucune page indexée par Google | |
| 9 | −# (site:chaletsquebec.com → 0 résultat). Ne pas confondre avec | |
| 10 | −# chaletsauquebec.com (source distincte `chaletsauquebec` dans | |
| 11 | −# sources_ct.json). À réactiver seulement si le domaine revit un jour. | |
| 12 | −# ----------------------------------------------------------------------------- | |
| 13 | −from __future__ import annotations | |
| 14 | − | |
| 15 | −from ..schema import StListing | |
| 16 | −from .base import StConnector | |
| 17 | − | |
| 18 | − | |
| 19 | −class ChaletsQuebec(StConnector): | |
| 20 | − source_id = "chaletsquebec" | |
| 21 | − disabled = True # domaine mort — voir l'en-tête | |
| 22 | − | |
| 23 | − def fetch(self) -> list[StListing]: | |
| 24 | − raise RuntimeError("chaletsquebec.com : domaine inexistant (2026-08-22)") | |
deleted
louka/shortterm/connectors/hebergementquebec.py
+0 −30
@@ -1,30 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/hebergementquebec.py : Hébergement Québec — SOURCE MORTE. | |
| 4 | −# | |
| 5 | −# Vérifié le 2026-08-23 : | |
| 6 | −# - hebergementquebec.net (l'ancien répertoire d'hébergements de la CITQ) | |
| 7 | −# redirige en 301 vers https://citq.qc.ca/fr/index.php — le site | |
| 8 | −# d'information de la Corporation de l'industrie touristique du Québec, | |
| 9 | −# qui n'affiche aucune annonce ni répertoire d'établissements scrapable. | |
| 10 | −# - hebergementquebec.com est aujourd'hui un hébergeur WEB (« Hébergement | |
| 11 | −# Web Québécois — à partir de 15 $/mois », Alice Média) : rien à voir | |
| 12 | −# avec l'hébergement touristique. | |
| 13 | −# - Aucun autre domaine équivalent trouvé (Serper, gl=ca hl=fr). | |
| 14 | −# | |
| 15 | −# Le module est conservé (avec disabled = True, donc exclu du registre) au | |
| 16 | −# cas où le répertoire renaîtrait ; l'inventaire CITQ officiel reste couvert | |
| 17 | −# par le connecteur bonjourquebec. | |
| 18 | −# ----------------------------------------------------------------------------- | |
| 19 | −from __future__ import annotations | |
| 20 | − | |
| 21 | −from ..schema import StListing | |
| 22 | −from .base import StConnector | |
| 23 | − | |
| 24 | − | |
| 25 | −class HebergementQuebec(StConnector): | |
| 26 | − source_id = "hebergementquebec" | |
| 27 | − disabled = True # site disparu (voir en-tête) | |
| 28 | − | |
| 29 | − def fetch(self) -> list[StListing]: | |
| 30 | − return [] | |
deleted
louka/shortterm/connectors/locationschalets.py
+0 −24
@@ -1,24 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/locationschalets.py : LocationsChalets.com — RÉPERTOIRE DISPARU. | |
| 4 | −# | |
| 5 | −# Vérifié le 2026-08-22 : le répertoire original n'existe plus. | |
| 6 | −# www.locationschalets.com répond 301 → https://km42.ca/, la boutique | |
| 7 | −# Shopify d'un unique exploitant (« KM-42 », 2 chalets à Val-David) dont | |
| 8 | −# le catalogue (/products.json) ne contient que 3 produits : un produit | |
| 9 | −# de test Stripe et 2 fiches chalet à 0,00 $ (réservation hors Shopify, | |
| 10 | −# aucun prix ni disponibilité exploitables). /sitemap.xml de l'ancien | |
| 11 | −# domaine : 404. Pas d'inventaire de répertoire à ingérer → désactivé. | |
| 12 | −# ----------------------------------------------------------------------------- | |
| 13 | −from __future__ import annotations | |
| 14 | − | |
| 15 | −from ..schema import StListing | |
| 16 | −from .base import StConnector | |
| 17 | − | |
| 18 | − | |
| 19 | −class LocationsChalets(StConnector): | |
| 20 | − source_id = "locationschalets" | |
| 21 | − disabled = True # domaine redirigé vers km42.ca (1 exploitant, 2 chalets, 0 prix) | |
| 22 | − | |
| 23 | − def fetch(self) -> list[StListing]: | |
| 24 | − return [] | |
deleted
louka/shortterm/connectors/sonder.py
+0 −30
@@ -1,30 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/sonder.py : Sonder (sonder.com) — SOURCE NON VIABLE (2026-08) | |
| 4 | −# | |
| 5 | −# Sonder Holdings (appartements-hôtels, plusieurs immeubles à Montréal) a | |
| 6 | −# annoncé sa liquidation le 9 novembre 2025 après la rupture de son entente | |
| 7 | −# de licence avec Marriott ; les opérations ont cessé immédiatement | |
| 8 | −# (faillite, clients évincés — actions désormais cotées SONDQ en OTC). | |
| 9 | −# | |
| 10 | −# Constat au 2026-08-23 : le domaine sonder.com est devenu un AGRÉGATEUR | |
| 11 | −# AFFILIÉ sans inventaire propre — les pages « /all/canada/quebec/montreal » | |
| 12 | −# (CloudFront, contournable via Bright Data) listent des hôtels et annonces | |
| 13 | −# tiers avec ids « BC-… » et liens /redirect-partner vers booking.com | |
| 14 | −# (campagne d'affiliation bc_cid=SONDER, collection « formerly-sonder »). | |
| 15 | −# Scraper ce site ne produirait que des doublons de notre connecteur Booking, | |
| 16 | −# attribués à la mauvaise source. On garde le module en éteignoir au cas où | |
| 17 | −# la marque renaîtrait avec un vrai inventaire. | |
| 18 | −# ----------------------------------------------------------------------------- | |
| 19 | −from __future__ import annotations | |
| 20 | − | |
| 21 | −from ..schema import StListing | |
| 22 | −from .base import StConnector | |
| 23 | − | |
| 24 | − | |
| 25 | −class Sonder(StConnector): | |
| 26 | − source_id = "sonder" | |
| 27 | − disabled = True # liquidation nov. 2025 ; sonder.com = affilié Booking | |
| 28 | − | |
| 29 | − def fetch(self) -> list[StListing]: | |
| 30 | − return [] | |
deleted
louka/shortterm/connectors/tripadvisor.py
+0 −31
@@ -1,31 +0,0 @@ | ||
| 1 | −# ----------------------------------------------------------------------------- | |
| 2 | −# Lou-Ka — Location court terme | |
| 3 | −# connectors/tripadvisor.py : TripAdvisor Vacation Rentals — SOURCE NON VIABLE | |
| 4 | −# | |
| 5 | −# TripAdvisor a FERMÉ son produit de location de vacances le 1er novembre 2024 | |
| 6 | −# (fin des réservations directes, fermeture de FlipKey, Holiday Lettings et | |
| 7 | −# Niumba — annonce Skift/communiqué de septembre 2024). Vérifié au 2026-08-23 : | |
| 8 | −# toutes les URL /VacationRentals-g<geo>-Reviews-… (tripadvisor.ca ET .com, | |
| 9 | −# testées via Scrapfly ASP : Québec g155033, Montréal g155032, Mont-Tremblant | |
| 10 | −# g155059, New York g28953) répondent 301 → la page /Hotels-g<geo>-…-Hotels.html | |
| 11 | −# ou 404. Il n'existe plus ni vertical « locations de vacances », ni API/JSON | |
| 12 | −# embarqué correspondant ; les hébergements « autres » affichés dans la | |
| 13 | −# recherche hôtels sont des fiches d'avis renvoyant vers des OTA tierces | |
| 14 | −# (Booking, Vrbo, Expedia) que nos autres connecteurs couvrent déjà — les | |
| 15 | −# scraper ne produirait que des doublons mal attribués. | |
| 16 | −# | |
| 17 | −# On garde le module en éteignoir au cas où TripAdvisor relancerait un vrai | |
| 18 | −# inventaire de locations (l'auto-registre l'exclut tant que disabled = True). | |
| 19 | −# ----------------------------------------------------------------------------- | |
| 20 | −from __future__ import annotations | |
| 21 | − | |
| 22 | −from ..schema import StListing | |
| 23 | −from .base import StConnector | |
| 24 | − | |
| 25 | − | |
| 26 | −class TripAdvisor(StConnector): | |
| 27 | − source_id = "tripadvisor" | |
| 28 | − disabled = True # produit locations de vacances fermé le 2024-11-01 | |
| 29 | − | |
| 30 | − def fetch(self) -> list[StListing]: | |
| 31 | − return [] | |
| 32 | ||