SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.9 KB

# groupe_robin — Groupe Robin

  • site: https://grouperobin.com (WordPress Elementor, multi-lignes d'affaires : locatif, maisons neuves, commercial, hôtellerie, résidences aînés)
  • méthode: API interne — POST admin-ajax.php action get_list_immeubles_ajx, catégorie 126 = Appartement résidentiel (2 requêtes/sync, JSON structuré, admin-ajax.php explicitement Allow dans robots.txt)
  • annonces: 65 (42 immeubles × grandeurs — le grain affiché par le site ; Trois-Rivières 43, Saint-Hyacinthe 22)
  • couverture (sur 65 annonces): prix 100%, dispo 100%, type 100%, adresse 100%, ville 100%, superficie ~100%, GPS 100%, images 100%, description ~95%, inclusions ~90%, secteur 22% (District 55)
  • fixture: ok (2 requêtes POST) · test: ok (2 verts)

# Champs extraits

  • Le front /appartement/ est vide côté HTML : tout passe par admin-ajax.php (action get_list_immeubles_ajx, offset/immeubles_per_page, categories[]=126). La réponse JSON donne, par immeuble : id WP, titre, lien de fiche, adresse Google (address + lat/lng), photos, descriptions HTML, et appartements_resumer — un résumé par grandeur (grandeur, loyer « à partir de », superficie pi², statut Vacant/Loué-Vacant, dates_disponibilite_label, inclusions).
  • 1 annonce = 1 immeuble × grandeur (grain du site) ; external_id = <id immeuble WP>-<grandeur> (ex. 127802-3½), stable.
  • price_label reproduit le rendu du site : « à partir de 1625$ » (ou « Prix sur demande » si loyer = 0) ; price = loyer structuré.
  • availability = libellés source (« Disponible maintenant », « décembre 2026 », plusieurs dates possibles), repli sur le statut.
  • area_sqft = champ superficie structuré ; lat/lng = géocodage Google fourni par la source ; amenities = inclusions (Stationnement, Meublé…).
  • Ville réelle : cherchée dans l'adresse Google puis dans le terme d'emplacement des unités (« Trois-Rivières (District 55) » → ville Trois-Rivières, secteur District 55).
  • description = description_generale de l'immeuble (HTML aplati).
  • Défense : immeubles « résidence/retraités/commercial/bureau/hôtel » écartés même si la catégorie 126 les renvoyait.

# Chevauchement multi-régions (assumé)

  • Le portail est unique pour tout le parc : District 55 et rues voisines à Trois-Rivières (Mauricie, 43 annonces) MAIS AUSSI le parc historique de Saint-Hyacinthe (Montérégie, 22 annonces). Conformément à la consigne, les annonces hors Mauricie sont conservées avec leur vraie ville ; la source reste classée region = Mauricie.
  • Le « 1200 Boullé, Campus étudiant St-Hyacinthe » offre des 1½/2½ complets (pas des chambres) : conservé.

# Champs indisponibles à la source

  • Pas de loyer par unité individuelle dans le résumé (le site affiche « à partir de ») ; pets non structurés au niveau immeuble (les mentions « CHIEN ACCEPTÉ » restent dans la description, textmine s'en charge).
  • Le statut « Loué-Vacant » accompagne des dates futures : l'unité est annoncée pour re-location, conservée avec sa date.

# Fragilités

  • Endpoint admin-ajax non versionné : un changement du thème (action ou format du JSON) casserait le connecteur (le test fixture le détecte).
  • Réponses lourdes (~4 Mo/page : photos en métadonnées complètes) — 2 requêtes par sync seulement.
  • La grandeur sert d'ID de groupe : si l'immeuble renomme « 4 ½ » en « 4.5 », l'annonce est recréée.
  • total_pages lu de la réponse, plafonné à max_pages = 5 (2 pages réelles).

# Échantillon

  • 127802-3½ : 3 ½ — Le 1105 Lorne-Germain, Trois-Rivières (District 55), à partir de 1210$, Disponible maintenant, GPS fourni.
  • 124350-5½ : 5 ½ — Le 2285 des Grandes-Orgues, St-Hyacinthe, à partir de 1625$, décembre 2026, 1455 pi², stationnement inclus.
  • 125506-1½ : 1 ½ — Le 1200 Boullé, Campus étudiant St-Hyacinthe, à partir de 800$, novembre 2026, 264 pi².