Skip to content
# evoludev — Groupe Evoludev
- site: https://location.groupeevoludev.com (portail locatif maison, Laravel)
- méthode: html plat — page d'accueil (60 immeubles) + pages projet des immeubles « Disponible » (cache BD, budget 45 ; 41 requêtes au premier sync, quasi 0 ensuite)
- annonces: 125 unités disponibles, réparties sur 40 immeubles et 14 villes
- couverture (sur 125 annonces): prix 99% (1 unité affichée « 0 $ »), adresse 100%, dispo 100%, type 100%, ville 100%, superficie 100%, GPS 100%, animaux 100%, images 100% (plan + façade), description 100%
- fixture: ok (41 requêtes) · test: ok (2 verts)
- Accueil : cartes projet
div.headerImage[onclick] (dédupliquées par slug,
versions mobile/desktop en double) → nom, adresse civique + ville
(BuildingItem__address, 2 lignes), étiquette availabilityTag
(Disponible / Complet / Livraison… / mois à venir), prix « à partir de ».
- Pages projet — seulement les immeubles étiquetés « Disponible » (40/60) :
- tableau desktop
.ApartmentTable tr : « 101 | 4 1/2 » → no d'unité +
unit_type ; colonnes prix (« 1415 $ / m » → price_label/parse_price),
statut (Disponible/Louée), date (availability, texte source : « Dès
maintenant », « septembre 2026 »…), chambres/salles de bain (details),
superficie « 867 pi² » (area_sqft) ;
- bouton « Plan »
data-target="#apartmentPlanModal_<id>" → id
d'appartement de la plateforme = external_id stable (repli
slug-numéro) + image du plan ;
- JSON-LD
ApartmentComplex : description de l'immeuble, lat/lng,
petsAllowed (« Sous certaines conditions » → pets="conditions"),
amenityFeature (commodités), photo de façade.
- Seules les unités au statut « Disponible » sont retenues (Louée/Réservée
sautées) ; immeubles Complet / à livrer ignorés (aucune unité offerte).
- Prix placebo « 0 $ / m » ou « N.D. $ / m » → price_label vidé (aucun prix
publié), jamais de valeur inventée.
- Villes réelles (14) : Saint-Charles-Borromée, Saint-Paul, Berthierville,
Crabtree, Saint-Sulpice, Sainte-Julienne, Saint-Félix-de-Valois,
Saint-Jacques, Saint-Lin, Joliette, Sainte-Sophie, Rawdon, Laval,
Charlemagne (chevauchement Grand Montréal — la source reste classée
Lanaudière, son cœur de parc).
# Champs indisponibles à la source
- Pas de page par unité (URL = page projet) ni de photos intérieures par
unité (plan d'étage seulement).
- Meublé : jamais indiqué.
# Fragilités
- 40 pages projet au premier sync : le cache BD (clé = étiquette + prix +
nom de la carte) évite de les revisiter tant que la carte ne change pas ;
budget max_details=45 en garde-fou.
- La description JSON-LD est celle de l'immeuble, partagée par toutes ses
unités (pas de description par unité chez la source).
- Le tableau desktop et le carrousel mobile dupliquent les unités : dédup
par nom d'unité au parsing.
- Étiquette carte incohérente possible (ex. immeuble « Livraison Juillet
2026 » avec unités « Dès maintenant ») : on suit l'étiquette de la carte,
donc ces unités n'apparaissent qu'une fois l'immeuble « Disponible ».
# Échantillon
- 135 : Le Mills I — Unité 13, Crabtree, 5½, 1625 $/mois, dès maintenant,
1274 pi², animaux sous conditions, plan + façade.
- 438 : Le Gaspard I — Unité 14, Crabtree, 3½, 1270 $/mois, 774 pi².
- 157 : Le Saint-Paul I — Unité 3, Saint-Paul, 3½, 1200 $/mois,
septembre 2026, 785 pi².