spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# gestion_legrand — Gestion Le Grand2- site: https://gestionlegrand.ca (WordPress + Elementor)3- méthode: API wp-json — articles de la catégorie « Location » (1 requête) + grille /a-louer/ pour les vignettes (1 requête)4- annonces: 5 (appartements ; l'agence loue aussi des maisons quand dispo — même catégorie)5- couverture (sur 5 annonces): prix 100%, dispo 100%, type 100%, ville 100%, secteur 100%, images 100%, description 100%, adresse 40% — superficie dans le texte (935 pi², 1 500 pi² : parse_area_sqft au finalize)6- fixture: ok (2 requêtes) · test: ok (2 verts)78## Champs extraits9- `wp-json/wp/v2/posts?categories=28` (catégorie « Location », _fields10 id,link,title,content) :11 - id de post WordPress → external_id stable ;12 - titre « 3 ½ – Place des Bâtisseurs, Drummondville » → title ; le format13 d'unité en tête → unit_type ; la ville après la dernière virgule → city14 (repli « Drummondville » : tout le parc y est — la catégorie Location15 l'affirme : « Vérifiez nos locations disponibles à Drummondville ») ;16 - contenu de l'article (paragraphes dédupliqués) → description ; on y lit :17 - « Prix : 1 200 $ / mois » → price_label/price ;18 - le paragraphe « Disponible maintenant » / « Disponible dès juin19 2026 !! » → availability (texte source) ;20 - « situé au 140, rue Raymond » → address (seulement si présent) ;21 - « secteur … Saint-Nicéphore » → sector.22- Vignettes : la grille Elementor de /a-louer/ mappe post-<id> → img23 data-src (lazy-load LiteSpeed) — nécessaire car l'API média renvoie24 rest_forbidden pour une partie des pièces jointes.25- Superficie et inclusions (déneigement, tonte, borne de recharge…) restent26 dans la description : parse_area_sqft/textmine les structurent au27 finalize().2829## Champs indisponibles à la source30- GPS : jamais publié.31- Adresse civique complète : publiée seulement pour Place des Bâtisseurs32 (« 140, rue Raymond ») ; les autres articles ne donnent que la rue dans33 le titre (rue Chapleau, boul. Saint-Joseph, rue Denise-Marleau).34- Une seule photo par annonce côté REST/grille (les galeries des pages35 articles sont des carrousels Elementor non requêtés pour rester à36 2 requêtes/sync).3738## Fragilités39- L'id de la catégorie « Location » (28) est codé en dur : si l'agence40 recrée la catégorie, l'API renverrait une liste vide — visible au sync.41- Prix/adresse/secteur extraits du texte libre par regex : un changement de42 formulation (« Loyer : » au lieu de « Prix : ») ferait retomber ces champs43 à vide (jamais deviné) — le test de fixture le détecterait.44- « Disponible 1 er juillet 2026 » : l'exposant « er » du HTML insère une45 espace (texte source tel quel ; parse_availability_date s'en accommode).4647## Échantillon48- 2581 : 3½ – Place des Bâtisseurs, 1 200 $/mois, dispo maintenant,49 140 rue Raymond, secteur Saint-Nicéphore, ascenseur.50- 1645 : 4½ – rue Chapleau, 1 590 $/mois, dispo maintenant, 935 pi²,51 2 chambres.52- 1483 : 5½ – rue Denise-Marleau, 1 550 $/mois, dispo 1er juillet 2026,53 1 500 pi², 3 chambres.54