# immostar — Immostar (micro-sites par projet) - site: habitermu.ca, lehuppe.ca, le1070.ca, kwayaweh.ca, lemaguire.ca, loges.ca (pages /plans/ ou /selecteur/ + /aires-de-vie/ + /votre-espace/) - méthode: micro-sites (html + json-api `var fiches` + REST do-selecteur-plans) - annonces: 162 → 162 (uids stables) - couverture après (sur 162 annonces): prix 99%, adresse 100%, dispo 100%, superficie 100%, commodités 100% - fixture: ok · test: ok ## Champs extraits - MU / Le Huppé (`var fiches` JSON) : superficie → area_sqft explicite, superficie_terrasse, chambres, salles de bain, caractéristiques (« Unité prestige »), plan JPG de l'unité en tête de galerie, date de libération, prix - Kwayaweh (NOUVEAU : REST /wp-json/do-selecteur-plans/v1/unite, comme le 1070) : vrai numéro d'unité pour le titre (« Unité 112 » au lieu du post-id « Unité 3230 » — uid historique kwayaweh- conservé), superficie habitable/terrasse → area_sqft, type (« 2 chambres + bureau »), style, date (« Libre le 8 août 2026 » via a_partir), prix REST - Le 1070 : superficie → area_sqft explicite, terrasse, nb_chambres, stationnement, galerie REST, date_libre/a_partir - Le Maguire (NOUVEAU : cartes .fiche_unite.available au lieu des polygones SVG sans type) : superficie/terrasse, chambres, disponibilité réelle (« Disponible novembre 2026 »), plan JPG de l'unité, prix « à partir de » - Loges : superficie explicite (« 1015 pi² »), description de la carte, disponibilité (« Libre à partir du 1 février 2026 ») - TOUS les projets : amenities réelles des pages /aires-de-vie/ + /votre-espace/ (li sans lien) ou /le-projet/ (Maguire), variante Loges via h3.aio-icon-title — avant : amenities=[] sur 100% des annonces ## Champs indisponibles à la source - 1 unité sans prix (Le Huppé 1301, champ prix vide dans le JSON source) - pets : politique non affichée (sauf « Espace canin intérieur » Maguire, dans les amenities) - lat/lng : non exposés par les micro-sites - adresse Kwayaweh : « Wendake » seulement (pas d'adresse civique sur le site) ## Fragilités - 6 plateformes différentes : un re-design d'un micro-site casse son parseur (couvert par la fixture) - Kwayaweh REST : ~40 appels, mais mis en cache BD via self.detail() (clé = attributs SVG data-prix/type/promotion + classe) et budget max_rest_units*2 compté dans fetch_fn ; le 1070 (11 unités) reste en direct car ses polygones ne portent pas le prix (pas de clé de cache fiable) - Le récapitulatif « uid_field: numero » de Kwayaweh est essentiel : ne pas le retirer sinon tous les uids changent - Les amenities /aires-de-vie/ sont par PROJET (partagées entre les unités du site), normal pour ces micro-sites ## Améliorations apportées - amenities 0% → 100% (12 pages de commodités crawlées, 1 fois par site et par sync) - superficie 73% → 100% (explicite partout, y compris Kwayaweh/Maguire qui n'en avaient pas) - Kwayaweh : prix/type/dates via REST (avant : data-* du SVG seulement, titres = post-ids) - Maguire : type d'unité (chambres), superficies, vraie disponibilité (avant : data-type vide, « Disponible » générique) - plans d'unités (JPG) ajoutés aux images (MU, Huppé, Maguire, galerie REST 1070/Kwayaweh) - details maintenant dérivés (parking intérieur, gym, piscine, ascenseur, chauffage…) grâce aux amenities ## Échantillon avant/après - Kwayaweh AVANT : `Kwayaweh — Unité 3230 | 1815$ | Disponible | area=None | amenities=[]` - Kwayaweh APRÈS : `Kwayaweh — Unité 112 (uid kwayaweh-3230) | À partir de 1815 $ | Libre le 8 août 2026 | area=1068 | 21 amenities | desc="2 chambres + bureau — 1068 pi² — terrasse 129 pi² — Classique — étage 1"` - Maguire 206 AVANT : `Disponible | type='' | area=None` · APRÈS : `3 chambres — 1 608 pi² — terrasse 71 pi² — étage 2 | area=1608 | plan JPG` - MU 115 : area passe de dérivée à explicite (630), details={heating, elevator, balcony, pool, gym, storage, parking intérieur}