# dma_locago — DMA / Locago (Douville, Moffet & Associés) - site: https://locago.ca + https://www.v1.dma.immo// (MapSVG) + https://dma.immo/frontenac-selecteur-pub/ - méthode: html - annonces: 109 → 119 - couverture après (sur 119 annonces): prix 98%, adresse 29%, dispo 89%, superficie 98%, commodités 0% - fixture: ok · test: ok ## Champs extraits - Unités MapSVG (v1.dma.immo, JSON `data_db.objects`) : no d'unité, type (`nbpiece` 3.5 -> 3½), prix « à partir de » (`startfrom`), disponibilité mois/année (`available_month`/`available_year`), superficie structurée (`superficie` -> `area_sqft` explicite), étage structuré (`etage` -> `details.floor`, « 0 » = non renseigné), orientation et plage de superficie dans la description. - NOUVEAU — Tour Frontenac : le sélecteur JetEngine `dma.immo/frontenac-selecteur-pub/` expose maintenant les unités réelles (11 cartes) : no, type (« Studio », « Une chambre » -> 3½), étage, pi², orientation, prix « À partir de ». L'annonce « projet » unique est remplacée par une annonce par unité. - Adresses civiques : renseignées uniquement quand le site du projet publie une adresse unique et sans ambiguïté — Le WOW (930, rue Samuel-King), Tour Frontenac (1175, avenue de Germain-des-Prés), IDOLA (2689, boulevard Hochelaga), Le Pivot (1695, rue Monseigneur-Plessis). - Images : héros locago.ca + galeries des sites vitrines (déjà en place). ## Champs indisponibles à la source - Commodités/inclusions par unité : le JSON MapSVG n'en expose aucune ; les sites vitrines n'ont que du texte marketing au niveau du complexe (risque de faux positifs), non repris. - Animaux, meublé, contact : absents des données structurées. - Adresse pour les complexes multi-immeubles (La Suite, Domaine des Méandres, Villas Cortina, Le Divin, L'Aristocrate) : aucune adresse par immeuble publiée. - Disponibilité des unités Frontenac : les cartes du sélecteur n'affichent pas de date. - Le lien par unité pointe vers un PDF de plan (gen.dma.immo), pas une page HTML exploitable. ## Fragilités - Le JSON `mapsvg_options` est extrait par regex + raw_decode : un changement de plugin MapSVG casserait le parsing. - Le sélecteur Frontenac est un rendu Elementor/JetEngine : sélecteurs `.jet-listing-grid__item` / `span.subtitle` sensibles au re-thème. - Sens exact des statuts `available` « 1 » vs « 2 » non documenté chez la source ; les deux sont traités comme « offert » et la date mois/année prime (corrigé : « 1 » était auparavant interprété à tort comme « libre immédiatement » alors que 16 unités portaient une date future, p. ex. 01/2027). - Adresses statiques dans le connecteur : à revalider si un complexe déménage sa vitrine. ## Améliorations apportées - Correction de la disponibilité : mois/année (`available_month`/`available_year`) prime sur le statut brut « 1 ». - `area_sqft` explicite depuis le champ structuré `superficie` (au lieu du seul parsing de la description). - `details.floor` depuis le champ structuré `etage` (108/119 annonces). - Ajout du sélecteur d'unités Tour Frontenac (11 unités avec prix/étage/pi²/orientation au lieu d'une seule annonce « projet »). - Adresses civiques pour 4 complexes (34 annonces) vérifiées sur les sites des projets. - Correction locale des types en toutes lettres du sélecteur Frontenac (« Une chambre » -> 3½). ## Échantillon avant/après - AVANT : `Le WOW — Unité 014 | 1815 | 3½ | juillet 2025 | now | 933 (dérivé desc) | details={"price_from": true} | adresse vide` - APRÈS : `Le WOW — Unité 014 | 1815 | 3½ | juillet 2025 | now | 933 (structuré) | details={"price_from": true} | 930, rue Samuel-King, Québec` - APRÈS (nouveau) : `Tour Frontenac — Unité 717 | 1279 | Studio | 304 pi² | details={"price_from": true, "floor": 7} | 1175, avenue de Germain-des-Prés, Québec`