SPB Git

spb/lou-ka Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

HTML 99.7%
3.1 KB · 30 lines markdown
Rendered Raw Blame History
1# boreal_abitibi — Constructions Boréal Abitibi2- site: https://constructionsborealabitibi.com/locations/3- méthode: html + AJAX (admin-ajax.php `get_rents`)4- annonces: 5 (Val-d'Or ×4, Malartic ×1 — logements neufs, seul acteur structuré à Malartic)5- couverture (sur 5 annonces): prix 100%, disponibilité 100% (« Disponible en août/… »), ville 100%, adresse 100% (avec n° d'app.), type 100% (Grandeur), chambres/sdb/garage 100%, étage 100%, inclusions 100%, animaux 100% (non), images 100%, description 100%6- fixture: ok · test: ok78## Champs extraits9- WordPress + thème maison (Tailwind) : la grille `/locations/` est **vide côté serveur** et remplie en AJAX. Le connecteur lit le HTML de `/locations/` pour récupérer le `nonce` (`var ajax_object = {…}`), puis POST `admin-ajax.php` `action=get_rents` (paginé via `max_num_pages` ; `town` vide = toutes les villes, donc un seul appel couvre Val-d'Or ET Malartic — le filtre `?rent_town=` de l'URL n'est pas nécessaire).10- Chaque « rent » du JSON est une carte HTML `article.listing-item` : **ville** (`div.h4 strong`), adresse + n° d'appartement (`h3 a`), prix (« 1 550 $ / mois »), « Disponible en <mois> », pictos chambres/salles de bain/garage, mention « Non meublé, non chauffé, non éclairé », photo (data-srcset, la plus grande résolution).11- Fiche détail `/loyer/<slug>/` (via `self.detail` + cache BD, budget 30) : tableau de specs (rangées `lg:table-row` h2/div) — **Grandeur** « 4 et demi » → `unit_type` 4½, Étage, Parking, **Inclusions** ; description (« Proximité des écoles… ») ; galerie lazy-load (data-src, redimensionnements retirés) ; la mention « TOUS NOS LOGEMENTS SONT NON-FUMEUR ET NOUS N'ACCEPTONS PAS LES ANIMAUX » affichée sur chaque fiche alimente `pets = non`.12- `external_id` = slug `/loyer/<slug>` (CPT WordPress) — stable.1314## Périmètre (exclusions volontaires)15- Rien à exclure : le CPT « loyer » ne contient que du résidentiel locatif (les terrains à vendre sont une page séparée).1617## Champs indisponibles à la source18- Superficie, GPS : jamais publiés.19- Prix affiché unique par carte (pas de « à partir de »).2021## Fragilités22- Le `nonce` AJAX est requis : s'il expirait entre le GET et le POST (improbable, quelques secondes), la requête échouerait — le sync suivant repart de zéro. À l'enregistrement de fixture, le nonce lu du HTML capturé rend le POST déterministe au rejeu.23- Les classes de carte sont des utilitaires Tailwind : le parsing repose sur les pictos `icon-bedroom/bathroom/garage`, les regex de prix/« Disponible » et `div.h4 strong` — les éléments les plus sémantiques disponibles.24- `posts_per_page=12` (valeur du site) conservé ; garde-fou `max_pages=10`.2526## Notes27- Villes réelles observées : Val-d'Or (3e Avenue, rue Giguère), Malartic (Dargis Ménard).28- Tout le parc actuel est en 4½ (2 chambres, 1 sdb, garage/stationnement), 1 400 $–1 650 $/mois, non meublé/chauffé/éclairé.29- robots.txt WP standard (admin-ajax.php explicitement `Allow`), sitemap `sitemap_index.xml` ; politesse 0,6 s (GET et POST) ; 7 requêtes par sync au volume actuel.30