Vague 3 : connecteurs Zumper (API directe), Atimco (Livya), Simplex (Supabase)
- zumper : API JSON interne en DIRECT (bundle CSRF -> pages/listables par bbox -> fiches /buildings avec cache BD cle modified_on), 8 bbox QC, filtre state=QC ; 4 345 annonces au premier sync (2 391 absorbees par la dedup = +1 954 nettes). PadMapper = meme API (ids 100/100 identiques) : couvert. - _livya : base commune des gestionnaires servis par Livya (ex-RealVuu), patron generalise du connecteur thrace (flux RSC des pages plans). - atimco : ~18 projets Monteregie (Longueuil, St-Constant, St-Hyacinthe, Chambly, Chateauguay, St-Jean, Sorel, Cowansville) — 299 unites disponibles, prix/GPS/chambres/sdb complets, 0 doublon. - simplex : catalogue Supabase public (RPC get_public_rental_listings_page), Trois-Rivieres/Shawinigan — 3 annonces actives (28 publiees en rotation). - sources.json : +6 entrees (zumper, atimco, simplex actifs ; padmapper couvert via zumper ; apartments.com non connectable — 403 CoStar ; cloria non connectable — inventaire Livya complet mais 0 prix publie). - docs/connecteurs regeneres (217 fiches). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
223 changed files +1,954 −944
modified
data/sources.json
+61 −1
@@ -2748,6 +2748,66 @@ | ||
| 2748 | 2748 | "connector": "rentals_ca", |
| 2749 | 2749 | "status": "actif", |
| 2750 | 2750 | "region": "Province" |
| 2751 | + }, | |
| 2752 | + { | |
| 2753 | + "id": "atimco", | |
| 2754 | + "name": "Atimco", | |
| 2755 | + "url": "https://www.atimco.ca", | |
| 2756 | + "listing_url": "https://app.livya.com/fr/atimco/projects/atimco/plans", | |
| 2757 | + "sectors": "Montérégie/Rive-Sud : Longueuil, Saint-Constant, Saint-Hyacinthe, Saint-Basile-le-Grand, Brossard, Chambly, Châteauguay, Saint-Jean-sur-Richelieu, Sorel-Tracy, Cowansville (+ Mont-Tremblant) — ~18 projets Livya (ex-RealVuu), ~1 000 unités publiées, ~300 disponibles", | |
| 2758 | + "connector": "atimco", | |
| 2759 | + "status": "actif", | |
| 2760 | + "region": "Montérégie" | |
| 2761 | + }, | |
| 2762 | + { | |
| 2763 | + "id": "cloria", | |
| 2764 | + "name": "Cloria", | |
| 2765 | + "url": "https://www.cloria.ca", | |
| 2766 | + "listing_url": "https://app.livya.com/fr/cloria/projects/chambly/plans", | |
| 2767 | + "sectors": "Chambly, Lévis, Saint-Jérôme, Beloeil, Terrebonne, Trois-Rivières, Île-des-Sœurs", | |
| 2768 | + "connector": null, | |
| 2769 | + "status": "non connectable actuellement — inventaire Livya complet (361 unités disponibles, GPS/pièces/pi²) mais AUCUN loyer publié (rentalPrice=0 et startingAtRentalPrice=0 sur toutes les unités, vérifié 2026-08-18) ; le patron _livya.py (voir atimco) se branche en 10 lignes si Cloria publie ses prix", | |
| 2770 | + "region": "Montérégie" | |
| 2771 | + }, | |
| 2772 | + { | |
| 2773 | + "id": "zumper", | |
| 2774 | + "name": "Zumper (Québec)", | |
| 2775 | + "url": "https://www.zumper.com", | |
| 2776 | + "listing_url": "https://www.zumper.com/apartments-for-rent/montreal-qc", | |
| 2777 | + "sectors": "Grandes régions QC (Montréal/Laval/Longueuil, Québec-Lévis, Gatineau, Sherbrooke, Trois-Rivières, Saguenay, Drummondville, Granby/St-Jean) — API JSON interne en DIRECT (bundle CSRF + pages/listables par bbox + fiches immeubles /buildings), filtre state=QC ; ~3 900 annonces au premier relevé", | |
| 2778 | + "connector": "zumper", | |
| 2779 | + "status": "actif", | |
| 2780 | + "region": "Province" | |
| 2781 | + }, | |
| 2782 | + { | |
| 2783 | + "id": "padmapper", | |
| 2784 | + "name": "PadMapper", | |
| 2785 | + "url": "https://www.padmapper.com", | |
| 2786 | + "listing_url": "https://www.padmapper.com/apartments/montreal-qc", | |
| 2787 | + "sectors": "Même compagnie et MÊME API que Zumper (/api/t/1/…) — listing_id identiques (100/100 vérifié sur Montréal, 2026-08-18)", | |
| 2788 | + "connector": null, | |
| 2789 | + "status": "couvert via zumper", | |
| 2790 | + "region": "Province" | |
| 2791 | + }, | |
| 2792 | + { | |
| 2793 | + "id": "apartments_com", | |
| 2794 | + "name": "Apartments.com (CoStar)", | |
| 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", | |
| 2800 | + "region": "Province" | |
| 2801 | + }, | |
| 2802 | + { | |
| 2803 | + "id": "simplex", | |
| 2804 | + "name": "Simplex Immobilier", | |
| 2805 | + "url": "https://simpleximmobilier.com", | |
| 2806 | + "listing_url": "https://simpleximmobilier.com/logements-a-louer/", | |
| 2807 | + "sectors": "Trois-Rivières, Shawinigan, Mauricie (~600 logements gérés, ~25-30 annonces publiées dont 3 disponibles au relevé) — catalogue Supabase public (RPC get_public_rental_listings_page), pas d adresse civique publiée", | |
| 2808 | + "connector": "simplex", | |
| 2809 | + "status": "actif", | |
| 2810 | + "region": "Mauricie" | |
| 2751 | 2811 | } |
| 2752 | 2812 | ] |
| 2753 | −} | |
| \ No newline at end of file | ||
| 2813 | +} | |
modified
docs/connecteurs/INDEX.md
+220 −214
@@ -1,233 +1,238 @@ | ||
| 1 | 1 | # Lou-Ka — Index des connecteurs |
| 2 | 2 | |
| 3 | −_Généré automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 03:30 — ne pas éditer à la main, régénérer._ | |
| 3 | +_Généré automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**214 connecteurs documentés** (212 activés, 2 désactivés) · **51247 annonces actives** au total · registre : 275 entrées. | |
| 5 | +**217 connecteurs documentés** (215 activés, 2 désactivés) · **58112 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 | 26/33 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 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-18 03:15 | | |
| 11 | −| [`agence_sherbrooke`](agence_sherbrooke.md) | Agence de location Sherbrooke (groupe P… | Estrie | sitemap XML + pages HTML | direct | 14/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 12 | −| [`akelius`](akelius.md) | Akelius Montréal | Montréal | pages HTML (rendu serveur) | direct | 242/290 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 13 | −| [`alexcellence`](alexcellence.md) | Immeubles Alexcellence | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 50 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 14 | −| [`alias_appartements`](alias_appartements.md) | Alias Appartements | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 15 | −| [`alouer_sherbrooke`](alouer_sherbrooke.md) | À Louer Sherbrooke | Estrie | API admin-ajax (WordPress) | direct | 1/1 | 0 % | 0 % | 100 % | actif | 2026-08-18 03:15 | | |
| 16 | −| [`app_urbains`](app_urbains.md) | Appartements Urbains | Québec | sitemap XML + pages HTML | direct | 18/21 | 100 % | 83 % | 100 % | actif | 2026-08-18 03:15 | | |
| 17 | −| [`appartements_rimouski`](appartements_rimouski.md) | Appartements Rimouski (Immeubles DTM) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 19/20 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 18 | −| [`ascensio`](ascensio.md) | Groupe Ascensio | Estrie | pages HTML (rendu serveur) | direct | 9/10 | 44 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 19 | −| [`atlas_immo`](atlas_immo.md) | Atlas société immobilière | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 0/0 | — | — | — | actif | 2026-08-18 03:15 | | |
| 20 | −| [`aula`](aula.md) | AULA Lévis | Québec | API REST WordPress (wp-json) | direct | 68/70 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:16 | | |
| 21 | −| [`axia`](axia.md) | Axia Appartements | Montréal | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:16 | | |
| 22 | −| [`barnes_quebec`](barnes_quebec.md) | BARNES Québec (location) | Montréal | API JSON interne du site | direct | 101/103 | 99 % | 98 % | 100 % | actif | 2026-08-18 03:16 | | |
| 23 | −| [`beaudoin`](beaudoin.md) | Société Beaudoin Immobilier | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:16 | | |
| 24 | −| [`beaulieu_groupe`](beaulieu_groupe.md) | Beaulieu Groupe Immobilier (BGI) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 4/4 | 100 % | 0 % | 100 % | actif | 2026-08-18 03:16 | | |
| 25 | −| [`bestlife`](bestlife.md) | Les Gestions Bestlife | Estrie | pages HTML (rendu serveur) | direct | 12/13 | 92 % | 100 % | 100 % | actif | 2026-08-18 03:16 | | |
| 26 | −| [`boardwalk`](boardwalk.md) | Boardwalk REIT | Montréal | pages HTML (rendu serveur) | direct | 100/100 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:17 | | |
| 27 | −| [`bons_locataires`](bons_locataires.md) | Bons Locataires | Grand Montréal | sitemap XML + pages HTML | direct | 14/14 | 100 % | 21 % | 93 % | actif | 2026-08-18 03:18 | | |
| 28 | −| [`boreal_abitibi`](boreal_abitibi.md) | Constructions Boréal Abitibi | Abitibi-Témiscaming… | API admin-ajax (WordPress) | direct | 3/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 29 | −| [`bribourg`](bribourg.md) | Bribourg | Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 30 | −| [`brigil`](brigil.md) | Brigil | Outaouais | API JSON interne du site | direct | 42/42 | 98 % | 24 % | 100 % | actif | 2026-08-18 03:18 | | |
| 31 | −| [`brio`](brio.md) | Les Immeubles Brio | Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 32 | −| [`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-18 03:18 | | |
| 33 | −| [`brochu`](brochu.md) | Groupe Immobilier Brochu | Québec | pages HTML (rendu serveur) | direct | 7/7 | 86 % | 57 % | 100 % | actif | 2026-08-18 03:18 | | |
| 34 | −| [`cap_gestion`](cap_gestion.md) | CAP Gestion (CAP Immobilier) | Laurentides / Lanau… | pages HTML (rendu serveur) | direct | 122/122 | 98 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 35 | −| [`capital_rdr`](capital_rdr.md) | Gestion Capital RDR | Mauricie | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 36 | −| [`capreit`](capreit.md) | CAPREIT | Québec | API admin-ajax (WordPress) | direct | 117/122 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 37 | −| [`carat_immobilier`](carat_immobilier.md) | Carat Immobilier | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 3/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:18 | | |
| 38 | −| [`centurion`](centurion.md) | Centurion / CP Living (Quartier QB) | Québec | API JSON interne du site | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-18 03:18 | | |
| 39 | −| [`cite_immobilier`](cite_immobilier.md) | Cité Immobilier | Centre-du-Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 0 % | actif | 2026-08-18 03:18 | | |
| 40 | −| [`cogir`](cogir.md) | Cogir Immobilier | Québec | pages HTML (rendu serveur) | direct | 285/300 | 89 % | 96 % | 100 % | actif | 2026-08-18 03:20 | | |
| 41 | −| [`contraste`](contraste.md) | Contraste Immobilier | Québec | pages HTML (rendu serveur) | direct | 221/234 | 100 % | 86 % | 100 % | actif | 2026-08-18 03:21 | | |
| 42 | −| [`copley`](copley.md) | Groupe Copley | Montréal | pages HTML (rendu serveur) | direct | 52/52 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:21 | | |
| 43 | −| [`cosoltec`](cosoltec.md) | Cosoltec (Evado, Le Monroe, Natür) | Laurentides | API JSON interne du site | direct | 44/52 | 98 % | 80 % | 100 % | actif | 2026-08-18 03:21 | | |
| 44 | −| [`courtemanche`](courtemanche.md) | Gestion Immobilière Courtemanche | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 0/0 | — | — | — | actif | 2026-08-18 03:21 | | |
| 45 | −| [`cromwell`](cromwell.md) | Cromwell Management | Montréal | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:21 | | |
| 46 | −| [`denux`](denux.md) | Groupe Denux | Montréal | API JSON interne du site | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:21 | | |
| 47 | −| [`desmarais`](desmarais.md) | Immeubles Desmarais | Outaouais | pages HTML (rendu serveur) | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:21 | | |
| 48 | −| [`desroches`](desroches.md) | Immeubles Claude Desroches | Montérégie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 50 % | actif | 2026-08-18 03:21 | | |
| 49 | −| [`devcore`](devcore.md) | Devcore Group | Côte-Nord | API REST WordPress (wp-json) | direct | 14/14 | 0 % | 7 % | 100 % | actif | 2026-08-18 03:22 | | |
| 50 | −| [`devimco`](devimco.md) | Devimco Appartements | Montréal | API JSON interne du site | direct | 480/575 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:22 | | |
| 51 | −| [`dma_locago`](dma_locago.md) | DMA / Locago (Douville, Moffet & Associ… | Québec | pages HTML (rendu serveur) | direct | 118/124 | 29 % | 98 % | 100 % | actif | 2026-08-18 03:23 | | |
| 52 | −| [`duproprio`](duproprio.md) | DuProprio (location) | Province | sitemap XML + pages HTML | direct | 3890/3896 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:23 | | |
| 53 | −| [`dynamic`](dynamic.md) | Gestion immobilière Dynamic | Estrie | pages HTML (rendu serveur) | direct | 48/53 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 54 | −| [`edifia`](edifia.md) | Edifia Groupe Immobilier | Québec | pages HTML (rendu serveur) | direct | 180/185 | 100 % | 93 % | 100 % | actif | 2026-08-18 03:24 | | |
| 55 | −| [`elements`](elements.md) | Quartier les Éléments | Québec | pages HTML (rendu serveur) | direct | 2/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:24 | | |
| 56 | −| [`elite`](elite.md) | Elite Immobilier | Outaouais | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:24 | | |
| 57 | −| [`elk`](elk.md) | ELK Property Management | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-18 03:24 | | |
| 58 | −| [`equinoxe_batimo`](equinoxe_batimo.md) | Batimo/EMD — Collection Équinoxe | Montréal | API admin-ajax (WordPress) | direct | 615/662 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:26 | | |
| 59 | −| [`evoludev`](evoludev.md) | Groupe Evoludev | Lanaudière | pages HTML (rendu serveur) | direct | 134/134 | 100 % | 99 % | 100 % | actif | 2026-08-18 03:26 | | |
| 60 | −| [`fb_marketplace`](fb_marketplace.md) | Facebook Marketplace (location) | Province | pages HTML (rendu serveur) | direct | 2107/5142 | 15 % | 100 % | 100 % | actif | 2026-08-18 02:58 | | |
| 61 | −| [`ferrovia`](ferrovia.md) | Ferrovia (condos locatifs Mirabel) | Laurentides | pages HTML (rendu serveur) | direct | 23/24 | 0 % | 0 % | 0 % | actif | 2026-08-18 01:37 | | |
| 62 | −| [`firma`](firma.md) | Groupe Firma | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 75 % | 8 % | 100 % | actif | 2026-08-18 01:37 | | |
| 63 | −| [`floria`](floria.md) | Gestion Floria | Estrie | pages HTML (rendu serveur) | direct | 21/21 | 100 % | 24 % | 95 % | actif | 2026-08-18 01:38 | | |
| 64 | −| [`forsa`](forsa.md) | Gestion immobilière Forsa | Lanaudière | pages HTML (rendu serveur) | direct | 13/13 | 92 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 65 | −| [`fournelle`](fournelle.md) | Appartements Fournelle (Groupe Fournell… | Centre-du-Québec | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 66 | −| [`garic`](garic.md) | Garic Gestion Immobilière | Outaouais | API admin-ajax (WordPress) | direct | 45/54 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 67 | −| [`gesteco`](gesteco.md) | Gesteco | Montérégie | API JSON interne du site | direct | 10/14 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 68 | −| [`gestimmo_estrie`](gestimmo_estrie.md) | Gestimmo Estrie | Estrie | pages HTML (rendu serveur) | direct | 41/41 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 69 | −| [`gestion_fauvel`](gestion_fauvel.md) | Gestion Fauvel | Centre-du-Québec | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-18 01:38 | | |
| 70 | −| [`gestion_habitation`](gestion_habitation.md) | Gestion Habitation | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 71 | −| [`gestion_isr`](gestion_isr.md) | Gestion ISR | Centre-du-Québec | pages HTML (rendu serveur) | direct | 20/22 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 72 | −| [`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-18 01:38 | | |
| 73 | −| [`gestion_laprise`](gestion_laprise.md) | Gestion Laprise | Côte-Nord | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-18 01:38 | | |
| 74 | −| [`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-18 01:38 | | |
| 75 | −| [`gestion_montreal`](gestion_montreal.md) | Gestion Montréal | Montréal | pages HTML (rendu serveur) | direct | 22/24 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 76 | −| [`gestion_tb`](gestion_tb.md) | Gestion TB (portail Appartements TB) | Centre-du-Québec | pages HTML (rendu serveur) | direct | 31/35 | 0 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 77 | −| [`gestion_valco`](gestion_valco.md) | Gestion Valco | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 50 % | actif | 2026-08-18 01:38 | | |
| 78 | −| [`gestipro`](gestipro.md) | Gestipro | Québec | pages HTML (rendu serveur) | direct | 98/116 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 79 | −| [`gia_t`](gia_t.md) | GIA-T — Gestion Immobilière Abitibi-Tém… | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 3/4 | 67 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 80 | −| [`gimcote`](gimcote.md) | GIM Côté | Québec | pages HTML (rendu serveur) | direct | 85/89 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 81 | −| [`gio`](gio.md) | Gestion Immobilière de l'Outaouais (GIO) | Outaouais | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 82 | −| [`girescom`](girescom.md) | Girescom gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 40/41 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:38 | | |
| 83 | −| [`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-18 01:38 | | |
| 84 | −| [`gparadis`](gparadis.md) | GParadis | Québec | pages HTML (rendu serveur) | direct | 22/22 | 82 % | 0 % | 100 % | actif | 2026-08-18 01:39 | | |
| 85 | −| [`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-18 01:44 | | |
| 86 | −| [`groupe_jacques`](groupe_jacques.md) | Groupe Jacques | Centre-du-Québec | pages HTML (rendu serveur) | direct | 10/11 | 100 % | 60 % | 100 % | actif | 2026-08-18 01:39 | | |
| 87 | −| [`groupe_maurice`](groupe_maurice.md) | Le Groupe Maurice | Province | API REST WordPress (wp-json) | direct | 203/203 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:40 | | |
| 88 | −| [`groupe_robin`](groupe_robin.md) | Groupe Robin | Mauricie | API admin-ajax (WordPress) | direct | 72/74 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:40 | | |
| 89 | −| [`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-18 01:40 | | |
| 90 | −| [`habitations_jeanne`](habitations_jeanne.md) | Les Habitations Jeanne | Côte-Nord | sitemap XML + pages HTML | direct | 14/14 | 100 % | 0 % | 100 % | actif | 2026-08-18 01:40 | | |
| 91 | −| [`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-18 01:40 | | |
| 92 | −| [`halfred`](halfred.md) | Halfred | Outaouais | pages HTML (rendu serveur) | direct | 164/169 | 93 % | 100 % | 100 % | actif | 2026-08-18 01:41 | | |
| 93 | −| [`hazelview`](hazelview.md) | Hazelview Properties | Montréal | API JSON interne du site | direct | 6/6 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:41 | | |
| 94 | −| [`headway`](headway.md) | La Corporation Headway | Québec | pages HTML (rendu serveur) | direct | 7/7 | 86 % | 0 % | 100 % | actif | 2026-08-18 01:41 | | |
| 95 | −| [`heafey`](heafey.md) | Groupe Heafey (Le We 2, Le We 3, Loggia… | Outaouais | API JSON interne du site | direct | 246/255 | 15 % | 0 % | 100 % | actif | 2026-08-18 01:41 | | |
| 96 | −| [`hestia`](hestia.md) | Hestia Groupe immobilier | Mauricie | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:41 | | |
| 97 | −| [`huma`](huma.md) | HUMĀ Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 38/38 | 26 % | 0 % | 100 % | actif | 2026-08-18 01:42 | | |
| 98 | −| [`immeubles_aeb`](immeubles_aeb.md) | Immeubles AEB | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 26/26 | 100 % | 100 % | 81 % | actif | 2026-08-18 01:42 | | |
| 99 | −| [`immeubles_bc`](immeubles_bc.md) | Les Immeubles Beaulieu et Collin | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 20/26 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:42 | | |
| 100 | −| [`immeubles_bois`](immeubles_bois.md) | Les Immeubles Bois | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 23/23 | 83 % | 0 % | 100 % | actif | 2026-08-18 01:42 | | |
| 101 | −| [`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-18 01:42 | | |
| 102 | −| [`immeubles_dcl`](immeubles_dcl.md) | Les Immeubles DCL | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 8/11 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:42 | | |
| 103 | −| [`immeubles_guillot`](immeubles_guillot.md) | Les Immeubles Guillot | Québec | pages HTML (rendu serveur) | direct | 7/7 | 57 % | 0 % | 100 % | actif | 2026-08-18 01:42 | | |
| 104 | −| [`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-18 01:42 | | |
| 105 | −| [`immeubles_pm`](immeubles_pm.md) | Les Immeubles PM | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:42 | | |
| 106 | −| [`immnasr`](immnasr.md) | Les Immeubles Michel Nazair | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-18 01:42 | | |
| 107 | −| [`immobilia`](immobilia.md) | Immobilia Rimouski | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 1/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:42 | | |
| 108 | −| [`immogex`](immogex.md) | Immogex | Centre-du-Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:42 | | |
| 109 | −| [`immomarketing`](immomarketing.md) | IMMOMARKETING (Immoappart) | Québec | pages HTML (rendu serveur) | direct | 84/90 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:43 | | |
| 110 | −| [`immostar`](immostar.md) | Immostar | Québec | API REST WordPress (wp-json) | direct | 156/165 | 72 % | 99 % | 100 % | actif | 2026-08-18 01:43 | | |
| 111 | −| [`info_logement`](info_logement.md) | Info-Logement | Lanaudière | pages HTML (rendu serveur) | direct | 50/56 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:43 | | |
| 112 | −| [`interrent`](interrent.md) | InterRent REIT (CLV Group) | Montréal | pages HTML (rendu serveur) | direct | 200/211 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:43 | | |
| 113 | −| [`jutras`](jutras.md) | Habitations Jutras | Centre-du-Québec | pages HTML (rendu serveur) | direct | 35/35 | 0 % | 54 % | 100 % | actif | 2026-08-18 01:44 | | |
| 114 | −| [`kangalou`](kangalou.md) | Kangalou | Province | API JSON interne du site | direct | 7916/7916 | 100 % | 100 % | 99 % | actif | 2026-08-18 03:09 | | |
| 115 | −| [`kass`](kass.md) | KASS Property Management | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:44 | | |
| 116 | −| [`katasa`](katasa.md) | Groupe Katasa | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-18 01:44 | | |
| 117 | −| [`kijiji`](kijiji.md) | Kijiji Québec (location) | Province | pages HTML (rendu serveur) | direct | 5276/7407 | 100 % | 97 % | 99 % | actif | 2026-08-18 01:53 | | |
| 118 | −| [`la_cour`](la_cour.md) | La Cour Appartements | Québec | API REST WordPress (wp-json) | direct | 20/21 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:15 | | |
| 119 | −| [`laberge`](laberge.md) | Groupe Laberge | Québec | pages HTML (rendu serveur) | direct | 55/58 | 93 % | 100 % | 100 % | actif | 2026-08-18 01:53 | | |
| 120 | −| [`labonte`](labonte.md) | Gestion Labonté | Estrie | pages HTML (rendu serveur) | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:53 | | |
| 121 | −| [`lachance`](lachance.md) | Les Entreprises Lachance | Estrie | sitemap XML + pages HTML | direct | 65/86 | 95 % | 100 % | 100 % | actif | 2026-08-18 01:54 | | |
| 122 | −| [`lacite`](lacite.md) | La Cité Gatineau (Adam Real Estate) | Outaouais | pages HTML (rendu serveur) | direct | 6/7 | 0 % | 0 % | 100 % | actif | 2026-08-18 01:57 | | |
| 123 | −| [`lafrance_mathieu`](lafrance_mathieu.md) | Lafrance & Mathieu | Québec | pages HTML (rendu serveur) | direct | 37/40 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:57 | | |
| 124 | −| [`lakle`](lakle.md) | La Klé | Québec | API REST WordPress (wp-json) | direct | 45/49 | 100 % | 56 % | 96 % | actif | 2026-08-18 01:58 | | |
| 125 | −| [`lambert`](lambert.md) | Société Immobilière Lambert | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-18 01:58 | | |
| 126 | −| [`laureat_richard`](laureat_richard.md) | Logements Lauréat Richard | Estrie | pages HTML (rendu serveur) | direct | 23/23 | 100 % | 0 % | 100 % | actif | 2026-08-18 01:58 | | |
| 127 | −| [`le_baronet`](le_baronet.md) | Le Baronet | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-18 01:58 | | |
| 128 | −| [`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-18 01:58 | | |
| 129 | −| [`leclif`](leclif.md) | Le Clif | Québec | pages HTML (rendu serveur) | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:58 | | |
| 130 | −| [`ledomaine`](ledomaine.md) | Les Habitations Le Domaine | Montréal | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:58 | | |
| 131 | −| [`lelaureat`](lelaureat.md) | Résidences Le Lauréat | Estrie | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:58 | | |
| 132 | −| [`lequerre`](lequerre.md) | Habitations L'Équerre | Estrie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:58 | | |
| 133 | −| [`lespac`](lespac.md) | LesPAC (location) | Province | pages HTML (rendu serveur) | direct | 2253/2566 | 47 % | 87 % | 93 % | actif | 2026-08-17 22:44 | | |
| 134 | −| [`leviu`](leviu.md) | Le VIU / VIU2 (Groupe Heafey) | Outaouais | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-17 22:44 | | |
| 135 | −| [`location_di`](location_di.md) | Location DI (Groupe Sphère DI) | Mauricie / Lanaudiè… | pages HTML (rendu serveur) | direct | 9/12 | 100 % | 100 % | 100 % | actif | 2026-08-17 22:44 | | |
| 136 | −| [`location_saguenay`](location_saguenay.md) | Location Saguenay | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 21/21 | 76 % | 0 % | 100 % | actif | 2026-08-17 22:45 | | |
| 137 | −| [`loftsmtl`](loftsmtl.md) | Lofts MTL | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-17 22:45 | | |
| 138 | −| [`logement_mauricie`](logement_mauricie.md) | Logement Mauricie (regroupement de prop… | Mauricie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-17 22:45 | | |
| 139 | −| [`logis_experts`](logis_experts.md) | Logis-Experts | Québec | API JSON interne du site | direct | 498/517 | 100 % | 100 % | 39 % | actif | 2026-08-17 22:45 | | |
| 140 | −| [`logisbourg`](logisbourg.md) | Logisbourg | Québec | pages HTML (rendu serveur) | direct | 11/14 | 100 % | 100 % | 100 % | actif | 2026-08-17 22:45 | | |
| 141 | −| [`logisco`](logisco.md) | Logisco | Québec | pages HTML (rendu serveur) | direct | 157/174 | 99 % | 100 % | 100 % | actif | 2026-08-17 22:45 | | |
| 142 | −| [`logisma`](logisma.md) | Logisma | Québec | API REST WordPress (wp-json) | direct | 15/19 | 80 % | 100 % | 100 % | actif | 2026-08-17 22:45 | | |
| 143 | −| [`logispro`](logispro.md) | LogisPro Rimouski | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-17 22:45 | | |
| 144 | −| [`logisquebec`](logisquebec.md) | LogisQuébec | Province | sitemap XML + pages HTML | direct | 6393/6396 | 100 % | 100 % | 100 % | actif | 2026-08-18 02:51 | | |
| 145 | −| [`lokalia`](lokalia.md) | Espaces Lokalia | Québec | API admin-ajax (WordPress) | direct | 131/135 | 100 % | 82 % | 100 % | actif | 2026-08-17 23:06 | | |
| 146 | −| [`louer_ca`](louer_ca.md) | Louer.ca | Province | API GraphQL interne | direct | 4370/5321 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:14 | | |
| 147 | −| [`louer_saguenay`](louer_saguenay.md) | Louer Saguenay | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:14 | | |
| 148 | −| [`louis14`](louis14.md) | Quartier Louis Quatorze (Groupe Damco) | Québec | pages HTML (rendu serveur) | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:14 | | |
| 149 | −| [`lr_gestion`](lr_gestion.md) | LR Gestion immobilière (LR Location) | Outaouais | pages HTML (rendu serveur) | direct | 111/116 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:14 | | |
| 150 | −| [`luxuor`](luxuor.md) | Les Immeubles Luxuor | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 4/4 | 75 % | 0 % | 100 % | actif | 2026-08-17 23:14 | | |
| 151 | −| [`lynk_olymbec`](lynk_olymbec.md) | Lynk (Olymbec) | Montréal | pages HTML (rendu serveur) | Firecrawl | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:14 | | |
| 152 | −| [`m_immobilier`](m_immobilier.md) | M Immobilier (location) | Montréal | pages HTML (rendu serveur) | direct | 192/198 | 59 % | 100 % | 100 % | actif | 2026-08-17 23:14 | | |
| 153 | −| [`majestic`](majestic.md) | Le Majestic du Lac Boivin | Montérégie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 0 % | actif | 2026-08-17 23:14 | | |
| 154 | −| [`matinale`](matinale.md) | Gestion Matinale | Estrie | pages HTML (rendu serveur) | direct | 44/45 | 57 % | 100 % | 100 % | actif | 2026-08-17 23:15 | | |
| 155 | −| [`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-17 23:15 | | |
| 156 | −| [`medway`](medway.md) | Groupe Medway | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 488/498 | 91 % | 100 % | 100 % | actif | 2026-08-17 23:16 | | |
| 157 | −| [`mellem`](mellem.md) | Mellem (Groupe Mach) | Outaouais | sitemap XML + pages HTML | direct | 78/87 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:16 | | |
| 158 | −| [`mercini`](mercini.md) | Groupe Mercini (Gestion Faleschini Merc… | Québec | pages HTML (rendu serveur) | direct | 47/52 | 94 % | 100 % | 100 % | actif | 2026-08-17 23:16 | | |
| 159 | −| [`metcap`](metcap.md) | MetCap Living | Montréal | pages HTML (rendu serveur) | direct | 8/8 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:16 | | |
| 160 | −| [`minto`](minto.md) | Minto Apartments | Montréal | pages HTML (rendu serveur) | direct | 19/20 | 84 % | 100 % | 100 % | actif | 2026-08-17 23:16 | | |
| 161 | −| [`mkar`](mkar.md) | Gestion Immobilière MKAR | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 0 % | 100 % | actif | 2026-08-17 23:16 | | |
| 162 | −| [`moderno`](moderno.md) | Moderno Construction | Lanaudière | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:16 | | |
| 163 | −| [`mondev`](mondev.md) | Mondev | Montréal | pages HTML (rendu serveur) | direct | 47/49 | 49 % | 100 % | 100 % | actif | 2026-08-17 23:17 | | |
| 164 | −| [`montagnais`](montagnais.md) | Le Montagnais, résidences étudiantes | Estrie | API admin-ajax (WordPress) | direct | 31/31 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:17 | | |
| 165 | −| [`morin`](morin.md) | Constructions Morin | Estrie | pages HTML (rendu serveur) | direct | 6/7 | 83 % | 100 % | 100 % | actif | 2026-08-17 23:17 | | |
| 166 | −| [`msi`](msi.md) | MSI Gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 96/105 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:18 | | |
| 167 | −| [`multi_logis`](multi_logis.md) | Multi-Logis | Côte-Nord | sitemap XML + pages HTML | direct | 27/27 | 100 % | 96 % | 70 % | actif | 2026-08-17 23:18 | | |
| 168 | −| [`niddamour`](niddamour.md) | Nid d'Amour | Montréal | API JSON interne du site | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:18 | | |
| 169 | −| [`novelo`](novelo.md) | Les Appartements Novelo | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:18 | | |
| 170 | −| [`oklouer`](oklouer.md) | OK Louer (location temporaire) | Québec | pages HTML (rendu serveur) | direct | 41/41 | 95 % | 100 % | 100 % | actif | 2026-08-17 23:18 | | |
| 171 | −| [`omhm`](omhm.md) | OMHM — logements abordables | Montréal | pages HTML (rendu serveur) | direct | 3/3 | 0 % | 100 % | 0 % | actif | 2026-08-17 23:18 | | |
| 172 | −| [`osgoode`](osgoode.md) | Osgoode Properties | Outaouais | API JSON interne du site | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:18 | | |
| 173 | −| [`oxford`](oxford.md) | Appartements Oxford | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-17 23:19 | | |
| 174 | −| [`per`](per.md) | Les Immeubles Paul-E. Richard | Québec | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-17 23:19 | | |
| 175 | −| [`picard`](picard.md) | Picard Immobilier | Québec | pages HTML (rendu serveur) | direct | 34/34 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:19 | | |
| 176 | −| [`place_florimay`](place_florimay.md) | Place Florimay | Chaudière-Appalaches | API REST WordPress (wp-json) | direct | 0/0 | — | — | — | actif | 2026-08-17 23:19 | | |
| 177 | −| [`plan_a`](plan_a.md) | Plan A Immobilier | Montréal | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-17 23:19 | | |
| 178 | −| [`progim`](progim.md) | Progim | Montréal | pages HTML (rendu serveur) | direct | 62/68 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:19 | | |
| 179 | −| [`projection_immo`](projection_immo.md) | Projection Immobilière | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 1/1 | 100 % | 0 % | 100 % | actif | 2026-08-17 23:19 | | |
| 180 | −| [`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-17 23:20 | | |
| 181 | −| [`proprio_direct`](proprio_direct.md) | Proprio Direct (location) | Province | API JSON interne du site | direct | 190/190 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:20 | | |
| 182 | −| [`quanta`](quanta.md) | Gestion Quanta | Outaouais | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-17 23:20 | | |
| 183 | −| [`quartier_mosaique`](quartier_mosaique.md) | Quartier Mosaïque (Constrobourg) | Québec | pages HTML (rendu serveur) | direct | 24/24 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:20 | | |
| 184 | −| [`quartier_oree`](quartier_oree.md) | Quartier Orée | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 31/31 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:20 | | |
| 185 | −| [`quartier_plus`](quartier_plus.md) | Le Quartier Plus | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 59/59 | 100 % | 0 % | 100 % | actif | 2026-08-17 23:20 | | |
| 186 | −| [`quartier_sila`](quartier_sila.md) | Quartier Sila | Québec | pages HTML (rendu serveur) | direct | 199/200 | 100 % | 26 % | 100 % | actif | 2026-08-17 23:20 | | |
| 187 | −| [`realstar`](realstar.md) | Realstar | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:20 | | |
| 188 | −| [`remax_quebec`](remax_quebec.md) | RE/MAX Québec (location) | Province | pages HTML (rendu serveur) | direct | 3239/3373 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:23 | | |
| 189 | −| [`rentals_ca`](rentals_ca.md) | Rentals.ca (Québec) | Province | API GraphQL interne | Scrapfly | 3452/3452 | 100 % | 100 % | 86 % | actif | 2026-08-18 03:14 | | |
| 190 | −| [`rentalys`](rentalys.md) | Rentalys | Montréal | pages HTML (rendu serveur) | direct | 10/10 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:23 | | |
| 9 | +| [`aalto`](aalto.md) | Aalto Suites (Zibi / Dream) | Outaouais | API JSON interne du site | direct | 26/33 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:00 | | |
| 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-18 06:00 | | |
| 11 | +| [`agence_sherbrooke`](agence_sherbrooke.md) | Agence de location Sherbrooke (groupe P… | Estrie | sitemap XML + pages HTML | direct | 14/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 12 | +| [`akelius`](akelius.md) | Akelius Montréal | Montréal | pages HTML (rendu serveur) | direct | 242/290 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 13 | +| [`alexcellence`](alexcellence.md) | Immeubles Alexcellence | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 50 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 14 | +| [`alias_appartements`](alias_appartements.md) | Alias Appartements | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 15 | +| [`alouer_sherbrooke`](alouer_sherbrooke.md) | À Louer Sherbrooke | Estrie | API admin-ajax (WordPress) | direct | 1/1 | 0 % | 0 % | 100 % | actif | 2026-08-18 06:01 | | |
| 16 | +| [`app_urbains`](app_urbains.md) | Appartements Urbains | Québec | sitemap XML + pages HTML | direct | 18/21 | 100 % | 83 % | 100 % | actif | 2026-08-18 06:01 | | |
| 17 | +| [`appartements_rimouski`](appartements_rimouski.md) | Appartements Rimouski (Immeubles DTM) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 19/20 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 18 | +| [`ascensio`](ascensio.md) | Groupe Ascensio | Estrie | pages HTML (rendu serveur) | direct | 9/10 | 44 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 19 | +| [`atimco`](atimco.md) | Atimco | Montérégie | sitemap XML + pages HTML | direct | 299/299 | 100 % | 99 % | 96 % | actif | 2026-08-18 06: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-18 06:01 | | |
| 21 | +| [`aula`](aula.md) | AULA Lévis | Québec | API REST WordPress (wp-json) | direct | 68/70 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 22 | +| [`axia`](axia.md) | Axia Appartements | Montréal | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 23 | +| [`barnes_quebec`](barnes_quebec.md) | BARNES Québec (location) | Montréal | API JSON interne du site | direct | 101/103 | 99 % | 98 % | 100 % | actif | 2026-08-18 06:01 | | |
| 24 | +| [`beaudoin`](beaudoin.md) | Société Beaudoin Immobilier | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 25 | +| [`beaulieu_groupe`](beaulieu_groupe.md) | Beaulieu Groupe Immobilier (BGI) | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 4/4 | 100 % | 0 % | 100 % | actif | 2026-08-18 06:01 | | |
| 26 | +| [`bestlife`](bestlife.md) | Les Gestions Bestlife | Estrie | pages HTML (rendu serveur) | direct | 12/13 | 92 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 27 | +| [`boardwalk`](boardwalk.md) | Boardwalk REIT | Montréal | pages HTML (rendu serveur) | direct | 100/100 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:02 | | |
| 28 | +| [`bons_locataires`](bons_locataires.md) | Bons Locataires | Grand Montréal | sitemap XML + pages HTML | direct | 14/14 | 100 % | 21 % | 93 % | actif | 2026-08-18 06:03 | | |
| 29 | +| [`boreal_abitibi`](boreal_abitibi.md) | Constructions Boréal Abitibi | Abitibi-Témiscaming… | API admin-ajax (WordPress) | direct | 3/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:03 | | |
| 30 | +| [`bribourg`](bribourg.md) | Bribourg | Québec | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:03 | | |
| 31 | +| [`brigil`](brigil.md) | Brigil | Outaouais | API JSON interne du site | direct | 42/42 | 98 % | 24 % | 100 % | actif | 2026-08-18 06:05 | | |
| 32 | +| [`brio`](brio.md) | Les Immeubles Brio | Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:05 | | |
| 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-18 06:05 | | |
| 34 | +| [`brochu`](brochu.md) | Groupe Immobilier Brochu | Québec | pages HTML (rendu serveur) | direct | 7/7 | 86 % | 57 % | 100 % | actif | 2026-08-18 06:05 | | |
| 35 | +| [`cap_gestion`](cap_gestion.md) | CAP Gestion (CAP Immobilier) | Laurentides / Lanau… | pages HTML (rendu serveur) | direct | 122/122 | 98 % | 100 % | 100 % | actif | 2026-08-18 06:05 | | |
| 36 | +| [`capital_rdr`](capital_rdr.md) | Gestion Capital RDR | Mauricie | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:05 | | |
| 37 | +| [`capreit`](capreit.md) | CAPREIT | Québec | API admin-ajax (WordPress) | direct | 117/122 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:05 | | |
| 38 | +| [`carat_immobilier`](carat_immobilier.md) | Carat Immobilier | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 3/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:05 | | |
| 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-18 06:05 | | |
| 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-18 06:05 | | |
| 41 | +| [`cogir`](cogir.md) | Cogir Immobilier | Québec | pages HTML (rendu serveur) | direct | 285/300 | 89 % | 96 % | 100 % | actif | 2026-08-18 06:07 | | |
| 42 | +| [`contraste`](contraste.md) | Contraste Immobilier | Québec | pages HTML (rendu serveur) | direct | 221/234 | 100 % | 86 % | 100 % | actif | 2026-08-18 06:07 | | |
| 43 | +| [`copley`](copley.md) | Groupe Copley | Montréal | pages HTML (rendu serveur) | direct | 52/52 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:07 | | |
| 44 | +| [`cosoltec`](cosoltec.md) | Cosoltec (Evado, Le Monroe, Natür) | Laurentides | API JSON interne du site | direct | 44/52 | 98 % | 80 % | 100 % | actif | 2026-08-18 06:07 | | |
| 45 | +| [`courtemanche`](courtemanche.md) | Gestion Immobilière Courtemanche | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 0/0 | — | — | — | actif | 2026-08-18 06:07 | | |
| 46 | +| [`cromwell`](cromwell.md) | Cromwell Management | Montréal | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:07 | | |
| 47 | +| [`denux`](denux.md) | Groupe Denux | Montréal | API JSON interne du site | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:08 | | |
| 48 | +| [`desmarais`](desmarais.md) | Immeubles Desmarais | Outaouais | pages HTML (rendu serveur) | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:08 | | |
| 49 | +| [`desroches`](desroches.md) | Immeubles Claude Desroches | Montérégie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 50 % | actif | 2026-08-18 06:08 | | |
| 50 | +| [`devcore`](devcore.md) | Devcore Group | Côte-Nord | API REST WordPress (wp-json) | direct | 14/14 | 0 % | 7 % | 100 % | actif | 2026-08-18 06:08 | | |
| 51 | +| [`devimco`](devimco.md) | Devimco Appartements | Montréal | API JSON interne du site | direct | 480/575 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:09 | | |
| 52 | +| [`dma_locago`](dma_locago.md) | DMA / Locago (Douville, Moffet & Associ… | Québec | pages HTML (rendu serveur) | direct | 118/124 | 29 % | 98 % | 100 % | actif | 2026-08-18 06:09 | | |
| 53 | +| [`duproprio`](duproprio.md) | DuProprio (location) | Province | sitemap XML + pages HTML | direct | 3890/3896 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:10 | | |
| 54 | +| [`dynamic`](dynamic.md) | Gestion immobilière Dynamic | Estrie | pages HTML (rendu serveur) | direct | 48/53 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 55 | +| [`edifia`](edifia.md) | Edifia Groupe Immobilier | Québec | pages HTML (rendu serveur) | direct | 180/185 | 100 % | 94 % | 100 % | actif | 2026-08-18 06:10 | | |
| 56 | +| [`elements`](elements.md) | Quartier les Éléments | Québec | pages HTML (rendu serveur) | direct | 2/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:10 | | |
| 57 | +| [`elite`](elite.md) | Elite Immobilier | Outaouais | pages HTML (rendu serveur) | direct | 12/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:10 | | |
| 58 | +| [`elk`](elk.md) | ELK Property Management | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-18 06:10 | | |
| 59 | +| [`equinoxe_batimo`](equinoxe_batimo.md) | Batimo/EMD — Collection Équinoxe | Montréal | API admin-ajax (WordPress) | direct | 615/662 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:12 | | |
| 60 | +| [`evoludev`](evoludev.md) | Groupe Evoludev | Lanaudière | pages HTML (rendu serveur) | direct | 134/134 | 100 % | 99 % | 100 % | actif | 2026-08-18 06:12 | | |
| 61 | +| [`fb_marketplace`](fb_marketplace.md) | Facebook Marketplace (location) | Province | pages HTML (rendu serveur) | direct | 2270/6308 | 15 % | 100 % | 100 % | actif | 2026-08-18 06:19 | | |
| 62 | +| [`ferrovia`](ferrovia.md) | Ferrovia (condos locatifs Mirabel) | Laurentides | pages HTML (rendu serveur) | direct | 23/24 | 0 % | 0 % | 0 % | actif | 2026-08-18 06:19 | | |
| 63 | +| [`firma`](firma.md) | Groupe Firma | Montréal | API REST WordPress (wp-json) | direct | 12/12 | 75 % | 8 % | 100 % | actif | 2026-08-18 06:20 | | |
| 64 | +| [`floria`](floria.md) | Gestion Floria | Estrie | pages HTML (rendu serveur) | direct | 21/21 | 100 % | 24 % | 95 % | actif | 2026-08-18 06:20 | | |
| 65 | +| [`forsa`](forsa.md) | Gestion immobilière Forsa | Lanaudière | pages HTML (rendu serveur) | direct | 13/13 | 92 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 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-18 06:20 | | |
| 67 | +| [`garic`](garic.md) | Garic Gestion Immobilière | Outaouais | API admin-ajax (WordPress) | direct | 45/54 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 68 | +| [`gesteco`](gesteco.md) | Gesteco | Montérégie | API JSON interne du site | direct | 10/14 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 69 | +| [`gestimmo_estrie`](gestimmo_estrie.md) | Gestimmo Estrie | Estrie | pages HTML (rendu serveur) | direct | 41/41 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 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-18 06:20 | | |
| 71 | +| [`gestion_habitation`](gestion_habitation.md) | Gestion Habitation | Abitibi-Témiscaming… | sitemap XML + pages HTML | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 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-18 06:20 | | |
| 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-18 06:20 | | |
| 74 | +| [`gestion_laprise`](gestion_laprise.md) | Gestion Laprise | Côte-Nord | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-18 06:20 | | |
| 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-18 06:20 | | |
| 76 | +| [`gestion_montreal`](gestion_montreal.md) | Gestion Montréal | Montréal | pages HTML (rendu serveur) | direct | 22/24 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 77 | +| [`gestion_tb`](gestion_tb.md) | Gestion TB (portail Appartements TB) | Centre-du-Québec | pages HTML (rendu serveur) | direct | 31/35 | 0 % | 100 % | 100 % | actif | 2026-08-18 06:20 | | |
| 78 | +| [`gestion_valco`](gestion_valco.md) | Gestion Valco | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 0 % | 50 % | actif | 2026-08-18 06:20 | | |
| 79 | +| [`gestipro`](gestipro.md) | Gestipro | Québec | pages HTML (rendu serveur) | direct | 98/116 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:34 | | |
| 80 | +| [`gia_t`](gia_t.md) | GIA-T — Gestion Immobilière Abitibi-Tém… | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 3/4 | 67 % | 100 % | 100 % | actif | 2026-08-18 03:34 | | |
| 81 | +| [`gimcote`](gimcote.md) | GIM Côté | Québec | pages HTML (rendu serveur) | direct | 85/89 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:35 | | |
| 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-18 03:35 | | |
| 83 | +| [`girescom`](girescom.md) | Girescom gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 40/41 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:35 | | |
| 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-18 03:35 | | |
| 85 | +| [`gparadis`](gparadis.md) | GParadis | Québec | pages HTML (rendu serveur) | direct | 22/22 | 82 % | 0 % | 100 % | actif | 2026-08-18 03:35 | | |
| 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-18 03:41 | | |
| 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-18 03:41 | | |
| 88 | +| [`groupe_maurice`](groupe_maurice.md) | Le Groupe Maurice | Province | API REST WordPress (wp-json) | direct | 203/203 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:41 | | |
| 89 | +| [`groupe_robin`](groupe_robin.md) | Groupe Robin | Mauricie | API admin-ajax (WordPress) | direct | 72/74 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:41 | | |
| 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-18 03:41 | | |
| 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-18 03:41 | | |
| 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-18 03:41 | | |
| 93 | +| [`halfred`](halfred.md) | Halfred | Outaouais | pages HTML (rendu serveur) | direct | 164/169 | 93 % | 100 % | 100 % | actif | 2026-08-18 03:42 | | |
| 94 | +| [`hazelview`](hazelview.md) | Hazelview Properties | Montréal | API JSON interne du site | direct | 6/6 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:42 | | |
| 95 | +| [`headway`](headway.md) | La Corporation Headway | Québec | pages HTML (rendu serveur) | direct | 7/7 | 86 % | 0 % | 100 % | actif | 2026-08-18 03:42 | | |
| 96 | +| [`heafey`](heafey.md) | Groupe Heafey (Le We 2, Le We 3, Loggia… | Outaouais | API JSON interne du site | direct | 246/255 | 15 % | 0 % | 100 % | actif | 2026-08-18 03:43 | | |
| 97 | +| [`hestia`](hestia.md) | Hestia Groupe immobilier | Mauricie | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 98 | +| [`huma`](huma.md) | HUMĀ Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 38/38 | 26 % | 0 % | 100 % | actif | 2026-08-18 03:43 | | |
| 99 | +| [`immeubles_aeb`](immeubles_aeb.md) | Immeubles AEB | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 26/26 | 100 % | 100 % | 81 % | actif | 2026-08-18 03:43 | | |
| 100 | +| [`immeubles_bc`](immeubles_bc.md) | Les Immeubles Beaulieu et Collin | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 20/26 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 101 | +| [`immeubles_bois`](immeubles_bois.md) | Les Immeubles Bois | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 23/23 | 83 % | 0 % | 100 % | actif | 2026-08-18 03:43 | | |
| 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-18 03:43 | | |
| 103 | +| [`immeubles_dcl`](immeubles_dcl.md) | Les Immeubles DCL | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 8/11 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 104 | +| [`immeubles_guillot`](immeubles_guillot.md) | Les Immeubles Guillot | Québec | pages HTML (rendu serveur) | direct | 7/7 | 57 % | 0 % | 100 % | actif | 2026-08-18 03:43 | | |
| 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-18 03:43 | | |
| 106 | +| [`immeubles_pm`](immeubles_pm.md) | Les Immeubles PM | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 107 | +| [`immnasr`](immnasr.md) | Les Immeubles Michel Nazair | Outaouais | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 108 | +| [`immobilia`](immobilia.md) | Immobilia Rimouski | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 1/2 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 109 | +| [`immogex`](immogex.md) | Immogex | Centre-du-Québec | pages HTML (rendu serveur) | direct | 3/3 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:43 | | |
| 110 | +| [`immomarketing`](immomarketing.md) | IMMOMARKETING (Immoappart) | Québec | pages HTML (rendu serveur) | direct | 83/90 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:44 | | |
| 111 | +| [`immostar`](immostar.md) | Immostar | Québec | API REST WordPress (wp-json) | direct | 156/165 | 72 % | 99 % | 100 % | actif | 2026-08-18 03:44 | | |
| 112 | +| [`info_logement`](info_logement.md) | Info-Logement | Lanaudière | pages HTML (rendu serveur) | direct | 50/56 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:45 | | |
| 113 | +| [`interrent`](interrent.md) | InterRent REIT (CLV Group) | Montréal | pages HTML (rendu serveur) | direct | 200/211 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:45 | | |
| 114 | +| [`jutras`](jutras.md) | Habitations Jutras | Centre-du-Québec | pages HTML (rendu serveur) | direct | 35/35 | 0 % | 54 % | 100 % | actif | 2026-08-18 03:45 | | |
| 115 | +| [`kangalou`](kangalou.md) | Kangalou | Province | API JSON interne du site | direct | 7916/7916 | 100 % | 100 % | 99 % | actif | 2026-08-18 03:54 | | |
| 116 | +| [`kass`](kass.md) | KASS Property Management | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 03:54 | | |
| 117 | +| [`katasa`](katasa.md) | Groupe Katasa | Outaouais | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-18 03:54 | | |
| 118 | +| [`kijiji`](kijiji.md) | Kijiji Québec (location) | Province | pages HTML (rendu serveur) | direct | 5251/7409 | 100 % | 97 % | 99 % | actif | 2026-08-18 04:02 | | |
| 119 | +| [`la_cour`](la_cour.md) | La Cour Appartements | Québec | API REST WordPress (wp-json) | direct | 20/21 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:01 | | |
| 120 | +| [`laberge`](laberge.md) | Groupe Laberge | Québec | pages HTML (rendu serveur) | direct | 55/58 | 93 % | 100 % | 100 % | actif | 2026-08-18 04:02 | | |
| 121 | +| [`labonte`](labonte.md) | Gestion Labonté | Estrie | pages HTML (rendu serveur) | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:02 | | |
| 122 | +| [`lachance`](lachance.md) | Les Entreprises Lachance | Estrie | sitemap XML + pages HTML | direct | 65/86 | 95 % | 100 % | 100 % | actif | 2026-08-18 04:04 | | |
| 123 | +| [`lacite`](lacite.md) | La Cité Gatineau (Adam Real Estate) | Outaouais | pages HTML (rendu serveur) | direct | 6/7 | 0 % | 0 % | 100 % | actif | 2026-08-18 04:06 | | |
| 124 | +| [`lafrance_mathieu`](lafrance_mathieu.md) | Lafrance & Mathieu | Québec | pages HTML (rendu serveur) | direct | 37/40 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:06 | | |
| 125 | +| [`lakle`](lakle.md) | La Klé | Québec | API REST WordPress (wp-json) | direct | 45/49 | 100 % | 56 % | 96 % | actif | 2026-08-18 04:07 | | |
| 126 | +| [`lambert`](lambert.md) | Société Immobilière Lambert | Mauricie | pages HTML (rendu serveur) | direct | 2/2 | 100 % | 50 % | 100 % | actif | 2026-08-18 04:07 | | |
| 127 | +| [`laureat_richard`](laureat_richard.md) | Logements Lauréat Richard | Estrie | pages HTML (rendu serveur) | direct | 23/23 | 100 % | 0 % | 100 % | actif | 2026-08-18 04:07 | | |
| 128 | +| [`le_baronet`](le_baronet.md) | Le Baronet | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-18 04:07 | | |
| 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-18 04:07 | | |
| 130 | +| [`leclif`](leclif.md) | Le Clif | Québec | pages HTML (rendu serveur) | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:07 | | |
| 131 | +| [`ledomaine`](ledomaine.md) | Les Habitations Le Domaine | Montréal | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:07 | | |
| 132 | +| [`lelaureat`](lelaureat.md) | Résidences Le Lauréat | Estrie | pages HTML (rendu serveur) | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:07 | | |
| 133 | +| [`lequerre`](lequerre.md) | Habitations L'Équerre | Estrie | pages HTML (rendu serveur) | direct | 1/1 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:07 | | |
| 134 | +| [`lespac`](lespac.md) | LesPAC (location) | Province | pages HTML (rendu serveur) | direct | 2270/2568 | 47 % | 87 % | 93 % | actif | 2026-08-18 04:10 | | |
| 135 | +| [`leviu`](leviu.md) | Le VIU / VIU2 (Groupe Heafey) | Outaouais | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-18 04:10 | | |
| 136 | +| [`location_di`](location_di.md) | Location DI (Groupe Sphère DI) | Mauricie / Lanaudiè… | pages HTML (rendu serveur) | direct | 9/12 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:10 | | |
| 137 | +| [`location_saguenay`](location_saguenay.md) | Location Saguenay | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 21/21 | 76 % | 0 % | 100 % | actif | 2026-08-18 04:10 | | |
| 138 | +| [`loftsmtl`](loftsmtl.md) | Lofts MTL | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:10 | | |
| 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-18 04:10 | | |
| 140 | +| [`logis_experts`](logis_experts.md) | Logis-Experts | Québec | API JSON interne du site | direct | 498/517 | 100 % | 100 % | 39 % | actif | 2026-08-18 04:10 | | |
| 141 | +| [`logisbourg`](logisbourg.md) | Logisbourg | Québec | pages HTML (rendu serveur) | direct | 11/14 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:11 | | |
| 142 | +| [`logisco`](logisco.md) | Logisco | Québec | pages HTML (rendu serveur) | direct | 157/174 | 99 % | 100 % | 100 % | actif | 2026-08-18 04:11 | | |
| 143 | +| [`logisma`](logisma.md) | Logisma | Québec | API REST WordPress (wp-json) | direct | 15/19 | 80 % | 100 % | 100 % | actif | 2026-08-18 04:11 | | |
| 144 | +| [`logispro`](logispro.md) | LogisPro Rimouski | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 4/4 | 100 % | 75 % | 100 % | actif | 2026-08-18 04:11 | | |
| 145 | +| [`logisquebec`](logisquebec.md) | LogisQuébec | Province | sitemap XML + pages HTML | direct | 6791/6794 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:20 | | |
| 146 | +| [`lokalia`](lokalia.md) | Espaces Lokalia | Québec | API admin-ajax (WordPress) | direct | 131/135 | 100 % | 82 % | 100 % | actif | 2026-08-18 04:21 | | |
| 147 | +| [`louer_ca`](louer_ca.md) | Louer.ca | Province | API GraphQL interne | direct | 4576/5357 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:33 | | |
| 148 | +| [`louer_saguenay`](louer_saguenay.md) | Louer Saguenay | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:33 | | |
| 149 | +| [`louis14`](louis14.md) | Quartier Louis Quatorze (Groupe Damco) | Québec | pages HTML (rendu serveur) | direct | 18/18 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:33 | | |
| 150 | +| [`lr_gestion`](lr_gestion.md) | LR Gestion immobilière (LR Location) | Outaouais | pages HTML (rendu serveur) | direct | 111/116 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:33 | | |
| 151 | +| [`luxuor`](luxuor.md) | Les Immeubles Luxuor | Saguenay–Lac-Saint-… | pages HTML (rendu serveur) | direct | 4/4 | 75 % | 0 % | 100 % | actif | 2026-08-18 04:34 | | |
| 152 | +| [`lynk_olymbec`](lynk_olymbec.md) | Lynk (Olymbec) | Montréal | pages HTML (rendu serveur) | Firecrawl | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:34 | | |
| 153 | +| [`m_immobilier`](m_immobilier.md) | M Immobilier (location) | Montréal | pages HTML (rendu serveur) | direct | 193/199 | 59 % | 100 % | 100 % | actif | 2026-08-18 04:34 | | |
| 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-18 04:34 | | |
| 155 | +| [`matinale`](matinale.md) | Gestion Matinale | Estrie | pages HTML (rendu serveur) | direct | 44/45 | 57 % | 100 % | 100 % | actif | 2026-08-18 04:35 | | |
| 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-18 04:35 | | |
| 157 | +| [`medway`](medway.md) | Groupe Medway | Bas-Saint-Laurent | pages HTML (rendu serveur) | direct | 488/498 | 91 % | 100 % | 100 % | actif | 2026-08-18 04:36 | | |
| 158 | +| [`mellem`](mellem.md) | Mellem (Groupe Mach) | Outaouais | sitemap XML + pages HTML | direct | 78/87 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:36 | | |
| 159 | +| [`mercini`](mercini.md) | Groupe Mercini (Gestion Faleschini Merc… | Québec | pages HTML (rendu serveur) | direct | 47/52 | 94 % | 100 % | 100 % | actif | 2026-08-18 04:37 | | |
| 160 | +| [`metcap`](metcap.md) | MetCap Living | Montréal | pages HTML (rendu serveur) | direct | 8/8 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:37 | | |
| 161 | +| [`minto`](minto.md) | Minto Apartments | Montréal | pages HTML (rendu serveur) | direct | 19/20 | 84 % | 100 % | 100 % | actif | 2026-08-18 04:37 | | |
| 162 | +| [`mkar`](mkar.md) | Gestion Immobilière MKAR | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 5/5 | 100 % | 0 % | 100 % | actif | 2026-08-18 04:37 | | |
| 163 | +| [`moderno`](moderno.md) | Moderno Construction | Lanaudière | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:37 | | |
| 164 | +| [`mondev`](mondev.md) | Mondev | Montréal | pages HTML (rendu serveur) | direct | 47/49 | 49 % | 100 % | 100 % | actif | 2026-08-18 04:38 | | |
| 165 | +| [`montagnais`](montagnais.md) | Le Montagnais, résidences étudiantes | Estrie | API admin-ajax (WordPress) | direct | 31/31 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:38 | | |
| 166 | +| [`morin`](morin.md) | Constructions Morin | Estrie | pages HTML (rendu serveur) | direct | 6/7 | 83 % | 100 % | 100 % | actif | 2026-08-18 04:38 | | |
| 167 | +| [`msi`](msi.md) | MSI Gestion immobilière | Québec | pages HTML (rendu serveur) | direct | 96/105 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:38 | | |
| 168 | +| [`multi_logis`](multi_logis.md) | Multi-Logis | Côte-Nord | sitemap XML + pages HTML | direct | 27/27 | 100 % | 96 % | 70 % | actif | 2026-08-18 04:38 | | |
| 169 | +| [`niddamour`](niddamour.md) | Nid d'Amour | Montréal | API JSON interne du site | direct | 14/14 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:38 | | |
| 170 | +| [`novelo`](novelo.md) | Les Appartements Novelo | Saguenay–Lac-Saint-… | sitemap XML + pages HTML | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:38 | | |
| 171 | +| [`oklouer`](oklouer.md) | OK Louer (location temporaire) | Québec | pages HTML (rendu serveur) | direct | 41/41 | 95 % | 100 % | 100 % | actif | 2026-08-18 04:39 | | |
| 172 | +| [`omhm`](omhm.md) | OMHM — logements abordables | Montréal | pages HTML (rendu serveur) | direct | 3/3 | 0 % | 100 % | 0 % | actif | 2026-08-18 04:39 | | |
| 173 | +| [`osgoode`](osgoode.md) | Osgoode Properties | Outaouais | API JSON interne du site | direct | 4/4 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:39 | | |
| 174 | +| [`oxford`](oxford.md) | Appartements Oxford | Estrie | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-18 04:39 | | |
| 175 | +| [`per`](per.md) | Les Immeubles Paul-E. Richard | Québec | pages HTML (rendu serveur) | direct | 3/3 | 67 % | 100 % | 100 % | actif | 2026-08-18 04:39 | | |
| 176 | +| [`picard`](picard.md) | Picard Immobilier | Québec | pages HTML (rendu serveur) | direct | 34/34 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:39 | | |
| 177 | +| [`place_florimay`](place_florimay.md) | Place Florimay | Chaudière-Appalaches | API REST WordPress (wp-json) | direct | 0/0 | — | — | — | actif | 2026-08-18 04:39 | | |
| 178 | +| [`plan_a`](plan_a.md) | Plan A Immobilier | Montréal | pages HTML (rendu serveur) | direct | 11/11 | 91 % | 91 % | 100 % | actif | 2026-08-18 04:39 | | |
| 179 | +| [`progim`](progim.md) | Progim | Montréal | pages HTML (rendu serveur) | direct | 62/68 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:39 | | |
| 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-18 04:40 | | |
| 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-18 04:40 | | |
| 182 | +| [`proprio_direct`](proprio_direct.md) | Proprio Direct (location) | Province | API JSON interne du site | direct | 190/190 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:40 | | |
| 183 | +| [`quanta`](quanta.md) | Gestion Quanta | Outaouais | pages HTML (rendu serveur) | direct | 2/2 | 0 % | 100 % | 100 % | actif | 2026-08-18 04:40 | | |
| 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-18 04:40 | | |
| 185 | +| [`quartier_oree`](quartier_oree.md) | Quartier Orée | Chaudière-Appalaches | pages HTML (rendu serveur) | direct | 31/31 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:40 | | |
| 186 | +| [`quartier_plus`](quartier_plus.md) | Le Quartier Plus | Chaudière-Appalaches | sitemap XML + pages HTML | direct | 59/59 | 100 % | 0 % | 100 % | actif | 2026-08-18 04:40 | | |
| 187 | +| [`quartier_sila`](quartier_sila.md) | Quartier Sila | Québec | pages HTML (rendu serveur) | direct | 199/200 | 100 % | 26 % | 100 % | actif | 2026-08-18 04:40 | | |
| 188 | +| [`realstar`](realstar.md) | Realstar | Montréal | API JSON interne du site | direct | 9/9 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:40 | | |
| 189 | +| [`remax_quebec`](remax_quebec.md) | RE/MAX Québec (location) | Province | pages HTML (rendu serveur) | direct | 3237/3379 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:43 | | |
| 190 | +| [`rentals_ca`](rentals_ca.md) | Rentals.ca (Québec) | Province | API GraphQL interne | Scrapfly | 4906/4906 | 100 % | 100 % | 90 % | actif | 2026-08-18 04:49 | | |
| 191 | +| [`rentalys`](rentalys.md) | Rentalys | Montréal | pages HTML (rendu serveur) | direct | 10/10 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:49 | | |
| 191 | 192 | | [`rivero`](rivero.md) | Le Rivero | Québec | pages HTML (rendu serveur) | direct | 0/214 | — | — | — | désactivé (disabled=True) | — | |
| 192 | −| [`roomies`](roomies.md) | Roomies.ca | Province | sitemap XML + pages HTML | direct | 276/276 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:24 | | |
| 193 | −| [`roussin`](roussin.md) | Immeubles Roussin | Québec | pages HTML (rendu serveur) | direct | 36/36 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:24 | | |
| 194 | −| [`royal_lepage`](royal_lepage.md) | Royal LePage (location) | Province | pages HTML (rendu serveur) | direct | 952/1043 | 100 % | 100 % | 100 % | actif | 2026-08-18 01:56 | | |
| 195 | −| [`savouet`](savouet.md) | Groupe Savouet | Estrie | pages HTML (rendu serveur) | direct | 15/17 | 93 % | 100 % | 100 % | actif | 2026-08-17 23:25 | | |
| 196 | −| [`sdg`](sdg.md) | SDG Immobilier | Québec | pages HTML (rendu serveur) | direct | 9/11 | 89 % | 0 % | 100 % | actif | 2026-08-17 23:25 | | |
| 197 | −| [`sentinelle`](sentinelle.md) | La Sentinelle (Groupe Immobilier Brochu) | Québec | pages HTML (rendu serveur) | direct | 10/11 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:25 | | |
| 198 | −| [`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-17 23:26 | | |
| 199 | −| [`shdm`](shdm.md) | SHDM | Montréal | API GraphQL interne | direct | 2/21 | 50 % | 100 % | 100 % | actif | 2026-08-17 23:26 | | |
| 200 | −| [`siagi`](siagi.md) | SIA Gestion Immobilière | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 0 % | actif | 2026-08-17 23:26 | | |
| 201 | −| [`sibelanger`](sibelanger.md) | Société immobilière Bélanger | Québec | pages HTML (rendu serveur) | direct | 12/19 | 83 % | 100 % | 100 % | actif | 2026-08-17 23:26 | | |
| 202 | −| [`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-17 23:26 | | |
| 203 | −| [`simard`](simard.md) | Immeubles Simard | Québec | pages HTML (rendu serveur) | direct | 5/5 | 20 % | 40 % | 100 % | actif | 2026-08-17 23:26 | | |
| 204 | −| [`somex_saintnicolas`](somex_saintnicolas.md) | Somex Saint-Nicolas | Québec | pages HTML (rendu serveur) | direct | 145/145 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:26 | | |
| 205 | −| [`souleymane`](souleymane.md) | Gestion Souleymane | Outaouais | pages HTML (rendu serveur) | direct | 13/14 | 92 % | 100 % | 100 % | actif | 2026-08-17 23:26 | | |
| 206 | −| [`stb_immobilier`](stb_immobilier.md) | STB Immobilier | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 11/11 | 91 % | 73 % | 100 % | actif | 2026-08-17 23:26 | | |
| 207 | −| [`summum`](summum.md) | Gestion immobilière Summum | Laurentides | pages HTML (rendu serveur) | direct | 89/95 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:26 | | |
| 208 | −| [`sutton`](sutton.md) | Groupe Sutton Québec (location) | Province | sitemap XML + pages HTML | direct | 1224/1392 | 70 % | 73 % | 73 % | actif | 2026-08-17 23:27 | | |
| 209 | −| [`terater`](terater.md) | Les Constructions Tèratèr | Estrie | pages HTML (rendu serveur) | direct | 12/14 | 67 % | 100 % | 100 % | actif | 2026-08-17 23:27 | | |
| 210 | −| [`terra`](terra.md) | Terra Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 29/51 | 100 % | 90 % | 100 % | actif | 2026-08-17 23:27 | | |
| 211 | −| [`thrace`](thrace.md) | Gestions Thrace | Mauricie | sitemap XML + pages HTML | direct | 172/182 | 100 % | 66 % | 100 % | actif | 2026-08-17 23:27 | | |
| 212 | −| [`tri_logis`](tri_logis.md) | Société immobilière Tri-Logis | Abitibi-Témiscaming… | pages HTML (rendu serveur) | direct | 0/1 | — | — | — | actif | 2026-08-17 23:27 | | |
| 193 | +| [`roomies`](roomies.md) | Roomies.ca | Province | sitemap XML + pages HTML | direct | 277/278 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:50 | | |
| 194 | +| [`roussin`](roussin.md) | Immeubles Roussin | Québec | pages HTML (rendu serveur) | direct | 36/36 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:50 | | |
| 195 | +| [`royal_lepage`](royal_lepage.md) | Royal LePage (location) | Province | pages HTML (rendu serveur) | direct | 951/1043 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 196 | +| [`savouet`](savouet.md) | Groupe Savouet | Estrie | pages HTML (rendu serveur) | direct | 15/17 | 93 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 197 | +| [`sdg`](sdg.md) | SDG Immobilier | Québec | pages HTML (rendu serveur) | direct | 9/11 | 89 % | 0 % | 100 % | actif | 2026-08-18 04:53 | | |
| 198 | +| [`sentinelle`](sentinelle.md) | La Sentinelle (Groupe Immobilier Brochu) | Québec | pages HTML (rendu serveur) | direct | 10/11 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 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-18 04:53 | | |
| 200 | +| [`shdm`](shdm.md) | SHDM | Montréal | API GraphQL interne | direct | 2/21 | 50 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 201 | +| [`siagi`](siagi.md) | SIA Gestion Immobilière | Estrie | pages HTML (rendu serveur) | direct | 6/6 | 100 % | 100 % | 0 % | actif | 2026-08-18 04:53 | | |
| 202 | +| [`sibelanger`](sibelanger.md) | Société immobilière Bélanger | Québec | pages HTML (rendu serveur) | direct | 12/19 | 83 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 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-18 04:53 | | |
| 204 | +| [`simard`](simard.md) | Immeubles Simard | Québec | pages HTML (rendu serveur) | direct | 5/5 | 20 % | 40 % | 100 % | actif | 2026-08-18 04:53 | | |
| 205 | +| [`simplex`](simplex.md) | Simplex Immobilier | Mauricie | API JSON interne du site | direct | 3/3 | 0 % | 100 % | 100 % | actif | 2026-08-18 06:19 | | |
| 206 | +| [`somex_saintnicolas`](somex_saintnicolas.md) | Somex Saint-Nicolas | Québec | pages HTML (rendu serveur) | direct | 145/145 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 207 | +| [`souleymane`](souleymane.md) | Gestion Souleymane | Outaouais | pages HTML (rendu serveur) | direct | 13/14 | 92 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 208 | +| [`stb_immobilier`](stb_immobilier.md) | STB Immobilier | Bas-Saint-Laurent | sitemap XML + pages HTML | direct | 11/11 | 91 % | 73 % | 100 % | actif | 2026-08-18 04:53 | | |
| 209 | +| [`summum`](summum.md) | Gestion immobilière Summum | Laurentides | pages HTML (rendu serveur) | direct | 89/95 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:53 | | |
| 210 | +| [`sutton`](sutton.md) | Groupe Sutton Québec (location) | Province | sitemap XML + pages HTML | direct | 1226/1393 | 70 % | 73 % | 73 % | actif | 2026-08-18 04:54 | | |
| 211 | +| [`terater`](terater.md) | Les Constructions Tèratèr | Estrie | pages HTML (rendu serveur) | direct | 12/14 | 67 % | 100 % | 100 % | actif | 2026-08-18 04:54 | | |
| 212 | +| [`terra`](terra.md) | Terra Condos locatifs | Québec | pages HTML (rendu serveur) | direct | 29/51 | 100 % | 90 % | 100 % | actif | 2026-08-18 04:54 | | |
| 213 | +| [`thrace`](thrace.md) | Gestions Thrace | Mauricie | sitemap XML + pages HTML | direct | 172/182 | 100 % | 66 % | 100 % | actif | 2026-08-18 04:54 | | |
| 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-18 04:54 | | |
| 213 | 215 | | [`trudel`](trudel.md) | Trudel (Fleur de Lys, LGC) | Québec | pages HTML (rendu serveur) | direct | 0/30 | — | — | — | désactivé (disabled=True) | — | |
| 214 | −| [`trylon`](trylon.md) | Trylon Apartments | Montréal | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:27 | | |
| 215 | −| [`ubee`](ubee.md) | Ubee (location) | Province | API JSON interne du site | direct | 243/246 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:27 | | |
| 216 | −| [`uptimo`](uptimo.md) | Uptimo Gestion immobilière | Estrie | pages HTML (rendu serveur) | direct | 62/78 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:27 | | |
| 217 | −| [`urban_services`](urban_services.md) | Urban Services (Urban Tenant Solutions) | Outaouais | pages HTML (rendu serveur) | direct | 52/56 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:27 | | |
| 218 | −| [`utile`](utile.md) | UTILE (logement étudiant) | Montréal | pages HTML (rendu serveur) | direct | 28/28 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:27 | | |
| 219 | −| [`via_capitale`](via_capitale.md) | Via Capitale (location) | Province | pages HTML (rendu serveur) | Firecrawl | 193/211 | 54 % | 100 % | 100 % | actif | 2026-08-17 23:28 | | |
| 220 | −| [`viridi`](viridi.md) | Le Viridi | Québec | pages HTML (rendu serveur) | direct | 16/17 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:28 | | |
| 221 | −| [`wandji`](wandji.md) | Gestion Immobilière Wandji | Outaouais | API JSON interne du site | direct | 25/30 | 100 % | 100 % | 100 % | actif | 2026-08-17 23:28 | | |
| 222 | −| [`werkliv`](werkliv.md) | Werkliv | Montréal | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-17 23:28 | | |
| 216 | +| [`trylon`](trylon.md) | Trylon Apartments | Montréal | pages HTML (rendu serveur) | direct | 7/7 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:54 | | |
| 217 | +| [`ubee`](ubee.md) | Ubee (location) | Province | API JSON interne du site | direct | 243/246 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:55 | | |
| 218 | +| [`uptimo`](uptimo.md) | Uptimo Gestion immobilière | Estrie | pages HTML (rendu serveur) | direct | 63/78 | 98 % | 98 % | 100 % | actif | 2026-08-18 04:55 | | |
| 219 | +| [`urban_services`](urban_services.md) | Urban Services (Urban Tenant Solutions) | Outaouais | pages HTML (rendu serveur) | direct | 52/56 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:55 | | |
| 220 | +| [`utile`](utile.md) | UTILE (logement étudiant) | Montréal | pages HTML (rendu serveur) | direct | 28/28 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:55 | | |
| 221 | +| [`via_capitale`](via_capitale.md) | Via Capitale (location) | Province | pages HTML (rendu serveur) | Firecrawl | 196/213 | 55 % | 100 % | 100 % | actif | 2026-08-18 04:56 | | |
| 222 | +| [`viridi`](viridi.md) | Le Viridi | Québec | pages HTML (rendu serveur) | direct | 16/17 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:56 | | |
| 223 | +| [`wandji`](wandji.md) | Gestion Immobilière Wandji | Outaouais | API JSON interne du site | direct | 26/31 | 100 % | 100 % | 100 % | actif | 2026-08-18 04:56 | | |
| 224 | +| [`werkliv`](werkliv.md) | Werkliv | Montréal | pages HTML (rendu serveur) | direct | 4/4 | 0 % | 100 % | 100 % | actif | 2026-08-18 04:56 | | |
| 225 | +| [`zumper`](zumper.md) | Zumper (Québec) | Province | API JSON interne du site | direct | 4345/4345 | 100 % | 100 % | 100 % | actif | 2026-08-18 06:19 | | |
| 223 | 226 | |
| 224 | 227 | ## Entrées du registre sans module connecteur |
| 225 | 228 | |
| 226 | 229 | Sources recensées mais non connectées (voir le champ `status` du registre pour la raison détaillée) : |
| 227 | 230 | |
| 228 | 231 | - `alexandre_pelletier` — Les Immeubles Alexandre Pelletier (non connectable) |
| 232 | +- `apartments_com` — Apartments.com (CoStar) (non connectable) | |
| 229 | 233 | - `beaulieu_gestion` — Beaulieu Gestion Immobilière (non connectable) |
| 230 | 234 | - `bloc` — Société Immobilière BLOC (non connectable) |
| 235 | +- `cloria` — Cloria (non connectable actuellement) | |
| 231 | 236 | - `condos_laurentides` — Condos Laurentides (Le Rocher / Le Rivya) (non connectable) |
| 232 | 237 | - `custeau_centro` — Groupe Custeau / Espace Centro (Le MW) (non connectable actuellement) |
| 233 | 238 | - `danelly` — Groupe Immobilier Danelly (non connectable) |
@@ -269,6 +274,7 @@ Sources recensées mais non connectées (voir le champ `status` du registre pour | ||
| 269 | 274 | - `nicolyn` — Société Nicolyn (non connectable) |
| 270 | 275 | - `novard` — Constructions Novard (non connectable) |
| 271 | 276 | - `odyssee` — Groupe Odyssée (Le Vivo, Novium, Quantum…) (non connectable) |
| 277 | +- `padmapper` — PadMapper (couvert via zumper) | |
| 272 | 278 | - `penates` — Gestion Immobilière Pénates et Lares (non connectable) |
| 273 | 279 | - `presquile` — Logis Presqu'Île (non connectable) |
| 274 | 280 | - `prestiplex` — Prestiplex (non connectable) |
modified
docs/connecteurs/aalto.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 26/33 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 26 trouvées, +0 / ~26 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:00 — 26 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 10 trouvées, +0 / ~10 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:00 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 14/18 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 14 trouvées, +0 / ~14 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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/akelius.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 242/290 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 242 trouvées, +0 / ~242 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 242 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 6 trouvées, +0 / ~6 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 1 trouvées, +0 / ~1 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 1 trouvées, +0 / ~1 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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/app_urbains.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 18/21 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 18 trouvées, +0 / ~18 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 18 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 19/20 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 19 trouvées, +0 / ~19 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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/ascensio.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 9 trouvées, +0 / ~9 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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 | |
added
docs/connecteurs/atimco.md
+79 −0
@@ -0,0 +1,79 @@ | ||
| 1 | +# Atimco — connecteur `atimco` | |
| 2 | + | |
| 3 | +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | + | |
| 5 | +**État : actif** · Région : Montérégie · Backend : direct · Annonces actives : 299/299 | |
| 6 | + | |
| 7 | +## Description de la source | |
| 8 | + | |
| 9 | +connecteur Atimco (atimco.ca) — gestionnaire familial de la Rive-Sud/Montérégie (siège à Longueuil) : ~18 projets locatifs à Longueuil, Chambly, Châteauguay, Saint-Jean-sur-Richelieu, Saint-Constant, Sorel-Tracy, Cowansville, Mont-Tremblant… (~1 000 unités publiées, ~300 disponibles au relevé 2026-08-18). Inventaire servi par Livya (ex-RealVuu), même patron que thrace : voir _livya.py (flux RSC des pages plans). | |
| 10 | + | |
| 11 | +- **Site** : https://www.atimco.ca | |
| 12 | +- **Page des annonces** : https://app.livya.com/fr/atimco/projects/atimco/plans | |
| 13 | +- **Secteurs couverts** : Montérégie/Rive-Sud : Longueuil, Saint-Constant, Saint-Hyacinthe, Saint-Basile-le-Grand, Brossard, Chambly, Châteauguay, Saint-Jean-sur-Richelieu, Sorel-Tracy, Cowansville (+ Mont-Tremblant) — ~18 projets Livya (ex-RealVuu), ~1 000 unités publiées, ~300 disponibles | |
| 14 | +- **Module** : `louka/connectors/atimco.py` — classe `AtimcoConnector` | |
| 15 | + | |
| 16 | +## Accès | |
| 17 | + | |
| 18 | +- **Type d'accès** : sitemap XML + pages HTML | |
| 19 | +- **Endpoint de base** : https://www.atimco.ca | |
| 20 | +- **URLs de départ (constantes du module)** : https://www.atimco.ca | |
| 21 | +- **Authentification** : aucune — contenu public | |
| 22 | +- **Pagination** : page de liste unique (pas de pagination) | |
| 23 | +- **Backend anti-bot / rendu** : requests direct | |
| 24 | +- **Politesse** : 0.6 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, sitemap XML + pages HTML) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 299 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 % | Atimco (8784 Chaumont - Sorel-Tracy) — unité 8784-4 | | |
| 33 | +| `address` | Adresse civique | 100 % | 8784 Rue de Chaumont, Sorel-Tracy, J3R 0M8 | | |
| 34 | +| `city` | Ville (normalisée) | 100 % | Sorel-Tracy | | |
| 35 | +| `sector` | Secteur / quartier | 0 % | — | | |
| 36 | +| `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ | | |
| 37 | +| `price` | Loyer mensuel ($) | 99 % | 1 508 $ | | |
| 38 | +| `bedrooms` | Chambres | 100 % | 2 | | |
| 39 | +| `bathrooms` | Salles de bain | 100 % | 1 | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 98 % | 905 | | |
| 41 | +| `availability_date` | Date de disponibilité | 100 % | now | | |
| 42 | +| `lat` | GPS (lat/lng) | 100 % | 46.0078 | | |
| 43 | +| `description` | Description | 100 % | 3e étage \| Modèle 4.5 \| 2 chambre(s) \| 1 salle(s) de bain | | |
| 44 | +| `images` | Photos (JSON) | 96 % | 10 photo(s) — https://d10eh8wo1l4y8c.cloudfront.net/projects/12b567db-d164-4952-bdc7-e933… | | |
| 45 | +| `amenities` | Commodités (JSON) | 25 % | [] | | |
| 46 | +| `details` | Détails additionnels (JSON) | 100 % | {"gestionnaire": "https://www.atimco.ca", "building": "8784 Chaumont - Sorel-Tracy", "flo… | | |
| 47 | +| `url` | URL de l'annonce source | 100 % | https://app.livya.com/fr/atimco/projects/atimco/plans | | |
| 48 | + | |
| 49 | +## Fréquence & budget | |
| 50 | + | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : — | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:19 — 299 trouvées, +299 / ~0 / -0 | |
| 53 | +- **Throttling** : 0.6 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** : 299 au total, **299 actives** | |
| 59 | +- **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-18 | |
| 60 | +- **Complétude clé (actives)** : GPS 100 % · prix 99 % · photos 96 % · description 100 % | |
| 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 atimco` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='atimco' 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 0.6 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-18 — 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/atlas_immo.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 0 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:16 — 68 trouvées, +0 / ~68 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:16 — 2 trouvées, +0 / ~2 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 101/103 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:16 — 101 trouvées, +0 / ~101 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:16 — 12 trouvées, +0 / ~12 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:16 — 4 trouvées, +0 / ~4 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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/bestlife.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 12/13 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:16 — 12 trouvées, +0 / ~12 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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/boardwalk.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:17 — 100 trouvées, +0 / ~100 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:02 — 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
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Grand Montréal · Backend : direct · Annonces actives : 14/14 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 3.4 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 14 trouvées, +0 / ~14 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.3 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:03 — 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 | |
@@ -58,7 +58,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab | ||
| 58 | 58 | - **Annonces en BD** : 14 au total, **14 actives** |
| 59 | 59 | - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 21 % · photos 93 % · description 93 % |
| 61 | −- **Runs journalisés (60 derniers)** : 7, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 8, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/boreal_abitibi.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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/5 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 3 trouvées, +0 / ~3 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:03 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 2 trouvées, +0 / ~2 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:03 — 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
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -33,9 +33,9 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab | ||
| 33 | 33 | | `address` | Adresse civique | 100 % | 15 Ch. Morley-Walters, Gatineau, QC J9J 0B8 | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Gatineau | |
| 35 | 35 | | `sector` | Secteur / quartier | 0 % | — | |
| 36 | −| `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ | | |
| 36 | +| `unit_type` | Type d'unité (3½, 4½…) | 100 % | 3½ | | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 24 % | 1 656 $ | |
| 38 | −| `bedrooms` | Chambres | 100 % | 2 | | |
| 38 | +| `bedrooms` | Chambres | 100 % | 1 | | |
| 39 | 39 | | `bathrooms` | Salles de bain | 5 % | — | |
| 40 | 40 | | `area_sqft` | Superficie (pi²) | 26 % | 1252 | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
@@ -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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 42 trouvées, +0 / ~42 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 42 trouvées, +0 / ~2 / -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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 3 trouvées, +0 / ~3 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 3 trouvées, +0 / ~3 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 7 trouvées, +0 / ~7 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — 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/122 |
| 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 122 trouvées, +0 / ~122 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 4 trouvées, +0 / ~4 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 117/122 |
| 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 117 trouvées, +0 / ~117 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 117 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 3 trouvées, +0 / ~3 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 4 trouvées, +0 / ~4 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:18 — 2 trouvées, +0 / ~2 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:05 — 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 285/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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:20 — 285 trouvées, +0 / ~285 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:07 — 285 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 221/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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 221 trouvées, +0 / ~221 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:07 — 221 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 52 trouvées, +0 / ~52 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:07 — 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Laurentides · Backend : direct · Annonces actives : 44/52 |
| 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 44 trouvées, +0 / ~44 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:07 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 0 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:07 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 12 trouvées, +0 / ~12 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:07 — 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 18/18 |
| 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 18 trouvées, +0 / ~18 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:08 — 18 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 14 trouvées, +0 / ~14 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:08 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:21 — 6 trouvées, +0 / ~6 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:08 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:22 — 14 trouvées, +0 / ~14 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06: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/devimco.md
+2 −2
@@ -1,6 +1,6 @@ | ||
| 1 | 1 | # Devimco Appartements — connecteur `devimco` |
| 2 | 2 | |
| 3 | −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 480/575 |
| 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:22 — 480 trouvées, +0 / ~480 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:09 — 480 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/dma_locago.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 118/124 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:23 — 118 trouvées, +0 / ~118 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:09 — 118 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Province · Backend : direct · Annonces actives : 3890/3896 |
| 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) : ≈ 3.3 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:23 — 3890 trouvées, +0 / ~3890 / -6 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:10 — 3890 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** : 3896 au total, **3890 actives** |
| 59 | 59 | - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 7, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 8, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/dynamic.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 48/53 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 48 trouvées, +0 / ~48 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 48 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
+6 −6
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 180/185 |
| 6 | 6 | |
@@ -34,7 +34,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Lévis | |
| 35 | 35 | | `sector` | Secteur / quartier | 100 % | Desjardins | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 100 % | Studio | |
| 37 | −| `price` | Loyer mensuel ($) | 93 % | — | | |
| 37 | +| `price` | Loyer mensuel ($) | 94 % | — | | |
| 38 | 38 | | `bedrooms` | Chambres | 100 % | 0 | |
| 39 | 39 | | `bathrooms` | Salles de bain | 0 % | — | |
| 40 | 40 | | `area_sqft` | Superficie (pi²) | 100 % | 450 | |
@@ -42,14 +42,14 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 42 | 42 | | `lat` | GPS (lat/lng) | 100 % | 46.7947 | |
| 43 | 43 | | `description` | Description | 100 % | Type B13 — Étage 9 — 450 pi² — 1 salle(s) de bain — *Prix sujet à changement sans préavis | |
| 44 | 44 | | `images` | Photos (JSON) | 100 % | 5 photo(s) — https://www.levitalappartements.com/wp-content/uploads/2024/04/vital_social_… | |
| 45 | −| `amenities` | Commodités (JSON) | 97 % | ["Espace coworking", "Cuisine commune", "Salon de jeux commun", "Espace lounge", "Terrass… | | |
| 45 | +| `amenities` | Commodités (JSON) | 100 % | ["Espace coworking", "Cuisine commune", "Salon de jeux commun", "Espace lounge", "Terrass… | | |
| 46 | 46 | | `details` | Détails additionnels (JSON) | 100 % | {"elevator": true, "balcony": true} | |
| 47 | 47 | | `url` | URL de l'annonce source | 100 % | https://www.levitalappartements.com/plans-et-prix/#unite-922 | |
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:24 — 175 trouvées, +0 / ~175 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:10 — 180 trouvées, +0 / ~11 / -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 | |
@@ -57,7 +57,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 185 au total, **180 actives** |
| 59 | 59 | - **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 |
| 60 | −- **Complétude clé (actives)** : GPS 100 % · prix 93 % · photos 100 % · description 100 % | |
| 60 | +- **Complétude clé (actives)** : GPS 100 % · prix 94 % · photos 100 % · description 100 % | |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
modified
docs/connecteurs/elements.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:24 — 2 trouvées, +0 / ~2 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:10 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:24 — 12 trouvées, +0 / ~12 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:10 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:24 — 3 trouvées, +0 / ~3 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:10 — 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
+3 −3
@@ -1,6 +1,6 @@ | ||
| 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 615/662 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:26 — 583 trouvées, +0 / ~583 / -12 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:12 — 585 trouvées, +0 / ~32 / -10 | |
| 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/evoludev.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:26 — 134 trouvées, +0 / ~134 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:12 — 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
+12 −12
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 2107/5142 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 2270/6308 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,7 +25,7 @@ Facebook Marketplace — catégorie location (propertyrentals) par ville du Qué | ||
| 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 2107 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 2270 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,32 +33,32 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 33 | 33 | | `address` | Adresse civique | 0 % | — | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Montréal | |
| 35 | 35 | | `sector` | Secteur / quartier | 0 % | — | |
| 36 | −| `unit_type` | Type d'unité (3½, 4½…) | 91 % | Chambre | | |
| 36 | +| `unit_type` | Type d'unité (3½, 4½…) | 90 % | Chambre | | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 795 $ | |
| 38 | −| `bedrooms` | Chambres | 91 % | 1 | | |
| 39 | −| `bathrooms` | Salles de bain | 2 % | — | | |
| 40 | −| `area_sqft` | Superficie (pi²) | 2 % | — | | |
| 38 | +| `bedrooms` | Chambres | 90 % | 1 | | |
| 39 | +| `bathrooms` | Salles de bain | 3 % | — | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 3 % | — | | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 15 % | 45.553455200005 | |
| 43 | 43 | | `description` | Description | 16 % | CHAMBRE EN COLOC DISPONIBLE, HOCHELAGA-MAISONNEUVE, 795 $ TOUT INCLUS. Nous avons une cha… | |
| 44 | −| `images` | Photos (JSON) | 100 % | 1 photo(s) — https://scontent.fyvr5-1.fna.fbcdn.net/v/t39.30808-6/772797442_3843100965846… | | |
| 44 | +| `images` | Photos (JSON) | 100 % | 1 photo(s) — https://scontent-bos5-1.xx.fbcdn.net/v/t39.30808-6/772797442_384310096584675… | | |
| 45 | 45 | | `amenities` | Commodités (JSON) | 0 % | [] | |
| 46 | 46 | | `details` | Détails additionnels (JSON) | 15 % | {"inclusions": {"heating": true, "electricity": true, "internet": true}, "appliances": {"… | |
| 47 | 47 | | `url` | URL de l'annonce source | 100 % | https://www.facebook.com/marketplace/item/2151142982451520/ | |
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.4 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 02:58 — 1137 trouvées, +626 / ~511 / -355 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.3 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:19 — 1257 trouvées, +544 / ~713 / -727 | |
| 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** : 5142 au total, **2107 actives** | |
| 58 | +- **Annonces en BD** : 6308 au total, **2270 actives** | |
| 59 | 59 | - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 15 % · prix 100 % · photos 100 % · description 16 % |
| 61 | −- **Runs journalisés (60 derniers)** : 6, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 8, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/ferrovia.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Laurentides · Backend : direct · Annonces actives : 23/24 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:37 — 23 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:19 — 23 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:37 — 12 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 21 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Lanaudière · 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 13 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 13 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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
+3 −5
@@ -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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 45 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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 | |
@@ -58,7 +58,7 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 58 | 58 | - **Annonces en BD** : 54 au total, **45 actives** |
| 59 | 59 | - **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 60, dont 5 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 60, dont 3 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
@@ -67,8 +67,6 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 67 | 67 | | 2026-08-13 06:46 | 500 Server Error: Internal Server Error for url: https://garic.ca/a-louer/ | |
| 68 | 68 | | 2026-08-13 04:21 | 500 Server Error: Internal Server Error for url: https://garic.ca/a-louer/ | |
| 69 | 69 | | 2026-08-13 03:23 | 500 Server Error: Internal Server Error for url: https://garic.ca/a-louer/ | |
| 70 | −| 2026-08-13 00:49 | 500 Server Error: Internal Server Error for url: https://garic.ca/a-louer/ | | |
| 71 | −| 2026-08-12 22:45 | 500 Server Error: Internal Server Error for url: https://garic.ca/a-louer/ | | |
| 72 | 70 | |
| 73 | 71 | Rejouer la source seule : `python3 run.py sync garic` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='garic' ORDER BY ts DESC LIMIT 5;`). |
| 74 | 72 | |
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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montérégie · Backend : direct · Annonces actives : 10/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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 10 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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/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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 41 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 11 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 20 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 2 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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-18 03:30 — 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-18 06:20 — 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) : ≈ 1.9 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 2 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 5 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 22/24 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 22 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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/gestion_tb.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 : 31/35 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 31 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 31 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 2 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:20 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 98/116 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 98 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:34 — 98 trouvées, +0 / ~98 / -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-18 03:30 — 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-18 06:20 — 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, 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 3 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:34 — 3 trouvées, +0 / ~3 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 85/89 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 85 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:35 — 85 trouvées, +0 / ~85 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 5 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:35 — 5 trouvées, +0 / ~5 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 40 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:35 — 40 trouvées, +0 / ~40 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:38 — 8 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:35 — 8 trouvées, +0 / ~8 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:39 — 22 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:35 — 22 trouvées, +0 / ~22 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:44 — 255 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 255 trouvées, +0 / ~255 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:39 — 10 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 10 trouvées, +0 / ~10 / -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
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.5 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:40 — 203 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.4 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 203 trouvées, +0 / ~203 / -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-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 5, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 6, 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 72/74 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:40 — 72 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 72 trouvées, +0 / ~72 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:40 — 24 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 24 trouvées, +0 / ~24 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:40 — 14 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 14 trouvées, +0 / ~14 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:40 — 7 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:41 — 7 trouvées, +0 / ~7 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 164/169 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:41 — 164 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:42 — 164 trouvées, +0 / ~164 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:41 — 6 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:42 — 6 trouvées, +0 / ~6 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:41 — 7 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:42 — 7 trouvées, +0 / ~7 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 246/255 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:41 — 246 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 246 trouvées, +0 / ~246 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:41 — 3 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 3 trouvées, +0 / ~3 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 38 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 38 trouvées, +0 / ~38 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 26 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 26 trouvées, +0 / ~26 / -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-18 03:30 — 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-18 06:20 — 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/26 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 20 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 20 trouvées, +0 / ~20 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 23 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 23 trouvées, +0 / ~23 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 13 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 13 trouvées, +0 / ~13 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Abitibi-Témiscamingue · Backend : direct · Annonces actives : 8/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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 8 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 8 trouvées, +0 / ~8 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 7 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 7 trouvées, +0 / ~7 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 1 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 1 trouvées, +0 / ~1 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 2 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 2 trouvées, +0 / ~2 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 3 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 3 trouvées, +0 / ~3 / -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-18 03:30 — 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-18 06:20 — 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/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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 1 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 1 trouvées, +0 / ~1 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:42 — 3 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:43 — 3 trouvées, +0 / ~3 / -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
+6 −6
@@ -1,8 +1,8 @@ | ||
| 1 | 1 | # IMMOMARKETING (Immoappart) — connecteur `immomarketing` |
| 2 | 2 | |
| 3 | −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Québec · Backend : direct · Annonces actives : 84/90 | |
| 5 | +**État : actif** · Région : Québec · Backend : direct · Annonces actives : 83/90 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,14 +25,14 @@ connecteur IMMOMARKETING / Immoappart (immoappart.ca). Le portail couvre la rég | ||
| 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 84 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 83 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 % | CITÉ M - 4½ à louer | |
| 33 | 33 | | `address` | Adresse civique | 99 % | 1750 Rue Claire-Bonenfant, Québec, QC | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Québec | |
| 35 | −| `sector` | Secteur / quartier | 74 % | Lebourgneuf | | |
| 35 | +| `sector` | Secteur / quartier | 73 % | Lebourgneuf | | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 2 095 $ | |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:43 — 83 trouvées, +0 / ~1 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:44 — 83 trouvées, +0 / ~83 / -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, **84 actives** | |
| 58 | +- **Annonces en BD** : 90 au total, **83 actives** | |
| 59 | 59 | - **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 |
| 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/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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:43 — 156 trouvées, +0 / ~8 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:44 — 156 trouvées, +0 / ~156 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Lanaudière · Backend : direct · Annonces actives : 50/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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:43 — 50 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:45 — 50 trouvées, +0 / ~50 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 200/211 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:43 — 200 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:45 — 200 trouvées, +0 / ~200 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:44 — 35 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:45 — 35 trouvées, +0 / ~35 / -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
+11 −11
@@ -1,6 +1,6 @@ | ||
| 1 | 1 | # Kangalou — connecteur `kangalou` |
| 2 | 2 | |
| 3 | −_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Province · Backend : direct · Annonces actives : 7916/7916 |
| 6 | 6 | |
@@ -30,26 +30,26 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab | ||
| 30 | 30 | | Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel | |
| 31 | 31 | |---|---|---|---| |
| 32 | 32 | | `title` | Titre de l'annonce | 100 % | 4300 Rue St-Ambroise | |
| 33 | −| `address` | Adresse civique | 5 % | 4300 Rue St-Ambroise | | |
| 33 | +| `address` | Adresse civique | 9 % | 4300 Rue St-Ambroise | | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Montréal | |
| 35 | 35 | | `sector` | Secteur / quartier | 0 % | — | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 6½+ | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 2 250 $ | |
| 38 | 38 | | `bedrooms` | Chambres | 100 % | 2 | |
| 39 | −| `bathrooms` | Salles de bain | 5 % | 1 | | |
| 40 | −| `area_sqft` | Superficie (pi²) | 4 % | — | | |
| 41 | −| `availability_date` | Date de disponibilité | 5 % | now | | |
| 39 | +| `bathrooms` | Salles de bain | 9 % | 1 | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 8 % | — | | |
| 41 | +| `availability_date` | Date de disponibilité | 9 % | now | | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 100 % | 45.4734 | |
| 43 | −| `description` | Description | 3 % | Quai des Eclusiers! Très belle unité extrémement lumineuse au rez-de-chaussée avec une te… | | |
| 43 | +| `description` | Description | 7 % | Quai des Eclusiers! Très belle unité extrémement lumineuse au rez-de-chaussée avec une te… | | |
| 44 | 44 | | `images` | Photos (JSON) | 99 % | 6 photo(s) — https://s3.amazonaws.com/shareimmo/production/property_asset/asset/4a54f592-… | |
| 45 | −| `amenities` | Commodités (JSON) | 5 % | [] | | |
| 46 | −| `details` | Détails additionnels (JSON) | 5 % | {"appliances": {"stove": true, "dishwasher": true}, "balcony": true, "pool": true, "smoki… | | |
| 45 | +| `amenities` | Commodités (JSON) | 9 % | [] | | |
| 46 | +| `details` | Détails additionnels (JSON) | 9 % | {"appliances": {"stove": true, "dishwasher": true}, "balcony": true, "pool": true, "smoki… | | |
| 47 | 47 | | `url` | URL de l'annonce source | 100 % | https://www.kangalou.com/fr/annonce/appartement-a-louer-6-1-2-le-sud-ouest-4300-rue-st-am… | |
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | 51 | - **Cadence observée** (médiane des passages OK, sync_log) : — |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:09 — 7916 trouvées, +7916 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:54 — 7916 trouvées, +0 / ~369 / -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 | |
@@ -57,8 +57,8 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab | ||
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 7916 au total, **7916 actives** |
| 59 | 59 | - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-18 |
| 60 | −- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 99 % · description 3 % | |
| 61 | −- **Runs journalisés (60 derniers)** : 1, dont 0 en erreur | |
| 60 | +- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 99 % · description 7 % | |
| 61 | +- **Runs journalisés (60 derniers)** : 2, 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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:44 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:54 — 4 trouvées, +0 / ~4 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:44 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 03:54 — 4 trouvées, +0 / ~4 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 5276/7407 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 5251/7409 | |
| 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 5276 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 5251 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:53 — 5246 trouvées, +30 / ~4 / -96 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:02 — 5244 trouvées, +2 / ~5242 / -27 | |
| 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** : 7407 au total, **5276 actives** | |
| 58 | +- **Annonces en BD** : 7409 au total, **5251 actives** | |
| 59 | 59 | - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 |
| 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 20/21 |
| 6 | 6 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:15 — 20 trouvées, +0 / ~20 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:01 — 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/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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 55/58 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:53 — 55 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:02 — 55 trouvées, +0 / ~55 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:53 — 18 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:02 — 18 trouvées, +0 / ~18 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 65/86 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:54 — 65 trouvées, +0 / ~1 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:04 — 65 trouvées, +0 / ~65 / -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
+4 −6
@@ -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:57 — 6 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:06 — 6 trouvées, +0 / ~6 / -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 | |
@@ -58,13 +58,11 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 58 | 58 | - **Annonces en BD** : 7 au total, **6 actives** |
| 59 | 59 | - **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 0 % · prix 0 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 60, dont 1 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 60, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
| 65 | −| Date | Message (sync_log) | | |
| 66 | −|---|---| | |
| 67 | −| 2026-08-12 23:11 | HTTPSConnectionPool(host='lacitegatineau.com', port=443): Read timed out. (read timeout=30) | | |
| 65 | +Aucune erreur dans les 60 derniers runs journalisés. | |
| 68 | 66 | |
| 69 | 67 | Rejouer la source seule : `python3 run.py sync lacite` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='lacite' ORDER BY ts DESC LIMIT 5;`). |
| 70 | 68 | |
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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 37/40 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:57 — 37 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:06 — 37 trouvées, +0 / ~37 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 45/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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 45 trouvées, +0 / ~25 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 45 trouvées, +0 / ~45 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 2 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 2 trouvées, +0 / ~2 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 23 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 23 trouvées, +0 / ~23 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 3/3 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 3 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 3 trouvées, +0 / ~3 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 4 trouvées, +0 / ~4 / -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 9/9 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 9 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 9 trouvées, +0 / ~9 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 5 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 5 trouvées, +0 / ~5 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 5 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 5 trouvées, +0 / ~5 / -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:58 — 1 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:07 — 1 trouvées, +0 / ~1 / -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
+7 −7
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 2253/2566 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 2270/2568 | |
| 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 2253 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 2270 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, 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:44 — 2245 trouvées, +7 / ~4 / -45 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 2243 trouvées, +2 / ~2241 / -7 | |
| 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** : 2566 au total, **2253 actives** | |
| 59 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 58 | +- **Annonces en BD** : 2568 au total, **2270 actives** | |
| 59 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 47 % · prix 87 % · photos 93 % · description 99 % |
| 61 | −- **Runs journalisés (60 derniers)** : 59, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 60, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/leviu.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:44 — 2 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 2 trouvées, +0 / ~2 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 2 au total, **2 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/location_di.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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/12 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:44 — 9 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 9 trouvées, +0 / ~9 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 12 au total, **9 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/location_saguenay.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 21 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 21 trouvées, +0 / ~21 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 21 au total, **21 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 76 % · prix 0 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/loftsmtl.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 9 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 9 trouvées, +0 / ~9 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 9 au total, **9 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/logement_mauricie.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 1 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 1 trouvées, +0 / ~1 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 1 au total, **1 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/logis_experts.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 498/517 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 498 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:10 — 497 trouvées, +0 / ~497 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 517 au total, **498 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 39 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/logisbourg.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 11 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:11 — 11 trouvées, +0 / ~11 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 14 au total, **11 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/logisco.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 157/174 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 157 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:11 — 157 trouvées, +0 / ~157 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 174 au total, **157 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 99 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/logisma.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 15/19 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 15 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:11 — 15 trouvées, +0 / ~15 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 19 au total, **15 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 80 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/logispro.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 22:45 — 4 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:11 — 4 trouvées, +0 / ~4 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 4 au total, **4 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 75 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/logisquebec.md
+10 −10
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 6393/6396 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 6791/6794 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,20 +25,20 @@ 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 6393 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 6791 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 % | Un Beau 5 1/2 Completement Renové | |
| 33 | 33 | | `address` | Adresse civique | 100 % | 80B rue Sylvio Langlois | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Saint-Félix-de-Dalquier | |
| 35 | −| `sector` | Secteur / quartier | 45 % | — | | |
| 36 | −| `unit_type` | Type d'unité (3½, 4½…) | 92 % | 5½ | | |
| 35 | +| `sector` | Secteur / quartier | 44 % | — | | |
| 36 | +| `unit_type` | Type d'unité (3½, 4½…) | 93 % | 5½ | | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 900 $ | |
| 38 | 38 | | `bedrooms` | Chambres | 94 % | 3 | |
| 39 | 39 | | `bathrooms` | Salles de bain | 85 % | — | |
| 40 | 40 | | `area_sqft` | Superficie (pi²) | 31 % | — | |
| 41 | −| `availability_date` | Date de disponibilité | 68 % | now | | |
| 41 | +| `availability_date` | Date de disponibilité | 69 % | now | | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 100 % | 48.6738344 | |
| 43 | 43 | | `description` | Description | 100 % | Un beau 5 ½ au cœur du village St-Félix-de-Dalquier. Rue Sylvio Langlois # 80-A. En face … | |
| 44 | 44 | | `images` | Photos (JSON) | 100 % | 6 photo(s) — https://i.logisquebec.com/i-a-louer/83855/318750/20220708_110422_jpg_68fac7d… | |
@@ -48,17 +48,17 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 3.4 h | |
| 52 | −- **Dernier passage OK** : 2026-08-18 02:51 — 6393 trouvées, +397 / ~5996 / -3 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.1 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:20 — 6791 trouvées, +398 / ~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** : 6396 au total, **6393 actives** | |
| 58 | +- **Annonces en BD** : 6794 au total, **6791 actives** | |
| 59 | 59 | - **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 6, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 7, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/lokalia.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 131/135 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:06 — 131 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:21 — 131 trouvées, +0 / ~131 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 135 au total, **131 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 82 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/louer_ca.md
+11 −11
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 4370/5321 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 4576/5357 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,19 +25,19 @@ 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 4370 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 4576 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 | 14 % | — | | |
| 35 | +| `sector` | Secteur / quartier | 15 % | — | | |
| 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 | −| `bathrooms` | Salles de bain | 16 % | — | | |
| 40 | −| `area_sqft` | Superficie (pi²) | 82 % | 400 | | |
| 39 | +| `bathrooms` | Salles de bain | 86 % | 1 | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 83 % | 400 | | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 98 % | 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… | |
@@ -48,17 +48,17 @@ Le connecteur (direct, API GraphQL interne) alimente les colonnes de la table `l | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.5 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 4613 trouvées, +203 / ~0 / -477 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.7 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:33 — 5029 trouvées, +36 / ~3813 / -123 | |
| 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** : 5321 au total, **4370 actives** | |
| 59 | −- **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-17 | |
| 58 | +- **Annonces en BD** : 5357 au total, **4576 actives** | |
| 59 | +- **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 4, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 5, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/louer_saguenay.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 5 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:33 — 5 trouvées, +0 / ~5 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 5 au total, **5 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/louis14.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 18/18 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 18 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:33 — 17 trouvées, +0 / ~17 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 18 au total, **18 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/lr_gestion.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 111/116 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 112 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:33 — 112 trouvées, +0 / ~111 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 116 au total, **111 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/luxuor.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 4 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:34 — 4 trouvées, +0 / ~4 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 4 au total, **4 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 75 % · prix 0 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/lynk_olymbec.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (Firecrawl, pages HTML (rendu serveur)) alimente les colonnes de l | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 4 trouvées, +0 / ~4 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:34 — 0 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
+9 −9
@@ -1,8 +1,8 @@ | ||
| 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 192/198 | |
| 5 | +**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 193/199 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,19 +25,19 @@ M Immobilier (mimmobilier.com) — LOCATIONS Agence indépendante de prestige (G | ||
| 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 192 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 193 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 % | 9017 Rue Jean-Baptiste-Gauthie, Mirabel | |
| 33 | 33 | | `address` | Adresse civique | 100 % | 9017 Rue Jean-Baptiste-Gauthier | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Mirabel | |
| 35 | −| `sector` | Secteur / quartier | 72 % | — | | |
| 35 | +| `sector` | Secteur / quartier | 73 % | — | | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 98 % | 4½ | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 1 500 $ | |
| 38 | 38 | | `bedrooms` | Chambres | 98 % | 2 | |
| 39 | 39 | | `bathrooms` | Salles de bain | 91 % | 1 | |
| 40 | −| `area_sqft` | Superficie (pi²) | 54 % | — | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 53 % | — | | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 59 % | — | |
| 43 | 43 | | `description` | Description | 100 % | Beau logement de 2 chambres situé au niveau inférieur d'une propriété unifamiliale constr… | |
@@ -49,16 +49,16 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 192 trouvées, +0 / ~0 / -3 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:34 — 190 trouvées, +1 / ~189 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | −- **Annonces en BD** : 198 au total, **192 actives** | |
| 59 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 58 | +- **Annonces en BD** : 199 au total, **193 actives** | |
| 59 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 59 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 59, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 60, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/majestic.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:14 — 1 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:34 — 1 trouvées, +0 / ~1 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 1 au total, **1 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 0 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/matinale.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Estrie · Backend : direct · Annonces actives : 44/45 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:15 — 44 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:35 — 44 trouvées, +0 / ~44 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 45 au total, **44 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 57 % · prix 100 % · photos 100 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/may_bourg.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,14 +49,14 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:15 — 6 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:35 — 6 trouvées, +0 / ~6 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 7 au total, **6 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 50 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 1 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/medway.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Bas-Saint-Laurent · Backend : direct · Annonces actives : 488/498 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 488 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:36 — 488 trouvées, +0 / ~488 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 498 au total, **488 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 91 % · prix 100 % · photos 100 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/mellem.md
+4 −4
@@ -1,6 +1,6 @@ | ||
| 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 78/87 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 78 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:36 — 78 trouvées, +0 / ~78 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 87 au total, **78 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/mercini.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 47/52 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 47 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:37 — 47 trouvées, +0 / ~47 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 52 au total, **47 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 94 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/metcap.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 8 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:37 — 8 trouvées, +0 / ~8 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 8 au total, **8 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/minto.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 19 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:37 — 19 trouvées, +0 / ~19 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 20 au total, **19 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 84 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/mkar.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 5 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:37 — 5 trouvées, +0 / ~5 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 5 au total, **5 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 0 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/moderno.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:16 — 7 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:37 — 7 trouvées, +0 / ~7 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 7 au total, **7 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/mondev.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 47/49 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:17 — 47 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 47 trouvées, +0 / ~47 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 49 au total, **47 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 49 % · prix 100 % · photos 100 % · description 94 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/montagnais.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, API admin-ajax (WordPress)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:17 — 31 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 31 trouvées, +0 / ~31 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 31 au total, **31 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/morin.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:17 — 6 trouvées, +0 / ~0 / -1 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 6 trouvées, +0 / ~6 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 7 au total, **6 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 83 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/msi.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 96/105 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 96 trouvées, +0 / ~0 / -1 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 96 trouvées, +0 / ~96 / -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 | 58 | - **Annonces en BD** : 105 au total, **96 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 27 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/multi_logis.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 27 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 27 trouvées, +0 / ~27 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 27 au total, **27 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 96 % · photos 70 % · description 81 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/niddamour.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 14 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 14 trouvées, +0 / ~14 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 14 au total, **14 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/novelo.md
+4 −5
@@ -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-18 03:30 — 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-18 06:20 — 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,23 +49,22 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:38 — 4 trouvées, +0 / ~4 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 4 au total, **4 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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-12 20:25 | HTTPSConnectionPool(host='appartementsnovelo.com', port=443): Read timed out. (read timeout=30) | |
| 68 | −| 2026-08-12 18:52 | HTTPSConnectionPool(host='appartementsnovelo.com', port=443): Read timed out. (read timeout=30) | | |
| 69 | 68 | |
| 70 | 69 | Rejouer la source seule : `python3 run.py sync novelo` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='novelo' ORDER BY ts DESC LIMIT 5;`). |
| 71 | 70 | |
modified
docs/connecteurs/oklouer.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 41 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 41 trouvées, +0 / ~41 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 41 au total, **41 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 95 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/omhm.md
+5 −5
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,17 +48,17 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.5 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 3 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.7 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 3 trouvées, +0 / ~3 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 3 au total, **3 actives** |
| 59 | −- **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 0 % · description 0 % |
| 61 | −- **Runs journalisés (60 derniers)** : 4, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 5, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/osgoode.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:18 — 4 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 4 trouvées, +0 / ~4 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 4 au total, **4 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/oxford.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 2 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 2 trouvées, +0 / ~2 / -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 |
@@ -57,7 +57,7 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 57 | 57 | ## Volumétrie & complétude |
| 58 | 58 | |
| 59 | 59 | - **Annonces en BD** : 2 au total, **2 actives** |
| 60 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 60 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 61 | 61 | - **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 100 % · description 100 % |
| 62 | 62 | - **Runs journalisés (60 derniers)** : 60, dont 1 en erreur |
| 63 | 63 | |
modified
docs/connecteurs/per.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 3 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 3 trouvées, +0 / ~3 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 3 au total, **3 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 67 % · prix 100 % · photos 100 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/picard.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 34/34 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 34 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 34 trouvées, +0 / ~34 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 34 au total, **34 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/place_florimay.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,8 +48,8 @@ Le connecteur (direct, API REST WordPress (wp-json)) alimente les colonnes de la | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 0 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 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
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 11 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 11 trouvées, +0 / ~11 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 11 au total, **11 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 91 % · prix 91 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/progim.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 62/68 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 62 trouvées, +1 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:39 — 62 trouvées, +0 / ~62 / -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 | 58 | - **Annonces en BD** : 68 au total, **62 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 94 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/projection_immo.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:19 — 1 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 1 trouvées, +0 / ~1 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 1 au total, **1 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 0 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/promenade_des_forts.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 2 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 2 trouvées, +0 / ~2 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 2 au total, **2 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/proprio_direct.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Province · Backend : direct · Annonces actives : 190/190 |
| 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 190 trouvées, +0 / ~6 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 190 trouvées, +0 / ~190 / -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 |
@@ -57,9 +57,9 @@ Le connecteur (direct, API JSON interne du site) alimente les colonnes de la tab | ||
| 57 | 57 | ## Volumétrie & complétude |
| 58 | 58 | |
| 59 | 59 | - **Annonces en BD** : 190 au total, **190 actives** |
| 60 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 60 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 61 | 61 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 92 % |
| 62 | −- **Runs journalisés (60 derniers)** : 57, dont 0 en erreur | |
| 62 | +- **Runs journalisés (60 derniers)** : 58, dont 0 en erreur | |
| 63 | 63 | |
| 64 | 64 | ## Erreurs connues & dépannage |
| 65 | 65 | |
modified
docs/connecteurs/quanta.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 2 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 2 trouvées, +0 / ~2 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 2 au total, **2 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/quartier_mosaique.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 24 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 24 trouvées, +0 / ~24 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 24 au total, **24 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/quartier_oree.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Chaudière-Appalaches · Backend : direct · Annonces actives : 31/31 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 31 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 31 trouvées, +0 / ~31 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 31 au total, **31 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/quartier_plus.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 59 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 59 trouvées, +0 / ~59 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 59 au total, **59 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 0 % · photos 100 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/quartier_sila.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 199/200 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 199 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 199 trouvées, +0 / ~199 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 200 au total, **199 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 26 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/realstar.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,14 +49,14 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:20 — 9 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:40 — 9 trouvées, +0 / ~9 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 9 au total, **9 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 1 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/remax_quebec.md
+7 −7
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 3239/3373 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 3237/3379 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,7 +25,7 @@ RE/MAX Québec (remax-quebec.com) — LOCATIONS Le site interroge un index Meili | ||
| 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 3239 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 3237 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, 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:23 — 3231 trouvées, +10 / ~2 / -18 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:43 — 3235 trouvées, +6 / ~3229 / -8 | |
| 53 | 53 | - **Throttling** : 0.15 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** : 3373 au total, **3239 actives** | |
| 59 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 58 | +- **Annonces en BD** : 3379 au total, **3237 actives** | |
| 59 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 90 % |
| 61 | −- **Runs journalisés (60 derniers)** : 57, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 58, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/rentals_ca.md
+14 −14
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : Scrapfly · Annonces actives : 3452/3452 | |
| 5 | +**État : actif** · Région : Province · Backend : Scrapfly · Annonces actives : 4906/4906 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,40 +25,40 @@ 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 3452 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 4906 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 | −| `address` | Adresse civique | 86 % | 1225 Saint Marc Street | | |
| 33 | +| `address` | Adresse civique | 90 % | 1225 Saint Marc Street | | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Montréal | |
| 35 | −| `sector` | Secteur / quartier | 12 % | — | | |
| 35 | +| `sector` | Secteur / quartier | 15 % | — | | |
| 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²) | 71 % | 400 | | |
| 41 | −| `availability_date` | Date de disponibilité | 84 % | now | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 72 % | 400 | | |
| 41 | +| `availability_date` | Date de disponibilité | 85 % | now | | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 100 % | 45.492189 | |
| 43 | −| `description` | Description | 86 % | Le Marco Situé au 1225, rue Saint Marc, à proximité du métro Guy-Concordia, ce quartier o… | | |
| 44 | −| `images` | Photos (JSON) | 86 % | 12 photo(s) — https://images.rentals.ca/property-pictures/large/montreal-qc/809380/apartm… | | |
| 45 | −| `amenities` | Commodités (JSON) | 92 % | ["Cuisinière", "Non-fumeur", "Balcon", "Réfrigérateur", "Électricité incluse", "Chauffage… | | |
| 43 | +| `description` | Description | 90 % | Le Marco Situé au 1225, rue Saint Marc, à proximité du métro Guy-Concordia, ce quartier o… | | |
| 44 | +| `images` | Photos (JSON) | 90 % | 12 photo(s) — https://images.rentals.ca/property-pictures/large/montreal-qc/809380/apartm… | | |
| 45 | +| `amenities` | Commodités (JSON) | 91 % | ["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://rentals.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) : — |
| 52 | −- **Dernier passage OK** : 2026-08-18 03:14 — 3452 trouvées, +3452 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:49 — 4224 trouvées, +1454 / ~0 / -0 | |
| 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** : 3452 au total, **3452 actives** | |
| 58 | +- **Annonces en BD** : 4906 au total, **4906 actives** | |
| 59 | 59 | - **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-18 |
| 60 | −- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 86 % · description 86 % | |
| 61 | −- **Runs journalisés (60 derniers)** : 1, dont 0 en erreur | |
| 60 | +- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 90 % · description 90 % | |
| 61 | +- **Runs journalisés (60 derniers)** : 2, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/rentalys.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:23 — 10 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:49 — 10 trouvées, +0 / ~10 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 10 au total, **10 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
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-18 03:30 — 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-18 06:20 — 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
+8 −8
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 276/276 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 277/278 | |
| 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 276 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 277 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 | |---|---|---|---| |
@@ -48,17 +48,17 @@ Le connecteur (direct, sitemap XML + pages HTML) 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) : ≈ 3.5 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:24 — 275 trouvées, +1 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 3.6 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:50 — 276 trouvées, +2 / ~274 / -1 | |
| 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** : 276 au total, **276 actives** | |
| 59 | −- **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-17 | |
| 58 | +- **Annonces en BD** : 278 au total, **277 actives** | |
| 59 | +- **Première ingestion** : 2026-08-17 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 61 | −- **Runs journalisés (60 derniers)** : 4, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 5, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/roussin.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:24 — 36 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:50 — 36 trouvées, +0 / ~36 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 36 au total, **36 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/royal_lepage.md
+9 −9
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 952/1043 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 951/1043 | |
| 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 952 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 951 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 | |---|---|---|---| |
@@ -37,10 +37,10 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 1 850 $ | |
| 38 | 38 | | `bedrooms` | Chambres | 90 % | 1 | |
| 39 | 39 | | `bathrooms` | Salles de bain | 93 % | 1 | |
| 40 | −| `area_sqft` | Superficie (pi²) | 6 % | 527 | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 12 % | 527 | | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 100 % | 45.506426 | |
| 43 | −| `description` | Description | 10 % | Superbe 1 chambre fermée au 31e étage du Maestria, avec balcon privé et vue panoramique s… | | |
| 43 | +| `description` | Description | 21 % | Superbe 1 chambre fermée au 31e étage du Maestria, avec balcon privé et vue panoramique s… | | |
| 44 | 44 | | `images` | Photos (JSON) | 100 % | 1 photo(s) — https://rlp.jumplisting.com/photos/28/95/49/24/28954924_0_lg.jpg | |
| 45 | 45 | | `amenities` | Commodités (JSON) | 0 % | [] | |
| 46 | 46 | | `details` | Détails additionnels (JSON) | 100 % | {"inclusions": {"electricity": true, "hot_water": true, "internet": true}, "appliances": … | |
@@ -49,17 +49,17 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-18 01:56 — 948 trouvées, +1 / ~943 / -2 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 949 trouvées, +0 / ~949 / -1 | |
| 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** : 1043 au total, **952 actives** | |
| 59 | +- **Annonces en BD** : 1043 au total, **951 actives** | |
| 60 | 60 | - **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 |
| 61 | −- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 10 % | |
| 62 | −- **Runs journalisés (60 derniers)** : 58, dont 0 en erreur | |
| 61 | +- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 21 % | |
| 62 | +- **Runs journalisés (60 derniers)** : 59, dont 0 en erreur | |
| 63 | 63 | |
| 64 | 64 | ## Erreurs connues & dépannage |
| 65 | 65 | |
modified
docs/connecteurs/savouet.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:25 — 15 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 15 trouvées, +0 / ~15 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 17 au total, **15 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 93 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/sdg.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:25 — 9 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 9 trouvées, +0 / ~9 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 11 au total, **9 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 89 % · prix 0 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/sentinelle.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 10/11 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:25 — 10 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 10 trouvées, +0 / ~10 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 11 au total, **10 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/sgiq.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 147 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 147 trouvées, +0 / ~147 / -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 | 58 | - **Annonces en BD** : 147 au total, **147 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 99 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/shdm.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Montréal · Backend : direct · Annonces actives : 2/21 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, API GraphQL interne) alimente les colonnes de la table `l | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 2 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 2 trouvées, +0 / ~2 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 21 au total, **2 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 50 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/siagi.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 6 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 6 trouvées, +0 / ~6 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 6 au total, **6 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 0 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/sibelanger.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 12/19 |
| 6 | 6 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 12 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 12 trouvées, +0 / ~12 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 19 au total, **12 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 83 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/sig.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 4 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 4 trouvées, +0 / ~4 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 4 au total, **4 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 75 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/simard.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — 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 | |
@@ -48,15 +48,15 @@ Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la t | ||
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | −- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 1.9 h | |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 5 trouvées, +0 / ~0 / -0 | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 5 trouvées, +0 / ~5 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 5 au total, **5 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 20 % · prix 40 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
added
docs/connecteurs/simplex.md
+79 −0
@@ -0,0 +1,79 @@ | ||
| 1 | +# Simplex Immobilier — connecteur `simplex` | |
| 2 | + | |
| 3 | +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | + | |
| 5 | +**État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 3/3 | |
| 6 | + | |
| 7 | +## Description de la source | |
| 8 | + | |
| 9 | +connecteur Simplex Immobilier (simpleximmobilier.com) — agence/gestionnaire de ~600 logements à Trois-Rivières, Shawinigan et en Mauricie (~25-30 annonces publiées à la fois). Site Astro dont le catalogue vit dans un Supabase public : la RPC `get_public_rental_listings_page` (clé publiable `sb_publishable_…` embarquée dans le bundle JS du site) retourne TOUT en 1-2 requêtes JSON : titre, ville/secteur, type d'unité, chambres/sdb, loyer, statut (available/coming_soon/reserved/rented), date de disponibilité, description, inclusions, animaux, stationnement, photos (bucket public `rental-listing-media`). ⚠️ Aucune adresse civique publiée (même la RPC détail n'en expose pas) : ville/secteur seulement, donc pas de géocodage fin possible. | |
| 10 | + | |
| 11 | +- **Site** : https://simpleximmobilier.com | |
| 12 | +- **Page des annonces** : https://simpleximmobilier.com/logements-a-louer/ | |
| 13 | +- **Secteurs couverts** : Trois-Rivières, Shawinigan, Mauricie (~600 logements gérés, ~25-30 annonces publiées dont 3 disponibles au relevé) — catalogue Supabase public (RPC get_public_rental_listings_page), pas d adresse civique publiée | |
| 14 | +- **Module** : `louka/connectors/simplex.py` — classe `SimplexConnector` | |
| 15 | + | |
| 16 | +## Accès | |
| 17 | + | |
| 18 | +- **Type d'accès** : API JSON interne du site | |
| 19 | +- **Endpoint de base** : https://simpleximmobilier.com | |
| 20 | +- **URLs de départ (constantes du module)** : https://tyrzkvwbiaadajwopdrj.supabase.co · https://simpleximmobilier.com | |
| 21 | +- **Authentification** : aucune — contenu public | |
| 22 | +- **Pagination** : page de liste unique (pas de pagination) | |
| 23 | +- **Backend anti-bot / rendu** : requests direct (session UA LouKaBot, throttling poli) | |
| 24 | +- **Politesse** : 0.8 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 3 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 % | Presque dans la cour du Cégep @ ÉTUDIANTS ! | | |
| 33 | +| `address` | Adresse civique | 0 % | — | | |
| 34 | +| `city` | Ville (normalisée) | 100 % | Shawinigan | | |
| 35 | +| `sector` | Secteur / quartier | 67 % | — | | |
| 36 | +| `unit_type` | Type d'unité (3½, 4½…) | 100 % | 2½ | | |
| 37 | +| `price` | Loyer mensuel ($) | 100 % | 740 $ | | |
| 38 | +| `bedrooms` | Chambres | 100 % | 1 | | |
| 39 | +| `bathrooms` | Salles de bain | 100 % | 1 | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 0 % | — | | |
| 41 | +| `availability_date` | Date de disponibilité | 100 % | now | | |
| 42 | +| `lat` | GPS (lat/lng) | 0 % | — | | |
| 43 | +| `description` | Description | 100 % | Logement situé au centre-ville de Shawinigan, à seulement 2 minutes à pied du Cégep. Il o… | | |
| 44 | +| `images` | Photos (JSON) | 100 % | 1 photo(s) — https://tyrzkvwbiaadajwopdrj.supabase.co/storage/v1/object/public/rental-lis… | | |
| 45 | +| `amenities` | Commodités (JSON) | 67 % | [] | | |
| 46 | +| `details` | Détails additionnels (JSON) | 100 % | {"parking": {"available": true, "included": false}, "stationnement": "Oui", "référence": … | | |
| 47 | +| `url` | URL de l'annonce source | 100 % | https://simpleximmobilier.com/logements-a-louer/2-1-2-a-3-pas-du-cegep-etudiants-shawinig… | | |
| 48 | + | |
| 49 | +## Fréquence & budget | |
| 50 | + | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : — | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:19 — 3 trouvées, +3 / ~0 / -0 | |
| 53 | +- **Throttling** : 0.8 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** : 3 au total, **3 actives** | |
| 59 | +- **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-18 | |
| 60 | +- **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 100 % · description 100 % | |
| 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 simplex` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='simplex' 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 0.8 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-18 — 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/somex_saintnicolas.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 145 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 145 trouvées, +0 / ~145 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 145 au total, **145 actives** |
| 59 | −- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-08 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/souleymane.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 13 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 13 trouvées, +0 / ~13 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 14 au total, **13 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 92 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/stb_immobilier.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 11 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 11 trouvées, +0 / ~11 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 11 au total, **11 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 91 % · prix 73 % · photos 100 % · description 73 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/summum.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Laurentides · Backend : direct · Annonces actives : 89/95 |
| 6 | 6 | |
@@ -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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:26 — 89 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:53 — 89 trouvées, +0 / ~89 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 95 au total, **89 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 84 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 5 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/sutton.md
+8 −8
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : direct · Annonces actives : 1224/1392 | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 1226/1393 | |
| 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 1224 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 1226 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 | |---|---|---|---| |
@@ -35,7 +35,7 @@ Le connecteur (direct, sitemap XML + pages HTML) alimente les colonnes de la tab | ||
| 35 | 35 | | `sector` | Secteur / quartier | 54 % | Le Plateau-Mont-Royal | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 73 % | 1 950 $ | |
| 38 | −| `bedrooms` | Chambres | 74 % | 2 | | |
| 38 | +| `bedrooms` | Chambres | 73 % | 2 | | |
| 39 | 39 | | `bathrooms` | Salles de bain | 73 % | 1 | |
| 40 | 40 | | `area_sqft` | Superficie (pi²) | 38 % | 828 | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
@@ -49,17 +49,17 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 1224 trouvées, +0 / ~16 / -29 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:54 — 1226 trouvées, +1 / ~1225 / -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** : 1392 au total, **1224 actives** | |
| 60 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Annonces en BD** : 1393 au total, **1226 actives** | |
| 60 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 61 | 61 | - **Complétude clé (actives)** : GPS 70 % · prix 73 % · photos 73 % · description 72 % |
| 62 | −- **Runs journalisés (60 derniers)** : 57, dont 0 en erreur | |
| 62 | +- **Runs journalisés (60 derniers)** : 58, dont 0 en erreur | |
| 63 | 63 | |
| 64 | 64 | ## Erreurs connues & dépannage |
| 65 | 65 | |
modified
docs/connecteurs/terater.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 12 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:54 — 12 trouvées, +0 / ~12 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 14 au total, **12 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 67 % · prix 100 % · photos 100 % · description 0 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/terra.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Québec · Backend : direct · Annonces actives : 29/51 |
| 6 | 6 | |
@@ -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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 29 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:54 — 29 trouvées, +0 / ~29 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 51 au total, **29 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 90 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/thrace.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Mauricie · Backend : direct · Annonces actives : 172/182 |
| 6 | 6 | |
@@ -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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 172 trouvées, +0 / ~0 / -1 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:54 — 172 trouvées, +0 / ~172 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 182 au total, **172 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 66 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
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-18 03:30 — 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-18 06:20 — 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 0 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:54 — 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-18 03:30 — 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-18 06:20 — 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
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 7 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:54 — 7 trouvées, +0 / ~7 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 7 au total, **7 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/ubee.md
+4 −4
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Province · Backend : direct · Annonces actives : 243/246 |
| 6 | 6 | |
@@ -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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 243 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:55 — 243 trouvées, +0 / ~243 / -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 | 58 | - **Annonces en BD** : 246 au total, **243 actives** |
| 59 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 0 % |
| 61 | −- **Runs journalisés (60 derniers)** : 57, dont 0 en erreur | |
| 61 | +- **Runs journalisés (60 derniers)** : 58, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/uptimo.md
+12 −12
@@ -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-18 03:30 — 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-18 06:20 — 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 : 63/78 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,21 +25,21 @@ 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 63 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 | −| `address` | Adresse civique | 100 % | 1690 Rue de Courville | | |
| 33 | +| `address` | Adresse civique | 98 % | 1690 Rue de Courville | | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Sherbrooke | |
| 35 | −| `sector` | Secteur / quartier | 97 % | Mont-Bellevue | | |
| 35 | +| `sector` | Secteur / quartier | 95 % | Mont-Bellevue | | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ | |
| 37 | −| `price` | Loyer mensuel ($) | 100 % | 1 050 $ | | |
| 37 | +| `price` | Loyer mensuel ($) | 98 % | 1 050 $ | | |
| 38 | 38 | | `bedrooms` | Chambres | 100 % | 2 | |
| 39 | −| `bathrooms` | Salles de bain | 97 % | 1 | | |
| 39 | +| `bathrooms` | Salles de bain | 98 % | 1 | | |
| 40 | 40 | | `area_sqft` | Superficie (pi²) | 2 % | — | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
| 42 | −| `lat` | GPS (lat/lng) | 100 % | 45.380655 | | |
| 42 | +| `lat` | GPS (lat/lng) | 98 % | 45.380655 | | |
| 43 | 43 | | `description` | Description | 100 % | PROMOTION DISPONIBLE : 1 MOIS GRATUIT à la signature du bail. BEAU 4 1/2 \| CHAUFFAGE – E… | |
| 44 | 44 | | `images` | Photos (JSON) | 100 % | 8 photo(s) — https://www.uptimo.ca/wp-content/uploads/2026/07/Facade-1-2.png | |
| 45 | 45 | | `amenities` | Commodités (JSON) | 0 % | [] | |
@@ -49,15 +49,15 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 44 trouvées, +0 / ~0 / -5 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:55 — 52 trouvées, +0 / ~52 / -5 | |
| 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** | |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 60 | −- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % | |
| 58 | +- **Annonces en BD** : 78 au total, **63 actives** | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
modified
docs/connecteurs/urban_services.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | 5 | **État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 52/56 |
| 6 | 6 | |
@@ -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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 52 trouvées, +0 / ~0 / -2 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:55 — 52 trouvées, +0 / ~52 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 56 au total, **52 actives** |
| 59 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/utile.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:27 — 28 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:55 — 28 trouvées, +0 / ~28 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 28 au total, **28 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 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 |
| 62 | 62 | |
modified
docs/connecteurs/via_capitale.md
+9 −9
@@ -1,8 +1,8 @@ | ||
| 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Province · Backend : Firecrawl · Annonces actives : 193/211 | |
| 5 | +**État : actif** · Région : Province · Backend : Firecrawl · Annonces actives : 196/213 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,7 +25,7 @@ Via Capitale (viacapitalevendu.com) — LOCATIONS Bannière 100 % québécoise ( | ||
| 25 | 25 | |
| 26 | 26 | ## Champs récupérés → schéma cible |
| 27 | 27 | |
| 28 | −Le connecteur (Firecrawl, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 193 annonces actives ; exemple tiré d'une ligne réelle de la BD. | |
| 28 | +Le connecteur (Firecrawl, pages HTML (rendu serveur)) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 196 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 | |---|---|---|---| |
@@ -39,7 +39,7 @@ Le connecteur (Firecrawl, pages HTML (rendu serveur)) alimente les colonnes de l | ||
| 39 | 39 | | `bathrooms` | Salles de bain | 4 % | — | |
| 40 | 40 | | `area_sqft` | Superficie (pi²) | 4 % | 1207 | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 0 % | — | |
| 42 | −| `lat` | GPS (lat/lng) | 54 % | 46.733574707 | | |
| 42 | +| `lat` | GPS (lat/lng) | 55 % | 46.733574707 | | |
| 43 | 43 | | `description` | Description | 100 % | CESSION DE BAIL -- LE 700 \| SAINT-NICOLAS Superbe unité de 1 207 pi² située au 3e étage … | |
| 44 | 44 | | `images` | Photos (JSON) | 100 % | 14 photo(s) — https://images.viacapitale.info/images/inscriptions/27146731/1-494833980.jpg | |
| 45 | 45 | | `amenities` | Commodités (JSON) | 0 % | [] | |
@@ -49,16 +49,16 @@ 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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:28 — 193 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:56 — 194 trouvées, +2 / ~192 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | −- **Annonces en BD** : 211 au total, **193 actives** | |
| 59 | −- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-17 | |
| 60 | −- **Complétude clé (actives)** : GPS 54 % · prix 100 % · photos 100 % · description 100 % | |
| 61 | −- **Runs journalisés (60 derniers)** : 57, dont 0 en erreur | |
| 58 | +- **Annonces en BD** : 213 au total, **196 actives** | |
| 59 | +- **Première ingestion** : 2026-08-12 · **Dernière observation** : 2026-08-18 | |
| 60 | +- **Complétude clé (actives)** : GPS 55 % · prix 100 % · photos 100 % · description 100 % | |
| 61 | +- **Runs journalisés (60 derniers)** : 58, dont 0 en erreur | |
| 62 | 62 | |
| 63 | 63 | ## Erreurs connues & dépannage |
| 64 | 64 | |
modified
docs/connecteurs/viridi.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:28 — 16 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:56 — 16 trouvées, +0 / ~16 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 17 au total, **16 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 62 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
modified
docs/connecteurs/wandji.md
+11 −11
@@ -1,8 +1,8 @@ | ||
| 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-18 03:30 — 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-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | 4 | |
| 5 | −**État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 25/30 | |
| 5 | +**État : actif** · Région : Outaouais · Backend : direct · Annonces actives : 26/31 | |
| 6 | 6 | |
| 7 | 7 | ## Description de la source |
| 8 | 8 | |
@@ -25,39 +25,39 @@ connecteur Gestion Immobilière Wandji (wandji-immobilier.com — Gatineau : Hul | ||
| 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 25 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 26 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 % | 52 rue Latour | |
| 33 | 33 | | `address` | Adresse civique | 100 % | 52 rue Latour | |
| 34 | 34 | | `city` | Ville (normalisée) | 100 % | Gatineau | |
| 35 | −| `sector` | Secteur / quartier | 68 % | Buckingham | | |
| 35 | +| `sector` | Secteur / quartier | 69 % | Buckingham | | |
| 36 | 36 | | `unit_type` | Type d'unité (3½, 4½…) | 100 % | 4½ | |
| 37 | 37 | | `price` | Loyer mensuel ($) | 100 % | 1 725 $ | |
| 38 | 38 | | `bedrooms` | Chambres | 100 % | 2 | |
| 39 | 39 | | `bathrooms` | Salles de bain | 100 % | 1 | |
| 40 | −| `area_sqft` | Superficie (pi²) | 20 % | — | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 19 % | — | | |
| 41 | 41 | | `availability_date` | Date de disponibilité | 100 % | 2026-07-01 | |
| 42 | 42 | | `lat` | GPS (lat/lng) | 100 % | 45.58538428352824 | |
| 43 | −| `description` | Description | 100 % | Construction neuve à Buckingham. Cet appartement vient avec : - 2 chambres à coucher - 1 … | | |
| 44 | −| `images` | Photos (JSON) | 100 % | 13 photo(s) — https://wandji-immobilier.com/api/buildings/6a0cb851156b6624006cfc29/pictur… | | |
| 43 | +| `description` | Description | 100 % | Magnifique appartement neuf à louer à Buckingham, offrant un design moderne, une belle lu… | | |
| 44 | +| `images` | Photos (JSON) | 100 % | 20 photo(s) — https://wandji-immobilier.com/api/buildings/6a0cb851156b6624006cfc29/pictur… | | |
| 45 | 45 | | `amenities` | Commodités (JSON) | 96 % | ["Stationnement extérieur"] | |
| 46 | −| `details` | Détails additionnels (JSON) | 100 % | {"inclusions": {"heating": false, "electricity": false, "hot_water": false}, "pets": "non… | | |
| 46 | +| `details` | Détails additionnels (JSON) | 100 % | {"inclusions": {"heating": false, "electricity": false, "hot_water": false}, "appliances"… | | |
| 47 | 47 | | `url` | URL de l'annonce source | 100 % | https://wandji-immobilier.com/proprietes#6a0cb851156b6624006cfc29 | |
| 48 | 48 | |
| 49 | 49 | ## Fréquence & budget |
| 50 | 50 | |
| 51 | 51 | - **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:28 — 25 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:56 — 26 trouvées, +1 / ~25 / -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 |
| 56 | 56 | |
| 57 | 57 | ## Volumétrie & complétude |
| 58 | 58 | |
| 59 | −- **Annonces en BD** : 30 au total, **25 actives** | |
| 60 | −- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Annonces en BD** : 31 au total, **26 actives** | |
| 60 | +- **Première ingestion** : 2026-08-09 · **Dernière observation** : 2026-08-18 | |
| 61 | 61 | - **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 % |
| 62 | 62 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 63 | 63 | |
modified
docs/connecteurs/werkliv.md
+3 −3
@@ -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-18 03:30 — 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-18 06:20 — 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,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.0 h |
| 52 | −- **Dernier passage OK** : 2026-08-17 23:28 — 4 trouvées, +0 / ~0 / -0 | |
| 52 | +- **Dernier passage OK** : 2026-08-18 04:56 — 4 trouvées, +0 / ~4 / -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 | |
| 56 | 56 | ## Volumétrie & complétude |
| 57 | 57 | |
| 58 | 58 | - **Annonces en BD** : 4 au total, **4 actives** |
| 59 | −- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-17 | |
| 59 | +- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-18 | |
| 60 | 60 | - **Complétude clé (actives)** : GPS 0 % · prix 100 % · photos 100 % · description 100 % |
| 61 | 61 | - **Runs journalisés (60 derniers)** : 60, dont 0 en erreur |
| 62 | 62 | |
added
docs/connecteurs/zumper.md
+79 −0
@@ -0,0 +1,79 @@ | ||
| 1 | +# Zumper (Québec) — connecteur `zumper` | |
| 2 | + | |
| 3 | +_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 06:20 — ne pas éditer à la main, régénérer._ | |
| 4 | + | |
| 5 | +**État : actif** · Région : Province · Backend : direct · Annonces actives : 4345/4345 | |
| 6 | + | |
| 7 | +## Description de la source | |
| 8 | + | |
| 9 | +Zumper (zumper.com) — portail locatif nord-américain, filtré PROVINCE DE QUÉBEC, en DIRECT (aucun proxy payant). API JSON interne (celle du site) : 1. GET /api/t/1/bundle → cookie `csrftoken` + jeton `csrf` 2. POST /api/t/1/pages/listables → annonces par bbox (en-tête `x-csrftoken`) ; paginé offset/limit, réponse = groupes « immeuble » (fourchettes prix/chambres) et pads individuels, champ `state` filtrable 3. GET /api/t/1/buildings/{id} → fiche immeuble : description, `floorplan_listings` = TOUTES les unités (prix, chambres, sdb, pi², disponibilité) — 1 requête par immeuble, mise en cache BD et invalidée par `modified_on` (le champ bouge quand l'inventaire change). Photos : https://img.zumpercdn.com/{media_id}/1280x960 (vérifié 2026-08-18). ⚠️ Le HTML du site est derrière un « Client Challenge » JS, mais l'API répond en direct avec des en-têtes navigateur + le rituel CSRF ci-dessus. Un 429 ponctuel = throttling : une seule reprise après pause, sinon on laisse le disjoncteur d'ingestion faire son travail. ⚠️ PadMapper (padmapper.com) = MÊME compagnie et MÊME API (`/api/t/1/…`, mêmes listing_id — vérifié 100/100 identiques sur Montréal 2026-08-18) : un seul connecteur suffit, `padmapper` reste dans PORTALS (dédup) au cas où. Recherche par bbox métropolitaines (le slug de ville est fragile, ex. « quebec-city-qc » ne matche rien) + filtre state == QC (Ottawa exclu). | |
| 10 | + | |
| 11 | +- **Site** : https://www.zumper.com | |
| 12 | +- **Page des annonces** : https://www.zumper.com/apartments-for-rent/montreal-qc | |
| 13 | +- **Secteurs couverts** : Grandes régions QC (Montréal/Laval/Longueuil, Québec-Lévis, Gatineau, Sherbrooke, Trois-Rivières, Saguenay, Drummondville, Granby/St-Jean) — API JSON interne en DIRECT (bundle CSRF + pages/listables par bbox + fiches immeubles /buildings), filtre state=QC ; ~3 900 annonces au premier relevé | |
| 14 | +- **Module** : `louka/connectors/zumper.py` — classe `ZumperConnector` | |
| 15 | + | |
| 16 | +## Accès | |
| 17 | + | |
| 18 | +- **Type d'accès** : API JSON interne du site | |
| 19 | +- **Endpoint de base** : https://www.zumper.com | |
| 20 | +- **URLs de départ (constantes du module)** : https://img.zumpercdn.com/{media_id}/1280x960 · https://www.zumper.com · https://img.zumpercdn.com/{}/1280x960 | |
| 21 | +- **Authentification** : aucune — contenu public | |
| 22 | +- **Pagination** : pagination par offset | |
| 23 | +- **Backend anti-bot / rendu** : requests direct (session UA LouKaBot, throttling poli) | |
| 24 | +- **Politesse** : 1.2 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 4345 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 % | 170 René-Lévesque — Studio Promotional Price | | |
| 33 | +| `address` | Adresse civique | 100 % | 170 Boul René-Lévesque E | | |
| 34 | +| `city` | Ville (normalisée) | 100 % | Montréal | | |
| 35 | +| `sector` | Secteur / quartier | 80 % | Quartier Ville-Marie | | |
| 36 | +| `unit_type` | Type d'unité (3½, 4½…) | 100 % | Studio | | |
| 37 | +| `price` | Loyer mensuel ($) | 100 % | 1 440 $ | | |
| 38 | +| `bedrooms` | Chambres | 100 % | 0 | | |
| 39 | +| `bathrooms` | Salles de bain | 100 % | 1 | | |
| 40 | +| `area_sqft` | Superficie (pi²) | 71 % | 391 | | |
| 41 | +| `availability_date` | Date de disponibilité | 21 % | — | | |
| 42 | +| `lat` | GPS (lat/lng) | 100 % | 45.51020505957441 | | |
| 43 | +| `description` | Description | 79 % | 3 Months Free* *Limited time offer. E & OE conditions apply. Advertised price reflects a … | | |
| 44 | +| `images` | Photos (JSON) | 100 % | 8 photo(s) — https://img.zumpercdn.com/907672238/1280x960 | | |
| 45 | +| `amenities` | Commodités (JSON) | 98 % | ["Onsite Laundry", "Air Conditioning", "Dishwasher", "Balcony", "In-Unit Laundry", "Heat"… | | |
| 46 | +| `details` | Détails additionnels (JSON) | 100 % | {"inclusions": {"heating": true, "electricity": true, "hot_water": true}, "appliances": {… | | |
| 47 | +| `url` | URL de l'annonce source | 100 % | https://www.zumper.com/apartment-buildings/p891463/170-rene-levesque-quartier-ville-marie… | | |
| 48 | + | |
| 49 | +## Fréquence & budget | |
| 50 | + | |
| 51 | +- **Cadence observée** (médiane des passages OK, sync_log) : — | |
| 52 | +- **Dernier passage OK** : 2026-08-18 06:19 — 4345 trouvées, +4345 / ~0 / -0 | |
| 53 | +- **Throttling** : 1.2 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** : 4345 au total, **4345 actives** | |
| 59 | +- **Première ingestion** : 2026-08-18 · **Dernière observation** : 2026-08-18 | |
| 60 | +- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 79 % | |
| 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 zumper` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='zumper' 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.2 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-18 — 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`). | |
added
louka/connectors/_livya.py
+241 −0
@@ -0,0 +1,241 @@ | ||
| 1 | +# ----------------------------------------------------------------------------- | |
| 2 | +# Lou-Ka — Agrégateur de logements à louer (province de Québec) | |
| 3 | +# Auteur : Simon-Pierre Boucher — contact@spboucher.ai | |
| 4 | +# connectors/_livya.py : base COMMUNE des connecteurs de gestionnaires servis | |
| 5 | +# par la plateforme Livya (app.livya.com — nouvelle marque de RealVuu). | |
| 6 | +# Généralise le patron éprouvé du connecteur thrace : les pages publiques | |
| 7 | +# /fr/{client}/projects/{slug}/plans sont rendues côté serveur (Next.js) et | |
| 8 | +# leur flux RSC (self.__next_f.push) contient l'inventaire JSON complet — | |
| 9 | +# unités {"unitId": …} (statut, loyer, pièces, chambres/sdb, pi², adresse | |
| 10 | +# civique, GPS, attributs) et immeubles {"buildingId": …}. On n'utilise PAS | |
| 11 | +# api.realvuu.com (robots.txt interdit) ; le sitemap public d'app.livya.com | |
| 12 | +# (robots permissif) découvre les slugs de projets du client. | |
| 13 | +# Sous-classes : définir source_id, client, brand, site_url, default_city | |
| 14 | +# et default_projects (repli si le sitemap casse). Voir atimco.py, cloria.py. | |
| 15 | +# Clients Livya déjà couverts par des connecteurs dédiés antérieurs : thrace | |
| 16 | +# (patron d'origine), somex/louis14/quartier_sila (module « plans »). | |
| 17 | +# ----------------------------------------------------------------------------- | |
| 18 | +from __future__ import annotations | |
| 19 | + | |
| 20 | +import json | |
| 21 | +import re | |
| 22 | + | |
| 23 | +from ..schema import Listing | |
| 24 | +from .base import BaseConnector | |
| 25 | + | |
| 26 | +LIVYA = "https://app.livya.com" | |
| 27 | +SITEMAP = f"{LIVYA}/server-sitemap.xml" | |
| 28 | + | |
| 29 | +# fragments RSC de Next.js : self.__next_f.push([1,"…"]) | |
| 30 | +_FLIGHT_RE = re.compile(r'self\.__next_f\.push\(\[1,"((?:[^"\\]|\\.)*)"\]\)') | |
| 31 | +# immeuble du flux : buildingId, name et slug (ordre des champs stable) | |
| 32 | +_BUILDING_RE = re.compile( | |
| 33 | + r'\{"buildingId":"([0-9a-f-]+)","projectId":"[0-9a-f-]+",' | |
| 34 | + r'"phaseId":[^,]*,"name":"([^"]*)","shortName":"[^"]*","slug":"([^"]*)"') | |
| 35 | + | |
| 36 | + | |
| 37 | +def _flight_blob(html: str) -> str: | |
| 38 | + """Concatène et décode les fragments RSC d'une page Livya (JSON en clair).""" | |
| 39 | + return "".join(json.loads(f'"{c}"') for c in _FLIGHT_RE.findall(html)) | |
| 40 | + | |
| 41 | + | |
| 42 | +def _unit_type(rooms) -> str: | |
| 43 | + """3.5 -> « 3½ » ; < 1 -> « Studio » (finalize gère 6½+).""" | |
| 44 | + try: | |
| 45 | + r = float(rooms or 0) | |
| 46 | + except (TypeError, ValueError): | |
| 47 | + return "" | |
| 48 | + if not r: | |
| 49 | + return "" | |
| 50 | + if r < 1: | |
| 51 | + return "Studio" | |
| 52 | + return f"{int(r)}½" | |
| 53 | + | |
| 54 | + | |
| 55 | +class LivyaConnector(BaseConnector): | |
| 56 | + """Base abstraite (source_id vide = non enregistrée par le registre).""" | |
| 57 | + | |
| 58 | + source_id = "" | |
| 59 | + request_delay = 0.8 | |
| 60 | + max_units = 1500 # garde-fou global | |
| 61 | + | |
| 62 | + client = "" # slug Livya du gestionnaire | |
| 63 | + brand = "" # préfixe des titres d'annonces | |
| 64 | + site_url = "" # site public du gestionnaire (référence) | |
| 65 | + default_city = "" # repli si l'unité n'a pas de ville | |
| 66 | + default_projects: list[str] = [] # repli si le sitemap casse | |
| 67 | + | |
| 68 | + # -- découverte des projets ------------------------------------------------ | |
| 69 | + def _project_slugs(self) -> list[str]: | |
| 70 | + """Slugs des projets du client dans le sitemap public d'app.livya.com.""" | |
| 71 | + try: | |
| 72 | + xml = self.get(SITEMAP).text | |
| 73 | + except Exception: | |
| 74 | + return list(self.default_projects) | |
| 75 | + slugs = list(dict.fromkeys(re.findall( | |
| 76 | + rf"{LIVYA}/fr/{re.escape(self.client)}/proj(?:ets|ects)/" | |
| 77 | + rf"([a-z0-9-]+)<", xml))) | |
| 78 | + return slugs or list(self.default_projects) | |
| 79 | + | |
| 80 | + # -- extraction du flux RSC -------------------------------------------------- | |
| 81 | + @staticmethod | |
| 82 | + def _units(blob: str) -> list[dict]: | |
| 83 | + """Objets unité complets ({"unitId": …}) du flux, dédoublonnés.""" | |
| 84 | + dec = json.JSONDecoder() | |
| 85 | + seen: set[str] = set() | |
| 86 | + units: list[dict] = [] | |
| 87 | + for m in re.finditer(r'\{"unitId"', blob): | |
| 88 | + try: | |
| 89 | + obj, _ = dec.raw_decode(blob[m.start():m.start() + 60000]) | |
| 90 | + except Exception: | |
| 91 | + continue | |
| 92 | + uid = obj.get("unitId") | |
| 93 | + if uid and uid not in seen and obj.get("number"): | |
| 94 | + seen.add(uid) | |
| 95 | + units.append(obj) | |
| 96 | + return units | |
| 97 | + | |
| 98 | + def fetch(self) -> list[Listing]: | |
| 99 | + units: dict[str, tuple[dict, str]] = {} # unitId -> (unité, slug) | |
| 100 | + buildings: dict[str, tuple[str, str]] = {} # id -> (nom, slug) | |
| 101 | + for slug in self._project_slugs(): | |
| 102 | + try: | |
| 103 | + html = self.get(f"{LIVYA}/fr/{self.client}/projects/{slug}/plans", | |
| 104 | + params={"noLayout": "1"}).text | |
| 105 | + except Exception: | |
| 106 | + continue # un projet cassé ne bloque pas | |
| 107 | + blob = _flight_blob(html) | |
| 108 | + for u in self._units(blob): | |
| 109 | + units.setdefault(u["unitId"], (u, slug)) | |
| 110 | + for bid, name, bslug in _BUILDING_RE.findall(blob): | |
| 111 | + buildings.setdefault(bid, (name, bslug)) | |
| 112 | + | |
| 113 | + listings: list[Listing] = [] | |
| 114 | + for u, slug in list(units.values())[: self.max_units]: | |
| 115 | + if (u.get("availability") or "").upper() != "AVAILABLE": | |
| 116 | + continue | |
| 117 | + if not u.get("rental", True): | |
| 118 | + continue # unités en vente | |
| 119 | + if (u.get("segment") or "").upper() != "RESIDENTIAL": | |
| 120 | + continue # locaux commerciaux exclus | |
| 121 | + if (u.get("stateCode") or "QC").upper() != "QC": | |
| 122 | + continue # garde-fou province (Chartwell & cie) | |
| 123 | + listings.append(self._listing(u, slug, buildings)) | |
| 124 | + return listings | |
| 125 | + | |
| 126 | + # -- une annonce par unité disponible ---------------------------------------- | |
| 127 | + def _listing(self, u: dict, slug: str, | |
| 128 | + buildings: dict[str, tuple[str, str]]) -> Listing: | |
| 129 | + num = str(u.get("number") or "").strip() | |
| 130 | + bname, _bslug = buildings.get(u.get("buildingId") or "", ("", "")) | |
| 131 | + | |
| 132 | + url = f"{LIVYA}/fr/{self.client}/projects/{slug}/plans" | |
| 133 | + title = (f"{self.brand} ({bname}) — unité {num}" if bname | |
| 134 | + else f"{self.brand} — unité {num}") | |
| 135 | + | |
| 136 | + address = ", ".join(x for x in ( | |
| 137 | + (u.get("address") or "").strip(), (u.get("city") or "").strip(), | |
| 138 | + (u.get("postalCode") or "").strip()) if x) | |
| 139 | + | |
| 140 | + price = u.get("rentalPrice") | |
| 141 | + price = (float(price) | |
| 142 | + if isinstance(price, (int, float)) and price > 1 else None) | |
| 143 | + from_price = False | |
| 144 | + if price is None: # prix « à partir de » (préloc/promo) | |
| 145 | + base = u.get("startingAtRentalPrice") | |
| 146 | + if (u.get("startingAtRental") | |
| 147 | + and isinstance(base, (int, float)) and base > 1): | |
| 148 | + price, from_price = float(base), True | |
| 149 | + | |
| 150 | + # disponibilité : date de libération future publiée, sinon « Disponible » | |
| 151 | + availability = "Disponible" | |
| 152 | + avail_date = None | |
| 153 | + fut = u.get("futureAvailability") or {} | |
| 154 | + starts = str(fut.get("startsOn") or "")[:10] | |
| 155 | + if re.fullmatch(r"20\d{2}-\d{2}-\d{2}", starts): | |
| 156 | + avail_date = starts | |
| 157 | + availability = f"Disponible à partir du {starts}" | |
| 158 | + | |
| 159 | + # superficie structurée (measurementSystem IMPERIAL -> déjà en pi²) | |
| 160 | + area = None | |
| 161 | + if (u.get("measurementSystem") or "IMPERIAL").upper() == "IMPERIAL": | |
| 162 | + size = u.get("unitSize") | |
| 163 | + if isinstance(size, (int, float)) and size > 0: | |
| 164 | + area = float(size) | |
| 165 | + | |
| 166 | + amenities = [a["name"] for a in (u.get("attributes") or []) | |
| 167 | + if isinstance(a, dict) and a.get("name")] | |
| 168 | + | |
| 169 | + desc: list[str] = [] | |
| 170 | + floor_disp = str(u.get("floorDisplayName") or "").strip() | |
| 171 | + if floor_disp: | |
| 172 | + desc.append(floor_disp) | |
| 173 | + if u.get("typeName"): | |
| 174 | + desc.append(f"Modèle {u['typeName']}") | |
| 175 | + if u.get("roomsBed"): | |
| 176 | + desc.append(f"{u['roomsBed']} chambre(s)") | |
| 177 | + if u.get("roomsBath"): | |
| 178 | + desc.append(f"{u['roomsBath']} salle(s) de bain") | |
| 179 | + if u.get("balconySize"): | |
| 180 | + desc.append(f"Balcon de {u['balconySize']} pi²") | |
| 181 | + precision = str(u.get("pricePrecision") or "").strip() | |
| 182 | + if precision: | |
| 183 | + desc.append(precision) | |
| 184 | + libre = str(u.get("description") or "").strip() | |
| 185 | + if libre: | |
| 186 | + desc.append(libre) | |
| 187 | + if u.get("floorPlanUrl"): | |
| 188 | + desc.append(f"Plan : {u['floorPlanUrl']}") | |
| 189 | + | |
| 190 | + details: dict = {"gestionnaire": self.site_url or self.brand} | |
| 191 | + if bname: | |
| 192 | + details["building"] = bname | |
| 193 | + floor_no = str(u.get("floorNumber") or "") | |
| 194 | + if floor_no.isdigit(): | |
| 195 | + details["floor"] = int(floor_no) | |
| 196 | + | |
| 197 | + images = [img.get("fullUrl") for img in (u.get("typeImages") or []) | |
| 198 | + if isinstance(img, dict) and img.get("fullUrl")] | |
| 199 | + if u.get("floorPlanImageUrl"): | |
| 200 | + images.append(u["floorPlanImageUrl"]) | |
| 201 | + | |
| 202 | + try: | |
| 203 | + lat = float(u["latitude"]) if u.get("latitude") else None | |
| 204 | + lng = float(u["longitude"]) if u.get("longitude") else None | |
| 205 | + except (TypeError, ValueError): | |
| 206 | + lat = lng = None | |
| 207 | + | |
| 208 | + beds = u.get("roomsBed") | |
| 209 | + baths = u.get("roomsBath") | |
| 210 | + if baths is not None and u.get("roomsWater"): | |
| 211 | + try: | |
| 212 | + baths = float(baths) + 0.5 * float(u["roomsWater"]) | |
| 213 | + except (TypeError, ValueError): | |
| 214 | + pass | |
| 215 | + | |
| 216 | + return Listing( | |
| 217 | + source=self.source_id, | |
| 218 | + external_id=str(u["unitId"]), # UUID Livya : stable | |
| 219 | + url=url, | |
| 220 | + title=title, | |
| 221 | + address=address, | |
| 222 | + sector="", # non exposé par le flux | |
| 223 | + city=(u.get("city") or "").strip() or self.default_city, | |
| 224 | + unit_type=_unit_type(u.get("rooms")), | |
| 225 | + bedrooms=(float(beds) | |
| 226 | + if isinstance(beds, (int, float)) and beds else None), | |
| 227 | + bathrooms=(float(baths) | |
| 228 | + if isinstance(baths, (int, float)) and baths else None), | |
| 229 | + price=price, | |
| 230 | + price_label=((f"à partir de {price:.0f} $ /mois" if from_price | |
| 231 | + else f"{price:.0f} $ /mois") if price else ""), | |
| 232 | + availability=availability, | |
| 233 | + availability_date=avail_date, | |
| 234 | + area_sqft=area, | |
| 235 | + description=" | ".join(desc), | |
| 236 | + amenities=amenities, | |
| 237 | + details=details, | |
| 238 | + images=images[:12], | |
| 239 | + lat=lat, | |
| 240 | + lng=lng, | |
| 241 | + ) | |
added
louka/connectors/atimco.py
+31 −0
@@ -0,0 +1,31 @@ | ||
| 1 | +# ----------------------------------------------------------------------------- | |
| 2 | +# Lou-Ka — Agrégateur de logements à louer (province de Québec) | |
| 3 | +# Auteur : Simon-Pierre Boucher — contact@spboucher.ai | |
| 4 | +# connectors/atimco.py : connecteur Atimco (atimco.ca) — gestionnaire familial | |
| 5 | +# de la Rive-Sud/Montérégie (siège à Longueuil) : ~18 projets locatifs à | |
| 6 | +# Longueuil, Chambly, Châteauguay, Saint-Jean-sur-Richelieu, Saint-Constant, | |
| 7 | +# Sorel-Tracy, Cowansville, Mont-Tremblant… (~1 000 unités publiées, ~300 | |
| 8 | +# disponibles au relevé 2026-08-18). Inventaire servi par Livya (ex-RealVuu), | |
| 9 | +# même patron que thrace : voir _livya.py (flux RSC des pages plans). | |
| 10 | +# ----------------------------------------------------------------------------- | |
| 11 | +from __future__ import annotations | |
| 12 | + | |
| 13 | +from ._livya import LivyaConnector | |
| 14 | + | |
| 15 | + | |
| 16 | +class AtimcoConnector(LivyaConnector): | |
| 17 | + source_id = "atimco" | |
| 18 | + client = "atimco" | |
| 19 | + brand = "Atimco" | |
| 20 | + site_url = "https://www.atimco.ca" | |
| 21 | + default_city = "Longueuil" | |
| 22 | + # repli si le sitemap public d'app.livya.com casse (relevé 2026-08-18) | |
| 23 | + default_projects = [ | |
| 24 | + "100-curee-poirier-ouest-longueuil", "150-church-cowansville", | |
| 25 | + "20-gilmour-chateauguay", "201-st-george-stjr", | |
| 26 | + "3055-grande-allee-longueuil", "41-saint-charles-nord", | |
| 27 | + "67-des-bouleaux-saint-constant", "8784-chaumont-sorel-tracy", | |
| 28 | + "atimco", "clasiro", "condos-locatifs-luma-longueuil", "le-lionel", | |
| 29 | + "levizio", "luma-st-constant", "mira-chambly", "mira-tremblay", | |
| 30 | + "novo", "oliv", | |
| 31 | + ] | |
added
louka/connectors/simplex.py
+127 −0
@@ -0,0 +1,127 @@ | ||
| 1 | +# ----------------------------------------------------------------------------- | |
| 2 | +# Lou-Ka — Agrégateur de logements à louer (province de Québec) | |
| 3 | +# Auteur : Simon-Pierre Boucher — contact@spboucher.ai | |
| 4 | +# connectors/simplex.py : connecteur Simplex Immobilier (simpleximmobilier.com) | |
| 5 | +# — agence/gestionnaire de ~600 logements à Trois-Rivières, Shawinigan et en | |
| 6 | +# Mauricie (~25-30 annonces publiées à la fois). Site Astro dont le catalogue | |
| 7 | +# vit dans un Supabase public : la RPC `get_public_rental_listings_page` | |
| 8 | +# (clé publiable `sb_publishable_…` embarquée dans le bundle JS du site) | |
| 9 | +# retourne TOUT en 1-2 requêtes JSON : titre, ville/secteur, type d'unité, | |
| 10 | +# chambres/sdb, loyer, statut (available/coming_soon/reserved/rented), | |
| 11 | +# date de disponibilité, description, inclusions, animaux, stationnement, | |
| 12 | +# photos (bucket public `rental-listing-media`). | |
| 13 | +# ⚠️ Aucune adresse civique publiée (même la RPC détail n'en expose pas) : | |
| 14 | +# ville/secteur seulement, donc pas de géocodage fin possible. | |
| 15 | +# ----------------------------------------------------------------------------- | |
| 16 | +from __future__ import annotations | |
| 17 | + | |
| 18 | +import json | |
| 19 | +import os | |
| 20 | + | |
| 21 | +from ..schema import Listing | |
| 22 | +from .base import BaseConnector | |
| 23 | + | |
| 24 | +SB_URL = "https://tyrzkvwbiaadajwopdrj.supabase.co" | |
| 25 | +RPC_URL = f"{SB_URL}/rest/v1/rpc/get_public_rental_listings_page" | |
| 26 | +STORAGE_URL = f"{SB_URL}/storage/v1/object/public" | |
| 27 | +SITE = "https://simpleximmobilier.com" | |
| 28 | +# clé PUBLIABLE (anon) du site — surchargeable si Simplex la fait tourner | |
| 29 | +API_KEY = os.environ.get( | |
| 30 | + "LOUKA_SIMPLEX_KEY", "sb_publishable_HT7wke-8-o_TUxMUeLjWbw_wsVK1FC4") | |
| 31 | + | |
| 32 | +PAGE = 100 | |
| 33 | +_KEEP = {"available", "coming_soon"} | |
| 34 | +_STATUS_FR = {"available": "Disponible", "coming_soon": "Bientôt disponible"} | |
| 35 | +_PETS = {"oui": "oui", "non": "non"} | |
| 36 | + | |
| 37 | + | |
| 38 | +class SimplexConnector(BaseConnector): | |
| 39 | + source_id = "simplex" | |
| 40 | + request_delay = 0.8 | |
| 41 | + | |
| 42 | + def _rpc(self, offset: int) -> list[dict]: | |
| 43 | + resp = self.post(RPC_URL, data=json.dumps({ | |
| 44 | + "p_search": None, "p_status": None, "p_location": None, | |
| 45 | + "p_unit_type": None, "p_max_price": None, "p_pets": None, | |
| 46 | + "p_parking": None, "p_sort": "recommended", | |
| 47 | + "p_offset": offset, "p_limit": PAGE, | |
| 48 | + }), headers={"apikey": API_KEY, | |
| 49 | + "Authorization": f"Bearer {API_KEY}", | |
| 50 | + "Content-Type": "application/json"}) | |
| 51 | + data = resp.json() | |
| 52 | + return data if isinstance(data, list) else [] | |
| 53 | + | |
| 54 | + def fetch(self) -> list[Listing]: | |
| 55 | + rows: list[dict] = [] | |
| 56 | + offset = 0 | |
| 57 | + while True: | |
| 58 | + batch = self._rpc(offset) | |
| 59 | + rows.extend(batch) | |
| 60 | + total = batch[0].get("total_count", 0) if batch else 0 | |
| 61 | + offset += PAGE | |
| 62 | + if not batch or offset >= total: | |
| 63 | + break | |
| 64 | + listings: dict[str, Listing] = {} | |
| 65 | + for row in rows: | |
| 66 | + if row.get("availability_status") not in _KEEP: | |
| 67 | + continue | |
| 68 | + lst = self._listing(row) | |
| 69 | + if lst and lst.uid not in listings: | |
| 70 | + listings[lst.uid] = lst | |
| 71 | + return list(listings.values()) | |
| 72 | + | |
| 73 | + def _images(self, row: dict) -> list[str]: | |
| 74 | + media = sorted(row.get("media") or [], | |
| 75 | + key=lambda m: (not m.get("isPrimary"), | |
| 76 | + m.get("sortOrder") or 0)) | |
| 77 | + out = [] | |
| 78 | + for m in media: | |
| 79 | + if m.get("bucket") and m.get("path"): | |
| 80 | + out.append(f"{STORAGE_URL}/{m['bucket']}/{m['path']}") | |
| 81 | + for p in [row.get("primary_image_path"), | |
| 82 | + *(row.get("gallery_paths") or [])]: | |
| 83 | + if p and p.startswith("http") and p not in out: | |
| 84 | + out.append(p) | |
| 85 | + return out[:20] | |
| 86 | + | |
| 87 | + def _listing(self, row: dict) -> Listing | None: | |
| 88 | + price = row.get("rent_amount") | |
| 89 | + status = row.get("availability_status") or "" | |
| 90 | + avail_txt = _STATUS_FR.get(status, "") | |
| 91 | + avail_date = (row.get("available_from") or "")[:10] | |
| 92 | + if status == "coming_soon" and avail_date: | |
| 93 | + avail_txt = f"{avail_txt} — à compter du {avail_date}" | |
| 94 | + pets_raw = (row.get("pets_policy") or "").strip().lower() | |
| 95 | + amen = [a for a in (row.get("inclusions") or []) + | |
| 96 | + (row.get("features") or []) + (row.get("labels") or []) if a] | |
| 97 | + details = {} | |
| 98 | + if row.get("parking"): | |
| 99 | + details["stationnement"] = str(row["parking"]).strip() | |
| 100 | + if row.get("public_reference"): | |
| 101 | + details["référence"] = row["public_reference"] | |
| 102 | + if row.get("rent_note"): | |
| 103 | + details["note loyer"] = row["rent_note"] | |
| 104 | + return Listing( | |
| 105 | + source=self.source_id, | |
| 106 | + external_id=str(row.get("id") or row.get("slug")), | |
| 107 | + url=f"{SITE}/logements-a-louer/{row.get('slug', '')}/", | |
| 108 | + title=(row.get("title") or "").strip(), | |
| 109 | + sector=(row.get("sector") or "").strip(), | |
| 110 | + city=(row.get("city") or "").strip(), | |
| 111 | + unit_type=(row.get("unit_type") or "").strip(), | |
| 112 | + bedrooms=(float(row["bedrooms"]) | |
| 113 | + if row.get("bedrooms") is not None else None), | |
| 114 | + bathrooms=(float(row["bathrooms"]) | |
| 115 | + if row.get("bathrooms") is not None else None), | |
| 116 | + price=float(price) if price else None, | |
| 117 | + price_label=(f"{price:,.0f} $/mois".replace(",", " ") | |
| 118 | + if price else ""), | |
| 119 | + availability=avail_txt, | |
| 120 | + availability_date=("now" if status == "available" | |
| 121 | + else (avail_date or None)), | |
| 122 | + pets=_PETS.get(pets_raw.rstrip(" .!")), | |
| 123 | + description=(row.get("description") or "")[:2000], | |
| 124 | + amenities=amen[:30], | |
| 125 | + details=details, | |
| 126 | + images=self._images(row), | |
| 127 | + ) | |
added
louka/connectors/zumper.py
+313 −0
@@ -0,0 +1,313 @@ | ||
| 1 | +# ----------------------------------------------------------------------------- | |
| 2 | +# Lou-Ka — Agrégateur de logements à louer (province de Québec) | |
| 3 | +# Auteur : Simon-Pierre Boucher — contact@spboucher.ai | |
| 4 | +# connectors/zumper.py : Zumper (zumper.com) — portail locatif nord-américain, | |
| 5 | +# filtré PROVINCE DE QUÉBEC, en DIRECT (aucun proxy payant). | |
| 6 | +# API JSON interne (celle du site) : | |
| 7 | +# 1. GET /api/t/1/bundle → cookie `csrftoken` + jeton `csrf` | |
| 8 | +# 2. POST /api/t/1/pages/listables → annonces par bbox (en-tête | |
| 9 | +# `x-csrftoken`) ; paginé offset/limit, réponse = groupes « immeuble » | |
| 10 | +# (fourchettes prix/chambres) et pads individuels, champ `state` filtrable | |
| 11 | +# 3. GET /api/t/1/buildings/{id} → fiche immeuble : description, | |
| 12 | +# `floorplan_listings` = TOUTES les unités (prix, chambres, sdb, pi², | |
| 13 | +# disponibilité) — 1 requête par immeuble, mise en cache BD et invalidée | |
| 14 | +# par `modified_on` (le champ bouge quand l'inventaire change). | |
| 15 | +# Photos : https://img.zumpercdn.com/{media_id}/1280x960 (vérifié 2026-08-18). | |
| 16 | +# ⚠️ Le HTML du site est derrière un « Client Challenge » JS, mais l'API | |
| 17 | +# répond en direct avec des en-têtes navigateur + le rituel CSRF ci-dessus. | |
| 18 | +# Un 429 ponctuel = throttling : une seule reprise après pause, sinon on | |
| 19 | +# laisse le disjoncteur d'ingestion faire son travail. | |
| 20 | +# ⚠️ PadMapper (padmapper.com) = MÊME compagnie et MÊME API (`/api/t/1/…`, | |
| 21 | +# mêmes listing_id — vérifié 100/100 identiques sur Montréal 2026-08-18) : | |
| 22 | +# un seul connecteur suffit, `padmapper` reste dans PORTALS (dédup) au cas où. | |
| 23 | +# Recherche par bbox métropolitaines (le slug de ville est fragile, ex. | |
| 24 | +# « quebec-city-qc » ne matche rien) + filtre state == QC (Ottawa exclu). | |
| 25 | +# ----------------------------------------------------------------------------- | |
| 26 | +from __future__ import annotations | |
| 27 | + | |
| 28 | +import json | |
| 29 | +import os | |
| 30 | +import time | |
| 31 | + | |
| 32 | +from ..schema import Listing | |
| 33 | +from .base import BaseConnector | |
| 34 | + | |
| 35 | +BASE = "https://www.zumper.com" | |
| 36 | +BUNDLE_URL = f"{BASE}/api/t/1/bundle" | |
| 37 | +LISTABLES_URL = f"{BASE}/api/t/1/pages/listables" | |
| 38 | +BUILDING_URL = f"{BASE}/api/t/1/buildings/{{}}" | |
| 39 | +IMG_URL = "https://img.zumpercdn.com/{}/1280x960" | |
| 40 | + | |
| 41 | +# bbox des régions QC couvertes : nom -> (minLat, maxLat, minLng, maxLng) | |
| 42 | +# surchargeable : LOUKA_ZUMPER_REGIONS="nom:minLat,maxLat,minLng,maxLng;…" | |
| 43 | +_DEFAULT_REGIONS = { | |
| 44 | + "montreal": (45.30, 45.80, -74.10, -73.20), # inclut Laval/Longueuil | |
| 45 | + "quebec-levis": (46.65, 47.00, -71.55, -71.00), | |
| 46 | + "gatineau": (45.35, 45.75, -76.10, -75.40), # state==QC exclut Ottawa | |
| 47 | + "sherbrooke": (45.25, 45.55, -72.10, -71.70), | |
| 48 | + "trois-rivieres": (46.25, 46.50, -72.75, -72.40), | |
| 49 | + "saguenay": (48.30, 48.55, -71.35, -70.90), | |
| 50 | + "drummondville": (45.80, 45.95, -72.60, -72.40), | |
| 51 | + "granby-stjean": (45.20, 45.45, -73.35, -72.60), | |
| 52 | +} | |
| 53 | + | |
| 54 | + | |
| 55 | +def _regions() -> dict[str, tuple[float, float, float, float]]: | |
| 56 | + raw = os.environ.get("LOUKA_ZUMPER_REGIONS", "") | |
| 57 | + if not raw.strip(): | |
| 58 | + return _DEFAULT_REGIONS | |
| 59 | + out = {} | |
| 60 | + for part in raw.split(";"): | |
| 61 | + if ":" not in part: | |
| 62 | + continue | |
| 63 | + name, coords = part.split(":", 1) | |
| 64 | + try: | |
| 65 | + a, b, c, d = (float(x) for x in coords.split(",")) | |
| 66 | + out[name.strip()] = (a, b, c, d) | |
| 67 | + except ValueError: | |
| 68 | + continue | |
| 69 | + return out or _DEFAULT_REGIONS | |
| 70 | + | |
| 71 | + | |
| 72 | +PAGE_SIZE = int(os.environ.get("LOUKA_ZUMPER_PAGE_SIZE", "100")) | |
| 73 | +MAX_PER_REGION = int(os.environ.get("LOUKA_ZUMPER_MAX_PER_REGION", "1500")) | |
| 74 | +# budget de fiches immeuble (vraies requêtes) par synchronisation — le cache BD | |
| 75 | +# (clé modified_on) absorbe l'essentiel après le premier passage | |
| 76 | +DETAIL_LIMIT = int(os.environ.get("LOUKA_ZUMPER_DETAIL_LIMIT", "150")) | |
| 77 | + | |
| 78 | + | |
| 79 | +def _unit_type_from_bedrooms(bedrooms) -> str: | |
| 80 | + if bedrooms is None: | |
| 81 | + return "" | |
| 82 | + try: | |
| 83 | + n = int(float(bedrooms)) | |
| 84 | + except (TypeError, ValueError): | |
| 85 | + return "" | |
| 86 | + if n <= 0: | |
| 87 | + return "Studio" | |
| 88 | + pieces = n + 2 # convention QC : n ch. -> (n+2)½ | |
| 89 | + return "6½+" if pieces >= 6 else f"{pieces}½" | |
| 90 | + | |
| 91 | + | |
| 92 | +class ZumperConnector(BaseConnector): | |
| 93 | + source_id = "zumper" | |
| 94 | + request_delay = 1.2 | |
| 95 | + | |
| 96 | + def __init__(self) -> None: | |
| 97 | + super().__init__() | |
| 98 | + self._csrf = "" | |
| 99 | + self.session.headers.update({ | |
| 100 | + "Accept": "application/json", | |
| 101 | + "Origin": BASE, | |
| 102 | + "Referer": f"{BASE}/apartments-for-rent/montreal-qc", | |
| 103 | + }) | |
| 104 | + | |
| 105 | + # -- rituel CSRF ----------------------------------------------------------- | |
| 106 | + def _bootstrap(self) -> None: | |
| 107 | + data = self.get(BUNDLE_URL).json() | |
| 108 | + self._csrf = data.get("csrf") or "" | |
| 109 | + if not self._csrf: | |
| 110 | + raise RuntimeError("zumper: jeton csrf absent du bundle") | |
| 111 | + | |
| 112 | + def _api(self, method: str, url: str, payload: dict | None = None) -> dict: | |
| 113 | + """Appel API avec en-tête CSRF + une reprise sur 429/403 (rebootstrap).""" | |
| 114 | + if not self._csrf: | |
| 115 | + self._bootstrap() | |
| 116 | + headers = {"x-csrftoken": self._csrf, | |
| 117 | + "content-type": "application/json"} | |
| 118 | + for attempt in (1, 2): | |
| 119 | + try: | |
| 120 | + if method == "POST": | |
| 121 | + resp = self.post(url, data=json.dumps(payload or {}), | |
| 122 | + headers=headers) | |
| 123 | + else: | |
| 124 | + resp = self.get(url, headers=headers) | |
| 125 | + return resp.json() | |
| 126 | + except Exception as exc: | |
| 127 | + code = getattr(getattr(exc, "response", None), | |
| 128 | + "status_code", None) | |
| 129 | + if attempt == 1 and code in (403, 429): | |
| 130 | + time.sleep(30 if code == 429 else 3) | |
| 131 | + self._bootstrap() | |
| 132 | + headers["x-csrftoken"] = self._csrf | |
| 133 | + continue | |
| 134 | + raise | |
| 135 | + return {} | |
| 136 | + | |
| 137 | + # -- collecte -------------------------------------------------------------- | |
| 138 | + def fetch(self) -> list[Listing]: | |
| 139 | + rows: dict[int, dict] = {} | |
| 140 | + for name, (min_lat, max_lat, min_lng, max_lng) in _regions().items(): | |
| 141 | + offset = 0 | |
| 142 | + while offset < MAX_PER_REGION: | |
| 143 | + data = self._api("POST", LISTABLES_URL, { | |
| 144 | + "external": True, "longTerm": True, "shortTerm": False, | |
| 145 | + "minPrice": 0, "transits": {}, | |
| 146 | + "minLat": min_lat, "maxLat": max_lat, | |
| 147 | + "minLng": min_lng, "maxLng": max_lng, | |
| 148 | + "limit": PAGE_SIZE, "offset": offset, | |
| 149 | + "matching": True, "excludeGroupIds": [], | |
| 150 | + "ignorePopular": True, "descriptionLength": 0, | |
| 151 | + }) | |
| 152 | + batch = data.get("listables") or [] | |
| 153 | + for row in batch: | |
| 154 | + lid = row.get("listing_id") | |
| 155 | + if lid and row.get("state") == "QC": | |
| 156 | + rows.setdefault(int(lid), row) | |
| 157 | + total = data.get("matching") or 0 | |
| 158 | + offset += PAGE_SIZE | |
| 159 | + if not batch or offset >= total: | |
| 160 | + break | |
| 161 | + | |
| 162 | + listings: dict[str, Listing] = {} | |
| 163 | + budget = DETAIL_LIMIT | |
| 164 | + for row in rows.values(): | |
| 165 | + multi = (row.get("floorplan_count") or 1) > 1 or ( | |
| 166 | + row.get("min_price") != row.get("max_price")) | |
| 167 | + building_id = row.get("building_id") | |
| 168 | + expanded = False | |
| 169 | + if multi and building_id: | |
| 170 | + payload, budget = self._building_units(row, budget) | |
| 171 | + for unit in (payload or {}).get("floorplans", []): | |
| 172 | + lst = self._unit_listing(row, unit, payload) | |
| 173 | + if lst and lst.uid not in listings: | |
| 174 | + listings[lst.uid] = lst | |
| 175 | + expanded = True | |
| 176 | + if not expanded: | |
| 177 | + lst = self._row_listing(row) | |
| 178 | + if lst and lst.uid not in listings: | |
| 179 | + listings[lst.uid] = lst | |
| 180 | + return list(listings.values()) | |
| 181 | + | |
| 182 | + # -- fiche immeuble (cache BD, clé modified_on) ----------------------------- | |
| 183 | + def _building_units(self, row: dict, budget: int) -> tuple[dict | None, int]: | |
| 184 | + building_id = row["building_id"] | |
| 185 | + key = f"m{row.get('modified_on') or 0}" | |
| 186 | + from .. import db | |
| 187 | + if self._detail_con is None: | |
| 188 | + self._detail_con = db.connect() | |
| 189 | + cached = db.get_cached_detail(self._detail_con, self.source_id, | |
| 190 | + f"b{building_id}", key) | |
| 191 | + if cached is not None: | |
| 192 | + return cached, budget | |
| 193 | + if budget <= 0: | |
| 194 | + return None, budget | |
| 195 | + budget -= 1 | |
| 196 | + try: | |
| 197 | + data = self._api("GET", BUILDING_URL.format(building_id)) | |
| 198 | + except Exception: | |
| 199 | + return None, budget | |
| 200 | + fps = [] | |
| 201 | + for fp in data.get("floorplan_listings") or []: | |
| 202 | + if fp.get("listing_status") not in (None, 1): | |
| 203 | + continue | |
| 204 | + fps.append({ | |
| 205 | + "listing_id": fp.get("listing_id"), | |
| 206 | + "title": fp.get("title") or "", | |
| 207 | + "price": fp.get("min_price") or fp.get("price"), | |
| 208 | + "max_price": fp.get("max_price"), | |
| 209 | + "bedrooms": fp.get("bedrooms"), | |
| 210 | + "bathrooms": fp.get("bathrooms"), | |
| 211 | + "half_bathrooms": fp.get("half_bathrooms"), | |
| 212 | + "square_feet": fp.get("square_feet"), | |
| 213 | + "date_available": fp.get("date_available"), | |
| 214 | + "image_ids": [m.get("media_id") for m in fp.get("media") or [] | |
| 215 | + if m.get("media_type") == 1][:8], | |
| 216 | + }) | |
| 217 | + payload = {"floorplans": fps, | |
| 218 | + "description": (data.get("description") or "")[:2000], | |
| 219 | + "year_built": data.get("year_built"), | |
| 220 | + "homepage": data.get("homepage")} | |
| 221 | + db.put_cached_detail(self._detail_con, self.source_id, | |
| 222 | + f"b{building_id}", key, payload) | |
| 223 | + return payload, budget | |
| 224 | + | |
| 225 | + # -- constructions ---------------------------------------------------------- | |
| 226 | + def _common(self, row: dict) -> dict: | |
| 227 | + amen = list(dict.fromkeys((row.get("amenity_tags") or []) + | |
| 228 | + (row.get("building_amenity_tags") or []))) | |
| 229 | + details = {k: row[k] for k in ("neighborhood_name", "brokerage_name", | |
| 230 | + "building_name", "zipcode") | |
| 231 | + if row.get(k)} | |
| 232 | + return {"amenities": amen[:40], "details": details} | |
| 233 | + | |
| 234 | + def _url(self, row: dict) -> str: | |
| 235 | + path = row.get("url") or "" | |
| 236 | + if path.startswith("/"): | |
| 237 | + return f"{BASE}{path}" | |
| 238 | + if row.get("pb_url"): | |
| 239 | + return f"{BASE}/apartment-buildings/p{row.get('pb_id')}/{row['pb_url']}" | |
| 240 | + return f"{BASE}/apartments-for-rent/montreal-qc" | |
| 241 | + | |
| 242 | + def _unit_listing(self, row: dict, unit: dict, payload: dict) -> Listing | None: | |
| 243 | + price = unit.get("price") | |
| 244 | + if not price or price < 200: | |
| 245 | + return None | |
| 246 | + ext_id = str(unit.get("listing_id") or | |
| 247 | + f"{row['building_id']}-{unit.get('title', '')}") | |
| 248 | + beds = unit.get("bedrooms") | |
| 249 | + baths = unit.get("bathrooms") | |
| 250 | + if baths is not None and unit.get("half_bathrooms"): | |
| 251 | + baths = float(baths) + 0.5 * float(unit["half_bathrooms"]) | |
| 252 | + common = self._common(row) | |
| 253 | + imgs = [IMG_URL.format(m) for m in unit.get("image_ids") or []] or \ | |
| 254 | + [IMG_URL.format(m) for m in (row.get("image_ids") or [])[:8]] | |
| 255 | + avail = unit.get("date_available") or "" | |
| 256 | + return Listing( | |
| 257 | + source=self.source_id, | |
| 258 | + external_id=ext_id, | |
| 259 | + url=self._url(row), | |
| 260 | + title=(f"{row.get('building_name') or row.get('address', '')} — " | |
| 261 | + f"{unit.get('title') or ''}").strip(" —"), | |
| 262 | + address=row.get("address", ""), | |
| 263 | + sector=row.get("neighborhood_name") or "", | |
| 264 | + city=row.get("city", ""), | |
| 265 | + unit_type=_unit_type_from_bedrooms(beds), | |
| 266 | + bedrooms=float(beds) if beds is not None else None, | |
| 267 | + bathrooms=float(baths) if baths is not None else None, | |
| 268 | + price=float(price), | |
| 269 | + price_label=f"{price:,.0f} $/mois".replace(",", " "), | |
| 270 | + availability=str(avail), | |
| 271 | + area_sqft=(float(unit["square_feet"]) | |
| 272 | + if unit.get("square_feet") else None), | |
| 273 | + description=payload.get("description") or "", | |
| 274 | + amenities=common["amenities"], | |
| 275 | + details=common["details"], | |
| 276 | + images=imgs, | |
| 277 | + lat=row.get("lat"), | |
| 278 | + lng=row.get("lng"), | |
| 279 | + ) | |
| 280 | + | |
| 281 | + def _row_listing(self, row: dict) -> Listing | None: | |
| 282 | + price = row.get("min_price") | |
| 283 | + if not price or price < 200: | |
| 284 | + return None | |
| 285 | + mn, mx = row.get("min_price"), row.get("max_price") | |
| 286 | + from_price = bool(mx and mx != mn) | |
| 287 | + beds = row.get("min_bedrooms") | |
| 288 | + baths = row.get("min_bathrooms") | |
| 289 | + common = self._common(row) | |
| 290 | + label = (f"à partir de {price:,.0f} $/mois" if from_price | |
| 291 | + else f"{price:,.0f} $/mois").replace(",", " ") | |
| 292 | + return Listing( | |
| 293 | + source=self.source_id, | |
| 294 | + external_id=str(row["listing_id"]), | |
| 295 | + url=self._url(row), | |
| 296 | + title=(row.get("building_name") or row.get("title") | |
| 297 | + or row.get("address", "")), | |
| 298 | + address=row.get("address", ""), | |
| 299 | + sector=row.get("neighborhood_name") or "", | |
| 300 | + city=row.get("city", ""), | |
| 301 | + unit_type=_unit_type_from_bedrooms(beds), | |
| 302 | + bedrooms=float(beds) if beds is not None else None, | |
| 303 | + bathrooms=float(baths) if baths is not None else None, | |
| 304 | + price=float(price), | |
| 305 | + price_label=label, | |
| 306 | + availability=str(row.get("date_available") or ""), | |
| 307 | + description=row.get("short_description") or "", | |
| 308 | + amenities=common["amenities"], | |
| 309 | + details=common["details"], | |
| 310 | + images=[IMG_URL.format(m) for m in (row.get("image_ids") or [])[:8]], | |
| 311 | + lat=row.get("lat"), | |
| 312 | + lng=row.get("lng"), | |
| 313 | + ) | |
| 314 | ||