SPB Git forge

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

232commits 1branches 0releases
172.9 MBsize
maindefault branch
3 days agolast push
HTML 98.9% Python 0.6%

apartments_com : acteur Apify maison ka-apartments-com (toute la province via Bright Data) + enrichissement PDP fb_marketplace

- nouvel acteur actors/ka-apartments-com : recherche /qc/ paginée (arrêt sur
  retombée page 1 via <title>), fiches détail en français (GPS, description,
  plans d'unités dédoublonnés, commodités, galerie), déblocage Akamai délégué
  au Web Unlocker Bright Data (curl_cffi/Scrapfly/Oxylabs → 403)
- connecteur louka/connectors/apartments_com.py : 1 annonce = 1 propriété,
  prix « à partir de » (minimum des plans), bedrooms/bathrooms = minimum,
  cache détail 30 j, cadence LOUKA_APTS_INTERVAL_H (12 h) avec ré-émission
  des actives entre deux runs — 615 propriétés QC au premier passage
- fb_marketplace : acteur 0.1.3 (adresse civique, beds/sdb, commodités,
  disponibilité, walk/transit/bike scores, visite virtuelle) + PAYLOAD_VERSION
  pour re-visiter progressivement le cache, filtre hors-Québec state+bbox GPS
- sources.json : apartments_com passe de « non connectable » à actif
- docs connecteurs régénérées (218 fiches)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Simon-Pierre Boucher committed 1 mo ago (Aug 22, 2026) parent e7f4876

230 changed files +1,672 −756

added actors/ka-apartments-com/.actor/Dockerfile +10 −0
@@ -0,0 +1,10 @@
1 +# ==============================================================================
2 +# Author: Simon-Pierre Boucher <contact@spboucher.ai>
3 +# File: Dockerfile (ka-apartments-com)
4 +# Desc: Acteur Apify KA — Dockerfile
5 +# ==============================================================================
6 +FROM apify/actor-python:3.12
7 +COPY requirements.txt ./
8 +RUN pip install --no-cache-dir -r requirements.txt
9 +COPY . ./
10 +CMD ["python3", "-m", "src"]
added actors/ka-apartments-com/.actor/actor.json +10 −0
@@ -0,0 +1,10 @@
1 +{
2 + "actorSpecification": 1,
3 + "name": "ka-apartments-com",
4 + "title": "KA Apartments.com — locations QC",
5 + "description": "Logements à louer sur Apartments.com, province de Québec (recherche /qc/ paginée + fiches détail en français : GPS, description, plans d'unités, commodités, galerie). Déblocage anti-bot via Bright Data Web Unlocker (jeton requis).",
6 + "version": "0.1",
7 + "buildTag": "latest",
8 + "input": "./input_schema.json",
9 + "dockerfile": "./Dockerfile"
10 +}
added actors/ka-apartments-com/.actor/input_schema.json +79 −0
@@ -0,0 +1,79 @@
1 +{
2 + "title": "KA Apartments.com — locations QC",
3 + "type": "object",
4 + "schemaVersion": 1,
5 + "properties": {
6 + "searchUrls": {
7 + "title": "URLs de recherche",
8 + "type": "array",
9 + "editor": "stringList",
10 + "description": "Pages de recherche Apartments.com à paginer (défaut : /qc/, toute la province).",
11 + "default": ["https://www.apartments.com/qc/"]
12 + },
13 + "maxPages": {
14 + "title": "Pages max par recherche",
15 + "type": "integer",
16 + "description": "Plafond de pagination par URL de recherche (arrêt auto quand le site retombe sur la page 1).",
17 + "default": 25,
18 + "minimum": 1,
19 + "maximum": 30
20 + },
21 + "getDetails": {
22 + "title": "Visiter les fiches détail",
23 + "type": "boolean",
24 + "description": "Visiter les fiches (version française) : GPS, description, plans d'unités, commodités, galerie.",
25 + "default": true
26 + },
27 + "maxDetails": {
28 + "title": "Fiches détail max",
29 + "type": "integer",
30 + "description": "Budget de fiches détail par run.",
31 + "default": 250,
32 + "minimum": 0
33 + },
34 + "skipDetailIds": {
35 + "title": "IDs à ne pas revisiter",
36 + "type": "array",
37 + "editor": "stringList",
38 + "description": "IDs de propriétés dont la fiche est déjà en cache côté appelant.",
39 + "default": []
40 + },
41 + "extraDetailIds": {
42 + "title": "IDs de rattrapage",
43 + "type": "array",
44 + "editor": "stringList",
45 + "description": "data-url encodés « id|url » de fiches à visiter même si absentes de la recherche.",
46 + "default": []
47 + },
48 + "brightdataToken": {
49 + "title": "Jeton API Bright Data",
50 + "type": "string",
51 + "editor": "textfield",
52 + "isSecret": true,
53 + "description": "Jeton Bearer de l'API Bright Data (Web Unlocker) — requis."
54 + },
55 + "brightdataZone": {
56 + "title": "Zone Bright Data",
57 + "type": "string",
58 + "editor": "textfield",
59 + "description": "Nom de la zone Web Unlocker.",
60 + "default": "web_unlocker1"
61 + },
62 + "concurrency": {
63 + "title": "Requêtes simultanées",
64 + "type": "integer",
65 + "description": "Nombre de requêtes Bright Data en parallèle.",
66 + "default": 4,
67 + "minimum": 1,
68 + "maximum": 10
69 + },
70 + "requestDelay": {
71 + "title": "Délai entre requêtes (s)",
72 + "type": "integer",
73 + "description": "Pause après chaque requête réussie (0 = aucune).",
74 + "default": 0,
75 + "minimum": 0
76 + }
77 + },
78 + "required": ["brightdataToken"]
79 +}
added actors/ka-apartments-com/requirements.txt +4 −0
@@ -0,0 +1,4 @@
1 +# ka-apartments-com — le déblocage anti-bot est délégué à Bright Data
2 +# (simple POST HTTPS), donc pas de curl_cffi ici.
3 +apify
4 +httpx
added actors/ka-apartments-com/src/__main__.py +10 −0
@@ -0,0 +1,10 @@
1 +# ==============================================================================
2 +# Author: Simon-Pierre Boucher <contact@spboucher.ai>
3 +# File: src/__main__.py (ka-apartments-com)
4 +# Desc: Point d'entrée de l'acteur (asyncio.run).
5 +# ==============================================================================
6 +import asyncio
7 +
8 +from .main import main
9 +
10 +asyncio.run(main())
added actors/ka-apartments-com/src/main.py +270 −0
@@ -0,0 +1,270 @@
1 +# ==============================================================================
2 +# Author: Simon-Pierre Boucher <contact@spboucher.ai>
3 +# File: src/main.py (ka-apartments-com)
4 +# Desc: Apartments.com — logements à louer, province de Québec.
5 +# Phase 1 : pagination des pages de recherche (/qc/ = toute la
6 +# province, HTML server-rendered ; arrêt quand le <title> ne porte
7 +# plus « - Page N », le site retombant silencieusement sur la page 1).
8 +# Phase 2 : fiches détail en français (/fr/<slug>/<id>/) : GPS,
9 +# description, plans d'unités (pricingGridItem), commodités, galerie.
10 +# Items poussés : kind="listing" (placard) et kind="detail".
11 +# ==============================================================================
12 +from __future__ import annotations
13 +
14 +import asyncio
15 +import html as htmllib
16 +import re
17 +
18 +from apify import Actor
19 +
20 +from .net import BrightData
21 +
22 +# --- recherche (placards) -----------------------------------------------------
23 +
24 +_ARTICLE_RX = re.compile(
25 + r"<article\b(?P<attrs>[^>]*\bdata-listingid=\"[^\"]+\"[^>]*)>"
26 + r"(?P<body>.*?)</article>", re.S)
27 +_ATTR_RX = re.compile(r"data-(listingid|url|streetaddress)=\"([^\"]*)\"")
28 +_TITLE_TAG_RX = re.compile(r"<title>([^<]*)</title>")
29 +_PLACARD_TITLE_RX = re.compile(r"js-placardTitle[^\"]*\"[^>]*>([^<]+)<")
30 +_ADDRESS_RX = re.compile(r"property-address[^\"]*\"[^>]*>([^<]+)<")
31 +_BED_RENT_RX = re.compile(
32 + r"bedTextBox\">([^<]*)<.{0,400}?priceTextBox\">\s*<span[^>]*>([^<]*)<",
33 + re.S)
34 +_IMG_COUNT_RX = re.compile(r"js-spnImgCount\">(\d+)")
35 +_PHONE_RX = re.compile(r"phone-data=\"(\d{7,15})\"")
36 +_AMENITIES_BLOCK_RX = re.compile(
37 + r"property-amenities\"[^>]*>(.*?)</p>", re.S)
38 +_SPAN_RX = re.compile(r"<span[^>]*>([^<]+)</span>")
39 +_IMG_RX = re.compile(r"https://images1\.apartments\.com/i2/[^\"'\s?]+")
40 +_QC_SLUG_RX = re.compile(r"apartments\.com/[^\"]*-qc[-/]")
41 +
42 +
43 +def _clean(text: str) -> str:
44 + return re.sub(r"\s+", " ", htmllib.unescape(text or "")).strip()
45 +
46 +
47 +def parse_search(page_html: str) -> list[dict]:
48 + """Placards d'une page de recherche → dicts (propriétés QC seulement)."""
49 + out: list[dict] = []
50 + for m in _ARTICLE_RX.finditer(page_html):
51 + attrs = dict(_ATTR_RX.findall(m.group("attrs")))
52 + pid, url = attrs.get("listingid", ""), attrs.get("url", "")
53 + if not pid or not url:
54 + continue
55 + body = m.group("body")
56 + title_m = _PLACARD_TITLE_RX.search(body)
57 + addr_m = _ADDRESS_RX.search(body)
58 + title = _clean(title_m.group(1)) if title_m else ""
59 + address = _clean(addr_m.group(1)) if addr_m else ""
60 + if not address and ", QC" in title:
61 + address = title # gabarit silverpropres : adresse dans le titre
62 + # nearby hors-Québec glissé en bas de page → on filtre
63 + if ", QC" not in address and not _QC_SLUG_RX.search(url):
64 + continue
65 + rents = [{"beds": _clean(b), "price": _clean(p)}
66 + for b, p in _BED_RENT_RX.findall(body)]
67 + img_count_m = _IMG_COUNT_RX.search(body)
68 + phone_m = _PHONE_RX.search(body)
69 + amen_m = _AMENITIES_BLOCK_RX.search(body)
70 + amenities = [_clean(s) for s in _SPAN_RX.findall(amen_m.group(1))] \
71 + if amen_m else []
72 + img_m = _IMG_RX.search(body)
73 + out.append({
74 + "id": pid,
75 + "url": url,
76 + "title": title,
77 + "address": address,
78 + "street": _clean(attrs.get("streetaddress", "")),
79 + "rents": rents,
80 + "img_count": int(img_count_m.group(1)) if img_count_m else 0,
81 + "phone": phone_m.group(1) if phone_m else "",
82 + "amenities": [a for a in amenities if a],
83 + "image": img_m.group(0) if img_m else "",
84 + })
85 + return out
86 +
87 +
88 +def page_title(page_html: str) -> str:
89 + m = _TITLE_TAG_RX.search(page_html)
90 + return _clean(m.group(1)) if m else ""
91 +
92 +
93 +# --- fiche détail (version française) ------------------------------------------
94 +
95 +_META_LAT_RX = re.compile(
96 + r"<meta property=\"place:location:latitude\" content=\"([^\"]+)\"")
97 +_META_LNG_RX = re.compile(
98 + r"<meta property=\"place:location:longitude\" content=\"([^\"]+)\"")
99 +_PROP_NAME_RX = re.compile(r"id=\"propertyName\"[^>]*>([^<]+)")
100 +_ADDR_BLOCK_RX = re.compile(
101 + r"delivery-address\"><span>([^<]+)</span>.*?<span>([^<]+)</span>,\s*"
102 + r"<span class=\"stateZipContainer\">\s*<span>([^<]+)</span>\s*"
103 + r"<span>([^<]*)</span>", re.S)
104 +_DESC_SECTION_RX = re.compile(
105 + r"<section[^>]*id=\"descriptionSection\"[^>]*>(.*?)</section>", re.S)
106 +_MODEL_WRAPPER_RX = re.compile(
107 + r"priceGridModelWrapper[^\"]*\"\s*data-rentalkey=\"([^\"]*)\"(.*?)"
108 + r"(?=priceGridModelWrapper|$)", re.S)
109 +_MODEL_NAME_RX = re.compile(r"modelName\">([^<]+)<")
110 +_RENT_LABEL_RX = re.compile(r"rentLabel\">\s*([^<]+)")
111 +_DETAILS_WRAPPER_RX = re.compile(
112 + r"detailsTextWrapper\">(.*?)</span>\s*</span>", re.S)
113 +_AVAIL_RX = re.compile(r"availabilityInfo\">([^<]+)<")
114 +_BEDS_BATHS_RX = re.compile(r"data-beds=\"([^\"]*)\"\s*data-baths=\"([^\"]*)\"")
115 +_SPEC_INFO_RX = re.compile(r"specInfo\">\s*<span>([^<]+)</span>")
116 +_TAG_RX = re.compile(r"<[^>]+>")
117 +
118 +
119 +def _to_float(text: str) -> float | None:
120 + try:
121 + return float(text.strip())
122 + except (TypeError, ValueError):
123 + return None
124 +
125 +
126 +def parse_detail(page_html: str) -> dict:
127 + out: dict = {}
128 + name_m = _PROP_NAME_RX.search(page_html)
129 + if name_m:
130 + out["name"] = _clean(name_m.group(1))
131 + addr_m = _ADDR_BLOCK_RX.search(page_html)
132 + if addr_m:
133 + out["street"] = _clean(addr_m.group(1))
134 + out["city"] = _clean(addr_m.group(2))
135 + out["state"] = _clean(addr_m.group(3))
136 + out["zip"] = _clean(addr_m.group(4))
137 + lat_m, lng_m = _META_LAT_RX.search(page_html), _META_LNG_RX.search(page_html)
138 + if lat_m and lng_m:
139 + out["lat"] = _to_float(lat_m.group(1))
140 + out["lng"] = _to_float(lng_m.group(1))
141 + desc_m = _DESC_SECTION_RX.search(page_html)
142 + if desc_m:
143 + lines = [_clean(t) for t in
144 + _TAG_RX.sub("\n", desc_m.group(1)).split("\n")]
145 + lines = [t for t in lines if t
146 + and not t.lower().startswith(("à propos", "about"))]
147 + if lines:
148 + out["description"] = "\n\n".join(dict.fromkeys(lines))
149 + plans: list[dict] = []
150 + for key, body in _MODEL_WRAPPER_RX.findall(page_html):
151 + plan: dict = {"key": key}
152 + nm = _MODEL_NAME_RX.search(body)
153 + if nm:
154 + plan["name"] = _clean(nm.group(1))
155 + rl = _RENT_LABEL_RX.search(body)
156 + if rl:
157 + plan["rent"] = _clean(rl.group(1))
158 + dw = _DETAILS_WRAPPER_RX.search(body)
159 + if dw:
160 + plan["details"] = [_clean(s) for s in
161 + _SPAN_RX.findall(dw.group(1) + "</span>")]
162 + bb = _BEDS_BATHS_RX.search(body)
163 + if bb:
164 + plan["beds"] = _to_float(bb.group(1))
165 + plan["baths"] = _to_float(bb.group(2))
166 + av = _AVAIL_RX.search(body)
167 + if av:
168 + plan["availability"] = _clean(av.group(1))
169 + if plan.get("name") or plan.get("rent"):
170 + # la grille est présente deux fois dans la page (desktop/mobile)
171 + if not any(p.get("key") == plan.get("key")
172 + and p.get("name") == plan.get("name")
173 + and p.get("rent") == plan.get("rent") for p in plans):
174 + plans.append(plan)
175 + if plans:
176 + out["plans"] = plans
177 + amenities = [_clean(s) for s in _SPEC_INFO_RX.findall(page_html)]
178 + if amenities:
179 + out["amenities"] = list(dict.fromkeys(a for a in amenities if a))
180 + images = list(dict.fromkeys(
181 + u for u in _IMG_RX.findall(page_html) if "-logo" not in u))
182 + if images:
183 + out["images"] = images
184 + return out
185 +
186 +
187 +def fr_url(url: str) -> str:
188 + if "apartments.com/fr/" in url:
189 + return url
190 + return url.replace("www.apartments.com/", "www.apartments.com/fr/", 1)
191 +
192 +
193 +# --- orchestration --------------------------------------------------------------
194 +
195 +async def _crawl_search(bd: BrightData, base: str, max_pages: int,
196 + props: dict[str, dict]) -> None:
197 + base = base if base.endswith("/") else base + "/"
198 + for page in range(1, max_pages + 1):
199 + url = base if page == 1 else f"{base}{page}/"
200 + page_html = await bd.get(url)
201 + if page_html is None:
202 + Actor.log.warning(f"recherche : échec fetch {url}, arrêt")
203 + break
204 + if page > 1 and f"- Page {page}" not in page_title(page_html):
205 + Actor.log.info(f"recherche : fin de pagination à la page {page} "
206 + f"({base})")
207 + break
208 + placards = parse_search(page_html)
209 + if not placards:
210 + Actor.log.info(f"recherche : page {page} vide ({base})")
211 + break
212 + fresh = [p for p in placards if p["id"] not in props]
213 + for p in fresh:
214 + props[p["id"]] = p
215 + await Actor.push_data({"kind": "listing", **p})
216 + Actor.log.info(f"recherche p.{page} : {len(placards)} placards, "
217 + f"{len(fresh)} nouveaux ({base})")
218 +
219 +
220 +async def _fetch_detail(bd: BrightData, pid: str, url: str) -> None:
221 + page_html = await bd.get(fr_url(url))
222 + if page_html is None:
223 + Actor.log.warning(f"détail {pid} : échec fetch")
224 + return
225 + detail = parse_detail(page_html)
226 + if not detail:
227 + Actor.log.warning(f"détail {pid} : page sans données")
228 + return
229 + await Actor.push_data({"kind": "detail", "id": pid, "url": url, **detail})
230 +
231 +
232 +async def main() -> None:
233 + async with Actor:
234 + inp = await Actor.get_input() or {}
235 + token = (inp.get("brightdataToken") or "").strip()
236 + if not token:
237 + raise ValueError("brightdataToken requis (Web Unlocker)")
238 + bd = BrightData(
239 + token=token,
240 + zone=(inp.get("brightdataZone") or "web_unlocker1").strip(),
241 + concurrency=int(inp.get("concurrency") or 4),
242 + delay=float(inp.get("requestDelay") or 0))
243 + try:
244 + search_urls = [u.strip() for u in
245 + (inp.get("searchUrls")
246 + or ["https://www.apartments.com/qc/"])
247 + if u and u.strip()]
248 + max_pages = int(inp.get("maxPages") or 25)
249 + props: dict[str, dict] = {}
250 + for base in search_urls:
251 + await _crawl_search(bd, base, max_pages, props)
252 + Actor.log.info(f"recherche terminée : {len(props)} propriétés")
253 +
254 + if not inp.get("getDetails", True):
255 + return
256 + skip = set(inp.get("skipDetailIds") or [])
257 + targets: list[tuple[str, str]] = [
258 + (pid, p["url"]) for pid, p in props.items() if pid not in skip]
259 + for enc in inp.get("extraDetailIds") or []:
260 + pid, _, url = enc.partition("|")
261 + if pid and url and pid not in props and pid not in skip:
262 + targets.append((pid, url))
263 + max_details = int(inp.get("maxDetails") or 0)
264 + if max_details >= 0:
265 + targets = targets[:max_details]
266 + Actor.log.info(f"détails : {len(targets)} fiches à visiter")
267 + await asyncio.gather(
268 + *(_fetch_detail(bd, pid, url) for pid, url in targets))
269 + finally:
270 + await bd.close()
added actors/ka-apartments-com/src/net.py +63 −0
@@ -0,0 +1,63 @@
1 +# ==============================================================================
2 +# Author: Simon-Pierre Boucher <contact@spboucher.ai>
3 +# File: src/net.py (ka-apartments-com)
4 +# Desc: Fetcher Bright Data Web Unlocker — apartments.com est verrouillé par
5 +# Akamai (curl_cffi/Scrapfly/Oxylabs → 403) ; seul le Web Unlocker
6 +# passe. Simple POST https://api.brightdata.com/request qui renvoie le
7 +# HTML brut de la page débloquée. httpx async + sémaphore + retries à
8 +# backoff exponentiel.
9 +# ==============================================================================
10 +from __future__ import annotations
11 +
12 +import asyncio
13 +import random
14 +
15 +import httpx
16 +
17 +from apify import Actor
18 +
19 +API = "https://api.brightdata.com/request"
20 +
21 +
22 +def _backoff(attempt: int) -> float:
23 + return min(1.5 * (2 ** attempt), 15.0) + random.uniform(0.0, 1.0)
24 +
25 +
26 +class BrightData:
27 + """GET d'une page via le Web Unlocker Bright Data (déblocage géré)."""
28 +
29 + def __init__(self, token: str, zone: str, concurrency: int = 4,
30 + delay: float = 0.0) -> None:
31 + self._headers = {"Authorization": f"Bearer {token}",
32 + "Content-Type": "application/json"}
33 + self._zone = zone
34 + self._sem = asyncio.Semaphore(max(1, concurrency))
35 + self._delay = max(0.0, delay)
36 + self._client = httpx.AsyncClient(timeout=120.0)
37 +
38 + async def close(self) -> None:
39 + await self._client.aclose()
40 +
41 + async def get(self, url: str, retries: int = 3) -> str | None:
42 + """HTML de la page, ou None si le déblocage échoue après retries."""
43 + body = {"zone": self._zone, "url": url,
44 + "format": "raw", "country": "ca"}
45 + async with self._sem:
46 + for attempt in range(retries):
47 + try:
48 + resp = await self._client.post(
49 + API, headers=self._headers, json=body)
50 + if resp.status_code == 200 and resp.text.strip():
51 + if self._delay:
52 + await asyncio.sleep(self._delay)
53 + return resp.text
54 + Actor.log.warning(
55 + f"Bright Data {resp.status_code} {url} — "
56 + f"{resp.text[:120]!r} (tentative {attempt + 1})")
57 + except httpx.HTTPError as exc:
58 + Actor.log.warning(
59 + f"Bright Data réseau {url} : {exc} "
60 + f"(tentative {attempt + 1})")
61 + if attempt < retries - 1:
62 + await asyncio.sleep(_backoff(attempt))
63 + return None
modified actors/ka-fb-marketplace/src/main.py +27 −0
@@ -219,6 +219,33 @@ def parse_detail(html: str, lid: str) -> dict:
219 219 desc = (o.get("redacted_description") or {}).get("text") or ""
220 220 if desc:
221 221 out["description"] = _clean_desc(desc)[:6000]
222 + addr = ((o.get("home_address") or {}).get("street") or "").strip()
223 + unit_fields: list[str] = []
224 + for sec in (o.get("pdp_display_sections") or []):
225 + stype = sec.get("section_type") or ""
226 + for f in (sec.get("pdp_fields") or []):
227 + lbl = (f.get("display_label") or "").strip()
228 + if not lbl:
229 + continue
230 + if stype == "UNIT_INCLUDES":
231 + unit_fields.append(lbl)
232 + elif stype == "UNIT_SUBTITLE":
233 + if (f.get("icon_name") or "") == "pin" and not addr:
234 + addr = lbl.split(",")[0].strip()
235 + elif (f.get("icon_name") or "") == "clock":
236 + out["listed_text"] = lbl
237 + if addr:
238 + out["address"] = addr
239 + if unit_fields:
240 + out["unit_fields"] = unit_fields
241 + for src_k, dst_k in (("walk_score_info", "walk_score"),
242 + ("transit_score_info", "transit_score"),
243 + ("bike_score_info", "bike_score")):
244 + sc = (o.get(src_k) or {}).get("score")
245 + if sc is not None:
246 + out[dst_k] = sc
247 + if o.get("virtual_tour_url"):
248 + out["virtual_tour_url"] = o["virtual_tour_url"]
222 249 photos = _gallery(html, lid)
223 250 if photos:
224 251 out["images"] = photos
modified data/sources.json +4 −4
@@ -2793,10 +2793,10 @@
2793 2793 "id": "apartments_com",
2794 2794 "name": "Apartments.com (CoStar)",
2795 2795 "url": "https://www.apartments.com",
2796 − "listing_url": "https://www.apartments.com/montreal-qc/",
2797 − "sectors": "Réseau US CoStar",
2798 − "connector": null,
2799 − "status": "non connectable — anti-bot CoStar : 403 Access Denied en direct depuis le nœud ET depuis une autre IP (2026-08-18) ; couverture QC réputée marginale, ne vaut pas un passage Scrapfly ; re-sonder au besoin",
2796 + "listing_url": "https://www.apartments.com/qc/",
2797 + "sectors": "Toute la province via /qc/ (~500 propriétés / 8 400 unités, grands gestionnaires) — acteur Apify maison ka-apartments-com + Bright Data Web Unlocker",
2798 + "connector": "apartments_com",
2799 + "status": "actif",
2800 2800 "region": "Province"
2801 2801 },
2802 2802 {
modified docs/connecteurs/INDEX.md +218 −218
@@ -1,235 +1,235 @@
1 1 # Lou-Ka — Index des connecteurs
2 2
3 −_Généré automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Généré automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**217 connecteurs documentés** (215 activés, 2 désactivés) · **60703 annonces actives** au total · registre : 281 entrées.
5 +**218 connecteurs documentés** (216 activés, 2 désactivés) · **60633 annonces actives** au total · registre : 281 entrées.
6 6
7 7 | Connecteur | Nom | Région | Type d'accès | Backend | Actives/Total | GPS | Prix | Photos | État | Dernier sync OK |
8 8 |---|---|---|---|---|---|---|---|---|---|---|
9 −| [`aalto`](aalto.md) | Aalto Suites (Zibi / Dream) | Outaouais | API JSON interne du site | direct | 24/35 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
10 −| [`acceslogis_gb`](acceslogis_gb.md) | Accès Logis GB | Lanaudière / Mauric… | pages HTML (rendu serveur) | direct | 10/11 | 20 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
11 −| [`agence_sherbrooke`](agence_sherbrooke.md) | Agence de location Sherbrooke (groupe P… | Estrie | sitemap XML + pages HTML | direct | 13/19 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
12 −| [`akelius`](akelius.md) | Akelius Montréal | Montréal | pages HTML (rendu serveur) | direct | 231/302 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
13 −| [`alexcellence`](alexcellence.md) | Immeubles Alexcellence | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 50 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
14 −| [`alias_appartements`](alias_appartements.md) | Alias Appartements | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
15 −| [`alouer_sherbrooke`](alouer_sherbrooke.md) | À Louer Sherbrooke | Estrie | API admin-ajax (WordPress) | direct | 1/1 | 0 % | 0 % | 100 % | actif | 2026-08-22 17:18 |
16 −| [`app_urbains`](app_urbains.md) | Appartements Urbains | Québec | sitemap XML + pages HTML | direct | 17/21 | 100 % | 82 % | 100 % | actif | 2026-08-22 17:18 |
17 −| [`appartements_rimouski`](appartements_rimouski.md) | Appartements Rimouski (Immeubles DTM) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 20/24 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
18 −| [`ascensio`](ascensio.md) | Groupe Ascensio | Estrie | pages HTML (rendu serveur) | direct | 9/10 | 44 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
19 −| [`atimco`](atimco.md) | Atimco | Montérégie | sitemap XML + pages HTML | direct | 299/299 | 100 % | 99 % | 96 % | actif | 2026-08-22 17:19 |
20 −| [`atlas_immo`](atlas_immo.md) | Atlas société immobilière | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 0/0 | — | — | — | actif | 2026-08-22 17:19 |
21 −| [`aula`](aula.md) | AULA Lévis | Québec | API REST WordPress (wp-json) | direct | 68/70 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:19 |
22 −| [`axia`](axia.md) | Axia Appartements | Montréal | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:19 |
23 −| [`barnes_quebec`](barnes_quebec.md) | BARNES Québec (location) | Montréal | API JSON interne du site | direct | 101/110 | 100 % | 99 % | 100 % | actif | 2026-08-22 17:19 |
24 −| [`beaudoin`](beaudoin.md) | Société Beaudoin Immobilier | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:19 |
25 −| [`beaulieu_groupe`](beaulieu_groupe.md) | Beaulieu Groupe Immobilier (BGI) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 5/5 | 100 % | 0 % | 100 % | actif | 2026-08-22 17:19 |
26 −| [`bestlife`](bestlife.md) | Les Gestions Bestlife | Estrie | pages HTML (rendu serveur) | direct | 15/16 | 87 % | 100 % | 100 % | actif | 2026-08-22 17:19 |
27 −| [`boardwalk`](boardwalk.md) | Boardwalk REIT | Montréal | pages HTML (rendu serveur) | direct | 100/100 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:20 |
28 −| [`bons_locataires`](bons_locataires.md) | Bons Locataires | Grand Montréal | sitemap XML + pages HTML | direct | 17/17 | 100 % | 35 % | 94 % | actif | 2026-08-22 17:24 |
29 −| [`boreal_abitibi`](boreal_abitibi.md) | Constructions Boréal Abitibi | Abitibi-Témiscaming… | API admin-ajax (WordPress) | direct | 3/6 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:24 |
30 −| [`bribourg`](bribourg.md) | Bribourg | Québec | pages HTML (rendu serveur) | direct | 2/5 | 0 % | 0 % | 100 % | actif | 2026-08-22 17:24 |
31 −| [`brigil`](brigil.md) | Brigil | Outaouais | API JSON interne du site | direct | 42/42 | 98 % | 24 % | 100 % | actif | 2026-08-22 17:24 |
32 −| [`brio`](brio.md) | Les Immeubles Brio | Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:24 |
33 −| [`brivia_1sp`](brivia_1sp.md) | Groupe Brivia (1 Square Phillips) | Montréal | API JSON interne du site | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:24 |
34 −| [`brochu`](brochu.md) | Groupe Immobilier Brochu | Québec | pages HTML (rendu serveur) | direct | 7/7 | 86 % | 57 % | 100 % | actif | 2026-08-22 17:24 |
35 −| [`cap_gestion`](cap_gestion.md) | CAP Gestion (CAP Immobilier) | Laurentides / Lanau… | pages HTML (rendu serveur) | direct | 122/123 | 98 % | 100 % | 100 % | actif | 2026-08-22 17:25 |
36 −| [`capital_rdr`](capital_rdr.md) | Gestion Capital RDR | Mauricie | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:25 |
37 −| [`capreit`](capreit.md) | CAPREIT | Québec | API admin-ajax (WordPress) | direct | 116/123 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:25 |
38 −| [`carat_immobilier`](carat_immobilier.md) | Carat Immobilier | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 3/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:25 |
39 −| [`centurion`](centurion.md) | Centurion / CP Living (Quartier QB) | Québec | API JSON interne du site | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-22 17:25 |
40 −| [`cite_immobilier`](cite_immobilier.md) | Cité Immobilier | Centre-du-Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 0 % | actif | 2026-08-22 17:25 |
41 −| [`cogir`](cogir.md) | Cogir Immobilier | Québec | pages HTML (rendu serveur) | direct | 282/300 | 92 % | 96 % | 100 % | actif | 2026-08-22 17:26 |
42 −| [`contraste`](contraste.md) | Contraste Immobilier | Québec | pages HTML (rendu serveur) | direct | 208/234 | 100 % | 86 % | 100 % | actif | 2026-08-22 17:27 |
43 −| [`copley`](copley.md) | Groupe Copley | Montréal | pages HTML (rendu serveur) | direct | 52/52 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:27 |
44 −| [`cosoltec`](cosoltec.md) | Cosoltec (Evado, Le Monroe, Natür) | Laurentides | API JSON interne du site | direct | 44/57 | 100 % | 80 % | 100 % | actif | 2026-08-22 17:27 |
45 −| [`courtemanche`](courtemanche.md) | Gestion Immobilière Courtemanche | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 0/0 | — | — | — | actif | 2026-08-22 17:27 |
46 −| [`cromwell`](cromwell.md) | Cromwell Management | Montréal | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:27 |
47 −| [`denux`](denux.md) | Groupe Denux | Montréal | API JSON interne du site | direct | 20/20 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:27 |
48 −| [`desmarais`](desmarais.md) | Immeubles Desmarais | Outaouais | pages HTML (rendu serveur) | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:27 |
49 −| [`desroches`](desroches.md) | Immeubles Claude Desroches | Montérégie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 50 % | actif | 2026-08-22 17:28 |
50 −| [`devcore`](devcore.md) | Devcore Group | Côte-Nord | API REST WordPress (wp-json) | direct | 14/14 | 0 % | 7 % | 100 % | actif | 2026-08-22 14:28 |
51 −| [`devimco`](devimco.md) | Devimco Appartements | Montréal | API JSON interne du site | direct | 238/576 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:28 |
52 −| [`dma_locago`](dma_locago.md) | DMA / Locago (Douville, Moffet & Associ… | Québec | pages HTML (rendu serveur) | direct | 116/126 | 28 % | 98 % | 100 % | actif | 2026-08-22 14:29 |
53 −| [`duproprio`](duproprio.md) | DuProprio (location) | Province | sitemap XML + pages HTML | direct | 3894/4109 | 100 % | 100 % | 99 % | actif | 2026-08-22 14:29 |
54 −| [`dynamic`](dynamic.md) | Gestion immobilière Dynamic | Estrie | pages HTML (rendu serveur) | direct | 44/55 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:18 |
55 −| [`edifia`](edifia.md) | Edifia Groupe Immobilier | Québec | pages HTML (rendu serveur) | direct | 177/185 | 100 % | 94 % | 100 % | actif | 2026-08-22 14:29 |
56 −| [`elements`](elements.md) | Quartier les Éléments | Québec | pages HTML (rendu serveur) | direct | 2/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:30 |
57 −| [`elite`](elite.md) | Elite Immobilier | Outaouais | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:30 |
58 −| [`elk`](elk.md) | ELK Property Management | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-22 14:30 |
59 −| [`equinoxe_batimo`](equinoxe_batimo.md) | Batimo/EMD — Collection Équinoxe | Montréal | API admin-ajax (WordPress) | direct | 616/662 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:32 |
60 −| [`evoludev`](evoludev.md) | Groupe Evoludev | Lanaudière | pages HTML (rendu serveur) | direct | 134/134 | 100 % | 99 % | 100 % | actif | 2026-08-22 14:32 |
61 −| [`fb_marketplace`](fb_marketplace.md) | Facebook Marketplace (location) | Province | API JSON interne du site | direct | 2387/22526 | 23 % | 100 % | 100 % | actif | 2026-08-22 17:23 |
62 −| [`ferrovia`](ferrovia.md) | Ferrovia (condos locatifs Mirabel) | Laurentides | pages HTML (rendu serveur) | direct | 22/24 | 100 % | 0 % | 100 % | actif | 2026-08-22 14:42 |
63 −| [`firma`](firma.md) | Groupe Firma | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 75 % | 8 % | 100 % | actif | 2026-08-22 14:42 |
64 −| [`floria`](floria.md) | Gestion Floria | Estrie | pages HTML (rendu serveur) | direct | 21/21 | 100 % | 24 % | 95 % | actif | 2026-08-22 14:42 |
65 −| [`forsa`](forsa.md) | Gestion immobilière Forsa | Lanaudière | pages HTML (rendu serveur) | direct | 10/13 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:42 |
66 −| [`fournelle`](fournelle.md) | Appartements Fournelle (Groupe Fournell… | Centre-du-Québec | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 14:42 |
67 −| [`garic`](garic.md) | Garic Gestion Immobilière | Outaouais | API admin-ajax (WordPress) | direct | 45/54 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:42 |
68 −| [`gesteco`](gesteco.md) | Gesteco | Montérégie | API JSON interne du site | direct | 9/15 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:42 |
69 −| [`gestimmo_estrie`](gestimmo_estrie.md) | Gestimmo Estrie | Estrie | pages HTML (rendu serveur) | direct | 41/41 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
70 −| [`gestion_fauvel`](gestion_fauvel.md) | Gestion Fauvel | Centre-du-Québec | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-22 14:43 |
71 −| [`gestion_habitation`](gestion_habitation.md) | Gestion Habitation | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
72 −| [`gestion_isr`](gestion_isr.md) | Gestion ISR | Centre-du-Québec | pages HTML (rendu serveur) | direct | 20/22 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
73 −| [`gestion_jdm`](gestion_jdm.md) | JDM Gestion immobilière | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 2/2 | 100 % | 0 % | 100 % | actif | 2026-08-22 14:43 |
74 −| [`gestion_laprise`](gestion_laprise.md) | Gestion Laprise | Côte-Nord | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-22 14:43 |
75 −| [`gestion_legrand`](gestion_legrand.md) | Gestion Le Grand | Centre-du-Québec | API REST WordPress (wp-json) | direct | 5/5 | 40 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
76 −| [`gestion_montreal`](gestion_montreal.md) | Gestion Montréal | Montréal | pages HTML (rendu serveur) | direct | 23/26 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
77 −| [`gestion_tb`](gestion_tb.md) | Gestion TB (portail Appartements TB) | Centre-du-Québec | pages HTML (rendu serveur) | direct | 30/36 | 0 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
78 −| [`gestion_valco`](gestion_valco.md) | Gestion Valco | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 50 % | actif | 2026-08-22 14:43 |
79 −| [`gestipro`](gestipro.md) | Gestipro | Québec | pages HTML (rendu serveur) | direct | 103/124 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
80 −| [`gia_t`](gia_t.md) | GIA-T — Gestion Immobilière Abitibi-Tém… | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 5/7 | 80 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
81 −| [`gimcote`](gimcote.md) | GIM Côté | Québec | pages HTML (rendu serveur) | direct | 86/91 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
82 −| [`gio`](gio.md) | Gestion Immobilière de l'Outaouais (GIO) | Outaouais | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
83 −| [`girescom`](girescom.md) | Girescom gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 40/41 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:43 |
84 −| [`girs`](girs.md) | GIRS — Gestion Immobilière de la Rive S… | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 8/8 | 100 % | 0 % | 100 % | actif | 2026-08-22 14:43 |
85 −| [`gparadis`](gparadis.md) | GParadis | Québec | pages HTML (rendu serveur) | direct | 22/22 | 82 % | 0 % | 100 % | actif | 2026-08-22 14:43 |
86 −| [`groupe_dallaire`](groupe_dallaire.md) | Groupe Dallaire (Faubourg du Moulin) | Québec | API admin-ajax (WordPress) | Scrapfly | 255/259 | 100 % | 100 % | 100 % | actif (dégradé) | 2026-08-22 14:44 |
87 −| [`groupe_jacques`](groupe_jacques.md) | Groupe Jacques | Centre-du-Québec | pages HTML (rendu serveur) | direct | 10/11 | 100 % | 60 % | 100 % | actif | 2026-08-22 14:44 |
88 −| [`groupe_maurice`](groupe_maurice.md) | Le Groupe Maurice | Province | API REST WordPress (wp-json) | direct | 203/203 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:45 |
89 −| [`groupe_robin`](groupe_robin.md) | Groupe Robin | Mauricie | API admin-ajax (WordPress) | direct | 71/76 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:45 |
90 −| [`groupe_theoret`](groupe_theoret.md) | Groupe Théorêt (Gestion Immobilière) | Mauricie | pages HTML (rendu serveur) | direct | 24/24 | 83 % | 100 % | 0 % | actif | 2026-08-22 14:45 |
91 −| [`habitations_jeanne`](habitations_jeanne.md) | Les Habitations Jeanne | Côte-Nord | sitemap XML + pages HTML | direct | 14/14 | 100 % | 0 % | 100 % | actif | 2026-08-22 14:45 |
92 −| [`habitations_sf`](habitations_sf.md) | Les Habitations SF (S&F Gestion) | Lanaudière | pages HTML (rendu serveur) | direct | 7/7 | 43 % | 86 % | 100 % | actif | 2026-08-22 14:45 |
93 −| [`halfred`](halfred.md) | Halfred | Outaouais | pages HTML (rendu serveur) | direct | 165/171 | 93 % | 100 % | 100 % | actif | 2026-08-22 14:46 |
94 −| [`hazelview`](hazelview.md) | Hazelview Properties | Montréal | API JSON interne du site | direct | 6/6 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:46 |
95 −| [`headway`](headway.md) | La Corporation Headway | Québec | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 0 % | 100 % | actif | 2026-08-22 14:46 |
96 −| [`heafey`](heafey.md) | Groupe Heafey (Le We 2, Le We 3, Loggia… | Outaouais | API JSON interne du site | direct | 246/261 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:46 |
97 −| [`hestia`](hestia.md) | Hestia Groupe immobilier | Mauricie | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:46 |
98 −| [`huma`](huma.md) | HUMĀ Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 38/38 | 100 % | 0 % | 100 % | actif | 2026-08-22 14:47 |
99 −| [`immeubles_aeb`](immeubles_aeb.md) | Immeubles AEB | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 26/26 | 100 % | 100 % | 81 % | actif | 2026-08-22 14:47 |
100 −| [`immeubles_bc`](immeubles_bc.md) | Les Immeubles Beaulieu et Collin | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 20/30 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
101 −| [`immeubles_bois`](immeubles_bois.md) | Les Immeubles Bois | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 23/23 | 87 % | 0 % | 100 % | actif | 2026-08-22 14:47 |
102 −| [`immeubles_db`](immeubles_db.md) | Les Immeubles D.B. Busque-Massé | Estrie | pages HTML (rendu serveur) | direct | 13/13 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
103 −| [`immeubles_dcl`](immeubles_dcl.md) | Les Immeubles DCL | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 7/11 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
104 −| [`immeubles_guillot`](immeubles_guillot.md) | Les Immeubles Guillot | Québec | pages HTML (rendu serveur) | direct | 7/7 | 57 % | 0 % | 100 % | actif | 2026-08-22 14:47 |
105 −| [`immeubles_ouellet`](immeubles_ouellet.md) | Les Immeubles Vianney Ouellet & Fils | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
106 −| [`immeubles_pm`](immeubles_pm.md) | Les Immeubles PM | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
107 −| [`immnasr`](immnasr.md) | Les Immeubles Michel Nazair | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
108 −| [`immobilia`](immobilia.md) | Immobilia Rimouski | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 1/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
109 −| [`immogex`](immogex.md) | Immogex | Centre-du-Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
110 −| [`immomarketing`](immomarketing.md) | IMMOMARKETING (Immoappart) | Québec | pages HTML (rendu serveur) | direct | 83/94 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:47 |
111 −| [`immostar`](immostar.md) | Immostar | Québec | API REST WordPress (wp-json) | direct | 156/165 | 78 % | 99 % | 100 % | actif | 2026-08-22 14:48 |
112 −| [`info_logement`](info_logement.md) | Info-Logement | Lanaudière | pages HTML (rendu serveur) | direct | 56/64 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:48 |
113 −| [`interrent`](interrent.md) | InterRent REIT (CLV Group) | Montréal | pages HTML (rendu serveur) | direct | 194/215 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:48 |
114 −| [`jutras`](jutras.md) | Habitations Jutras | Centre-du-Québec | pages HTML (rendu serveur) | direct | 35/35 | 0 % | 60 % | 100 % | actif | 2026-08-22 14:48 |
115 −| [`kangalou`](kangalou.md) | Kangalou | Province | API JSON interne du site | direct | 7774/8413 | 100 % | 100 % | 99 % | actif | 2026-08-22 14:50 |
116 −| [`kass`](kass.md) | KASS Property Management | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 14:51 |
117 −| [`katasa`](katasa.md) | Groupe Katasa | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 14:51 |
118 −| [`kijiji`](kijiji.md) | Kijiji Québec (location) | Province | pages HTML (rendu serveur) | direct | 5314/9379 | 100 % | 97 % | 99 % | actif | 2026-08-22 15:00 |
119 −| [`la_cour`](la_cour.md) | La Cour Appartements | Québec | API REST WordPress (wp-json) | direct | 19/21 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:19 |
120 −| [`laberge`](laberge.md) | Groupe Laberge | Québec | pages HTML (rendu serveur) | direct | 57/62 | 93 % | 100 % | 100 % | actif | 2026-08-22 15:00 |
121 −| [`labonte`](labonte.md) | Gestion Labonté | Estrie | pages HTML (rendu serveur) | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:00 |
122 −| [`lachance`](lachance.md) | Les Entreprises Lachance | Estrie | sitemap XML + pages HTML | direct | 75/98 | 93 % | 100 % | 100 % | actif | 2026-08-22 15:02 |
123 −| [`lacite`](lacite.md) | La Cité Gatineau (Adam Real Estate) | Outaouais | pages HTML (rendu serveur) | direct | 6/7 | 100 % | 0 % | 100 % | actif | 2026-08-22 15:04 |
124 −| [`lafrance_mathieu`](lafrance_mathieu.md) | Lafrance & Mathieu | Québec | pages HTML (rendu serveur) | direct | 37/41 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:04 |
125 −| [`lakle`](lakle.md) | La Klé | Québec | API REST WordPress (wp-json) | direct | 43/49 | 100 % | 53 % | 100 % | actif | 2026-08-22 15:05 |
126 −| [`lambert`](lambert.md) | Société Immobilière Lambert | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-22 15:05 |
127 −| [`laureat_richard`](laureat_richard.md) | Logements Lauréat Richard | Estrie | pages HTML (rendu serveur) | direct | 23/23 | 100 % | 0 % | 100 % | actif | 2026-08-22 15:05 |
128 −| [`le_baronet`](le_baronet.md) | Le Baronet | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 4/6 | 0 % | 100 % | 100 % | actif | 2026-08-22 15:05 |
129 −| [`le_st_georges`](le_st_georges.md) | Le St-Georges | Chaudière-Appalaches | API REST WordPress (wp-json) | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:05 |
130 −| [`leclif`](leclif.md) | Le Clif | Québec | pages HTML (rendu serveur) | direct | 10/10 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:05 |
131 −| [`ledomaine`](ledomaine.md) | Les Habitations Le Domaine | Montréal | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:05 |
132 −| [`lelaureat`](lelaureat.md) | Résidences Le Lauréat | Estrie | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:05 |
133 −| [`lequerre`](lequerre.md) | Habitations L'Équerre | Estrie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:05 |
134 −| [`lespac`](lespac.md) | LesPAC (location) | Province | pages HTML (rendu serveur) | direct | 2242/2882 | 100 % | 97 % | 93 % | actif | 2026-08-22 15:08 |
135 −| [`leviu`](leviu.md) | Le VIU / VIU2 (Groupe Heafey) | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-22 15:08 |
136 −| [`location_di`](location_di.md) | Location DI (Groupe Sphère DI) | Mauricie / Lanaudiè… | pages HTML (rendu serveur) | direct | 9/16 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:08 |
137 −| [`location_saguenay`](location_saguenay.md) | Location Saguenay | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 21/21 | 76 % | 0 % | 100 % | actif | 2026-08-22 15:08 |
138 −| [`loftsmtl`](loftsmtl.md) | Lofts MTL | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:09 |
139 −| [`logement_mauricie`](logement_mauricie.md) | Logement Mauricie (regroupement de prop… | Mauricie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:09 |
140 −| [`logis_experts`](logis_experts.md) | Logis-Experts | Québec | API JSON interne du site | direct | 487/519 | 100 % | 100 % | 38 % | actif | 2026-08-22 15:09 |
141 −| [`logisbourg`](logisbourg.md) | Logisbourg | Québec | pages HTML (rendu serveur) | direct | 11/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:09 |
142 −| [`logisco`](logisco.md) | Logisco | Québec | pages HTML (rendu serveur) | direct | 160/184 | 99 % | 100 % | 100 % | actif | 2026-08-22 15:09 |
143 −| [`logisma`](logisma.md) | Logisma | Québec | API REST WordPress (wp-json) | direct | 12/20 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:09 |
144 −| [`logispro`](logispro.md) | LogisPro Rimouski | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-22 15:09 |
145 −| [`logisquebec`](logisquebec.md) | LogisQuébec | Province | sitemap XML + pages HTML | direct | 9668/10178 | 100 % | 99 % | 100 % | actif | 2026-08-22 15:14 |
146 −| [`lokalia`](lokalia.md) | Espaces Lokalia | Québec | API admin-ajax (WordPress) | direct | 130/141 | 100 % | 82 % | 100 % | actif | 2026-08-22 15:15 |
147 −| [`louer_ca`](louer_ca.md) | Louer.ca | Province | API GraphQL interne | direct | 4613/5908 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:21 |
148 −| [`louer_saguenay`](louer_saguenay.md) | Louer Saguenay | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:21 |
149 −| [`louis14`](louis14.md) | Quartier Louis Quatorze (Groupe Damco) | Québec | pages HTML (rendu serveur) | direct | 17/18 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:21 |
150 −| [`lr_gestion`](lr_gestion.md) | LR Gestion immobilière (LR Location) | Outaouais | pages HTML (rendu serveur) | direct | 106/116 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:21 |
151 −| [`luxuor`](luxuor.md) | Les Immeubles Luxuor | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 4/4 | 75 % | 0 % | 100 % | actif | 2026-08-22 15:22 |
152 −| [`lynk_olymbec`](lynk_olymbec.md) | Lynk (Olymbec) | Montréal | pages HTML (rendu serveur) | Firecrawl | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:22 |
153 −| [`m_immobilier`](m_immobilier.md) | M Immobilier (location) | Montréal | pages HTML (rendu serveur) | direct | 186/207 | 58 % | 100 % | 100 % | actif | 2026-08-22 15:22 |
154 −| [`majestic`](majestic.md) | Le Majestic du Lac Boivin | Montérégie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 0 % | actif | 2026-08-22 15:22 |
155 −| [`matinale`](matinale.md) | Gestion Matinale | Estrie | pages HTML (rendu serveur) | direct | 44/46 | 59 % | 100 % | 100 % | actif | 2026-08-22 15:23 |
156 −| [`may_bourg`](may_bourg.md) | Gestion May Bourg | Centre-du-Québec | API REST WordPress (wp-json) | direct | 6/7 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:23 |
157 −| [`medway`](medway.md) | Groupe Medway | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 482/499 | 91 % | 100 % | 100 % | actif | 2026-08-22 15:24 |
158 −| [`mellem`](mellem.md) | Mellem (Groupe Mach) | Outaouais | sitemap XML + pages HTML | direct | 79/90 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:24 |
159 −| [`mercini`](mercini.md) | Groupe Mercini (Gestion Faleschini Merc… | Québec | pages HTML (rendu serveur) | direct | 45/53 | 96 % | 100 % | 100 % | actif | 2026-08-22 15:24 |
160 −| [`metcap`](metcap.md) | MetCap Living | Montréal | pages HTML (rendu serveur) | direct | 8/8 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:25 |
161 −| [`minto`](minto.md) | Minto Apartments | Montréal | pages HTML (rendu serveur) | direct | 19/20 | 84 % | 100 % | 100 % | actif | 2026-08-22 15:25 |
162 −| [`mkar`](mkar.md) | Gestion Immobilière MKAR | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 0 % | 100 % | actif | 2026-08-22 15:25 |
163 −| [`moderno`](moderno.md) | Moderno Construction | Lanaudière | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:25 |
164 −| [`mondev`](mondev.md) | Mondev | Montréal | pages HTML (rendu serveur) | direct | 43/49 | 47 % | 100 % | 100 % | actif | 2026-08-22 15:26 |
165 −| [`montagnais`](montagnais.md) | Le Montagnais, résidences étudiantes | Estrie | API admin-ajax (WordPress) | direct | 31/31 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:26 |
166 −| [`morin`](morin.md) | Constructions Morin | Estrie | pages HTML (rendu serveur) | direct | 6/7 | 83 % | 100 % | 100 % | actif | 2026-08-22 15:26 |
167 −| [`msi`](msi.md) | MSI Gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 96/109 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:27 |
168 −| [`multi_logis`](multi_logis.md) | Multi-Logis | Côte-Nord | sitemap XML + pages HTML | direct | 27/27 | 100 % | 96 % | 70 % | actif | 2026-08-22 15:27 |
169 −| [`niddamour`](niddamour.md) | Nid d'Amour | Montréal | API JSON interne du site | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:27 |
170 −| [`novelo`](novelo.md) | Les Appartements Novelo | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:27 |
171 −| [`oklouer`](oklouer.md) | OK Louer (location temporaire) | Québec | pages HTML (rendu serveur) | direct | 41/41 | 98 % | 100 % | 100 % | actif | 2026-08-22 15:27 |
172 −| [`omhm`](omhm.md) | OMHM — logements abordables | Montréal | pages HTML (rendu serveur) | direct | 3/4 | 67 % | 100 % | 0 % | actif | 2026-08-22 15:27 |
173 −| [`osgoode`](osgoode.md) | Osgoode Properties | Outaouais | API JSON interne du site | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:28 |
174 −| [`oxford`](oxford.md) | Appartements Oxford | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-22 15:28 |
175 −| [`per`](per.md) | Les Immeubles Paul-E. Richard | Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:28 |
176 −| [`picard`](picard.md) | Picard Immobilier | Québec | pages HTML (rendu serveur) | direct | 29/34 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:28 |
177 −| [`place_florimay`](place_florimay.md) | Place Florimay | Chaudière-Appalaches | API REST WordPress (wp-json) | direct | 0/0 | — | — | — | actif | 2026-08-22 15:28 |
178 −| [`plan_a`](plan_a.md) | Plan A Immobilier | Montréal | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-22 15:28 |
179 −| [`progim`](progim.md) | Progim | Montréal | pages HTML (rendu serveur) | direct | 65/73 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:28 |
180 −| [`projection_immo`](projection_immo.md) | Projection Immobilière | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 1/1 | 100 % | 0 % | 100 % | actif | 2026-08-22 15:28 |
181 −| [`promenade_des_forts`](promenade_des_forts.md) | Promenade des Forts | Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:29 |
182 −| [`proprio_direct`](proprio_direct.md) | Proprio Direct (location) | Province | API JSON interne du site | direct | 183/193 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:29 |
183 −| [`quanta`](quanta.md) | Gestion Quanta | Outaouais | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-22 15:29 |
184 −| [`quartier_mosaique`](quartier_mosaique.md) | Quartier Mosaïque (Constrobourg) | Québec | pages HTML (rendu serveur) | direct | 24/24 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:29 |
185 −| [`quartier_oree`](quartier_oree.md) | Quartier Orée | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 28/31 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:29 |
186 −| [`quartier_plus`](quartier_plus.md) | Le Quartier Plus | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 59/59 | 100 % | 97 % | 100 % | actif | 2026-08-22 15:29 |
187 −| [`quartier_sila`](quartier_sila.md) | Quartier Sila | Québec | pages HTML (rendu serveur) | direct | 198/200 | 100 % | 26 % | 100 % | actif | 2026-08-22 15:29 |
188 −| [`realstar`](realstar.md) | Realstar | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:29 |
189 −| [`remax_quebec`](remax_quebec.md) | RE/MAX Québec (location) | Province | pages HTML (rendu serveur) | direct | 3227/3518 | 100 % | 100 % | 99 % | actif | 2026-08-22 15:35 |
190 −| [`rentals_ca`](rentals_ca.md) | Rentals.ca (Québec) | Province | API GraphQL interne | Scrapfly | 4439/5654 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:40 |
191 −| [`rentalys`](rentalys.md) | Rentalys | Montréal | pages HTML (rendu serveur) | direct | 10/10 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:41 |
9 +| [`aalto`](aalto.md) | Aalto Suites (Zibi / Dream) | Outaouais | API JSON interne du site | direct | 24/35 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
10 +| [`acceslogis_gb`](acceslogis_gb.md) | Accès Logis GB | Lanaudière / Mauric… | pages HTML (rendu serveur) | direct | 10/11 | 20 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
11 +| [`agence_sherbrooke`](agence_sherbrooke.md) | Agence de location Sherbrooke (groupe P… | Estrie | sitemap XML + pages HTML | direct | 13/19 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
12 +| [`akelius`](akelius.md) | Akelius Montréal | Montréal | pages HTML (rendu serveur) | direct | 231/302 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
13 +| [`alexcellence`](alexcellence.md) | Immeubles Alexcellence | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 50 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
14 +| [`alias_appartements`](alias_appartements.md) | Alias Appartements | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
15 +| [`alouer_sherbrooke`](alouer_sherbrooke.md) | À Louer Sherbrooke | Estrie | API admin-ajax (WordPress) | direct | 1/1 | 0 % | 0 % | 100 % | actif | 2026-08-22 17:44 |
16 +| [`apartments_com`](apartments_com.md) | Apartments.com (CoStar) | Province | API JSON interne du site | direct | 615/615 | 40 % | 100 % | 100 % | actif | 2026-08-22 19:17 |
17 +| [`app_urbains`](app_urbains.md) | Appartements Urbains | Québec | sitemap XML + pages HTML | direct | 17/21 | 100 % | 82 % | 100 % | actif | 2026-08-22 17:44 |
18 +| [`appartements_rimouski`](appartements_rimouski.md) | Appartements Rimouski (Immeubles DTM) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 20/24 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
19 +| [`ascensio`](ascensio.md) | Groupe Ascensio | Estrie | pages HTML (rendu serveur) | direct | 9/10 | 44 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
20 +| [`atimco`](atimco.md) | Atimco | Montérégie | sitemap XML + pages HTML | direct | 299/299 | 100 % | 99 % | 96 % | actif | 2026-08-22 17:45 |
21 +| [`atlas_immo`](atlas_immo.md) | Atlas société immobilière | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 0/0 | — | — | — | actif | 2026-08-22 17:45 |
22 +| [`aula`](aula.md) | AULA Lévis | Québec | API REST WordPress (wp-json) | direct | 68/70 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:45 |
23 +| [`axia`](axia.md) | Axia Appartements | Montréal | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:45 |
24 +| [`barnes_quebec`](barnes_quebec.md) | BARNES Québec (location) | Montréal | API JSON interne du site | direct | 101/110 | 100 % | 99 % | 100 % | actif | 2026-08-22 17:45 |
25 +| [`beaudoin`](beaudoin.md) | Société Beaudoin Immobilier | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:45 |
26 +| [`beaulieu_groupe`](beaulieu_groupe.md) | Beaulieu Groupe Immobilier (BGI) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 5/5 | 100 % | 0 % | 100 % | actif | 2026-08-22 17:45 |
27 +| [`bestlife`](bestlife.md) | Les Gestions Bestlife | Estrie | pages HTML (rendu serveur) | direct | 15/16 | 87 % | 100 % | 100 % | actif | 2026-08-22 17:45 |
28 +| [`boardwalk`](boardwalk.md) | Boardwalk REIT | Montréal | pages HTML (rendu serveur) | direct | 100/100 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:46 |
29 +| [`bons_locataires`](bons_locataires.md) | Bons Locataires | Grand Montréal | sitemap XML + pages HTML | direct | 17/17 | 100 % | 35 % | 94 % | actif | 2026-08-22 17:50 |
30 +| [`boreal_abitibi`](boreal_abitibi.md) | Constructions Boréal Abitibi | Abitibi-Témiscaming… | API admin-ajax (WordPress) | direct | 3/6 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
31 +| [`bribourg`](bribourg.md) | Bribourg | Québec | pages HTML (rendu serveur) | direct | 2/5 | 0 % | 0 % | 100 % | actif | 2026-08-22 17:50 |
32 +| [`brigil`](brigil.md) | Brigil | Outaouais | API JSON interne du site | direct | 42/42 | 98 % | 24 % | 100 % | actif | 2026-08-22 17:50 |
33 +| [`brio`](brio.md) | Les Immeubles Brio | Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
34 +| [`brivia_1sp`](brivia_1sp.md) | Groupe Brivia (1 Square Phillips) | Montréal | API JSON interne du site | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
35 +| [`brochu`](brochu.md) | Groupe Immobilier Brochu | Québec | pages HTML (rendu serveur) | direct | 7/7 | 86 % | 57 % | 100 % | actif | 2026-08-22 17:50 |
36 +| [`cap_gestion`](cap_gestion.md) | CAP Gestion (CAP Immobilier) | Laurentides / Lanau… | pages HTML (rendu serveur) | direct | 122/123 | 98 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
37 +| [`capital_rdr`](capital_rdr.md) | Gestion Capital RDR | Mauricie | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
38 +| [`capreit`](capreit.md) | CAPREIT | Québec | API admin-ajax (WordPress) | direct | 116/123 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
39 +| [`carat_immobilier`](carat_immobilier.md) | Carat Immobilier | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 3/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:50 |
40 +| [`centurion`](centurion.md) | Centurion / CP Living (Quartier QB) | Québec | API JSON interne du site | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-22 17:50 |
41 +| [`cite_immobilier`](cite_immobilier.md) | Cité Immobilier | Centre-du-Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 0 % | actif | 2026-08-22 17:50 |
42 +| [`cogir`](cogir.md) | Cogir Immobilier | Québec | pages HTML (rendu serveur) | direct | 282/300 | 92 % | 96 % | 100 % | actif | 2026-08-22 17:52 |
43 +| [`contraste`](contraste.md) | Contraste Immobilier | Québec | pages HTML (rendu serveur) | direct | 208/234 | 100 % | 86 % | 100 % | actif | 2026-08-22 17:52 |
44 +| [`copley`](copley.md) | Groupe Copley | Montréal | pages HTML (rendu serveur) | direct | 52/52 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:53 |
45 +| [`cosoltec`](cosoltec.md) | Cosoltec (Evado, Le Monroe, Natür) | Laurentides | API JSON interne du site | direct | 44/57 | 100 % | 80 % | 100 % | actif | 2026-08-22 17:53 |
46 +| [`courtemanche`](courtemanche.md) | Gestion Immobilière Courtemanche | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 0/0 | — | — | — | actif | 2026-08-22 17:53 |
47 +| [`cromwell`](cromwell.md) | Cromwell Management | Montréal | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:53 |
48 +| [`denux`](denux.md) | Groupe Denux | Montréal | API JSON interne du site | direct | 20/20 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:53 |
49 +| [`desmarais`](desmarais.md) | Immeubles Desmarais | Outaouais | pages HTML (rendu serveur) | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:53 |
50 +| [`desroches`](desroches.md) | Immeubles Claude Desroches | Montérégie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 50 % | actif | 2026-08-22 17:53 |
51 +| [`devcore`](devcore.md) | Devcore Group | Côte-Nord | API REST WordPress (wp-json) | direct | 14/14 | 0 % | 7 % | 100 % | actif | 2026-08-22 17:54 |
52 +| [`devimco`](devimco.md) | Devimco Appartements | Montréal | API JSON interne du site | direct | 231/576 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:54 |
53 +| [`dma_locago`](dma_locago.md) | DMA / Locago (Douville, Moffet & Associ… | Québec | pages HTML (rendu serveur) | direct | 116/126 | 28 % | 98 % | 100 % | actif | 2026-08-22 17:55 |
54 +| [`duproprio`](duproprio.md) | DuProprio (location) | Province | sitemap XML + pages HTML | direct | 3894/4109 | 100 % | 100 % | 99 % | actif | 2026-08-22 17:55 |
55 +| [`dynamic`](dynamic.md) | Gestion immobilière Dynamic | Estrie | pages HTML (rendu serveur) | direct | 44/55 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:44 |
56 +| [`edifia`](edifia.md) | Edifia Groupe Immobilier | Québec | pages HTML (rendu serveur) | direct | 177/185 | 100 % | 94 % | 100 % | actif | 2026-08-22 17:55 |
57 +| [`elements`](elements.md) | Quartier les Éléments | Québec | pages HTML (rendu serveur) | direct | 2/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:56 |
58 +| [`elite`](elite.md) | Elite Immobilier | Outaouais | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:56 |
59 +| [`elk`](elk.md) | ELK Property Management | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-22 17:56 |
60 +| [`equinoxe_batimo`](equinoxe_batimo.md) | Batimo/EMD — Collection Équinoxe | Montréal | API admin-ajax (WordPress) | direct | 626/662 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:58 |
61 +| [`evoludev`](evoludev.md) | Groupe Evoludev | Lanaudière | pages HTML (rendu serveur) | direct | 134/134 | 100 % | 99 % | 100 % | actif | 2026-08-22 17:58 |
62 +| [`fb_marketplace`](fb_marketplace.md) | Facebook Marketplace (location) | Province | API JSON interne du site | direct | 1732/23481 | 56 % | 100 % | 100 % | actif | 2026-08-22 19:25 |
63 +| [`ferrovia`](ferrovia.md) | Ferrovia (condos locatifs Mirabel) | Laurentides | pages HTML (rendu serveur) | direct | 22/24 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:05 |
64 +| [`firma`](firma.md) | Groupe Firma | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 75 % | 8 % | 100 % | actif | 2026-08-22 18:06 |
65 +| [`floria`](floria.md) | Gestion Floria | Estrie | pages HTML (rendu serveur) | direct | 21/21 | 100 % | 24 % | 95 % | actif | 2026-08-22 18:06 |
66 +| [`forsa`](forsa.md) | Gestion immobilière Forsa | Lanaudière | pages HTML (rendu serveur) | direct | 10/13 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
67 +| [`fournelle`](fournelle.md) | Appartements Fournelle (Groupe Fournell… | Centre-du-Québec | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
68 +| [`garic`](garic.md) | Garic Gestion Immobilière | Outaouais | API admin-ajax (WordPress) | direct | 45/54 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
69 +| [`gesteco`](gesteco.md) | Gesteco | Montérégie | API JSON interne du site | direct | 9/15 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
70 +| [`gestimmo_estrie`](gestimmo_estrie.md) | Gestimmo Estrie | Estrie | pages HTML (rendu serveur) | direct | 41/41 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
71 +| [`gestion_fauvel`](gestion_fauvel.md) | Gestion Fauvel | Centre-du-Québec | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-22 18:06 |
72 +| [`gestion_habitation`](gestion_habitation.md) | Gestion Habitation | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
73 +| [`gestion_isr`](gestion_isr.md) | Gestion ISR | Centre-du-Québec | pages HTML (rendu serveur) | direct | 20/22 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:06 |
74 +| [`gestion_jdm`](gestion_jdm.md) | JDM Gestion immobilière | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 2/2 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:06 |
75 +| [`gestion_laprise`](gestion_laprise.md) | Gestion Laprise | Côte-Nord | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-22 18:06 |
76 +| [`gestion_legrand`](gestion_legrand.md) | Gestion Le Grand | Centre-du-Québec | API REST WordPress (wp-json) | direct | 5/5 | 40 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
77 +| [`gestion_montreal`](gestion_montreal.md) | Gestion Montréal | Montréal | pages HTML (rendu serveur) | direct | 23/26 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
78 +| [`gestion_tb`](gestion_tb.md) | Gestion TB (portail Appartements TB) | Centre-du-Québec | pages HTML (rendu serveur) | direct | 30/36 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
79 +| [`gestion_valco`](gestion_valco.md) | Gestion Valco | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 50 % | actif | 2026-08-22 18:07 |
80 +| [`gestipro`](gestipro.md) | Gestipro | Québec | pages HTML (rendu serveur) | direct | 103/124 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
81 +| [`gia_t`](gia_t.md) | GIA-T — Gestion Immobilière Abitibi-Tém… | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 5/7 | 80 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
82 +| [`gimcote`](gimcote.md) | GIM Côté | Québec | pages HTML (rendu serveur) | direct | 86/91 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
83 +| [`gio`](gio.md) | Gestion Immobilière de l'Outaouais (GIO) | Outaouais | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
84 +| [`girescom`](girescom.md) | Girescom gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 40/41 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:07 |
85 +| [`girs`](girs.md) | GIRS — Gestion Immobilière de la Rive S… | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 8/8 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:07 |
86 +| [`gparadis`](gparadis.md) | GParadis | Québec | pages HTML (rendu serveur) | direct | 22/22 | 82 % | 0 % | 100 % | actif | 2026-08-22 18:07 |
87 +| [`groupe_dallaire`](groupe_dallaire.md) | Groupe Dallaire (Faubourg du Moulin) | Québec | API admin-ajax (WordPress) | Scrapfly | 255/259 | 100 % | 100 % | 100 % | actif (dégradé) | 2026-08-22 18:08 |
88 +| [`groupe_jacques`](groupe_jacques.md) | Groupe Jacques | Centre-du-Québec | pages HTML (rendu serveur) | direct | 10/11 | 100 % | 60 % | 100 % | actif | 2026-08-22 18:08 |
89 +| [`groupe_maurice`](groupe_maurice.md) | Le Groupe Maurice | Province | API REST WordPress (wp-json) | direct | 203/203 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:08 |
90 +| [`groupe_robin`](groupe_robin.md) | Groupe Robin | Mauricie | API admin-ajax (WordPress) | direct | 71/76 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:08 |
91 +| [`groupe_theoret`](groupe_theoret.md) | Groupe Théorêt (Gestion Immobilière) | Mauricie | pages HTML (rendu serveur) | direct | 24/24 | 83 % | 100 % | 0 % | actif | 2026-08-22 18:08 |
92 +| [`habitations_jeanne`](habitations_jeanne.md) | Les Habitations Jeanne | Côte-Nord | sitemap XML + pages HTML | direct | 14/14 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:08 |
93 +| [`habitations_sf`](habitations_sf.md) | Les Habitations SF (S&F Gestion) | Lanaudière | pages HTML (rendu serveur) | direct | 7/7 | 43 % | 86 % | 100 % | actif | 2026-08-22 18:08 |
94 +| [`halfred`](halfred.md) | Halfred | Outaouais | pages HTML (rendu serveur) | direct | 165/171 | 93 % | 100 % | 100 % | actif | 2026-08-22 18:09 |
95 +| [`hazelview`](hazelview.md) | Hazelview Properties | Montréal | API JSON interne du site | direct | 6/6 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:10 |
96 +| [`headway`](headway.md) | La Corporation Headway | Québec | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:10 |
97 +| [`heafey`](heafey.md) | Groupe Heafey (Le We 2, Le We 3, Loggia… | Outaouais | API JSON interne du site | direct | 246/261 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:10 |
98 +| [`hestia`](hestia.md) | Hestia Groupe immobilier | Mauricie | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:10 |
99 +| [`huma`](huma.md) | HUMĀ Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 38/38 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:10 |
100 +| [`immeubles_aeb`](immeubles_aeb.md) | Immeubles AEB | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 26/26 | 100 % | 100 % | 81 % | actif | 2026-08-22 18:10 |
101 +| [`immeubles_bc`](immeubles_bc.md) | Les Immeubles Beaulieu et Collin | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 20/30 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:10 |
102 +| [`immeubles_bois`](immeubles_bois.md) | Les Immeubles Bois | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 23/23 | 87 % | 0 % | 100 % | actif | 2026-08-22 18:11 |
103 +| [`immeubles_db`](immeubles_db.md) | Les Immeubles D.B. Busque-Massé | Estrie | pages HTML (rendu serveur) | direct | 13/13 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
104 +| [`immeubles_dcl`](immeubles_dcl.md) | Les Immeubles DCL | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 7/11 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
105 +| [`immeubles_guillot`](immeubles_guillot.md) | Les Immeubles Guillot | Québec | pages HTML (rendu serveur) | direct | 7/7 | 57 % | 0 % | 100 % | actif | 2026-08-22 18:11 |
106 +| [`immeubles_ouellet`](immeubles_ouellet.md) | Les Immeubles Vianney Ouellet & Fils | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
107 +| [`immeubles_pm`](immeubles_pm.md) | Les Immeubles PM | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
108 +| [`immnasr`](immnasr.md) | Les Immeubles Michel Nazair | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
109 +| [`immobilia`](immobilia.md) | Immobilia Rimouski | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 1/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
110 +| [`immogex`](immogex.md) | Immogex | Centre-du-Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
111 +| [`immomarketing`](immomarketing.md) | IMMOMARKETING (Immoappart) | Québec | pages HTML (rendu serveur) | direct | 83/94 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:11 |
112 +| [`immostar`](immostar.md) | Immostar | Québec | API REST WordPress (wp-json) | direct | 156/165 | 78 % | 99 % | 100 % | actif | 2026-08-22 18:12 |
113 +| [`info_logement`](info_logement.md) | Info-Logement | Lanaudière | pages HTML (rendu serveur) | direct | 56/64 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:12 |
114 +| [`interrent`](interrent.md) | InterRent REIT (CLV Group) | Montréal | pages HTML (rendu serveur) | direct | 194/215 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:12 |
115 +| [`jutras`](jutras.md) | Habitations Jutras | Centre-du-Québec | pages HTML (rendu serveur) | direct | 35/35 | 0 % | 60 % | 100 % | actif | 2026-08-22 18:12 |
116 +| [`kangalou`](kangalou.md) | Kangalou | Province | API JSON interne du site | direct | 7776/8415 | 100 % | 100 % | 99 % | actif | 2026-08-22 18:14 |
117 +| [`kass`](kass.md) | KASS Property Management | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:14 |
118 +| [`katasa`](katasa.md) | Groupe Katasa | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:15 |
119 +| [`kijiji`](kijiji.md) | Kijiji Québec (location) | Province | pages HTML (rendu serveur) | direct | 5327/9432 | 100 % | 97 % | 99 % | actif | 2026-08-22 18:25 |
120 +| [`la_cour`](la_cour.md) | La Cour Appartements | Québec | API REST WordPress (wp-json) | direct | 19/21 | 100 % | 100 % | 100 % | actif | 2026-08-22 17:45 |
121 +| [`laberge`](laberge.md) | Groupe Laberge | Québec | pages HTML (rendu serveur) | direct | 57/62 | 93 % | 100 % | 100 % | actif | 2026-08-22 18:25 |
122 +| [`labonte`](labonte.md) | Gestion Labonté | Estrie | pages HTML (rendu serveur) | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:25 |
123 +| [`lachance`](lachance.md) | Les Entreprises Lachance | Estrie | sitemap XML + pages HTML | direct | 75/98 | 93 % | 100 % | 100 % | actif | 2026-08-22 18:26 |
124 +| [`lacite`](lacite.md) | La Cité Gatineau (Adam Real Estate) | Outaouais | pages HTML (rendu serveur) | direct | 6/7 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:28 |
125 +| [`lafrance_mathieu`](lafrance_mathieu.md) | Lafrance & Mathieu | Québec | pages HTML (rendu serveur) | direct | 37/41 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:29 |
126 +| [`lakle`](lakle.md) | La Klé | Québec | API REST WordPress (wp-json) | direct | 43/49 | 100 % | 53 % | 100 % | actif | 2026-08-22 18:29 |
127 +| [`lambert`](lambert.md) | Société Immobilière Lambert | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-22 18:29 |
128 +| [`laureat_richard`](laureat_richard.md) | Logements Lauréat Richard | Estrie | pages HTML (rendu serveur) | direct | 23/23 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:29 |
129 +| [`le_baronet`](le_baronet.md) | Le Baronet | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 4/6 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:30 |
130 +| [`le_st_georges`](le_st_georges.md) | Le St-Georges | Chaudière-Appalaches | API REST WordPress (wp-json) | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:30 |
131 +| [`leclif`](leclif.md) | Le Clif | Québec | pages HTML (rendu serveur) | direct | 10/10 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:30 |
132 +| [`ledomaine`](ledomaine.md) | Les Habitations Le Domaine | Montréal | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:30 |
133 +| [`lelaureat`](lelaureat.md) | Résidences Le Lauréat | Estrie | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:30 |
134 +| [`lequerre`](lequerre.md) | Habitations L'Équerre | Estrie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:30 |
135 +| [`lespac`](lespac.md) | LesPAC (location) | Province | pages HTML (rendu serveur) | direct | 2246/2891 | 100 % | 97 % | 93 % | actif | 2026-08-22 18:33 |
136 +| [`leviu`](leviu.md) | Le VIU / VIU2 (Groupe Heafey) | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
137 +| [`location_di`](location_di.md) | Location DI (Groupe Sphère DI) | Mauricie / Lanaudiè… | pages HTML (rendu serveur) | direct | 9/16 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
138 +| [`location_saguenay`](location_saguenay.md) | Location Saguenay | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 21/21 | 76 % | 0 % | 100 % | actif | 2026-08-22 18:33 |
139 +| [`loftsmtl`](loftsmtl.md) | Lofts MTL | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
140 +| [`logement_mauricie`](logement_mauricie.md) | Logement Mauricie (regroupement de prop… | Mauricie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
141 +| [`logis_experts`](logis_experts.md) | Logis-Experts | Québec | API JSON interne du site | direct | 487/519 | 100 % | 100 % | 38 % | actif | 2026-08-22 18:33 |
142 +| [`logisbourg`](logisbourg.md) | Logisbourg | Québec | pages HTML (rendu serveur) | direct | 11/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
143 +| [`logisco`](logisco.md) | Logisco | Québec | pages HTML (rendu serveur) | direct | 160/184 | 99 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
144 +| [`logisma`](logisma.md) | Logisma | Québec | API REST WordPress (wp-json) | direct | 12/20 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:33 |
145 +| [`logispro`](logispro.md) | LogisPro Rimouski | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-22 18:34 |
146 +| [`logisquebec`](logisquebec.md) | LogisQuébec | Province | sitemap XML + pages HTML | direct | 9702/10212 | 100 % | 99 % | 100 % | actif | 2026-08-22 18:39 |
147 +| [`lokalia`](lokalia.md) | Espaces Lokalia | Québec | API admin-ajax (WordPress) | direct | 130/141 | 100 % | 82 % | 100 % | actif | 2026-08-22 18:40 |
148 +| [`louer_ca`](louer_ca.md) | Louer.ca | Province | API GraphQL interne | direct | 4564/5908 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:47 |
149 +| [`louer_saguenay`](louer_saguenay.md) | Louer Saguenay | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:47 |
150 +| [`louis14`](louis14.md) | Quartier Louis Quatorze (Groupe Damco) | Québec | pages HTML (rendu serveur) | direct | 17/18 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:47 |
151 +| [`lr_gestion`](lr_gestion.md) | LR Gestion immobilière (LR Location) | Outaouais | pages HTML (rendu serveur) | direct | 106/116 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:47 |
152 +| [`luxuor`](luxuor.md) | Les Immeubles Luxuor | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 4/4 | 75 % | 0 % | 100 % | actif | 2026-08-22 18:47 |
153 +| [`lynk_olymbec`](lynk_olymbec.md) | Lynk (Olymbec) | Montréal | pages HTML (rendu serveur) | Firecrawl | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:47 |
154 +| [`m_immobilier`](m_immobilier.md) | M Immobilier (location) | Montréal | pages HTML (rendu serveur) | direct | 186/207 | 58 % | 100 % | 100 % | actif | 2026-08-22 18:48 |
155 +| [`majestic`](majestic.md) | Le Majestic du Lac Boivin | Montérégie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 0 % | actif | 2026-08-22 18:48 |
156 +| [`matinale`](matinale.md) | Gestion Matinale | Estrie | pages HTML (rendu serveur) | direct | 44/46 | 59 % | 100 % | 100 % | actif | 2026-08-22 18:49 |
157 +| [`may_bourg`](may_bourg.md) | Gestion May Bourg | Centre-du-Québec | API REST WordPress (wp-json) | direct | 6/7 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:49 |
158 +| [`medway`](medway.md) | Groupe Medway | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 482/499 | 91 % | 100 % | 100 % | actif | 2026-08-22 18:50 |
159 +| [`mellem`](mellem.md) | Mellem (Groupe Mach) | Outaouais | sitemap XML + pages HTML | direct | 78/90 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:50 |
160 +| [`mercini`](mercini.md) | Groupe Mercini (Gestion Faleschini Merc… | Québec | pages HTML (rendu serveur) | direct | 45/53 | 96 % | 100 % | 100 % | actif | 2026-08-22 18:50 |
161 +| [`metcap`](metcap.md) | MetCap Living | Montréal | pages HTML (rendu serveur) | direct | 8/8 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:50 |
162 +| [`minto`](minto.md) | Minto Apartments | Montréal | pages HTML (rendu serveur) | direct | 19/20 | 84 % | 100 % | 100 % | actif | 2026-08-22 18:50 |
163 +| [`mkar`](mkar.md) | Gestion Immobilière MKAR | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:50 |
164 +| [`moderno`](moderno.md) | Moderno Construction | Lanaudière | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:50 |
165 +| [`mondev`](mondev.md) | Mondev | Montréal | pages HTML (rendu serveur) | direct | 43/49 | 47 % | 100 % | 100 % | actif | 2026-08-22 18:51 |
166 +| [`montagnais`](montagnais.md) | Le Montagnais, résidences étudiantes | Estrie | API admin-ajax (WordPress) | direct | 31/31 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:51 |
167 +| [`morin`](morin.md) | Constructions Morin | Estrie | pages HTML (rendu serveur) | direct | 6/7 | 83 % | 100 % | 100 % | actif | 2026-08-22 18:51 |
168 +| [`msi`](msi.md) | MSI Gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 96/109 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:52 |
169 +| [`multi_logis`](multi_logis.md) | Multi-Logis | Côte-Nord | sitemap XML + pages HTML | direct | 27/27 | 100 % | 96 % | 70 % | actif | 2026-08-22 18:52 |
170 +| [`niddamour`](niddamour.md) | Nid d'Amour | Montréal | API JSON interne du site | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:52 |
171 +| [`novelo`](novelo.md) | Les Appartements Novelo | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:52 |
172 +| [`oklouer`](oklouer.md) | OK Louer (location temporaire) | Québec | pages HTML (rendu serveur) | direct | 41/41 | 98 % | 100 % | 100 % | actif | 2026-08-22 18:52 |
173 +| [`omhm`](omhm.md) | OMHM — logements abordables | Montréal | pages HTML (rendu serveur) | direct | 3/4 | 67 % | 100 % | 0 % | actif | 2026-08-22 18:52 |
174 +| [`osgoode`](osgoode.md) | Osgoode Properties | Outaouais | API JSON interne du site | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:52 |
175 +| [`oxford`](oxford.md) | Appartements Oxford | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:53 |
176 +| [`per`](per.md) | Les Immeubles Paul-E. Richard | Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:53 |
177 +| [`picard`](picard.md) | Picard Immobilier | Québec | pages HTML (rendu serveur) | direct | 29/34 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:53 |
178 +| [`place_florimay`](place_florimay.md) | Place Florimay | Chaudière-Appalaches | API REST WordPress (wp-json) | direct | 0/0 | — | — | — | actif | 2026-08-22 18:53 |
179 +| [`plan_a`](plan_a.md) | Plan A Immobilier | Montréal | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-22 18:53 |
180 +| [`progim`](progim.md) | Progim | Montréal | pages HTML (rendu serveur) | direct | 65/73 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:53 |
181 +| [`projection_immo`](projection_immo.md) | Projection Immobilière | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 1/1 | 100 % | 0 % | 100 % | actif | 2026-08-22 18:53 |
182 +| [`promenade_des_forts`](promenade_des_forts.md) | Promenade des Forts | Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:54 |
183 +| [`proprio_direct`](proprio_direct.md) | Proprio Direct (location) | Province | API JSON interne du site | direct | 183/193 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:54 |
184 +| [`quanta`](quanta.md) | Gestion Quanta | Outaouais | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-22 18:54 |
185 +| [`quartier_mosaique`](quartier_mosaique.md) | Quartier Mosaïque (Constrobourg) | Québec | pages HTML (rendu serveur) | direct | 24/24 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:54 |
186 +| [`quartier_oree`](quartier_oree.md) | Quartier Orée | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 28/31 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:54 |
187 +| [`quartier_plus`](quartier_plus.md) | Le Quartier Plus | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 59/59 | 100 % | 97 % | 100 % | actif | 2026-08-22 18:54 |
188 +| [`quartier_sila`](quartier_sila.md) | Quartier Sila | Québec | pages HTML (rendu serveur) | direct | 198/200 | 100 % | 26 % | 100 % | actif | 2026-08-22 18:54 |
189 +| [`realstar`](realstar.md) | Realstar | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-22 18:54 |
190 +| [`remax_quebec`](remax_quebec.md) | RE/MAX Québec (location) | Province | pages HTML (rendu serveur) | direct | 3227/3521 | 100 % | 100 % | 99 % | actif | 2026-08-22 19:00 |
191 +| [`rentals_ca`](rentals_ca.md) | Rentals.ca (Québec) | Province | API GraphQL interne | Scrapfly | 4433/5654 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:05 |
192 +| [`rentalys`](rentalys.md) | Rentalys | Montréal | pages HTML (rendu serveur) | direct | 10/10 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:05 |
192 193 | [`rivero`](rivero.md) | Le Rivero | Québec | pages HTML (rendu serveur) | direct | 0/214 | — | — | — | désactivé (disabled=True) | — |
193 −| [`roomies`](roomies.md) | Roomies.ca | Province | sitemap XML + pages HTML | direct | 281/306 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:46 |
194 −| [`roussin`](roussin.md) | Immeubles Roussin | Québec | pages HTML (rendu serveur) | direct | 36/36 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:46 |
195 −| [`royal_lepage`](royal_lepage.md) | Royal LePage (location) | Province | pages HTML (rendu serveur) | direct | 954/1138 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
196 −| [`savouet`](savouet.md) | Groupe Savouet | Estrie | pages HTML (rendu serveur) | direct | 15/17 | 93 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
197 −| [`sdg`](sdg.md) | SDG Immobilier | Québec | pages HTML (rendu serveur) | direct | 9/11 | 89 % | 0 % | 100 % | actif | 2026-08-22 15:48 |
198 −| [`sentinelle`](sentinelle.md) | La Sentinelle (Groupe Immobilier Brochu) | Québec | pages HTML (rendu serveur) | direct | 9/11 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
199 −| [`sgiq`](sgiq.md) | SGIQ (Société de gestion immobilière du… | Québec | pages HTML (rendu serveur) | direct | 147/147 | 99 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
200 −| [`shdm`](shdm.md) | SHDM | Montréal | API GraphQL interne | direct | 1/23 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
201 −| [`siagi`](siagi.md) | SIA Gestion Immobilière | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 0 % | actif | 2026-08-22 15:48 |
202 −| [`sibelanger`](sibelanger.md) | Société immobilière Bélanger | Québec | pages HTML (rendu serveur) | direct | 12/22 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
203 −| [`sig`](sig.md) | Société d'investissement Gilbert (résid… | Québec | pages HTML (rendu serveur) | direct | 4/4 | 75 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
204 −| [`simard`](simard.md) | Immeubles Simard | Québec | pages HTML (rendu serveur) | direct | 5/5 | 20 % | 40 % | 100 % | actif | 2026-08-22 15:48 |
205 −| [`simplex`](simplex.md) | Simplex Immobilier | Mauricie | API JSON interne du site | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
206 −| [`somex_saintnicolas`](somex_saintnicolas.md) | Somex Saint-Nicolas | Québec | pages HTML (rendu serveur) | direct | 145/145 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
207 −| [`souleymane`](souleymane.md) | Gestion Souleymane | Outaouais | pages HTML (rendu serveur) | direct | 13/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
208 −| [`stb_immobilier`](stb_immobilier.md) | STB Immobilier | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 11/11 | 91 % | 73 % | 100 % | actif | 2026-08-22 15:48 |
209 −| [`summum`](summum.md) | Gestion immobilière Summum | Laurentides | pages HTML (rendu serveur) | direct | 89/97 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:48 |
210 −| [`sutton`](sutton.md) | Groupe Sutton Québec (location) | Province | sitemap XML + pages HTML | direct | 1200/1490 | 99 % | 100 % | 100 % | actif | 2026-08-22 15:49 |
211 −| [`terater`](terater.md) | Les Constructions Tèratèr | Estrie | pages HTML (rendu serveur) | direct | 12/14 | 67 % | 100 % | 100 % | actif | 2026-08-22 15:49 |
212 −| [`terra`](terra.md) | Terra Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 28/51 | 100 % | 89 % | 100 % | actif | 2026-08-22 15:49 |
213 −| [`thrace`](thrace.md) | Gestions Thrace | Mauricie | sitemap XML + pages HTML | direct | 162/182 | 100 % | 65 % | 100 % | actif | 2026-08-22 15:49 |
214 −| [`tri_logis`](tri_logis.md) | Société immobilière Tri-Logis | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 0/1 | — | — | — | actif | 2026-08-22 15:49 |
194 +| [`roomies`](roomies.md) | Roomies.ca | Province | sitemap XML + pages HTML | direct | 279/308 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:07 |
195 +| [`roussin`](roussin.md) | Immeubles Roussin | Québec | pages HTML (rendu serveur) | direct | 36/36 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:07 |
196 +| [`royal_lepage`](royal_lepage.md) | Royal LePage (location) | Province | pages HTML (rendu serveur) | direct | 949/1138 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
197 +| [`savouet`](savouet.md) | Groupe Savouet | Estrie | pages HTML (rendu serveur) | direct | 15/17 | 93 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
198 +| [`sdg`](sdg.md) | SDG Immobilier | Québec | pages HTML (rendu serveur) | direct | 9/11 | 89 % | 0 % | 100 % | actif | 2026-08-22 19:09 |
199 +| [`sentinelle`](sentinelle.md) | La Sentinelle (Groupe Immobilier Brochu) | Québec | pages HTML (rendu serveur) | direct | 9/11 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
200 +| [`sgiq`](sgiq.md) | SGIQ (Société de gestion immobilière du… | Québec | pages HTML (rendu serveur) | direct | 147/147 | 99 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
201 +| [`shdm`](shdm.md) | SHDM | Montréal | API GraphQL interne | direct | 1/23 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
202 +| [`siagi`](siagi.md) | SIA Gestion Immobilière | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 0 % | actif | 2026-08-22 19:09 |
203 +| [`sibelanger`](sibelanger.md) | Société immobilière Bélanger | Québec | pages HTML (rendu serveur) | direct | 12/22 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
204 +| [`sig`](sig.md) | Société d'investissement Gilbert (résid… | Québec | pages HTML (rendu serveur) | direct | 4/4 | 75 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
205 +| [`simard`](simard.md) | Immeubles Simard | Québec | pages HTML (rendu serveur) | direct | 5/5 | 20 % | 40 % | 100 % | actif | 2026-08-22 19:09 |
206 +| [`simplex`](simplex.md) | Simplex Immobilier | Mauricie | API JSON interne du site | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
207 +| [`somex_saintnicolas`](somex_saintnicolas.md) | Somex Saint-Nicolas | Québec | pages HTML (rendu serveur) | direct | 145/145 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
208 +| [`souleymane`](souleymane.md) | Gestion Souleymane | Outaouais | pages HTML (rendu serveur) | direct | 13/14 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
209 +| [`stb_immobilier`](stb_immobilier.md) | STB Immobilier | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 11/11 | 91 % | 73 % | 100 % | actif | 2026-08-22 19:09 |
210 +| [`summum`](summum.md) | Gestion immobilière Summum | Laurentides | pages HTML (rendu serveur) | direct | 89/97 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:09 |
211 +| [`sutton`](sutton.md) | Groupe Sutton Québec (location) | Province | sitemap XML + pages HTML | direct | 1205/1493 | 99 % | 100 % | 100 % | actif | 2026-08-22 19:10 |
212 +| [`terater`](terater.md) | Les Constructions Tèratèr | Estrie | pages HTML (rendu serveur) | direct | 12/14 | 67 % | 100 % | 100 % | actif | 2026-08-22 19:10 |
213 +| [`terra`](terra.md) | Terra Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 28/51 | 100 % | 89 % | 100 % | actif | 2026-08-22 19:10 |
214 +| [`thrace`](thrace.md) | Gestions Thrace | Mauricie | sitemap XML + pages HTML | direct | 162/182 | 100 % | 65 % | 100 % | actif | 2026-08-22 19:10 |
215 +| [`tri_logis`](tri_logis.md) | Société immobilière Tri-Logis | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 0/1 | — | — | — | actif | 2026-08-22 19:10 |
215 216 | [`trudel`](trudel.md) | Trudel (Fleur de Lys, LGC) | Québec | pages HTML (rendu serveur) | direct | 0/30 | — | — | — | désactivé (disabled=True) | — |
216 −| [`trylon`](trylon.md) | Trylon Apartments | Montréal | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:49 |
217 −| [`ubee`](ubee.md) | Ubee (location) | Province | API JSON interne du site | direct | 243/249 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:49 |
218 −| [`uptimo`](uptimo.md) | Uptimo Gestion immobilière | Estrie | pages HTML (rendu serveur) | direct | 62/78 | 98 % | 98 % | 100 % | actif | 2026-08-22 15:50 |
219 −| [`urban_services`](urban_services.md) | Urban Services (Urban Tenant Solutions) | Outaouais | pages HTML (rendu serveur) | direct | 44/56 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:50 |
220 −| [`utile`](utile.md) | UTILE (logement étudiant) | Montréal | pages HTML (rendu serveur) | direct | 28/28 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:50 |
221 −| [`via_capitale`](via_capitale.md) | Via Capitale (location) | Province | pages HTML (rendu serveur) | Firecrawl | 192/217 | 54 % | 100 % | 100 % | actif | 2026-08-22 15:50 |
222 −| [`viridi`](viridi.md) | Le Viridi | Québec | pages HTML (rendu serveur) | direct | 16/17 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:50 |
223 −| [`wandji`](wandji.md) | Gestion Immobilière Wandji | Outaouais | API JSON interne du site | direct | 26/31 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:50 |
224 −| [`werkliv`](werkliv.md) | Werkliv | Montréal | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 15:50 |
225 −| [`zumper`](zumper.md) | Zumper (Québec) | Province | API JSON interne du site | direct | 4837/5095 | 100 % | 100 % | 100 % | actif | 2026-08-22 15:54 |
217 +| [`trylon`](trylon.md) | Trylon Apartments | Montréal | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:10 |
218 +| [`ubee`](ubee.md) | Ubee (location) | Province | API JSON interne du site | direct | 243/249 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:10 |
219 +| [`uptimo`](uptimo.md) | Uptimo Gestion immobilière | Estrie | pages HTML (rendu serveur) | direct | 60/78 | 98 % | 98 % | 100 % | actif | 2026-08-22 19:11 |
220 +| [`urban_services`](urban_services.md) | Urban Services (Urban Tenant Solutions) | Outaouais | pages HTML (rendu serveur) | direct | 44/56 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:11 |
221 +| [`utile`](utile.md) | UTILE (logement étudiant) | Montréal | pages HTML (rendu serveur) | direct | 28/28 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:11 |
222 +| [`via_capitale`](via_capitale.md) | Via Capitale (location) | Province | pages HTML (rendu serveur) | Firecrawl | 192/217 | 54 % | 100 % | 100 % | actif | 2026-08-22 19:11 |
223 +| [`viridi`](viridi.md) | Le Viridi | Québec | pages HTML (rendu serveur) | direct | 16/17 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:11 |
224 +| [`wandji`](wandji.md) | Gestion Immobilière Wandji | Outaouais | API JSON interne du site | direct | 26/31 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:11 |
225 +| [`werkliv`](werkliv.md) | Werkliv | Montréal | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-22 19:11 |
226 +| [`zumper`](zumper.md) | Zumper (Québec) | Province | API JSON interne du site | direct | 4811/5095 | 100 % | 100 % | 100 % | actif | 2026-08-22 19:16 |
226 227
227 228 ## Entrées du registre sans module connecteur
228 229
229 230 Sources recensées mais non connectées (voir le champ `status` du registre pour la raison détaillée) :
230 231
231 232 - `alexandre_pelletier` — Les Immeubles Alexandre Pelletier (non connectable)
232 −- `apartments_com` — Apartments.com (CoStar) (non connectable)
233 233 - `beaulieu_gestion` — Beaulieu Gestion Immobilière (non connectable)
234 234 - `bloc` — Société Immobilière BLOC (non connectable)
235 235 - `cloria` — Cloria (non connectable actuellement)
modified docs/connecteurs/aalto.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Aalto Suites (Zibi / Dream) — connecteur `aalto`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 24/35
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 24 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 24 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 2.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/acceslogis_gb.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Accès Logis GB — connecteur `acceslogis_gb`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Lanaudière / Mauricie · Backend : direct · Annonces actives : 10/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 10 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 10 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/agence_sherbrooke.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Agence de location Sherbrooke (groupe Prestiplex) — connecteur `agence_sherbrooke`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 13/19
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 13 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 13 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/akelius.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Akelius Montréal — connecteur `akelius`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 231/302
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 231 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 231 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/alexcellence.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immeubles Alexcellence — connecteur `alexcellence`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 6/6
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/alias_appartements.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Alias Appartements — connecteur `alias_appartements`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/alouer_sherbrooke.md +2 −2
@@ -1,6 +1,6 @@
1 1 # À Louer Sherbrooke — connecteur `alouer_sherbrooke`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
added docs/connecteurs/apartments_com.md +79 −0
@@ -0,0 +1,79 @@
1 +# Apartments.com (CoStar) — connecteur `apartments_com`
2 +
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 +
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 615/615
6 +
7 +## Description de la source
8 +
9 +Apartments.com (CoStar) — réseau US avec un vrai parc québécois (~500 propriétés / 8 400 unités via /qc/, surtout de grands gestionnaires). Le site est verrouillé par Akamai (403 en direct, via Scrapfly ET via Oxylabs — sondé 2026-08-18/22) : le scraping est délégué à l'ACTEUR APIFY MAISON gorgeous_thistle/ka-apartments-com (source : actors/ka-apartments-com de ce repo) qui passe par le Web Unlocker Bright Data — HTML server-rendered, pas de rendu JS. UNE annonce = UNE PROPRIÉTÉ (immeuble) : prix « à partir de » (minimum des plans d'unités), tous les plans dans details["plans"]. Les fiches détail sont lues en FRANÇAIS (/fr/) : description, GPS, commodités, galerie. Cache détail 30 j + CADENCE : l'inventaire CoStar bouge lentement, l'acteur ne tourne qu'aux LOUKA_APTS_INTERVAL_H heures ; entre deux runs on ré-émet les annonces actives depuis la BD (coût 0).
10 +
11 +- **Site** : https://www.apartments.com
12 +- **Page des annonces** : https://www.apartments.com/qc/
13 +- **Secteurs couverts** : Toute la province via /qc/ (~500 propriétés / 8 400 unités, grands gestionnaires) — acteur Apify maison ka-apartments-com + Bright Data Web Unlocker
14 +- **Module** : `louka/connectors/apartments_com.py` — classe `ApartmentsComConnector`
15 +
16 +## Accès
17 +
18 +- **Type d'accès** : API JSON interne du site
19 +- **Endpoint de base** : https://api.apify.com/v2
20 +- **URLs de départ (constantes du module)** : https://api.apify.com/v2 · https://www.apartments.com/qc/
21 +- **Authentification** : aucune — contenu public
22 +- **Pagination** : pagination par offset
23 +- **Backend anti-bot / rendu** : requests direct
24 +- **Politesse** : 1.0 s entre requêtes, timeout 30 s, User-Agent identifiable `LouKaBot/1.0 (+https://www.lou-ka.com/bot)`
25 +
26 +## Champs récupérés → schéma cible
27 +
28 +Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 615 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 +
30 +| Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 +|---|---|---|---|
32 +| `title` | Titre de l'annonce | 100 % | Place Du Fort |
33 +| `address` | Adresse civique | 100 % | 1411 St Du Fort |
34 +| `city` | Ville (normalisée) | 100 % | Montréal |
35 +| `sector` | Secteur / quartier | 0 % | — |
36 +| `unit_type` | Type d'unité (3½, 4½…) | 58 % | — |
37 +| `price` | Loyer mensuel ($) | 100 % | 1 250 $ |
38 +| `bedrooms` | Chambres | 66 % | 4 |
39 +| `bathrooms` | Salles de bain | 23 % | 1 |
40 +| `area_sqft` | Superficie (pi²) | 2 % | — |
41 +| `availability_date` | Date de disponibilité | 33 % | now |
42 +| `lat` | GPS (lat/lng) | 40 % | 45.49181 |
43 +| `description` | Description | 40 % | Place du Fort est un immeuble d'appartements situé au cœur de Montréal, une ville inspira… |
44 +| `images` | Photos (JSON) | 100 % | 23 photo(s) — https://images1.apartments.com/i2/U8NaqvSrDRFxjRV-gt5W7Q4kjHyqkDFW9FxafM5yi… |
45 +| `amenities` | Commodités (JSON) | 40 % | ["Cats Allowed", "Maintenance on site", "Controlled Access", "Elevator", "Laundry Facilit… |
46 +| `details` | Détails additionnels (JSON) | 49 % | {"inclusions": {"heating": true, "hot_water": true, "internet": true, "cable": true}, "ap… |
47 +| `url` | URL de l'annonce source | 100 % | https://www.apartments.com/fr/place-du-fort-montreal-qc/n28d2cm/ |
48 +
49 +## Fréquence & budget
50 +
51 +- **Cadence observée** (médiane des passages OK, sync_log) : —
52 +- **Dernier passage OK** : 2026-08-22 19:17 — 615 trouvées, +615 / ~0 / -0
53 +- **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 +- **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 +
56 +## Volumétrie & complétude
57 +
58 +- **Annonces en BD** : 615 au total, **615 actives**
59 +- **Première ingestion** : 2026-08-22 · **Dernière observation** : 2026-08-22
60 +- **Complétude clé (actives)** : GPS 40 % · prix 100 % · photos 100 % · description 40 %
61 +- **Runs journalisés (60 derniers)** : 1, dont 0 en erreur
62 +
63 +## Erreurs connues & dépannage
64 +
65 +Aucune erreur dans les 60 derniers runs journalisés.
66 +
67 +Rejouer la source seule : `python3 run.py sync apartments_com` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='apartments_com' ORDER BY ts DESC LIMIT 5;`).
68 +
69 +## Licence, attribution & conditions
70 +
71 +- Scraping poli d'annonces **publiques** (données factuelles : prix, adresse, disponibilité) publiées par le gestionnaire sur son propre site.
72 +- User-Agent **identifiable** avec page d'information et contact : `LouKaBot/1.0 (+https://www.lou-ka.com/bot; contact@spboucher.ai)` ; throttling 1.0 s ; cache détail pour minimiser les requêtes.
73 +- Chaque annonce affichée sur Lou-Ka **pointe vers l'annonce d'origine** (colonne `url`) — la source garde le trafic de conversion.
74 +- Retrait sur demande : contact@spboucher.ai.
75 +
76 +## Historique
77 +
78 +- 2026-08-22 — premières annonces de la source ingérées dans la BD.
79 +- 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par `scripts/gen_connector_docs.py`).
modified docs/connecteurs/app_urbains.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Appartements Urbains — connecteur `app_urbains`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 17/21
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 17 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 17 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/appartements_rimouski.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Appartements Rimouski (Immeubles DTM) — connecteur `appartements_rimouski`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 20/24
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 20 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 20 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/ascensio.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Ascensio — connecteur `ascensio`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 9/10
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/atimco.md +3 −3
@@ -1,6 +1,6 @@
1 1 # Atimco — connecteur `atimco`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montérégie · Backend : direct · Annonces actives : 299/299
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 299 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 299 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,7 +58,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
58 58 - **Annonces en BD** : 299 au total, **299 actives**
59 59 - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 99 % · photos 96 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 45, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 46, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/atlas_immo.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Atlas société immobilière — connecteur `atlas_immo`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 0/0
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 0 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 0 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/aula.md +2 −2
@@ -1,6 +1,6 @@
1 1 # AULA Lévis — connecteur `aula`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 68/70
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 68 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 68 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/axia.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Axia Appartements — connecteur `axia`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/barnes_quebec.md +2 −2
@@ -1,6 +1,6 @@
1 1 # BARNES Québec (location) — connecteur `barnes_quebec`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 101/110
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 101 trouvées, +0 / ~2 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 101 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.25 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `HITS_PER_PAGE` = 100, `MAX_PAGES` = 40
modified docs/connecteurs/beaudoin.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Société Beaudoin Immobilier — connecteur `beaudoin`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 12/12
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/beaulieu_groupe.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Beaulieu Groupe Immobilier (BGI) — connecteur `beaulieu_groupe`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/bestlife.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Gestions Bestlife — connecteur `bestlife`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 15/16
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 15 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 15 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/boardwalk.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Boardwalk REIT — connecteur `boardwalk`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 100/100
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:20 — 100 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:46 — 100 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/bons_locataires.md +3 −3
@@ -1,6 +1,6 @@
1 1 # Bons Locataires — connecteur `bons_locataires`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Grand Montréal · Backend : direct · Annonces actives : 17/17
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 17 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 17 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,7 +58,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
58 58 - **Annonces en BD** : 17 au total, **17 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 35 % · photos 94 % · description 94 %
61 −- **Runs journalisés (60 derniers)** : 51, dont 1 en erreur
61 +- **Runs journalisés (60 derniers)** : 52, dont 1 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/boreal_abitibi.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Constructions Boréal Abitibi — connecteur `boreal_abitibi`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 3/6
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/bribourg.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Bribourg — connecteur `bribourg`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 2/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/brigil.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Brigil — connecteur `brigil`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 42/42
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 42 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 42 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/brio.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Brio — connecteur `brio`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/brivia_1sp.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Brivia (1 Square Phillips) — connecteur `brivia_1sp`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/brochu.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Immobilier Brochu — connecteur `brochu`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 7/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:24 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/cap_gestion.md +2 −2
@@ -1,6 +1,6 @@
1 1 # CAP Gestion (CAP Immobilier) — connecteur `cap_gestion`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Laurentides / Lanaudière · Backend : direct · Annonces actives : 122/123
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:25 — 122 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 122 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/capital_rdr.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Capital RDR — connecteur `capital_rdr`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:25 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/capreit.md +2 −2
@@ -1,6 +1,6 @@
1 1 # CAPREIT — connecteur `capreit`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 116/123
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:25 — 116 trouvées, +0 / ~16 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 116 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/carat_immobilier.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Carat Immobilier — connecteur `carat_immobilier`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 3/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:25 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/centurion.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Centurion / CP Living (Quartier QB) — connecteur `centurion`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:25 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/cite_immobilier.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Cité Immobilier — connecteur `cite_immobilier`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:25 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:50 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/cogir.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Cogir Immobilier — connecteur `cogir`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 282/300
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:26 — 282 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:52 — 282 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/contraste.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Contraste Immobilier — connecteur `contraste`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 208/234
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 208 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:52 — 208 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/copley.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Copley — connecteur `copley`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 52/52
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 52 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 52 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/cosoltec.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Cosoltec (Evado, Le Monroe, Natür) — connecteur `cosoltec`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Laurentides · Backend : direct · Annonces actives : 44/57
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 44 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 44 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/courtemanche.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Immobilière Courtemanche — connecteur `courtemanche`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 0/0
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 0 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 0 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/cromwell.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Cromwell Management — connecteur `cromwell`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 12/12
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/denux.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Denux — connecteur `denux`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 20/20
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 20 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 20 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/desmarais.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immeubles Desmarais — connecteur `desmarais`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 14/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:27 — 14 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 14 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/desroches.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immeubles Claude Desroches — connecteur `desroches`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montérégie · Backend : direct · Annonces actives : 6/6
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:28 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:53 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/devcore.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Devcore Group — connecteur `devcore`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Côte-Nord · Backend : direct · Annonces actives : 14/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:28 — 14 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:54 — 14 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/devimco.md +5 −5
@@ -1,8 +1,8 @@
1 1 # Devimco Appartements — connecteur `devimco`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 238/576
5 +**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 231/576
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ connecteur Devimco Appartements (devimco.com/appartements — St Ann & Hexagone
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 238 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 231 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,13 +49,13 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:28 — 238 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:54 — 231 trouvées, +0 / ~0 / -7
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 576 au total, **238 actives**
58 +- **Annonces en BD** : 576 au total, **231 actives**
59 59 - **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/dma_locago.md +2 −2
@@ -1,6 +1,6 @@
1 1 # DMA / Locago (Douville, Moffet & Associés) — connecteur `dma_locago`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 116/126
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:29 — 116 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:55 — 116 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/duproprio.md +3 −3
@@ -1,6 +1,6 @@
1 1 # DuProprio (location) — connecteur `duproprio`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Province · Backend : direct · Annonces actives : 3894/4109
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:29 — 3894 trouvées, +0 / ~0 / -4
52 +- **Dernier passage OK** : 2026-08-22 17:55 — 3894 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,7 +58,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
58 58 - **Annonces en BD** : 4109 au total, **3894 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 99 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 49, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 51, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/dynamic.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion immobilière Dynamic — connecteur `dynamic`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 44/55
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:18 — 44 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:44 — 44 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/edifia.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Edifia Groupe Immobilier — connecteur `edifia`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 177/185
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:29 — 177 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:55 — 177 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/elements.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Quartier les Éléments — connecteur `elements`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 2/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:30 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:56 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/elite.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Elite Immobilier — connecteur `elite`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 12/12
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:30 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:56 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/elk.md +2 −2
@@ -1,6 +1,6 @@
1 1 # ELK Property Management — connecteur `elk`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:30 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:56 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/equinoxe_batimo.md +5 −5
@@ -1,8 +1,8 @@
1 1 # Batimo/EMD — Collection Équinoxe — connecteur `equinoxe_batimo`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 616/662
5 +**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 626/662
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ connecteur Collection Équinoxe (Batimo) (collectionequinoxe.com — Équinoxe S
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 616 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 626 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,13 +49,13 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:32 — 585 trouvées, +0 / ~0 / -10
52 +- **Dernier passage OK** : 2026-08-22 17:58 — 591 trouvées, +0 / ~0 / -4
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 662 au total, **616 actives**
58 +- **Annonces en BD** : 662 au total, **626 actives**
59 59 - **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/evoludev.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Evoludev — connecteur `evoludev`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Lanaudière · Backend : direct · Annonces actives : 134/134
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:32 — 134 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:58 — 134 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/fb_marketplace.md +22 −22
@@ -1,8 +1,8 @@
1 1 # Facebook Marketplace (location) — connecteur `fb_marketplace`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 2387/22526
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 1732/23481
6 6
7 7 ## Description de la source
8 8
@@ -25,40 +25,40 @@ Facebook Marketplace — catégorie location (propertyrentals), TOUTE la provinc
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 2387 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 1732 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
32 −| `title` | Titre de l'annonce | 100 % | Appartement de 2 chambres et 1 salle de bain |
33 −| `address` | Adresse civique | 0 % | — |
34 −| `city` | Ville (normalisée) | 100 % | Mirabel |
32 +| `title` | Titre de l'annonce | 100 % | 4 Beds 1 Bath - Apartment |
33 +| `address` | Adresse civique | 18 % | — |
34 +| `city` | Ville (normalisée) | 99 % | Montréal |
35 35 | `sector` | Secteur / quartier | 0 % | — |
36 −| `unit_type` | Type d'unité (3½, 4½…) | 92 % | 4½ |
37 −| `price` | Loyer mensuel ($) | 100 % | 1 800 $ |
38 −| `bedrooms` | Chambres | 92 % | 2 |
39 −| `bathrooms` | Salles de bain | 4 % | — |
40 −| `area_sqft` | Superficie (pi²) | 3 % | — |
41 −| `availability_date` | Date de disponibilité | 0 % | — |
42 −| `lat` | GPS (lat/lng) | 23 % | 45.6977 |
43 −| `description` | Description | 24 % | 🏠 CESSION DE BAIL — GRAND 4 ½ À LOUER – MIRABEL (SAINT-JANVIER) 📍 Situé dans le secteur S… |
44 −| `images` | Photos (JSON) | 100 % | 13 photo(s) — https://scontent-lga3-2.xx.fbcdn.net/v/t39.30808-6/774008687_36617753439881… |
45 −| `amenities` | Commodités (JSON) | 0 % | [] |
46 −| `details` | Détails additionnels (JSON) | 21 % | {"appliances": {"fridge": true, "stove": true, "dishwasher": true, "washer_dryer": true},… |
47 −| `url` | URL de l'annonce source | 100 % | https://www.facebook.com/marketplace/item/995082833486367/ |
36 +| `unit_type` | Type d'unité (3½, 4½…) | 94 % | 6½+ |
37 +| `price` | Loyer mensuel ($) | 100 % | 1 995 $ |
38 +| `bedrooms` | Chambres | 95 % | 4 |
39 +| `bathrooms` | Salles de bain | 24 % | 1 |
40 +| `area_sqft` | Superficie (pi²) | 7 % | — |
41 +| `availability_date` | Date de disponibilité | 13 % | — |
42 +| `lat` | GPS (lat/lng) | 56 % | 45.5303 |
43 +| `description` | Description | 56 % | 4 bedroom apartment in the Plateau. 1 bathroom. Close to Park Lafontain. Includes 4 appli… |
44 +| `images` | Photos (JSON) | 100 % | 3 photo(s) — https://scontent.fyhu2-1.fna.fbcdn.net/v/t39.30808-6/773583100_1016459004951… |
45 +| `amenities` | Commodités (JSON) | 14 % | [] |
46 +| `details` | Détails additionnels (JSON) | 50 % | {"appliances": {"fridge": true}, "furnished": true} |
47 +| `url` | URL de l'annonce source | 100 % | https://www.facebook.com/marketplace/item/3360053384156664/ |
48 48
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:23 — 1487 trouvées, +671 / ~526 / -807
52 +- **Dernier passage OK** : 2026-08-22 19:25 — 1247 trouvées, +146 / ~778 / -739
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 22526 au total, **2387 actives**
58 +- **Annonces en BD** : 23481 au total, **1732 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 −- **Complétude clé (actives)** : GPS 23 % · prix 100 % · photos 100 % · description 24 %
61 −- **Runs journalisés (60 derniers)** : 49, dont 0 en erreur
60 +- **Complétude clé (actives)** : GPS 56 % · prix 100 % · photos 100 % · description 56 %
61 +- **Runs journalisés (60 derniers)** : 54, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/ferrovia.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Ferrovia (condos locatifs Mirabel) — connecteur `ferrovia`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Laurentides · Backend : direct · Annonces actives : 22/24
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 22 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:05 — 22 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/firma.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Firma — connecteur `firma`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 12/12
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/floria.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Floria — connecteur `floria`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 21/21
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 21 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 21 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/forsa.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion immobilière Forsa — connecteur `forsa`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Lanaudière · Backend : direct · Annonces actives : 10/13
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 10 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 10 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/fournelle.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Appartements Fournelle (Groupe Fournelle) — connecteur `fournelle`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/garic.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Garic Gestion Immobilière — connecteur `garic`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 45/54
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 45 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 45 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gesteco.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gesteco — connecteur `gesteco`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montérégie · Backend : direct · Annonces actives : 9/15
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:42 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestimmo_estrie.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestimmo Estrie — connecteur `gestimmo_estrie`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 41/41
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 41 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 41 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_fauvel.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Fauvel — connecteur `gestion_fauvel`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 11/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 11 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 11 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_habitation.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Habitation — connecteur `gestion_habitation`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_isr.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion ISR — connecteur `gestion_isr`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 20/22
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 20 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 20 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_jdm.md +2 −2
@@ -1,6 +1,6 @@
1 1 # JDM Gestion immobilière — connecteur `gestion_jdm`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_laprise.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Laprise — connecteur `gestion_laprise`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Côte-Nord · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:06 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `MAX_PAGES` = 8
modified docs/connecteurs/gestion_legrand.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Le Grand — connecteur `gestion_legrand`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_montreal.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Montréal — connecteur `gestion_montreal`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 23/26
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 23 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 23 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_tb.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion TB (portail Appartements TB) — connecteur `gestion_tb`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 30/36
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 30 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 30 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestion_valco.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Valco — connecteur `gestion_valco`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gestipro.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestipro — connecteur `gestipro`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 103/124
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 103 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 103 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gia_t.md +2 −2
@@ -1,6 +1,6 @@
1 1 # GIA-T — Gestion Immobilière Abitibi-Témiscamingue — connecteur `gia_t`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 5/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gimcote.md +2 −2
@@ -1,6 +1,6 @@
1 1 # GIM Côté — connecteur `gimcote`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 86/91
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 86 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 86 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gio.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Immobilière de l'Outaouais (GIO) — connecteur `gio`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 3.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/girescom.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Girescom gestion immobilière — connecteur `girescom`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 40/41
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 40 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 40 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/girs.md +2 −2
@@ -1,6 +1,6 @@
1 1 # GIRS — Gestion Immobilière de la Rive Sud — connecteur `girs`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 8/8
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 8 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 8 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/gparadis.md +2 −2
@@ -1,6 +1,6 @@
1 1 # GParadis — connecteur `gparadis`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 22/22
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:43 — 22 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:07 — 22 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/groupe_dallaire.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Dallaire (Faubourg du Moulin) — connecteur `groupe_dallaire`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif (dégradé)** · Région : Québec · Backend : Scrapfly · Annonces actives : 255/259
6 6
@@ -49,7 +49,7 @@ Le connecteur (Scrapfly, API admin-ajax (WordPress)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:44 — 255 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 255 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/groupe_jacques.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Jacques — connecteur `groupe_jacques`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 10/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:44 — 10 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 10 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/groupe_maurice.md +3 −3
@@ -1,6 +1,6 @@
1 1 # Le Groupe Maurice — connecteur `groupe_maurice`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Province · Backend : direct · Annonces actives : 203/203
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 14:45 — 203 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 203 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,7 +58,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
58 58 - **Annonces en BD** : 203 au total, **203 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 45, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 46, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/groupe_robin.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Robin — connecteur `groupe_robin`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 71/76
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:45 — 71 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 71 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `PER_PAGE` = 40
modified docs/connecteurs/groupe_theoret.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Théorêt (Gestion Immobilière) — connecteur `groupe_theoret`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 24/24
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:45 — 24 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 24 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/habitations_jeanne.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Habitations Jeanne — connecteur `habitations_jeanne`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Côte-Nord · Backend : direct · Annonces actives : 14/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:45 — 14 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 14 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/habitations_sf.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Habitations SF (S&F Gestion) — connecteur `habitations_sf`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Lanaudière · Backend : direct · Annonces actives : 7/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:45 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:08 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/halfred.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Halfred — connecteur `halfred`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 165/171
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:46 — 165 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:09 — 165 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 10.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/hazelview.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Hazelview Properties — connecteur `hazelview`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 6/6
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:46 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/headway.md +2 −2
@@ -1,6 +1,6 @@
1 1 # La Corporation Headway — connecteur `headway`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 7/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:46 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/heafey.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Heafey (Le We 2, Le We 3, Loggia sur le Parc) — connecteur `heafey`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 246/261
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:46 — 246 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 246 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/hestia.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Hestia Groupe immobilier — connecteur `hestia`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:46 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/huma.md +2 −2
@@ -1,6 +1,6 @@
1 1 # HUMĀ Condos locatifs — connecteur `huma`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 38/38
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 38 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 38 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_aeb.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immeubles AEB — connecteur `immeubles_aeb`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 26/26
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 26 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 26 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_bc.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Beaulieu et Collin — connecteur `immeubles_bc`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 20/30
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 20 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:10 — 20 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_bois.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Bois — connecteur `immeubles_bois`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 23/23
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 23 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 23 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_db.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles D.B. Busque-Massé — connecteur `immeubles_db`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 13/13
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 13 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 13 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_dcl.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles DCL — connecteur `immeubles_dcl`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 7/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_guillot.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Guillot — connecteur `immeubles_guillot`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 7/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_ouellet.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Vianney Ouellet & Fils — connecteur `immeubles_ouellet`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immeubles_pm.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles PM — connecteur `immeubles_pm`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immnasr.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Michel Nazair — connecteur `immnasr`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immobilia.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immobilia Rimouski — connecteur `immobilia`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 1/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immogex.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immogex — connecteur `immogex`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immomarketing.md +2 −2
@@ -1,6 +1,6 @@
1 1 # IMMOMARKETING (Immoappart) — connecteur `immomarketing`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 83/94
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:47 — 83 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:11 — 83 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/immostar.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immostar — connecteur `immostar`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 156/165
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:48 — 156 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:12 — 156 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/info_logement.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Info-Logement — connecteur `info_logement`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Lanaudière · Backend : direct · Annonces actives : 56/64
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:48 — 56 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:12 — 56 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/interrent.md +2 −2
@@ -1,6 +1,6 @@
1 1 # InterRent REIT (CLV Group) — connecteur `interrent`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 194/215
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:48 — 194 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:12 — 194 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/jutras.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Habitations Jutras — connecteur `jutras`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 35/35
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:48 — 35 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:12 — 35 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/kangalou.md +6 −6
@@ -1,8 +1,8 @@
1 1 # Kangalou — connecteur `kangalou`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 7774/8413
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 7776/8415
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ Kangalou (kangalou.com) — portail locatif québécois géré (Solutions Kangal
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 7774 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 7776 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,16 +49,16 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 14:50 — 7774 trouvées, +1 / ~1 / -12
52 +- **Dernier passage OK** : 2026-08-22 18:14 — 7752 trouvées, +2 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 8413 au total, **7774 actives**
58 +- **Annonces en BD** : 8415 au total, **7776 actives**
59 59 - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 99 % · description 78 %
61 −- **Runs journalisés (60 derniers)** : 39, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 40, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/kass.md +2 −2
@@ -1,6 +1,6 @@
1 1 # KASS Property Management — connecteur `kass`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:51 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:14 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/katasa.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Katasa — connecteur `katasa`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 14:51 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:15 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/kijiji.md +5 −5
@@ -1,8 +1,8 @@
1 1 # Kijiji Québec (location) — connecteur `kijiji`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 5314/9379
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 5327/9432
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ Kijiji (kijiji.ca) — petites annonces de LOCATION UNIQUEMENT les catégories l
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 5314 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 5327 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,13 +49,13 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:00 — 5249 trouvées, +38 / ~5 / -72
52 +- **Dernier passage OK** : 2026-08-22 18:25 — 5252 trouvées, +53 / ~18 / -42
53 53 - **Throttling** : 1.2 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 9379 au total, **5314 actives**
58 +- **Annonces en BD** : 9432 au total, **5327 actives**
59 59 - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 97 % · photos 99 % · description 100 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/la_cour.md +2 −2
@@ -1,6 +1,6 @@
1 1 # La Cour Appartements — connecteur `la_cour`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 19/21
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 17:19 — 19 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 17:45 — 19 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/laberge.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Laberge — connecteur `laberge`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 57/62
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:00 — 57 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:25 — 57 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/labonte.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Labonté — connecteur `labonte`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 18/18
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:00 — 18 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:25 — 18 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lachance.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Entreprises Lachance — connecteur `lachance`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 75/98
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:02 — 75 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:26 — 75 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lacite.md +2 −2
@@ -1,6 +1,6 @@
1 1 # La Cité Gatineau (Adam Real Estate) — connecteur `lacite`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 6/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:04 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:28 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 10.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lafrance_mathieu.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Lafrance & Mathieu — connecteur `lafrance_mathieu`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 37/41
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:04 — 37 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:29 — 37 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lakle.md +2 −2
@@ -1,6 +1,6 @@
1 1 # La Klé — connecteur `lakle`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 43/49
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 43 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:29 — 43 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lambert.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Société Immobilière Lambert — connecteur `lambert`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:29 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/laureat_richard.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Logements Lauréat Richard — connecteur `laureat_richard`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 23/23
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 23 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:29 — 23 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/le_baronet.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le Baronet — connecteur `le_baronet`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 4/6
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:30 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/le_st_georges.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le St-Georges — connecteur `le_st_georges`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:30 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/leclif.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le Clif — connecteur `leclif`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 10/10
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 10 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:30 — 10 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/ledomaine.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Habitations Le Domaine — connecteur `ledomaine`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:30 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lelaureat.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Résidences Le Lauréat — connecteur `lelaureat`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:30 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lequerre.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Habitations L'Équerre — connecteur `lequerre`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:05 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:30 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lespac.md +5 −5
@@ -1,8 +1,8 @@
1 1 # LesPAC (location) — connecteur `lespac`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 2242/2882
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 2246/2891
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ LesPAC (lespac.com) — petites annonces du Québec UNIQUEMENT l'immobilier LOCA
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 2242 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 2246 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,13 +49,13 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:08 — 2237 trouvées, +4 / ~1 / -4
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 2239 trouvées, +9 / ~1 / -5
53 53 - **Throttling** : 0.9 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 2882 au total, **2242 actives**
58 +- **Annonces en BD** : 2891 au total, **2246 actives**
59 59 - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 97 % · photos 93 % · description 99 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/leviu.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le VIU / VIU2 (Groupe Heafey) — connecteur `leviu`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:08 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/location_di.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Location DI (Groupe Sphère DI) — connecteur `location_di`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie / Lanaudière · Backend : direct · Annonces actives : 9/16
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:08 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/location_saguenay.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Location Saguenay — connecteur `location_saguenay`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 21/21
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:08 — 21 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 21 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 10.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/loftsmtl.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Lofts MTL — connecteur `loftsmtl`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 9/9
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logement_mauricie.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Logement Mauricie (regroupement de propriétaires) — connecteur `logement_mauricie`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logis_experts.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Logis-Experts — connecteur `logis_experts`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 487/519
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 487 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 487 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logisbourg.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Logisbourg — connecteur `logisbourg`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 11/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 11 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 11 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logisco.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Logisco — connecteur `logisco`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 160/184
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 160 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 160 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logisma.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Logisma — connecteur `logisma`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 12/20
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:33 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logispro.md +2 −2
@@ -1,6 +1,6 @@
1 1 # LogisPro Rimouski — connecteur `logispro`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:09 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:34 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/logisquebec.md +6 −6
@@ -1,8 +1,8 @@
1 1 # LogisQuébec — connecteur `logisquebec`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 9668/10178
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 9702/10212
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ LogisQuébec (logisquebec.com) — portail locatif québécois (Réglisse Média
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 9668 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 9702 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,16 +49,16 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:14 — 9668 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:39 — 9665 trouvées, +34 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 10178 au total, **9668 actives**
58 +- **Annonces en BD** : 10212 au total, **9702 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 99 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 43, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 44, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/lokalia.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Espaces Lokalia — connecteur `lokalia`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 130/141
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:15 — 130 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:40 — 130 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/louer_ca.md +10 −10
@@ -1,8 +1,8 @@
1 1 # Louer.ca — connecteur `louer_ca`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 4613/5908
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 4564/5908
6 6
7 7 ## Description de la source
8 8
@@ -25,40 +25,40 @@ Louer.ca — portail locatif 100 % Québec du réseau Rentals.ca. Accès par l'A
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, API GraphQL interne) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 4613 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, API GraphQL interne) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 4564 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
32 32 | `title` | Titre de l'annonce | 100 % | 1225 Saint Marc Street |
33 33 | `address` | Adresse civique | 100 % | 1225 Saint Marc Street |
34 34 | `city` | Ville (normalisée) | 100 % | Montréal |
35 −| `sector` | Secteur / quartier | 17 % | — |
35 +| `sector` | Secteur / quartier | 16 % | — |
36 36 | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 3½ |
37 37 | `price` | Loyer mensuel ($) | 100 % | 1 450 $ |
38 38 | `bedrooms` | Chambres | 100 % | 1 |
39 39 | `bathrooms` | Salles de bain | 100 % | 1 |
40 −| `area_sqft` | Superficie (pi²) | 83 % | 400 |
41 −| `availability_date` | Date de disponibilité | 99 % | now |
40 +| `area_sqft` | Superficie (pi²) | 84 % | 400 |
41 +| `availability_date` | Date de disponibilité | 100 % | now |
42 42 | `lat` | GPS (lat/lng) | 100 % | 45.492189 |
43 43 | `description` | Description | 100 % | Le Marco Situé au 1225, rue Saint Marc, à proximité du métro Guy-Concordia, ce quartier o… |
44 44 | `images` | Photos (JSON) | 100 % | 12 photo(s) — https://images.rentals.ca/property-pictures/large/montreal-qc/809380/apartm… |
45 −| `amenities` | Commodités (JSON) | 94 % | ["Cuisinière", "Non-fumeur", "Balcon", "Réfrigérateur", "Électricité incluse", "Chauffage… |
45 +| `amenities` | Commodités (JSON) | 95 % | ["Cuisinière", "Non-fumeur", "Balcon", "Réfrigérateur", "Électricité incluse", "Chauffage… |
46 46 | `details` | Détails additionnels (JSON) | 100 % | {"inclusions": {"heating": true, "electricity": true}, "appliances": {"fridge": true, "st… |
47 47 | `url` | URL de l'annonce source | 100 % | https://louer.ca/montreal/le-marco-1225-st-marc-st |
48 48
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:21 — 4317 trouvées, +6 / ~14 / -260
52 +- **Dernier passage OK** : 2026-08-22 18:47 — 5617 trouvées, +0 / ~1 / -292
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 5908 au total, **4613 actives**
58 +- **Annonces en BD** : 5908 au total, **4564 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 41, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 42, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/louer_saguenay.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Louer Saguenay — connecteur `louer_saguenay`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:21 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:47 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/louis14.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Quartier Louis Quatorze (Groupe Damco) — connecteur `louis14`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 17/18
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:21 — 17 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:47 — 17 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lr_gestion.md +2 −2
@@ -1,6 +1,6 @@
1 1 # LR Gestion immobilière (LR Location) — connecteur `lr_gestion`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 106/116
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:21 — 107 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:47 — 107 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/luxuor.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Luxuor — connecteur `luxuor`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:22 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:47 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/lynk_olymbec.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Lynk (Olymbec) — connecteur `lynk_olymbec`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : Firecrawl · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (Firecrawl, pages HTML (rendu serveur)) alimente les colonnes de l
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:22 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:47 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/m_immobilier.md +2 −2
@@ -1,6 +1,6 @@
1 1 # M Immobilier (location) — connecteur `m_immobilier`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 186/207
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:22 — 186 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:48 — 186 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/majestic.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le Majestic du Lac Boivin — connecteur `majestic`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montérégie · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:22 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:48 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/matinale.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Matinale — connecteur `matinale`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 44/46
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:23 — 44 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:49 — 44 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 20.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/may_bourg.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion May Bourg — connecteur `may_bourg`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Centre-du-Québec · Backend : direct · Annonces actives : 6/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:23 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:49 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/medway.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Medway — connecteur `medway`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 482/499
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:24 — 482 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 482 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/mellem.md +5 −5
@@ -1,8 +1,8 @@
1 1 # Mellem (Groupe Mach) — connecteur `mellem`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 79/90
5 +**État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 78/90
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ connecteur Mellem (mellem.ca — Groupe Mach) Site Nuxt (rendu serveur) : un pro
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 79 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 78 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,13 +49,13 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:24 — 78 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 78 trouvées, +0 / ~0 / -1
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 90 au total, **79 actives**
58 +- **Annonces en BD** : 90 au total, **78 actives**
59 59 - **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/mercini.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Mercini (Gestion Faleschini Mercier) — connecteur `mercini`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 45/53
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:24 — 45 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 45 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/metcap.md +2 −2
@@ -1,6 +1,6 @@
1 1 # MetCap Living — connecteur `metcap`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 8/8
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:25 — 8 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 8 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/minto.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Minto Apartments — connecteur `minto`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 19/20
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:25 — 19 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 19 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/mkar.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Immobilière MKAR — connecteur `mkar`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:25 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/moderno.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Moderno Construction — connecteur `moderno`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Lanaudière · Backend : direct · Annonces actives : 7/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:25 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:50 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/mondev.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Mondev — connecteur `mondev`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 43/49
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:26 — 43 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:51 — 43 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/montagnais.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le Montagnais, résidences étudiantes — connecteur `montagnais`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 31/31
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:26 — 31 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:51 — 31 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/morin.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Constructions Morin — connecteur `morin`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 6/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:26 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:51 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/msi.md +2 −2
@@ -1,6 +1,6 @@
1 1 # MSI Gestion immobilière — connecteur `msi`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 96/109
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:27 — 96 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 96 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/multi_logis.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Multi-Logis — connecteur `multi_logis`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Côte-Nord · Backend : direct · Annonces actives : 27/27
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:27 — 27 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 27 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/niddamour.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Nid d'Amour — connecteur `niddamour`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 14/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:27 — 14 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 14 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/novelo.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Appartements Novelo — connecteur `novelo`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Saguenay–Lac-Saint-Jean · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:27 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/oklouer.md +2 −2
@@ -1,6 +1,6 @@
1 1 # OK Louer (location temporaire) — connecteur `oklouer`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 41/41
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:27 — 41 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 41 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/omhm.md +3 −3
@@ -1,6 +1,6 @@
1 1 # OMHM — logements abordables — connecteur `omhm`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 3/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:27 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,7 +58,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
58 58 - **Annonces en BD** : 4 au total, **3 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 67 % · prix 100 % · photos 0 % · description 0 %
61 −- **Runs journalisés (60 derniers)** : 41, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 42, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/osgoode.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Osgoode Properties — connecteur `osgoode`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:52 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/oxford.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Appartements Oxford — connecteur `oxford`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `_MAX_FICHES` = 12
modified docs/connecteurs/per.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Immeubles Paul-E. Richard — connecteur `per`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/picard.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Picard Immobilier — connecteur `picard`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 29/34
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 29 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 29 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/place_florimay.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Place Florimay — connecteur `place_florimay`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 0/0
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 0 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 0 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/plan_a.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Plan A Immobilier — connecteur `plan_a`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 11/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 11 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 11 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/progim.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Progim — connecteur `progim`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 65/73
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 65 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 63 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/projection_immo.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Projection Immobilière — connecteur `projection_immo`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 1/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:28 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:53 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/promenade_des_forts.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Promenade des Forts — connecteur `promenade_des_forts`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/proprio_direct.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Proprio Direct (location) — connecteur `proprio_direct`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Province · Backend : direct · Annonces actives : 183/193
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 183 trouvées, +1 / ~1 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 183 trouvées, +0 / ~1 / -0
53 53 - **Throttling** : 0.4 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `MAX_PAGES` = 60
modified docs/connecteurs/quanta.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Quanta — connecteur `quanta`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 2/2
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 2 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 2 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/quartier_mosaique.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Quartier Mosaïque (Constrobourg) — connecteur `quartier_mosaique`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 24/24
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 24 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 24 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/quartier_oree.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Quartier Orée — connecteur `quartier_oree`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 28/31
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 28 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 28 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/quartier_plus.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le Quartier Plus — connecteur `quartier_plus`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 59/59
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 59 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 59 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/quartier_sila.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Quartier Sila — connecteur `quartier_sila`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 198/200
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 198 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 198 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/realstar.md +3 −4
@@ -1,6 +1,6 @@
1 1 # Realstar — connecteur `realstar`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 9/9
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:29 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 18:54 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,14 +58,13 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
58 58 - **Annonces en BD** : 9 au total, **9 actives**
59 59 - **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 60, dont 2 en erreur
61 +- **Runs journalisés (60 derniers)** : 60, dont 1 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
65 65 | Date | Message (sync_log) |
66 66 |---|---|
67 67 | 2026-08-21 01:15 | 502 Server Error: Bad Gateway for url: https://api.firecrawl.dev/v1/scrape |
68 −| 2026-08-15 21:53 | 502 Server Error: Bad Gateway for url: https://api.firecrawl.dev/v1/scrape |
69 68
70 69 Rejouer la source seule : `python3 run.py sync realstar` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='realstar' ORDER BY ts DESC LIMIT 5;`).
71 70
modified docs/connecteurs/remax_quebec.md +4 −4
@@ -1,8 +1,8 @@
1 1 # RE/MAX Québec (location) — connecteur `remax_quebec`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 3227/3518
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 3227/3521
6 6
7 7 ## Description de la source
8 8
@@ -49,13 +49,13 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:35 — 3224 trouvées, +2 / ~2 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:00 — 3227 trouvées, +3 / ~0 / -3
53 53 - **Throttling** : 0.4 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 3518 au total, **3227 actives**
58 +- **Annonces en BD** : 3521 au total, **3227 actives**
59 59 - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 99 % · description 96 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/rentals_ca.md +7 −7
@@ -1,8 +1,8 @@
1 1 # Rentals.ca (Québec) — connecteur `rentals_ca`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : Scrapfly · Annonces actives : 4439/5654
5 +**État : actif** · Région : Province · Backend : Scrapfly · Annonces actives : 4433/5654
6 6
7 7 ## Description de la source
8 8
@@ -25,14 +25,14 @@ Rentals.ca — portail locatif national, filtré PROVINCE DE QUÉBEC. Même plat
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (Scrapfly, API GraphQL interne) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 4439 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (Scrapfly, API GraphQL interne) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 4433 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
32 32 | `title` | Titre de l'annonce | 100 % | 1225 Saint Marc Street |
33 33 | `address` | Adresse civique | 100 % | 1225 Saint Marc Street |
34 34 | `city` | Ville (normalisée) | 100 % | Montréal |
35 −| `sector` | Secteur / quartier | 19 % | — |
35 +| `sector` | Secteur / quartier | 18 % | — |
36 36 | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 3½ |
37 37 | `price` | Loyer mensuel ($) | 100 % | 1 450 $ |
38 38 | `bedrooms` | Chambres | 100 % | 1 |
@@ -49,16 +49,16 @@ Le connecteur (Scrapfly, API GraphQL interne) alimente les colonnes de la table
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:40 — 4072 trouvées, +3 / ~6 / -155
52 +- **Dernier passage OK** : 2026-08-22 19:05 — 4097 trouvées, +0 / ~2 / -159
53 53 - **Throttling** : 0.3 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 5654 au total, **4439 actives**
58 +- **Annonces en BD** : 5654 au total, **4433 actives**
59 59 - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 37, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 38, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/rentalys.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Rentalys — connecteur `rentalys`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 10/10
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:41 — 10 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:05 — 10 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/rivero.md +1 −1
@@ -1,6 +1,6 @@
1 1 # Le Rivero — connecteur `rivero`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : désactivé (disabled=True)** · Région : Québec · Backend : direct · Annonces actives : 0/214
6 6
modified docs/connecteurs/roomies.md +7 −7
@@ -1,8 +1,8 @@
1 1 # Roomies.ca — connecteur `roomies`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 281/306
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 279/308
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ Roomies.ca — chambres et colocation (segment que les gestionnaires ne couvrent
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 281 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 279 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -42,23 +42,23 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
42 42 | `lat` | GPS (lat/lng) | 100 % | 45.4600610916329 |
43 43 | `description` | Description | 100 % | Cute, clean, bright and practical private room for a female at 690$ / month. It is 5 minu… |
44 44 | `images` | Photos (JSON) | 100 % | 10 photo(s) — https://cloudinary.roomies.pics/image/upload/c_fill,f_jpg,fl_lossy,g_auto,h… |
45 −| `amenities` | Commodités (JSON) | 98 % | ["Furnished", "Internet access"] |
45 +| `amenities` | Commodités (JSON) | 97 % | ["Furnished", "Internet access"] |
46 46 | `details` | Détails additionnels (JSON) | 100 % | {"inclusions": {"heating": true, "hot_water": true, "internet": true}, "appliances": {"fr… |
47 47 | `url` | URL de l'annonce source | 100 % | https://www.roomies.ca/rooms/1024705 |
48 48
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:46 — 277 trouvées, +2 / ~47 / -1
52 +- **Dernier passage OK** : 2026-08-22 19:07 — 276 trouvées, +2 / ~1 / -4
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 306 au total, **281 actives**
58 +- **Annonces en BD** : 308 au total, **279 actives**
59 59 - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 40, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 41, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/roussin.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immeubles Roussin — connecteur `roussin`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 36/36
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:46 — 36 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:07 — 36 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/royal_lepage.md +7 −7
@@ -1,8 +1,8 @@
1 1 # Royal LePage (location) — connecteur `royal_lepage`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 954/1138
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 949/1138
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ Royal LePage (royallepage.ca) — LOCATIONS Québec Le portail rend ses résulta
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 954 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 949 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -33,9 +33,9 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
33 33 | `address` | Adresse civique | 100 % | 3117 1210 Rue Jeanne Mance |
34 34 | `city` | Ville (normalisée) | 100 % | Montréal |
35 35 | `sector` | Secteur / quartier | 64 % | Ville Marie |
36 −| `unit_type` | Type d'unité (3½, 4½…) | 90 % | 3½ |
36 +| `unit_type` | Type d'unité (3½, 4½…) | 91 % | 3½ |
37 37 | `price` | Loyer mensuel ($) | 100 % | 1 850 $ |
38 −| `bedrooms` | Chambres | 90 % | 1 |
38 +| `bedrooms` | Chambres | 91 % | 1 |
39 39 | `bathrooms` | Salles de bain | 93 % | 1 |
40 40 | `area_sqft` | Superficie (pi²) | 59 % | 527 |
41 41 | `availability_date` | Date de disponibilité | 0 % | — |
@@ -49,14 +49,14 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 945 trouvées, +4 / ~0 / -2
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 946 trouvées, +0 / ~2 / -5
53 53 - **Throttling** : 0.4 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `MAX_PAGES` = 30
56 56
57 57 ## Volumétrie & complétude
58 58
59 −- **Annonces en BD** : 1138 au total, **954 actives**
59 +- **Annonces en BD** : 1138 au total, **949 actives**
60 60 - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-22
61 61 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 95 %
62 62 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/savouet.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Groupe Savouet — connecteur `savouet`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 15/17
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 15 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 15 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/sdg.md +2 −2
@@ -1,6 +1,6 @@
1 1 # SDG Immobilier — connecteur `sdg`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 9/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/sentinelle.md +2 −2
@@ -1,6 +1,6 @@
1 1 # La Sentinelle (Groupe Immobilier Brochu) — connecteur `sentinelle`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 9/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 9 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 9 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/sgiq.md +2 −2
@@ -1,6 +1,6 @@
1 1 # SGIQ (Société de gestion immobilière du Québec) — connecteur `sgiq`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 147/147
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 147 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 147 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/shdm.md +2 −2
@@ -1,6 +1,6 @@
1 1 # SHDM — connecteur `shdm`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 1/23
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API GraphQL interne) alimente les colonnes de la table `l
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 1 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 1 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/siagi.md +2 −2
@@ -1,6 +1,6 @@
1 1 # SIA Gestion Immobilière — connecteur `siagi`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 6/6
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 6 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 6 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/sibelanger.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Société immobilière Bélanger — connecteur `sibelanger`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 12/22
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/sig.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Société d'investissement Gilbert (résidences étudiantes) — connecteur `sig`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/simard.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Immeubles Simard — connecteur `simard`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 5/5
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 5 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 5 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/simplex.md +3 −3
@@ -1,6 +1,6 @@
1 1 # Simplex Immobilier — connecteur `simplex`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 3/3
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 3 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 3 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
@@ -58,7 +58,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
58 58 - **Annonces en BD** : 3 au total, **3 actives**
59 59 - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 100 % · description 100 %
61 −- **Runs journalisés (60 derniers)** : 36, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 37, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
modified docs/connecteurs/somex_saintnicolas.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Somex Saint-Nicolas — connecteur `somex_saintnicolas`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 145/145
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 145 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 145 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/souleymane.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Souleymane — connecteur `souleymane`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 13/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 13 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 13 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 1.0 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/stb_immobilier.md +2 −2
@@ -1,6 +1,6 @@
1 1 # STB Immobilier — connecteur `stb_immobilier`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 11/11
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 11 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 11 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/summum.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion immobilière Summum — connecteur `summum`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Laurentides · Backend : direct · Annonces actives : 89/97
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 −- **Dernier passage OK** : 2026-08-22 15:48 — 89 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:09 — 89 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/sutton.md +5 −5
@@ -1,8 +1,8 @@
1 1 # Groupe Sutton Québec (location) — connecteur `sutton`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 1200/1490
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 1205/1493
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ Groupe Sutton Québec (suttonquebec.com) — LOCATIONS Couverture exhaustive via
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 1200 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 1205 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -49,14 +49,14 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 1200 trouvées, +0 / ~16 / -1
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 1199 trouvées, +3 / ~17 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `SITEMAP_MAX_PAGES` = 40
56 56
57 57 ## Volumétrie & complétude
58 58
59 −- **Annonces en BD** : 1490 au total, **1200 actives**
59 +- **Annonces en BD** : 1493 au total, **1205 actives**
60 60 - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-22
61 61 - **Complétude clé (actives)** : GPS 99 % · prix 100 % · photos 100 % · description 98 %
62 62 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/terater.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Les Constructions Tèratèr — connecteur `terater`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 12/14
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 12 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 12 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.7 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/terra.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Terra Condos locatifs — connecteur `terra`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 28/51
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 28 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 28 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/thrace.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestions Thrace — connecteur `thrace`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 162/182
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 162 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 162 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.8 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/tri_logis.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Société immobilière Tri-Logis — connecteur `tri_logis`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 0/1
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 0 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 0 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/trudel.md +1 −1
@@ -1,6 +1,6 @@
1 1 # Trudel (Fleur de Lys, LGC) — connecteur `trudel`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : désactivé (disabled=True)** · Région : Québec · Backend : direct · Annonces actives : 0/30
6 6
modified docs/connecteurs/trylon.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Trylon Apartments — connecteur `trylon`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 7/7
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 7 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 7 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/ubee.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Ubee (location) — connecteur `ubee`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Province · Backend : direct · Annonces actives : 243/249
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:49 — 243 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:10 — 243 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.5 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/uptimo.md +6 −6
@@ -1,8 +1,8 @@
1 1 # Uptimo Gestion immobilière — connecteur `uptimo`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Estrie · Backend : direct · Annonces actives : 62/78
5 +**État : actif** · Région : Estrie · Backend : direct · Annonces actives : 60/78
6 6
7 7 ## Description de la source
8 8
@@ -25,14 +25,14 @@ connecteur Uptimo Gestion immobilière (uptimo.ca) Apparts à Sherbrooke (Fleuri
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 62 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 60 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
32 32 | `title` | Titre de l'annonce | 100 % | 1690 Rue de Courville |
33 33 | `address` | Adresse civique | 98 % | 1690 Rue de Courville |
34 34 | `city` | Ville (normalisée) | 100 % | Sherbrooke |
35 −| `sector` | Secteur / quartier | 94 % | Mont-Bellevue |
35 +| `sector` | Secteur / quartier | 93 % | Mont-Bellevue |
36 36 | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ |
37 37 | `price` | Loyer mensuel ($) | 98 % | 1 050 $ |
38 38 | `bedrooms` | Chambres | 100 % | 2 |
@@ -49,13 +49,13 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 49 trouvées, +0 / ~0 / -7
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 42 trouvées, +0 / ~0 / -8
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 78 au total, **62 actives**
58 +- **Annonces en BD** : 78 au total, **60 actives**
59 59 - **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 98 % · prix 98 % · photos 100 % · description 100 %
61 61 - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur
modified docs/connecteurs/urban_services.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Urban Services (Urban Tenant Solutions) — connecteur `urban_services`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 44/56
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 44 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 44 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/utile.md +2 −2
@@ -1,6 +1,6 @@
1 1 # UTILE (logement étudiant) — connecteur `utile`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 28/28
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 28 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 28 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/via_capitale.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Via Capitale (location) — connecteur `via_capitale`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Province · Backend : Firecrawl · Annonces actives : 192/217
6 6
@@ -49,7 +49,7 @@ Le connecteur (Firecrawl, pages HTML (rendu serveur)) alimente les colonnes de l
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 192 trouvées, +0 / ~0 / -1
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 192 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/viridi.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Le Viridi — connecteur `viridi`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Québec · Backend : direct · Annonces actives : 16/17
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 16 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 16 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/wandji.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Gestion Immobilière Wandji — connecteur `wandji`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 26/31
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 26 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 26 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55 - **Caps / budgets du module** : `MAX_IMAGES` = 20
modified docs/connecteurs/werkliv.md +2 −2
@@ -1,6 +1,6 @@
1 1 # Werkliv — connecteur `werkliv`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 5 **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 4/4
6 6
@@ -49,7 +49,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t
49 49 ## Fréquence & budget
50 50
51 51 - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:50 — 4 trouvées, +0 / ~0 / -0
52 +- **Dernier passage OK** : 2026-08-22 19:11 — 4 trouvées, +0 / ~0 / -0
53 53 - **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
modified docs/connecteurs/zumper.md +8 −8
@@ -1,8 +1,8 @@
1 1 # Zumper (Québec) — connecteur `zumper`
2 2
3 −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 17:28 — ne pas éditer à la main, régénérer._
3 +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-22 19:27 — ne pas éditer à la main, régénérer._
4 4
5 −**État : actif** · Région : Province · Backend : direct · Annonces actives : 4837/5095
5 +**État : actif** · Région : Province · Backend : direct · Annonces actives : 4811/5095
6 6
7 7 ## Description de la source
8 8
@@ -25,7 +25,7 @@ Zumper (zumper.com) — portail locatif nord-américain, filtré PROVINCE DE QU
25 25
26 26 ## Champs récupérés → schéma cible
27 27
28 −Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 4837 annonces actives ; exemple tiré d'une ligne réelle de la BD.
28 +Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 4811 annonces actives ; exemple tiré d'une ligne réelle de la BD.
29 29
30 30 | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |
31 31 |---|---|---|---|
@@ -38,7 +38,7 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
38 38 | `bedrooms` | Chambres | 100 % | 0 |
39 39 | `bathrooms` | Salles de bain | 100 % | 1 |
40 40 | `area_sqft` | Superficie (pi²) | 75 % | 391 |
41 −| `availability_date` | Date de disponibilité | 21 % | — |
41 +| `availability_date` | Date de disponibilité | 20 % | — |
42 42 | `lat` | GPS (lat/lng) | 100 % | 45.51020505957441 |
43 43 | `description` | Description | 99 % | 3 Months Free* *Limited time offer. E & OE conditions apply. Advertised price reflects a … |
44 44 | `images` | Photos (JSON) | 100 % | 8 photo(s) — https://img.zumpercdn.com/907672238/1280x960 |
@@ -48,17 +48,17 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab
48 48
49 49 ## Fréquence & budget
50 50
51 −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.8 h
52 −- **Dernier passage OK** : 2026-08-22 15:54 — 4811 trouvées, +2 / ~5 / -0
51 +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h
52 +- **Dernier passage OK** : 2026-08-22 19:16 — 4809 trouvées, +0 / ~1 / -26
53 53 - **Throttling** : 1.2 s entre requêtes (constante de classe `request_delay`)
54 54 - **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées
55 55
56 56 ## Volumétrie & complétude
57 57
58 −- **Annonces en BD** : 5095 au total, **4837 actives**
58 +- **Annonces en BD** : 5095 au total, **4811 actives**
59 59 - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-22
60 60 - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 99 %
61 −- **Runs journalisés (60 derniers)** : 39, dont 0 en erreur
61 +- **Runs journalisés (60 derniers)** : 40, dont 0 en erreur
62 62
63 63 ## Erreurs connues & dépannage
64 64
added louka/connectors/apartments_com.py +303 −0
@@ -0,0 +1,303 @@
1 +# -----------------------------------------------------------------------------
2 +# Lou-Ka — Agrégateur de logements à louer (province de Québec)
3 +# Auteur : Simon-Pierre Boucher — contact@spboucher.ai
4 +# connectors/apartments_com.py : Apartments.com (CoStar) — réseau US avec un
5 +# vrai parc québécois (~500 propriétés / 8 400 unités via /qc/, surtout de
6 +# grands gestionnaires). Le site est verrouillé par Akamai (403 en direct,
7 +# via Scrapfly ET via Oxylabs — sondé 2026-08-18/22) : le scraping est
8 +# délégué à l'ACTEUR APIFY MAISON gorgeous_thistle/ka-apartments-com
9 +# (source : actors/ka-apartments-com de ce repo) qui passe par le Web
10 +# Unlocker Bright Data — HTML server-rendered, pas de rendu JS.
11 +# UNE annonce = UNE PROPRIÉTÉ (immeuble) : prix « à partir de » (minimum
12 +# des plans d'unités), tous les plans dans details["plans"]. Les fiches
13 +# détail sont lues en FRANÇAIS (/fr/) : description, GPS, commodités,
14 +# galerie. Cache détail 30 j + CADENCE : l'inventaire CoStar bouge
15 +# lentement, l'acteur ne tourne qu'aux LOUKA_APTS_INTERVAL_H heures ;
16 +# entre deux runs on ré-émet les annonces actives depuis la BD (coût 0).
17 +# -----------------------------------------------------------------------------
18 +from __future__ import annotations
19 +
20 +import json
21 +import os
22 +import re
23 +import time
24 +
25 +import requests as _requests
26 +
27 +from ..schema import Listing
28 +from .base import BaseConnector
29 +from . import _detailutil as du
30 +
31 +APIFY_API = "https://api.apify.com/v2"
32 +ACTOR = os.environ.get("LOUKA_APTS_ACTOR", "gorgeous_thistle~ka-apartments-com")
33 +
34 +SEARCH_URLS = ["https://www.apartments.com/qc/"] # toute la province
35 +MAX_PAGES = int(os.environ.get("LOUKA_APTS_MAX_PAGES", "25"))
36 +DETAIL_LIMIT = int(os.environ.get("LOUKA_APTS_DETAIL_LIMIT", "250"))
37 +TTL_DAYS = float(os.environ.get("LOUKA_APTS_TTL_DAYS", "30"))
38 +INTERVAL_H = float(os.environ.get("LOUKA_APTS_INTERVAL_H", "12"))
39 +CONCURRENCY = int(os.environ.get("LOUKA_APTS_CONCURRENCY", "4"))
40 +RUN_TIMEOUT = int(os.environ.get("LOUKA_APTS_RUN_TIMEOUT", "3600")) # s
41 +
42 +DETAIL_KEY = "v1"
43 +PRICE_MIN, PRICE_MAX = 300, 12000 # garde-fous de loyer mensuel
44 +
45 +_MONEY_RX = re.compile(r"\$\s*([\d\s,  ]+)")
46 +_BEDS_LABEL_RX = re.compile(r"(\d+)\s*(?:bed|lit|c\.?\s*à\.?\s*c)", re.I)
47 +_SQFT_RX = re.compile(r"([\d\s,  ]+)\s*(?:pi²|sq\s*ft)", re.I)
48 +
49 +
50 +def _money(text: str | None) -> float | None:
51 + m = _MONEY_RX.search(text or "")
52 + if not m:
53 + return None
54 + try:
55 + return float(re.sub(r"[^\d]", "", m.group(1)))
56 + except ValueError:
57 + return None
58 +
59 +
60 +def _beds_count(label: str) -> float | None:
61 + low = (label or "").casefold()
62 + if "studio" in low or "bachelor" in low:
63 + return 0.0
64 + m = _BEDS_LABEL_RX.search(low)
65 + return float(m.group(1)) if m else None
66 +
67 +
68 +def _unit_type(beds: float | None) -> str:
69 + if beds is None:
70 + return ""
71 + if beds <= 0:
72 + return "Studio"
73 + return "6½+" if beds >= 4 else f"{int(beds) + 2}½"
74 +
75 +
76 +def _fmt_price(price: float) -> str:
77 + return f"{price:,.0f} $/mois".replace(",", " ")
78 +
79 +
80 +def _split_address(addr: str) -> tuple[str, str]:
81 + """« 1411 St Du Fort, Montréal, QC H3H 2N7 » -> (rue, ville)."""
82 + parts = [p.strip() for p in (addr or "").split(",") if p.strip()]
83 + if len(parts) >= 3:
84 + return ", ".join(parts[:-2]), parts[-2]
85 + return addr or "", ""
86 +
87 +
88 +class ApartmentsComConnector(BaseConnector):
89 + source_id = "apartments_com"
90 + request_delay = 1.0
91 +
92 + # -- orchestration de l'acteur Apify --------------------------------------
93 + def _run_actor(self, payload: dict, token: str) -> list[dict]:
94 + """Lance l'acteur, attend la fin, retourne les items du dataset."""
95 + r = _requests.post(
96 + f"{APIFY_API}/acts/{ACTOR}/runs?waitForFinish=120",
97 + json=payload, timeout=180,
98 + headers={"Authorization": f"Bearer {token}"})
99 + r.raise_for_status()
100 + run = r.json()["data"]
101 + deadline = time.time() + RUN_TIMEOUT
102 + while run["status"] in ("READY", "RUNNING") and time.time() < deadline:
103 + time.sleep(10)
104 + run = _requests.get(
105 + f"{APIFY_API}/actor-runs/{run['id']}", timeout=60,
106 + headers={"Authorization": f"Bearer {token}"}).json()["data"]
107 + if run["status"] != "SUCCEEDED":
108 + raise RuntimeError(f"acteur {ACTOR} : run {run['id']} "
109 + f"terminé en {run['status']}")
110 + items: list[dict] = []
111 + offset = 0
112 + while True:
113 + batch = _requests.get(
114 + f"{APIFY_API}/datasets/{run['defaultDatasetId']}/items"
115 + f"?limit=1000&offset={offset}", timeout=120,
116 + headers={"Authorization": f"Bearer {token}"}).json()
117 + items.extend(batch)
118 + if len(batch) < 1000:
119 + return items
120 + offset += 1000
121 +
122 + # -- cadence / ré-émission -------------------------------------------------
123 + def _last_ok_sync(self, cache: du.TtlDetailCache) -> float:
124 + row = cache.con.execute(
125 + "SELECT MAX(ts) AS t FROM sync_log WHERE source=? AND ok=1"
126 + " AND found > 0", (self.source_id,)).fetchone()
127 + return row["t"] or 0.0
128 +
129 + def _active_rows(self, cache: du.TtlDetailCache) -> list:
130 + return cache.con.execute(
131 + "SELECT external_id, url, title, address, sector, city, unit_type,"
132 + " bedrooms, bathrooms, price, price_label, availability,"
133 + " availability_date, area_sqft, pets, furnished, description,"
134 + " amenities, details, images, lat, lng"
135 + " FROM listings WHERE source=? AND active=1", (self.source_id,)
136 + ).fetchall()
137 +
138 + def _listing_from_row(self, r) -> Listing:
139 + def js(s, default):
140 + try:
141 + return json.loads(s) if s else default
142 + except ValueError:
143 + return default
144 + return Listing(
145 + source=self.source_id, external_id=r["external_id"],
146 + url=r["url"], title=r["title"] or "", address=r["address"] or "",
147 + sector=r["sector"] or "", city=r["city"] or "",
148 + unit_type=r["unit_type"] or "", bedrooms=r["bedrooms"],
149 + bathrooms=r["bathrooms"], price=r["price"],
150 + price_label=r["price_label"] or "",
151 + availability=r["availability"] or "",
152 + availability_date=r["availability_date"],
153 + area_sqft=r["area_sqft"], pets=r["pets"],
154 + furnished=(None if r["furnished"] is None else bool(r["furnished"])),
155 + description=r["description"] or "",
156 + amenities=js(r["amenities"], []), details=js(r["details"], {}),
157 + images=js(r["images"], []), lat=r["lat"], lng=r["lng"],
158 + )
159 +
160 + # -- payload détail -> champs Listing ---------------------------------------
161 + @staticmethod
162 + def _std_detail(d: dict) -> dict:
163 + std = {k: d[k] for k in ("description", "images", "lat", "lng",
164 + "amenities") if d.get(k)}
165 + if d.get("street"):
166 + std["address"] = d["street"]
167 + if d.get("city"):
168 + std["city"] = d["city"]
169 + plans, seen = [], set()
170 + for pl in d.get("plans") or []: # grille dupliquée desktop/mobile
171 + sig = (pl.get("key"), pl.get("name"), pl.get("rent"))
172 + if sig not in seen:
173 + seen.add(sig)
174 + plans.append(pl)
175 + rents = [p for p in (_money(pl.get("rent")) for pl in plans)
176 + if p is not None and PRICE_MIN <= p <= PRICE_MAX]
177 + if rents:
178 + std["price"] = min(rents)
179 + std["price_label"] = (f"à partir de {_fmt_price(min(rents))}"
180 + if len(plans) > 1 else _fmt_price(min(rents)))
181 + # immeuble multi-plans : minimum, cohérent avec le prix « à partir
182 + # de » — et ça évite que finalize() devine n'importe quoi dans la
183 + # description marketing (« appartements de 1 à 4 chambres »)
184 + beds = {pl.get("beds") for pl in plans if pl.get("beds") is not None}
185 + baths = {pl.get("baths") for pl in plans if pl.get("baths") is not None}
186 + if beds:
187 + std["bedrooms"] = min(beds)
188 + if len(beds) == 1:
189 + std["unit_type"] = _unit_type(std["bedrooms"])
190 + if baths:
191 + std["bathrooms"] = min(baths)
192 + if len(plans) == 1:
193 + m = _SQFT_RX.search(" ".join(plans[0].get("details") or []))
194 + if m:
195 + try:
196 + std["area_sqft"] = float(re.sub(r"[^\d]", "", m.group(1)))
197 + except ValueError:
198 + pass
199 + avails = [pl.get("availability") or "" for pl in plans]
200 + now = next((a for a in avails
201 + if "maintenant" in a.casefold() or "now" in a.casefold()),
202 + "")
203 + if now or any(avails):
204 + std["availability"] = now or next(a for a in avails if a)
205 + if plans:
206 + std["details"] = {"plans": [
207 + {k: pl[k] for k in ("name", "rent", "beds", "baths",
208 + "details", "availability") if k in pl}
209 + for pl in plans]}
210 + return std
211 +
212 + # -- pipeline principal ------------------------------------------------------
213 + def fetch(self) -> list[Listing]:
214 + token = os.environ.get("APIFY_TOKEN")
215 + bd_token = os.environ.get("BRIGHTDATA_API_KEY")
216 + if not token:
217 + raise RuntimeError("APIFY_TOKEN manquant (voir .env)")
218 + if not bd_token:
219 + raise RuntimeError("BRIGHTDATA_API_KEY manquant (voir .env)")
220 +
221 + cache = du.TtlDetailCache(self, budget=0, ttl_days=TTL_DAYS,
222 + key=DETAIL_KEY, fetch_html=lambda _u: "")
223 + try:
224 + # inventaire lent + acteur payant : entre deux vrais runs on
225 + # ré-émet les actives telles quelles (aucune requête réseau)
226 + age_h = (time.time() - self._last_ok_sync(cache)) / 3600
227 + actives = self._active_rows(cache)
228 + if actives and age_h < INTERVAL_H:
229 + return [self._listing_from_row(r) for r in actives]
230 +
231 + fresh = {r["external_id"] for r in cache.con.execute(
232 + "SELECT external_id FROM detail_cache"
233 + " WHERE source=? AND key=? AND fetched_at > ?",
234 + (self.source_id, DETAIL_KEY,
235 + time.time() - TTL_DAYS * 86400)).fetchall()}
236 + # rattrapage : actives jamais enrichies (sans GPS ou description)
237 + extra = [f'{r["external_id"]}|{r["url"]}' for r in actives
238 + if r["external_id"] not in fresh
239 + and (r["lat"] is None or not (r["description"] or "").strip())]
240 +
241 + items = self._run_actor({
242 + "searchUrls": SEARCH_URLS,
243 + "maxPages": MAX_PAGES,
244 + "getDetails": True,
245 + "maxDetails": DETAIL_LIMIT,
246 + "skipDetailIds": sorted(fresh),
247 + "extraDetailIds": extra[:DETAIL_LIMIT],
248 + "brightdataToken": bd_token,
249 + "brightdataZone": os.environ.get("BRIGHTDATA_ZONE",
250 + "web_unlocker1"),
251 + "concurrency": CONCURRENCY,
252 + }, token)
253 +
254 + for it in items:
255 + if it.get("kind") == "detail" and it.get("id"):
256 + payload = {k: v for k, v in it.items()
257 + if k not in ("kind",) and v is not None}
258 + cache.put(str(it["id"]), payload)
259 +
260 + out: dict[str, Listing] = {}
261 + for it in items:
262 + if it.get("kind") != "listing":
263 + continue
264 + pid = str(it["id"])
265 + street, city = _split_address(it.get("address") or "")
266 + rents = [(r.get("beds") or "", _money(r.get("price")))
267 + for r in it.get("rents") or []]
268 + prices = [p for _b, p in rents
269 + if p is not None and PRICE_MIN <= p <= PRICE_MAX]
270 + from_price = any("+" in (r.get("price") or "")
271 + for r in it.get("rents") or [])
272 + beds = {b for b in (_beds_count(lbl) for lbl, _p in rents)
273 + if b is not None}
274 + lst = Listing(
275 + source=self.source_id,
276 + external_id=pid,
277 + url=(it.get("url") or "").replace(
278 + "www.apartments.com/", "www.apartments.com/fr/", 1),
279 + title=(it.get("title") or street)[:200],
280 + address=street,
281 + city=city,
282 + price=min(prices) if prices else None,
283 + price_label=((f"à partir de {_fmt_price(min(prices))}"
284 + if from_price or len(prices) > 1
285 + else _fmt_price(min(prices)))
286 + if prices else ""),
287 + unit_type=_unit_type(beds.pop() if len(beds) == 1
288 + else None),
289 + amenities=it.get("amenities") or [],
290 + images=[it["image"]] if it.get("image") else [],
291 + )
292 + detail, _f = cache.peek(pid)
293 + if detail:
294 + du.apply_detail(lst, self._std_detail(detail))
295 + if detail.get("name"):
296 + lst.title = detail["name"][:200]
297 + if lst.price is None or not (PRICE_MIN <= lst.price
298 + <= PRICE_MAX):
299 + continue # « Call for Rent » : pas affichable
300 + out[pid] = lst
301 + return list(out.values())
302 + finally:
303 + cache.close()
modified louka/connectors/fb_marketplace.py +75 −13
@@ -124,6 +124,54 @@ def _non_qc(payload: dict) -> bool:
124 124 return False
125 125
126 126
127 +# version des payloads détail : bump quand parse_detail (acteur) apprend de
128 +# nouveaux champs, pour re-visiter progressivement les fiches déjà en cache
129 +PAYLOAD_VERSION = 3
130 +
131 +_TYPE_LABELS = {"apartment", "house", "townhouse", "condo", "room", "flat",
132 + "appartement", "maison", "maison de ville", "chambre", "loft"}
133 +_BEDS_RX = re.compile(r"(\d+(?:[.,]\d+)?)\s*(?:beds?\b|chambres?\b|lits?\b)",
134 + re.I)
135 +_BATHS_RX = re.compile(r"(\d+(?:[.,]\d+)?)\s*(?:baths?\b|salles?\b)", re.I)
136 +
137 +
138 +def _std_detail(d: dict) -> dict:
139 + """Payload acteur -> dict pour du.apply_detail (labels PDP en/fr)."""
140 + std = {k: d[k] for k in ("description", "images", "lat", "lng",
141 + "city", "address") if d.get(k)}
142 + amen: list[str] = []
143 + for lbl in d.get("unit_fields") or []:
144 + mb = _BEDS_RX.search(lbl)
145 + if mb: # « 2 beds · 1 bath »
146 + std["bedrooms"] = float(mb.group(1).replace(",", "."))
147 + ms = _BATHS_RX.search(lbl)
148 + if ms:
149 + std["bathrooms"] = float(ms.group(1).replace(",", "."))
150 + continue
151 + low = lbl.casefold()
152 + if low in _TYPE_LABELS:
153 + continue # type générique : _unit_type (titre/desc) fait mieux
154 + if "furnish" in low or "meublé" in low:
155 + std["furnished"] = not ("unfurnish" in low or "non meublé" in low)
156 + if "pet" in low or "animaux" in low:
157 + std["pets"] = ("non" if "no pet" in low or "pas d" in low
158 + else "oui")
159 + amen.append(lbl)
160 + if amen:
161 + std["amenities"] = amen
162 + for part in (d.get("listed_text") or "").split("·"):
163 + p = part.strip()
164 + if p.casefold().startswith(("available", "disponible")):
165 + std["availability"] = p
166 + extras = {k: d[k] for k in ("walk_score", "transit_score", "bike_score")
167 + if d.get(k) is not None}
168 + if d.get("virtual_tour_url"):
169 + extras["virtual_tour"] = d["virtual_tour_url"]
170 + if extras:
171 + std["details"] = extras
172 + return std
173 +
174 +
127 175 class FacebookMarketplaceConnector(BaseConnector):
128 176 source_id = "fb_marketplace"
129 177 request_delay = 1.0
@@ -189,9 +237,12 @@ class FacebookMarketplaceConnector(BaseConnector):
189 237 l'acteur ne les revisitera pas."""
190 238 rows = cache.con.execute(
191 239 "SELECT external_id FROM detail_cache"
192 − " WHERE source=? AND key=? AND fetched_at > ?",
240 + " WHERE source=? AND key=? AND fetched_at > ?"
241 + " AND (json_extract(payload,'$.pv') >= ?"
242 + " OR json_extract(payload,'$.nopdp') IS NOT NULL"
243 + " OR json_extract(payload,'$.gone') IS NOT NULL)",
193 244 (self.source_id, DETAIL_KEY,
194 − time.time() - TTL_DAYS * 86400)).fetchall()
245 + time.time() - TTL_DAYS * 86400, PAYLOAD_VERSION)).fetchall()
195 246 return [r["external_id"] for r in rows]
196 247
197 248 def _poor_active_rows(self, cache: du.TtlDetailCache) -> list:
@@ -210,7 +261,9 @@ class FacebookMarketplaceConnector(BaseConnector):
210 261 except ValueError:
211 262 n_img = 0
212 263 return (not (r["description"] or "").strip()
213 − or r["lat"] is None or n_img <= 1)
264 + or r["lat"] is None or n_img <= 1
265 + or not (r["address"] or "").strip()
266 + or r["bedrooms"] is None)
214 267 return [r for r in rows if poor(r)]
215 268
216 269 def _listing_from_row(self, r) -> Listing:
@@ -241,19 +294,23 @@ class FacebookMarketplaceConnector(BaseConnector):
241 294 """Rattrapage : ré-émet les fiches actives pauvres dont le cache
242 295 (rempli par l'acteur via extraDetailIds) apporte du neuf. Les
243 296 annonces mortes suivent le cycle normal miss_count → retrait."""
244 − def adds(r, d: dict) -> bool:
245 − if d.get("description") and len(d["description"]) > \
297 + def adds(r, s: dict) -> bool:
298 + if s.get("description") and len(s["description"]) > \
246 299 len(r["description"] or ""):
247 300 return True
248 − if d.get("lat") is not None and r["lat"] is None:
301 + if s.get("lat") is not None and r["lat"] is None:
249 302 return True
250 303 try:
251 304 n_img = len(json.loads(r["images"] or "[]"))
252 305 except ValueError:
253 306 n_img = 0
254 − if len(d.get("images") or []) > n_img:
307 + if len(s.get("images") or []) > n_img:
308 + return True
309 + if s.get("address") and not (r["address"] or "").strip():
310 + return True
311 + if s.get("bedrooms") is not None and r["bedrooms"] is None:
255 312 return True
256 − return bool(d.get("city")) and not (r["city"] or "")
313 + return bool(s.get("city")) and not (r["city"] or "")
257 314
258 315 out: list[Listing] = []
259 316 for r in poor_rows:
@@ -262,12 +319,11 @@ class FacebookMarketplaceConnector(BaseConnector):
262 319 d, _fresh = cache.peek(r["external_id"])
263 320 if not _usable(d) or d.get("gone") or _non_qc(d):
264 321 continue # morte / hors QC / rien de neuf
265 − if not adds(r, d):
322 + std = _std_detail(d)
323 + if not adds(r, std):
266 324 continue # rien à apporter : laisser vivre son cycle
267 325 lst = self._listing_from_row(r)
268 − du.apply_detail(lst, {k: v for k, v in d.items()
269 − if k in ("description", "images",
270 − "lat", "lng")})
326 + du.apply_detail(lst, std)
271 327 if d.get("city"): # reverse geocode FB : autoritaire
272 328 lst.city = d["city"]
273 329 if not lst.unit_type:
@@ -319,6 +375,8 @@ class FacebookMarketplaceConnector(BaseConnector):
319 375 continue # échec réseau acteur : pas de cache
320 376 payload = {k: v for k, v in it.items()
321 377 if k not in ("kind", "id", "ok") and v is not None}
378 + if payload and not payload.get("nopdp"):
379 + payload["pv"] = PAYLOAD_VERSION
322 380 cache.put(str(it["id"]), payload or {"nopdp": True})
323 381
324 382 out: dict[str, Listing] = {}
@@ -345,7 +403,7 @@ class FacebookMarketplaceConnector(BaseConnector):
345 403 images = detail.get("images") or ([photo] if photo else [])
346 404 city = (detail.get("city") or it.get("city")
347 405 or city_by_url.get(it.get("source_url") or "", ""))
348 − out[lid] = Listing(
406 + lst = Listing(
349 407 source=self.source_id,
350 408 external_id=lid,
351 409 url=f"{BASE}/item/{lid}/",
@@ -359,6 +417,10 @@ class FacebookMarketplaceConnector(BaseConnector):
359 417 lat=detail.get("lat"),
360 418 lng=detail.get("lng"),
361 419 )
420 + # champs structurés du PDP : adresse, chambres/sdb, commodités,
421 + # disponibilité, scores de marche/transport
422 + du.apply_detail(lst, _std_detail(detail))
423 + out[lid] = lst
362 424
363 425 listings = list(out.values())
364 426 # rattrapage des fiches actives pauvres sorties de la recherche
365 427