# location_di — Location DI (Groupe Sphère DI) - site: https://locationdi.com (page /logements + pages régionales /logements/region/*) - méthode: html SSR (Astro) — cartes avec attributs data-* structurés + JSON-LD schema.org « Apartment » par fiche - annonces: 9 (unités disponibles affichées ; le parc total est de +750 logements — seules les dispos sont publiées) - couverture (sur 9 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%, images 100%, ville 100% - fixture: ok (22 requêtes) · test: ok (2 verts) - villes servies aujourd'hui : Trois-Rivières (4), Saint-Ambroise-de-Kildare (2), Bécancour, Berthierville, Saint-Gabriel-de-Brandon — 2 régions du périmètre (Mauricie + Lanaudière) d'un coup ## Champs extraits - Liste /logements : chaque carte `.logement-card` porte des ATTRIBUTS STRUCTURÉS `data-slug`, `data-ville`, `data-region`, `data-type` (3½…), `data-etage` (→ details.floor_label), `data-prix` (nombre), `data-date` (ISO) + badge de disponibilité affiché (« Disponible dès maintenant » / « Libre le … »). Les pages régionales découvertes dans la nav sont balayées en filet (dédup par slug) — garde-fou max_region_pages=12. - Fiche (via self.detail, plafond 60 vraies requêtes/sync) : JSON-LD « Apartment » → adresse civique (streetAddress) + ville (addressLocality), superficie (floorSize pi²), chambres (numberOfRooms → details.bedrooms), galerie photo (cdn.sanity.io), description synthétique de la source. Commodités : items de la section « Commodités et inclusions » (insonorisation, thermopompe, échangeur d'air, animaux acceptés, Wi-Fi $…). - external_id : identifiant numérique final du slug (ex. 509827) — stable. - price_label « À partir de X$ / mois » quand la carte l'affiche → price_from. - availability_date : data-date ISO normalisé (une date passée = « now »). ## Champs indisponibles à la source - GPS : non publié (ni JSON-LD geo, ni carte avec coordonnées) — géocodeur. - Animaux : « Animaux acceptés (sous certaines conditions) » apparaît dans les commodités quand applicable → dérivé par textmine, pas de champ dédié. - Meublé : non publié. ## Conformité robots.txt (⚠ vérifiée) - Pas de bloc `User-agent: *` ni de crawl-delay : les UA non listés (dont LouKaBot) sont permis par défaut. Les bots IA « live fetch » sont explicitement AUTORISÉS ; seuls les bots d'ENTRAÎNEMENT (GPTBot, ClaudeBot, CCBot…) et les bots SEO tiers sont bloqués. Notre usage — indexation d'annonces avec lien vers la source, UA transparent — est conforme. request_delay = 0,7 s. ## Fragilités - Pages servies SANS charset dans l'en-tête HTTP : le connecteur force UTF-8 (resp.encoding), sinon mojibake (« Trois-Rivières »). - Les attributs data-* de la carte sont la source primaire : un refactor du thème Astro casserait la liste (le test fixture le détecterait). - Le prix JSON-LD de la fiche peut différer du data-prix de la carte (« À partir de » : la carte affiche le plus bas — conservé tel quel). ## Échantillon - 509827 : 3½ — 1894 Rue Saint Philippe, Trois-Rivières, 1025 $ (à partir de), 625 pi², 3e étage, dispo maintenant, 5 photos, 5 commodités. - 446229 : 3½ — 330 Rue de Bienville, Berthierville, 1025 $, 615 pi². - 691081 : 3½ — 989 Route 343, Saint-Ambroise-de-Kildare, 1025 $, 800 pi².