Skip to content
# groupe_dallaire — Groupe Dallaire (Faubourg du Moulin)
- site: https://faubourgdumoulin.ca/disponibilite/ (JetEngine admin-ajax
get_listing + pagination jet_smart_filters)
- méthode: json-api (AJAX WordPress) + fiches d'unité html
- annonces: 257 → 257
- couverture après (sur 257 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%
- fixture: ok · test: ok
- Cartes AJAX : numéro d'unité, étage (désormais →
details.floor structuré), prix (« 2475$ /mois* », légende du site « * Chauffé, éclairé, climatisé, stationnement int. » reportée dans price_label), date de disponibilité (« Disponibilité : juillet 2026 »), promotion, plan de l'unité (image), complexe déduit du slug.
- Fiche d'unité (nouveau, via
self.detail + cache BD, budget 150 vraies requêtes/sync) :
- type d'unité (« 5½ TYPE D'UNITÉ ») — avant : consulté seulement pour les unités sans type déduit du nom du plan, sans cache ;
- superficie nette (champ « Pieds carrés » / « Superficie nette: 1098 pi² ») →
area_sqft structuré (107 → 257 annonces couvertes, 100 %) ;
- inclusions réelles (répéteur JetEngine sous « Incluant » : Stationnement ext/int, Eau chaude, Internet haute vitesse, Forfait télé 4k, Entrée laveuse-sécheuse, Aires communes) — remplacent la liste générique codée en dur (qui reste en repli tant que la fiche n'est pas en cache) ;
- plan du niveau (
NIVEAU_x.png) ajouté aux images.
# Champs indisponibles à la source
- Adresse civique exacte par immeuble (le site ne donne que « rue Lionel-Audet ») ; pas de lat/lng.
- Animaux, meublé, description rédigée : non publiés par unité.
- Jour précis de disponibilité (mois/année seulement).
# Fragilités
- L'appel AJAX dépend des
page_settings du widget (post_id 105, element_id cb310a3) : un remaniement Elementor casserait la pagination.
- Le type d'unité vient d'un texte à côté de « TYPE D'UNITÉ » sur la fiche ou du nom de fichier du plan — fragile aux renommages.
- Budget 150 fiches/sync : sur une flotte de 257, la couverture complète demande 2 syncs (le cache BD prend ensuite le relais).
# Améliorations apportées
- Fiches d'unité désormais visitées via le cache BD (
self.detail, clé = hash de la carte) pour TOUTES les unités, avec budget de 150 vraies requêtes (exception au-delà → pas de cache pollué). Avant : jusqu'à 180 requêtes non mises en cache à chaque sync, uniquement pour le type.
area_sqft 127 → 257 (100 %), unit_type complété pour toutes les unités, inclusions réelles par unité (ex. certaines fiches ajoutent chauffage/clim), details.floor structuré depuis la carte, plan du niveau en image.
# Échantillon avant/après
- Avant : « Faubourg du Moulin (Sonora) — Unité 101 (5½) » — 2475 $, area NULL, amenities génériques codées en dur, pas de floor.
- Après : même annonce — area_sqft 1098 (« Pieds carrés »), amenities réelles (6 items dont « Forfait télé et enregistreur 4k »), details.floor=1, plan de niveau ajouté.
- Après : « Noroît — Unité 102 (3½) » — area_sqft 708, inclusions réelles avec chauffage + ac + storage dérivés.