spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# gesteco — Gesteco inc.2- site: https://gesteco.ca/location (Umbraco .NET + app Vue homeRentalBrowsingApp)3- méthode: **API JSON publique** `/umbraco/api/units?locale=fr&page=N&pageSize=100`4- annonces: 14 (338 unités au total dans l'API : 214 louées, 75 vendues,5 8 réservées, 41 disponibles dont 27 en vente — filtrées)6- couverture (sur 14 annonces): prix 100%, dispo (date ISO) 100%, superficie7 93%, type 100%, images 100%, description 100%, chiens (structuré) 100%8- fixture: ok (4 requêtes JSON) · test: ok (2 verts)910## Découverte11- robots.txt : tout permis sauf pages 404. Vérifié avant construction.12- L'endpoint `unitconfigurations` documenté ne donne que les types d'unités ;13 la cartographie du bundle JS (`/dist/homeRentalBrowsingApp/index.js`) a14 révélé le vrai endpoint `GET /umbraco/api/units` (paramètres regionIds,15 statuses, listingTypes, dogAllowed, page, pageSize…). Pagination par taille16 de page (l'en-tête `X-Total-Pages` n'est pas rejouable par les fixtures).1718## Filtres (fidèles à la source)19- `status == "Available"` (énumération de l'API : Available/Rented/Reserved/Sold)20- `buildingListingType == 1` = location (0 = achat, prix de vente à 6 chiffres21 — hors périmètre Lou-Ka), `rentalUrl` présent, `isActive` non faux.2223## Champs extraits24- external_id : `id` numérique de l'unité (clé BD Umbraco, stable).25- url : `rentalUrl` (fiche localisée /location/<région>/<projet>/<bâtiment>/…).26- price : `rawBasePrice` (nombre) ; availability : `availabilityDate` ISO.27- address : `fullAddress` (« 8-32 Chemin de l'Horizon, Waterloo, J0E 2N0 ») ;28 city : champ `city` de l'API — Granby (9), Waterloo (4), Bromont (1),29 Cowansville selon l'inventaire.30- unit_type : `unitUnitConfigurations[0].unitConfigurationName`31 (« 4 ½ + bureau » -> 4½) ; area_sqft : `livingArea` (pi²).32- amenities : configuration, chambres, sdb, étage (`floorName`), borne de33 recharge (`hasChargingStation`) — tous champs structurés de l'API.34- details : `dog_allowed` (booléen API), `project` (nom du projet).35- description : champ FR natif `description` (HTML nettoyé) — les champs36 « localized » ressortent en anglais malgré `locale=fr` ; promotion37 (`promotions`, ex. « 1ER MOIS GRATUIT ») préfixée à la description.38- images : galerie de l'unité + `buildingImageUrl` + plan (`planImageUrl`).3940## Champs indisponibles à la source41- lat/lng par unité (la carte du site géocode côté client).42- Chats/animaux autres que chiens : seulement en texte de description.4344## Fragilités45- API non versionnée : un changement de schéma Umbraco casserait le parsing46 (test de rejeu en sentinelle).47- `rawBasePrice` sert aussi aux unités en vente (300 000 $ et plus) : le48 filtre `buildingListingType` est indispensable ; garde-fou parse 100-20 000 $.49