# gestion_fauvel — Gestion Fauvel - site: https://gestionfauvel.com (WordPress + Elementor + JetEngine) - méthode: html plat — grille JetEngine de /logements-a-louer/ (1 requête) + fiches détail Elementor (cache BD) - annonces: 11 (l'immeuble « Grands-Ducs » marqué COMPLET! est exclu) - couverture (sur 11 annonces): prix 91%, adresse 91%, dispo 100%, type 91%, images 100%, ville 100%, description 100% — superficie/GPS jamais publiés - fixture: ok (12 requêtes) · test: ok (2 verts) ## Champs extraits - Grille `.jet-listing-grid__item` de la page liste : - `data-post-id` (id de post WordPress) → external_id stable ; - `data-url` de l'overlay JetEngine → URL de la fiche ; - en-têtes `.elementor-heading-title` de la carte : le dernier = titre (« Littera – 4 ½ »), celui qui contient `$` = price_label (« à partir de 1475$/mois »), le reste concaténé = availability (« Disponible à partir du 1er juillet 2026 ») ; - `.jet-listing-dynamic-terms` = ville réelle (taxonomie JetEngine) : Drummondville, Saint-Léonard-d'Aston, Notre-Dame-du-Bon-Conseil ; - vignette de la carte → image de secours. - unit_type = normalize_unit_type(titre), gardé seulement si le résultat est un format d'unité (« Carré Degranpré – Condos locatifs » → type vide). - Fiche détail (via self.detail, cache BD, budget 25) : - adresse civique = h3 d'en-tête qui matche une regex rue/boul/rang… (« 555, rue des Écoles, app. 105 Drummondville ») ; - description = blocs après le h2 « Description » jusqu'au h2 suivant : liste des unités dispo (#315: 3½ type B, 1275$/mois…) + inclusions (câble/internet Cogeco, eau chaude, stationnement, animaux…) — textmine structure tout ça au finalize() ; - photos = liens pleine taille du carrousel Elementor (jusqu'à 30). ## Champs indisponibles à la source - Superficie, GPS, commodités structurées : jamais publiés (les inclusions restent en texte dans la description). - Le « prix » de la carte est celui d'une unité type : plusieurs unités par fiche avec des prix différents (détaillés dans la description). - Carré Degranpré (2499) : projet de condos locatifs sans prix ni adresse publiés sur la carte (page de projet). ## Fragilités - La classification des en-têtes de carte est positionnelle (titre = dernier en-tête, prix = celui avec $) : un remaniement du gabarit JetEngine casserait le tri — le test de fixture le détecterait. - L'exclusion COMPLET!/commercial repose sur des mots-clés dans le titre et la disponibilité. - L'adresse vient d'une regex sur les h3 de la fiche : un immeuble sans h3 d'adresse (ex. Carré Degranpré) reste sans adresse (jamais deviné). ## Échantillon - 1288 : Littera – 4 ½, 1600$/mois, disponible maintenant, 555 rue des Écoles app. 105, Drummondville, 12 photos. - 3082 : 100 Boisbriand – 5 ½, à partir de 1650$/mois, 1er juillet 2026, 100 rue de Boisbriand, Drummondville. - 2873 : Le Zéa – 5 ½, 1595$/mois, disponible maintenant, 762 9e rang, Saint-Léonard-d'Aston, 28 photos.