spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# gestion_isr — Gestion ISR2- site: https://www.gestion-isr.com (SPA Vite/React) → portail public https://location.gestion-isr.com (Supabase)3- méthode: API REST Supabase — URL + clé anonyme publiques lues dans le HTML du portail, puis /rest/v1/listings?statut=eq.Actif (2 requêtes/sync, zéro rendu JS)4- annonces: 21 (fiches immeubles + maisons/appartements individuels ; ~52 unités disponibles détaillées dans les descriptions)5- couverture (sur 21 annonces): prix 100%, adresse 100%, dispo 100%, type 100%, ville 100%, GPS 100%, animaux 100%, images 100%, description 100% — superficie publiée seulement au niveau unité (texte)6- fixture: ok (2 requêtes) · test: ok (2 verts)78## Champs extraits9- Le site vitrine gestion-isr.com est une SPA sans contenu (index de 1,2 Ko) ;10 son bundle JS révèle `listingsUrl: "https://location.gestion-isr.com"`, un11 portail dédié dont le HTML embarque `SUPABASE_URL` et la clé anonyme12 publique `SUPABASE_ANON` (extraites au runtime par regex — résiste à une13 rotation de clé).14- `GET /rest/v1/listings?select=*&statut=eq.Actif` (en-têtes apikey/Bearer) :15 - `pk` (UUID) → external_id stable ; `id_app` → lien profond16 `?fiche=<id_app>` (routage officiel du portail) ;17 - `titre` → title ; `grandeur` (« 3½ », « Maison ») → unit_type ;18 - `loyer` (numérique) → price — pour un immeuble c'est le plus bas des19 unités disponibles (conforme au « à partir de » de Lou-Ka) ;20 pas de libellé texte publié → price_label vide ;21 - `id` = adresse civique complète (« 1037 BOUL MERCURE, DRUMMONDVILLE QC22 J2B 3L4 ») → address ; `ville`/`secteur` → city/sector (villes réelles :23 Drummondville, Wickham, Bon-Conseil) ;24 - `date_dispo_affichage` (« Dès maintenant », « 1 Août 2026 ») →25 availability ; `animaux` structuré → pets (Aucun→non, Animaux26 acceptés→oui, « Chat, petit chien »→conditions) ;27 - `adresse_geo` = « lat, lng » → lat/lng ;28 - `photos` (URLs storage Supabase), repli sur les albums par modèle29 (`photo_variants`) puis `main_photo` ;30 - `description` = texte source (emoji, inclusions, enquête de crédit…) ;31 pour les immeubles on y annexe l'inventaire des unités disponibles32 (« • 3½ à 1025 $ »), agrégé depuis le tableau `units` (statut33 « Disponible » ; les unités louées sont ignorées, comme sur le portail).3435## Champs indisponibles à la source36- Superficie au niveau fiche : publiée seulement pour certaines unités37 (champ `superficie` du tableau `units`) — laissée au texte pour ne pas38 attribuer la superficie d'une unité à tout l'immeuble.39- furnished : non structuré (un titre mentionne « Possibilité semi-meublé »).40- price_label : le loyer est purement numérique chez la source.4142## Fragilités43- Dépend du schéma Supabase du portail (tables/champs `listings`, `units`) :44 un renommage casserait le parsing — le test de fixture le détecterait.45- La clé anonyme est publique par conception (embarquée dans le HTML du46 portail, RLS côté Supabase) ; elle apparaît donc aussi dans la fixture,47 comme dans la page publique.48- Le portail « éclate » les immeubles en cartes par modèle de photos ; le49 connecteur reste à la granularité fiche/immeuble (21) avec l'inventaire50 des unités en description — moins de bruit de diff, mêmes informations.51- `ville` = « Bon-Conseil » chez la source (raccourci usuel de52 Notre-Dame-du-Bon-Conseil) : conservé tel quel (fidélité).5354## Échantillon55- dfc5ea5e (az201) : Maison · Rue José Wickham, 1695 $, dès maintenant,56 807 rue José Wickham, GPS, 16 photos, chat accepté.57- 864a5e0e (az101) : Boul. Mercure Drummondville, 3½ à partir de 1025 $58 (unités 3½/5½/6½ dispo), animaux acceptés, internet inclus.59- e7e9888e (az191) : Rue du Faubourg Bon-Conseil, 5½ à 1450 $, dès60 maintenant, 16 photos, petits compagnons acceptés.61