# immeubles_ouellet — Les Immeubles Vianney Ouellet & Fils - site: https://immeublesouellet.com/location/ - méthode: html (recherche POST) - annonces: 1 (unité libre sur 81 rangées / 28 immeubles — parc de 300+ logements quasi plein, état normal du marché rimouskois) - couverture (sur 1 annonce): type 100%, adresse 100%, prix 100%, date de disponibilité 100% (AAAA-MM-JJ), services inclus 100%, ameublement 100%, photo 100% - fixture: ok (vivante — 2 requêtes) · test: ok (2 verts) ## Champs extraits - Site PHP artisanal (hébergeur PQM.net, jQuery). La page `/location/` est **vide en GET** : la grille ne sort que via la recherche **POST** (`quartier=0&grandeur=0&prix=0`) — un bloc `li.list__item` par immeuble (adresse `h4`, photo `ssl.pqm.net`, lien `detail.php?id=N`) avec une rangée par unité « `4 1/2 : Complet` » ou « `4 1/2 : 1 x libre à partir du 2025-12-15` ». - Le connecteur ne visite que les immeubles ayant au moins une rangée non « Complet » (budget 15) et émet une annonce par **bloc d'unité libre** de la fiche `detail.php?id=N` : ligne prix propre au bloc (« 995$ » ; « --- » quand loué), sections Description / Services inclus / Ameublement (→ `furnished`) / Disponibilité (date ISO), galerie de l'immeuble. Repli sur les rangées de la grille si la fiche est indisponible. - `external_id` = `--` (ex. `13-4-1-2-1`) — stable tant que l'ordre des blocs de la fiche (ordre BD du site) ne change pas. - Ville = Rimouski (tout le parc) ; les adresses `h4` sont des adresses civiques. ## Périmètre (exclusions volontaires) - Rangées et blocs « Commercial » : exclus (le moteur mélange résidentiel et commercial). - Unités « Complet » : jamais émises (le connecteur retournera plus d'annonces quand des logements se libéreront). ## Champs indisponibles à la source - Superficie, GPS, quartier fin : jamais publiés (les secteurs du moteur — Cégep/Institut Maritime/Hôpital, Paul-Hubert, UQAR… — ne sont pas rappelés sur les fiches). - Description souvent vide sur les blocs (texte libre facultatif). ## Fragilités - **Encodage mixte** : le gabarit PHP est en UTF-8 sain mais les textes saisis en base sont doublement encodés (« Meublé ») — correction chaîne par chaîne (`cp1252`→`utf-8`, repli `latin-1`), appliquée seulement quand des séquences « à »/« †» sont présentes. - Le POST est indispensable : si le site ajoute un jeton anti-CSRF au formulaire, le connecteur cassera (le test fixture le détecterait). Fixture rejouée sur la même clé méthode+URL+corps. - Fiche parsée ligne à ligne (texte semi-structuré) : un bloc commence par « type » + ligne prix (« --- » ou « N$ ») ; le pied de page (téléphone) sert de sentinelle de fin. - Pas de cache BD des fiches : seules les fiches d'immeubles ayant du disponible sont visitées (2 requêtes par sync au volume actuel). ## Notes - 1 unité libre le 2026-08-09 : 4½ à 995 $/mois, 483, de la Cathédrale, libre le 2025-12-15 (sic — date passée affichée par le site, conservée brute), non meublé, stationnement déneigé et entrée laveuse-sécheuse. - robots.txt : 404 (= tout permis) ; politesse 0,6 s.