# wandji — Gestion Immobilière Wandji (Outaouais : Gatineau, tous secteurs + Papineauville) - site: https://wandji-immobilier.com/proprietes (SPA Angular 2, vide sans JS) - méthode: **API JSON publique du backend** — `GET /api/buildings` (1 seule requête par sync, aucun rendu JS nécessaire) - annonces: 29 (30 documents moins 1 local commercial exclu) - couverture (sur 29 annonces): prix 100 %, adresse 100 %, dispo 100 %, type 100 %, photos 100 %, description longue 100 %, **lat/lng 100 %**, surface 21 % (le champ `area` de l'API est surtout des sentinelles 0/1 : ignoré sous 80 pi²) - fixture: ok (1 requête) · test: ok (2 verts) ## Champs extraits - **API** `/api/buildings` (Mongo, ne renvoie que `rented=false`) : `_id` (external_id **stable**), address, sector, city, province, postalCode, latitude/longitude, price, monthly, rooms (chambres), bathrooms, availability (ISO), type/subType/levels, booléens (climatisation, garage, stationnement ext., rangements, sous-sol), descriptionFR/EN, inclusionFR, exclusionFR, proximityFR, images. - **Photos** : `/api/buildings//picture/` (jusqu'à 20 par annonce). - **Prix** : numérique direct ; le suffixe « / mois » du price_label n'est ajouté que si `monthly=true` (comportement exact de la SPA). - **Secteur** : suffixe ville accolé par le site retiré (« Buckingham-gatineau » → Buckingham, « Plateau-hull » → Plateau) ; « Hull (Gatineau) » → ville Gatineau + secteur Hull. - **Type d'unité** : `type=HOUSE` → Maison ; sinon n chambres → (n+2)½ ; `details.bedrooms/bathrooms` conservés. - **Description** : descriptionFR + « Inclus : … / Non inclus : … / À proximité : … » (textes de l'agence, exploités par textmine). - **Exclusions** : type COMMERCIAL / subType LOCAL (1 local rue Gamelin) ; adresses hors Québec (le parc Ottawa du gestionnaire n'apparaît pas dans le flux actuel, garde-fou province/ville en place). ## Champs indisponibles à la source - Surface réelle : rarement renseignée (`area` sentinelle) — textmine la récupère parfois de la description. - Animaux/meublé : pas de champ API ; laissés à textmine sur la description. ## Fragilités - L'étude initiale notait « endpoints /api/* → 404 » : en réalité `/api/buildings` répond bien (le 404 venait d'un chemin non existant testé). Si le backend Node/Mongo (2016) change, l'API peut disparaître sans préavis. - Pas de robots.txt servi (la SPA renvoie son index.html) : aucune interdiction ; politesse 0,6 s conservée, 1 seule requête par sync de toute façon. - URL d'annonce : la SPA n'a pas de route par fiche (modal Angular) → `/proprietes#` (fragment stable). ## Échantillon - `wandji:6a0cb851156b6624006cfc29 | 52 rue Latour, Gatineau (Buckingham) | 4½ | 1 725 $ | dispo 2026-07-01 | 13 photos | GPS ✓` - `wandji:641a24e3313963190041fe77 | 101 Rue Marguerite Maillé #102, Gatineau (Plateau) | 4½ | 1 750 $ / mois | dispo 2026-07-01 | 20 photos` - `wandji:62dafaa56c0513230051fedc | 756 rue Notre-Dame #1, Gatineau | 4½ (townhouse) | 1 225 $ / mois | dispo 2026-08-01 | 17 photos`