SPB Git

spb/lou-ka Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

HTML 99.7%
3.6 KB · 36 lines markdown
Rendered Raw Blame History
1# gestion_montreal — Gestion Montréal2- site: https://gestion-montreal.com/fr/inscriptions (GeoJSON embarqué) + pages détail /fr/inscriptions/<slug>3- méthode: json-api (GeoJSON `window.properties_geojson`) + pages détail html en cache4- annonces: 23 → 23 (43 features à la source ; loués / non résidentiels / hors CMM exclus)5- couverture après (sur 23 annonces): prix 100%, adresse 100%, dispo 83%, superficie 4%, commodités 96%6- fixture: ok · test: ok78## Champs extraits9- GeoJSON (déjà en place) : id, slug, prix + libellé, adresse, ville, titre/description FR, classification -> type d'unité, chambres, disponibilité ISO, photos, lat/lng, drapeaux « Loué »/`sold_rented`.10- NOUVEAU — pages détail via `self.detail(...)` (cache BD, clé = hash de [updated_at, major_updated_at, prix, dispo, titre], plafond 150 vraies requêtes/sync) : sections structurées « Équipements / Caractéristiques Intérieures/Extérieures / Services / Animaux / Transport » -> commodités fidèles (« Eau chaude », « Chauffage », « Électricité », « Réfrigérateur », « Non-fumeur », « Internet », « Aucun animal autorisé », « Cour privée »…). Le pipeline en dérive inclusions{}, appliances{}, smoking, pets, balcony…11- NOUVEAU — `details.contact.phone` depuis le lien `tel:` de la fiche (514-500-7900).12- NOUVEAU — salles de bain du GeoJSON -> commodité « N salle(s) de bain ».13- NOUVEAU — `area_sqft` explicite depuis les champs structurés `area`/`area_formatted` (« 800 pc ») — 1 seule annonce renseignée à la source.14- NOUVEAU — correction mojibake résiduelle : « MontréAl » (recapitalisation post-encodage) -> « Montréal » dans adresses/titres.1516## Champs indisponibles à la source17- Superficie : 42/43 features ont `area: null` (et les fiches détail ne l'affichent pas non plus).18- Étage, stationnement (aucune mention structurée), meublé n'existe que via le mot du titre/classification.19- `sublocality` toujours vide -> secteur déduit du titre/description (liste de quartiers connus).2021## Fragilités22- Le site coupe la connexion sur les User-Agents « bot » : UA navigateur nu obligatoire (déjà en place).23- GeoJSON extrait par regex `window.properties_geojson` + raw_decode.24- Encodage source corrompu (UTF-8 lu en latin-1 puis re-capitalisé) : réparé heuristiquement (`_fix_mojibake`), de nouveaux motifs peuvent apparaître.25- Les fiches détail sont du HTML Bootstrap sans classes sémantiques : le sélecteur `div.card-body ul li ul li small` est structurel.2627## Améliorations apportées28- Commodités structurées des fiches détail (96% des annonces, 4% avant) -> details riches (inclusions chauffage/électricité/eau chaude/internet, électroménagers, non-fumeur, animaux).29- `pets` renseigné quand la section Animaux existe (3 annonces).30- Contact téléphonique structuré, salles de bain, superficie structurée quand présente, mojibake d'adresses corrigé.31- Cache BD des pages détail : re-fetch seulement si l'annonce change (clé de contenu), plafonné à 150 requêtes/sync.3233## Échantillon avant/après34- AVANT : `Studio semi-meublé à louer – Centre-ville de Montréal | 950 | Studio | details={"inclusions": {"internet": true}, "laundry": true, "furnished": false} | adresse « … MontréAl » possibles`35- APRÈS : `Studio semi-meublé à louer – Centre-ville de Montréal | 950 | Studio | details={"inclusions": {"heating": true, "electricity": true, "hot_water": true, "internet": true}, "appliances": {"fridge": true}, "laundry": true, "smoking": false, "furnished": "semi", "contact": {"phone": "514-500-7900"}} | 1024 Rue Sherbrooke Est, Montréal`36