Skip to content
# mercini — Groupe Mercini (Gestion Faleschini Mercier)
- site: https://groupemercini.com/appartements/
- méthode: html
- annonces: 35
- couverture (sur 35 annonces): prix 100%, adresse 100% (avec code postal), dispo 100%, superficie 0%, commodités 100%, description 100%, images 100%
- fixture: ok · test: ok
- Liste
/appartements/ paginée (WordPress + thème WpResidence, 12 cartes/page, 3 pages actuellement, garde-fou 10 pages). Par carte : titre complet (alt de l'image — le h4 est tronqué), catégorie (action_tag_wrapper : « 4½ », « Studio ou 2½ », « Chambre », « Maison de ville »… → details.category), statut (ribbon-inside : « Disponible pour visite », « Bientôt disponible », « Nouveau » → details.status ; « Loué » = exclu), prix (« 1380 $ par mois »), chambres/salles de bain (→ amenities), carrousel d'images.
- Titre structuré par l'agence : « 4-1/2 | Secteur : Duberger | Disponible : Juillet 2026 » →
sector, availability (« Disponible : … » ou « Livraison … » pour les projets neufs), unit_type (« 4-1/2 » → 4½).
- Fiche détail (via
self.detail + cache BD, budget 60 vraies requêtes/sync) :
- adresse civique complète avec code postal (
.property_categs, texte hors liens : « 3135 Rue Dubé, Québec, QC G1M 2N2 ») ;
- taxonomies (liens property_city/property_area) → secteur (Duberger, Limoilou, Sainte-Foy…) et ville (Québec/Lévis) ;
- description riche (1500 c.) : bullets ▪️ (charges, internet, meublé, entrées laveuse-sécheuse, stationnement, animaux, fumeur) — l'Unicode décoratif (𝐏𝐫𝐢𝐱, 𝘙𝘦́𝘧) est normalisé NFKC pour que la couche extract_details fonctionne (inclusions négatives « NON Chauffé/NON Éclairé » bien détectées) ;
- n° de référence de l'annonce (REF…) →
details.reference ;
- overview (« 2 Chambres », « 1.5 Salles de bain ») + caractéristiques (« Entrée indépendante », « Stationnement extérieur ») fusionnées aux amenities ;
- galerie complète : carrousel
#owl-demo (background-image), suffixe -1170x660 retiré → pleine taille.
external_id = slug WordPress estate_property (ex. 2575-2) — stable.
# Champs indisponibles à la source
- Superficie : jamais publiée.
- lat/lng : le thème expose
general_latitude mais la valeur est erronée (latitude négative -46.8, identique sur toutes les fiches = coordonnées du siège avec coquille de signe) — ignorée, le géocodeur Lou-Ka prend le relais sur l'adresse (qui est excellente : code postal partout).
pets/furnished structurés : dérivés de la description par la normalisation commune quand mentionnés (« 2 chats maximum » → conditions, « Non meublé » → false).
# Fragilités
- Sélecteurs WpResidence (
.property_listing, .property_categs, #owl-demo, .overview_element) — sensibles à un changement de thème.
- Le titre-annonce (« … | Secteur : … | Disponible : … ») est une convention rédactionnelle de l'agence : si elle change, secteur et disponibilité retomberaient sur les taxonomies et le ribbon.
- Les cartes de la liste tronquent le titre : l'alt de l'image sert de titre complet — si l'agence cesse de renseigner les alt, prévoir un repli sur le h1 de la fiche.
# Notes
- 35 annonces actives (595 $ chambre – 1 895 $ maison de ville) réparties : Limoilou 18, Sainte-Foy 6, Duberger 3, Vanier 2, Saint-Sacrement 2, Beauport/Montcalm/Saint-Sauveur/Sillery 1. Aucune annonce Lévis au moment de l'écriture (la détection Lévis via property_area est en place).
- « Juillet 2026 » (déjà passé au moment de la sync) →
availability_date = now, comportement standard de la normalisation.