Skip to content
# headway — La Corporation Headway
- site: https://www.headwayltee.com (4 pages : /logements-a-louer/appartement-quebec, /ste-foy, /logements-a-louer/appartement-charlesbourg, /logements-a-louer/levis)
- méthode: html
- annonces: 7 → 7
- couverture après (sur 7 annonces): prix 0%, adresse 100%, dispo 100%, superficie 0%, commodités 100%
- fixture: ok · test: ok
- title, address (bureau de location du complexe), sector, city
- amenities par complexe (« Services disponibles » de chaque section, plus de bloc partagé)
- description : paragraphe du complexe + « Composition de l'immeuble : … » + « À moins de 5 minutes à pied : … » (commerces à proximité)
- details.contact.phone : téléphone du bureau de location de CHAQUE complexe (champ libellé « Numéro de téléphone : » sur la page)
- unit_type quand la composition ne compte qu'un seul type ; images (wixstatic pleine résolution, filtrées par alt)
- inclusions/parking/pool/laundry/storage/elevator dérivés par finalize() depuis les amenities
# Champs indisponibles à la source
- prix : jamais affiché (location par téléphone uniquement)
- disponibilité réelle : aucune liste d'unités disponibles (texte générique « Sur demande »)
- superficie, pets, meublé, lat/lng : absents du site
- une annonce = un complexe immobilier, pas une unité (site vitrine Wix sans inventaire)
# Fragilités
- Parsing positionnel de segments de texte Wix (
>texte<) : un re-design du site casserait l'extraction ; le test de fixture le détectera
- L'association section→complexe repose sur l'ordre des titres dans la page (dernière occurrence exacte du nom)
- Curé-Pelletier partage l'adresse et le téléphone du bureau de Thibault (c'est ce que la source affiche)
# Améliorations apportées
- Filtre des segments CSS/JS inlinés par Wix (
{/}) : la description de Place Prévert était du JavaScript brut, et un sélecteur CSS #comp-… {fill:…} polluait les amenities
- Amenities par complexe (bornées à la section du complexe) au lieu du premier bloc de la page ; Thibault et Curé-Pelletier passaient de 0 amenity (le break
À moins de matchait une phrase d'intro) à 7
- Complexe Renaissance : récupère l'item « l'inclusion du chauffage, de l'électricité et de l'eau chaude » (avant tronqué par la limite de 60 caractères) et ne capte plus le titre « Accès facile » comme amenity
- Nouveau : details.contact.phone par complexe (structuré à la source, libellé dédié)
- Nouveau : liste des commerces « À moins de 5 minutes à pied » ajoutée à la description
- Description bornée à la section du complexe (ne déborde plus sur le complexe suivant)
# Échantillon avant/après
- Place Prévert AVANT : description=
if (typeof Promise === 'undefined' || … (JS), amenities avec #comp-ljwpi06b svg [data-color="1"] {fill: #525661;}, details sans contact
- Place Prévert APRÈS : description=
Composition de l'immeuble : 1½, 2½, 3½, 4½. À moins de 5 minutes à pied : Arrêts d'autobus, Banque/caisse, École primaire…, 9 amenities propres, details.contact.phone=418-527-9873
- Thibault AVANT : amenities=[] · APRÈS : 7 amenities (« Chauffé, éclairé et eau chaude fournie », …), inclusions{heating,electricity,hot_water}=true, phone 418-833-4333