spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# shdm — Société d'habitation et de développement de Montréal2- site: https://www.shdm.org/fr/logements-disponibles3- méthode: json-api (payload __NUXT_DATA__ « devalue » du front Nuxt 3 / WordPress GraphQL)4- annonces: 2 → 25- couverture après (sur 2 annonces): prix 100%, adresse 100%, dispo 100%, superficie 0%, commodités 100%6- fixture: ok · test: ok78## Champs extraits9- CPT « logement » : prix, numéro d'app., typologie (« 4 1/2 »), date de disponibilité ISO, booléens de commodités (balcon, porte-patio, plancher bois, deux étages, adapté, accessible), **étage structuré** → `details.floor`, **nombre de chambres** (« 2 chambres »), **orientation des fenêtres** (positionFenetreEst/Nord/Ouest/Sud → commodités), **clientèle cible** (taxonomie autonomie : « Clientèle : Pour tous »).10- Immeuble lié : adresse, quartier (secteur), description riche (contenu WP), médias (photos logement + immeuble).11- Inclusions (chauffage/électricité/eau chaude) dérivées par finalize() depuis la description de l'immeuble.1213## Champs indisponibles à la source14- Superficie (pi²) : absente du payload.15- lat/lng : le payload ne contient que des polygones GeoJSON de quartiers, pas de coordonnées d'immeuble.16- Animaux, meublé, stationnement : non exposés.17- Salles de bain : non exposées.1819## Fragilités20- Format « devalue » de Nuxt 3 (tableau plat d'index) : un changement de version Nuxt/structure GraphQL casserait le parsing — le résolveur _Devalue est générique mais la détection des nœuds (« logementFields » + « uri ») est heuristique.21- **Booléens d'inclusion du CPT non fiables à false** : pour le 3280 Pépinière, chauffage/electricite/eauChaude sont à false dans le payload alors que la description de l'immeuble dit explicitement « Chauffage, électricité et eau chaude sont inclus dans le loyer » (cases non cochées par les éditeurs). Ils ne sont donc publiés qu'à true (via commodités) ; les false sont ignorés, la description fait foi.22- Les fiches s'ouvrent en modale (les URI /fr/logement/<slug> répondent 404) : l'URL pointe vers la liste avec le slug en ancre.2324## Améliorations apportées25- `details.floor` depuis le champ structuré `etage` (>0 ; 0 = RDC non exposé, sémantique ambiguë).26- Commodités enrichies : nombre de chambres, orientation des fenêtres, clientèle cible (autonomie).27- Investigation des booléens d'inclusion : conservés en positif seulement (voir Fragilités) — évite d'écraser les inclusions vraies dérivées de la description par des false erronés.28- Recherche de superficie/lat-lng dans tout le payload : confirmé absents.2930## Échantillon avant/après31- 2245-2249 De Champlain app. 2249 (4½, 1595 $, dispo 2026-09-01) — avant : details `{ac, balcony}` ; après : + `floor: 1`, commodités + « 2 chambres », « Clientèle : Pour tous ».32- 3280 Pépinière app. 0212 (4½, 1486 $) — avant : inclusions true (description) ; après : inclusions true conservées + `floor: 2`, « 2 chambres », « Clientèle : Pour tous ».33