Skip to content
# 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)
- 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².