SPB Git

spb/lou-ka Public

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

HTML 99.7%
4.0 KB · 41 lines markdown
Rendered Raw Blame History
1# beaudoin — Société Beaudoin immobilier2- site: https://www.beaudoinimmobilier.ca/index.php/wp-json/wp/v2/properties (thème Houzez)3- méthode: json-api (WordPress REST)4- annonces: 12 → 125- couverture après (sur 12 annonces): prix 100%, adresse 100%, dispo 100%, superficie 67%, commodités 100%6- fixture: ok · test: ok (2 passed)78## Champs extraits9- **API REST /wp-json/wp/v2/properties** (déjà en place) : id, titre, lien, prix (`fave_property_price` + postfix), adresse géocodée (`fave_property_map_address`), lat/lng, type d'unité (taxonomie `property_type`), disponibilité (taxonomie `property_status`), ville/secteur (taxonomie `property_city`), description (content), galerie (`fave_property_images` → /media).10- **Nouveaux champs de la même API** :11  - `additional_features` (PHP sérialisé, paires titre/valeur) → amenities : « Eau chaude incluse », « Cuisinière incluse », « Réfrigérateur inclus », « Lave-vaisselle inclus », « Air climatisé inclus », « Espace de rangement inclus », « Chiens et chats acceptés », « Buanderie sur place » — la normalisation centrale en dérive inclusions/appliances/ac/storage/pets ;12  - `fave_property_size` (+ préfixe « Pieds carrés ») → **area_sqft structuré** (67 % des annonces l'ont à la source) ;13  - `fave_property_bedrooms` / `fave_property_bathrooms` → amenities « N chambres », « N salle(s) de bain ».1415## Champs indisponibles à la source16- Superficie absente sur 4/12 propriétés (champ vide chez Houzez).17- Meublé, fumeur, stationnement (type/prix) : non renseignés.18- Contact agent : les posts `houzez_agent` n'ont pas de route REST (`rest_no_route`) — seuls les courriels présents dans la description sont récupérés par la normalisation.19- Taxonomie `property_feature` : vide sur toutes les propriétés actuelles (le gestionnaire utilise plutôt `additional_features`).2021## Fragilités22- `additional_features` est du PHP sérialisé parsé par regex : des guillemets échappés dans un libellé pourraient fausser le découpage (le parseur tolère `\"`).23- La disponibilité vient d'une taxonomie de type « 08 - Disponible pour août » : le préfixe numérique est retiré, la normalisation centrale parse le reste.24- L'API est sous `/index.php/wp-json/...` (permaliens non réécrits) — si le site active la réécriture, l'URL changera.25- Filtre Grand Montréal par liste blanche de villes : à maintenir si le gestionnaire ajoute des secteurs.26- Lacune générique de normalisation constatée : « Chiens et chats acceptés » est classé `pets="conditions"` (via le motif « chats acceptés » de `_PETS_COND_RE`) alors que « oui » serait plus juste — à corriger dans normalize.py, pas localement.2728## Améliorations apportées29- Extraction des « caractéristiques additionnelles » Houzez (inclusions, électroménagers, climatisation, animaux, buanderie) : commodités passent de 0 % à 100 %.30- Superficie structurée (`fave_property_size`) : 0 % → 67 % (le reste est vide à la source).31- Chambres / salles de bain ajoutées aux commodités affichables.3233## Échantillon avant/après34**Grand 5 1/2 au Bois de Champbellé – 525 Saint-Charles O** (2235 $, 5½, dispo maintenant)35- avant : area_sqft=None, amenities=[], details=`{"pool": true, "storage": true}`36- après : area_sqft=1250, amenities=["Eau chaude incluse", "Cuisinière incluse", "Réfrigérateur inclus", "Lave-vaisselle inclus", "Air climatisé inclus", "Espace de rangement inclus", "3 chambres", "2 salles de bain"], details=`{"inclusions": {"hot_water": true}, "appliances": {"fridge": true, "stove": true, "dishwasher": true}, "ac": true, "pool": true, "storage": true}`3738**5 1/2 Penthouse au Carignan – 475 Saint-Charles O** (3015 $, 5½)39- avant : area_sqft=None, amenities=[], details=`{"balcony": true, "pool": true}`40- après : area_sqft=1710, amenities=8 items, details=`{"inclusions": {"hot_water": true}, "appliances": {"fridge": true, "stove": true, "dishwasher": true}, "ac": true, "balcony": true, "pool": true, "storage": true}`41