# medway — Groupe Medway - site: https://condosmedway.ca/condos-a-louer/ - méthode: html + données embarquées des pages projet (2 gabarits : span JSON `condosParEtageJson` et tableau JS `units = [[…]]` du sélecteur d'étages) - annonces: 494 (unités disponibles — dont prélocation datée — sur 12 des 13 projets ; ~2 200 unités au total chez la source) - couverture (sur 494 annonces): prix 100 %, type 100 %, ville 100 %, adresse (immeuble) 100 %, disponibilité 100 % (libellé + date), superficie ~98 %, plan (image) ~95 % - fixture: ok (14 requêtes) · test: ok ## Champs extraits - WordPress (thème custom « turbutheme »), tout rendu serveur. Répertoire `/condos-a-louer/` : cartes `div.condo-item` par projet — nom (h2), adresse civique avec ville (« 35 rue Saint-Louis, Rivière-du-Loup, QC • 154 unités »), lien `/projet//`. - **Gabarit 1** (Rive, Edmond, Nico, Ruches, Anastasie, Complexes Santé) : `` — JSON des unités par étage : `prix`, `type` (« 3 ½ », « 4 ½ bureau », « Studio »), `superficie_pieds`, `disponibilite`/`disponibilite_prochaine` (oui/non), `disponibilite_libelle` + `disponibilite_date` (texte libre), fiche `/condo//`, `plan_url`. Retenues : `disponibilite == oui` OU `disponibilite_prochaine == oui`. - **Gabarit 2** (Kali, Wil, Alto — sélecteur d'étages interactif) : tableau JS inline `units = [[…]]` — `number` (« Unité 410 »), `state` (**Available** retenu ; Reserved/Sold exclus), `price`, `typology` (« 4etdemiB », « StudioA » → 4½/Studio), `available_date` (« 1 octobre 2026 »), `indoor_area`/`balcony_area` (pi²), `plan_img_src`. `availability` = « Disponible » + date. Pas de fiche par unité → `url` = page projet. - `external_id` : slug d'unité du JSON (gabarit 1) ou `-` (gabarit 2) — stables. - `sector` = nom du projet ; `address`/`city` = adresse de la carte projet. Villes réelles : **Rivière-du-Loup, Lévis, Québec, Pont-Rouge, La Malbaie, Saint-Raphaël**. ## Périmètre (exclusions volontaires) - Volet résidentiel seulement (`?t=r`) — espaces commerciaux non visités ; les « X ½ bureau » sont des unités résidentielles avec coin bureau, conservées. - Unités « Pas disponible »/`Sold`/`Reserved` ignorées. - 3000 Laurier (Québec, 900 unités) : page purement marketing sans données d'unités → 0 annonce tant que le sélecteur n'y est pas déployé. ## Champs indisponibles à la source - Description, commodités par unité, GPS : non publiés par unité (gabarit 2 : balcon en pi² reporté en commodité). - Photos réelles des unités : seul le plan est publié par unité. - La fiche `/condo//` n'affiche PAS le prix — les prix viennent des données projet. ## Fragilités - Tout repose sur les deux gabarits du thème (span `condosParEtageJson`, tableau `units = [[…]]` consommés par app.js) ; le connecteur tente le gabarit 1 puis le 2, et retourne 0 unité pour un projet sans l'un ni l'autre. - Le gros du volume (Faro : 273, Wil : 58, Alto : 41) est de la **prélocation datée** (livraisons oct. 2026 – janv. 2027) — c'est ce que la source publie ; `availability` porte la date brute. - `disponibilite_date`/`available_date` : texte libre à casse variable — laissé brut pour la normalisation centrale. - Adresses avec ou sans virgule avant « QC » (« La Malbaie QC ») : l'extraction de ville strippe seulement la province « QC », jamais le nom « Québec ». - 14 requêtes par sync (répertoire + 13 pages projet, jusqu'à 1,6 Mo) ; politesse 0,6 s. ## Notes - Un seul connecteur sert plusieurs régions Lou-Ka : Bas-Saint-Laurent (Rivière-du-Loup, 6 unités), Québec/Capitale-Nationale (Québec 81, Pont-Rouge 22), Chaudière-Appalaches (Lévis 343, Saint-Raphaël 1) et Charlevoix (La Malbaie 41). - Le paramètre `?disponibilite=oui|non` des cartes reflète « livré/à venir », pas l'absence d'unités : le connecteur visite les 13 projets. - robots.txt WP standard (Disallow /wp-admin/ seulement).