Dossier PLU+ de référence

1 place Pey-Berland, 33000 Bordeaux — parcelle 33063000KE0080 — commune INSEE 33063 — projet : surélévation.

Produit le 31/08/2026 en faisant réellement tourner runner.run_full_pipeline puis POST /plu/phase2/from-project/1 sur le dépôt artqad-saas (HEAD 0d94496). Un seul appel payant, 0,018099 $ mesuré. Page autonome : aucune ressource externe.

CE QUI NE VA PASRÉEL

Les 10 points qui bloquent ou empêchent de conclure. Feux verts et détail plus bas.

  1. Régime d'urbanisme applicable — Le document d'urbanisme de la commune n'a pas été dépouillé.source : Aucune source interrogée
  2. Ce qu'on peut construire — Aucune enveloppe constructible n'a pu être établie.source : Aucune source interrogée
  3. Patrimoine et Bâtiments de France — 1 périmètre(s) de protectionsource : Géoportail de l'Urbanisme · base Mérimée
  4. Servitudes d'utilité publique — 5 famille(s) interrogée(s), aucune servitude au droit de la parcelle — 1 source(s) non lue(s)source : Géoportail de l'Urbanisme (servitudes)
  5. Risques et nuisances — Exposition relevée : inondation, argiles, sismicitesource : Géorisques · sources locales
  6. Le projet face aux règles — 26 point(s) examiné(s) — 0 bloquant(s), 16 à vérifier — 9 source(s) non lue(s)source : Règles extraites du règlement
  7. Projet : Puis-je surélever sans dépasser la hauteur maximale autorisée ? — verdict non_verifie, démarche : certificat d'urbanisme opérationnel (CUb)source : project_reasoner.evaluate
  8. Projet : Quelle démarche dois-je engager pour cette surélévation ? — verdict conditionnel, démarche : permis de construiresource : project_reasoner.evaluate
  9. Projet : Mon projet est-il soumis à l'avis de l'Architecte des Bâtiments de France (ABF) ? — verdict non_verifie, démarche : vérification en mairiesource : project_reasoner.evaluate
  10. + 2 autre(s) point(s) non concluant(s) — détail complet en PARTIE 1, aucun n'est masqué.source : verdict.build_verdict · project_reasoner

PARTIE 1 — LE DIAGNOSTIC

Identité de la parcelleRÉEL

ChampValeurSource réellement interrogée
Adresse1 place Pey-Berland, 33000 BordeauxBAN — api-adresse.data.gouv.fr
Coordonnées44.838168, -0.578803BAN (score 0.98, type housenumber)
Commune INSEE33063BAN
Parcelle (IDU)33063000KE0080apicarto IGN — cadastre
Contenance cadastrale73 m²apicarto IGN — contenance officielle
Section / numéroKE / 0080apicarto IGN
Type de projet évaluésurelevationsaisie du dossier

🟠 Régime d'urbanisme applicablePARTIEL

cause : le contenu du document n'a pas été analysé

Le document d'urbanisme de la commune n'a pas été dépouillé.

état : non_verifie · provenance : Aucune source interrogée

🟠 Ce qu'on peut construirePARTIEL

cause : le contenu du document n'a pas été analysé

Aucune enveloppe constructible n'a pu être établie.

état : non_verifie · provenance : Aucune source interrogée

🟠 Patrimoine et Bâtiments de FranceRÉEL

1 périmètre(s) de protection

état : present · provenance : Géoportail de l'Urbanisme · base Mérimée

🟠 Servitudes d'utilité publiquePARTIEL

cause : la donnée est restreinte pour raisons de sécurité

5 famille(s) interrogée(s), aucune servitude au droit de la parcelle — 1 source(s) non lue(s)

état : non_verifie · provenance : Géoportail de l'Urbanisme (servitudes)

🟠 Risques et nuisancesRÉEL

Exposition relevée : inondation, argiles, sismicite

état : present · provenance : Géorisques · sources locales

🟠 Le projet face aux règlesPARTIEL

cause : le contenu du document n'a pas été analysé

26 point(s) examiné(s) — 0 bloquant(s), 16 à vérifier — 9 source(s) non lue(s)

état : non_verifie · provenance : Règles extraites du règlement

Patrimoine — le détail des servitudesRÉEL

ServitudeTypeGénérateurFichier officielÉtat
Site patrimonial remarquable (SPR)Périmètre du SPRSite Patrimonial Remarquable de BordeauxAC4_Site-Patrimonial-Remarquable-de-Bordeaux_20190214_act.pdfpresent

⚠ Monuments historiques : 0 remonté. La base Mérimée a répondu HTTP 301 Moved Permanently vers culture.data.gouv.fr et le client ne suit pas la redirection. La cathédrale Saint-André (classée MH, ~120 m) est donc absente de ce dossier alors qu'elle motive le périmètre ci-dessus.

Risques et nuisances — le détailRÉEL

CatégorieÉtatDétail
inondationpresentRisque recensé pour la commune : Inondation
cavitesabsentAucune cavité souterraine recensée dans un rayon de 500 m
argilespresentRetrait-gonflement des argiles : Exposition forte
sismicitepresentZone sismique 2 - FAIBLE

Terrain et bâti existant (IGN)RÉEL

MesureValeurSource
Altitude NGFNone – None mIGN RGE ALTI
Pente0.0 %IGN RGE ALTI
Bâtiments au sol2IGN BD TOPO
Emprise bâtie72.7 m²IGN BD TOPO

Assainissement et bruit (PEB)PARTIEL

cause : la zone n'est pas exploitable automatiquement (document scanné)

SujetÉtatDétail
AssainissementpresentZone d'assainissement collectif
Plan d'exposition au bruitnon_verifie5 aérodrome(s) candidat(s), zonage non automatisé

Le règlement d'urbanisme réellement téléchargé et luPARTIEL

cause : le contenu du document n'a pas été analysé

Mesure du runValeur
Fichier téléchargé243300316_reglement_20260505.pdf
Taille147 464 697 octets
Pages du document6762
Pages réellement lues400
Lecture tronquéeTrue
Trou de couverture signaléTrue
Sections retenues96
… dont lignes de sommaire43 (texte « …… 7 »)
… dont texte intégral vide83
Zones détectéesUM
Modèle d'extractiongoogle/gemini-2.5-flash-lite
Erreur d'extractionNone

Les règles que le LLM a réellement extraites

CléValeurArticleConfianceCitation
stationnement_min1.0UM 1.4.2.30.9- pour les logements : 1 place par logement - pour l'hébergement hôtelier : 1 place par chambre - pour les bureaux : 1 place par tranche de 50 m² - po…
stationnement_min1.0UM 1.4.2.30.9- pour les logements : 1 place par logement - pour l'hébergement hôtelier : 1 place par chambre - pour les bureaux : 1 place par tranche de 50 m² - po…
recul_min_m1.0UM 2.1.2.10.7Constitue une emprise publique un espace existant ou à créer ouvert au public et pouvant donner accès directement aux terrains riverains. Ces espaces …
recul_min_m25.0UM 2.3.4.20.9Sur les communes de Saint-Vincent de Paul et d'Ambarès-et-Lagrave, à proximité des emprises ferroviaires, une distance au moins égale à 25 m par rappo…

⚠ Ces 4 règles ne sont PAS entrées dans le rapport. Le stage rules a renvoyé « rules: no zoning context — empty rules » faute de source plu_zoning_gpu : project_data['rules'] vaut {}. Deux des quatre sont par ailleurs des doublons stricts, et recul_min_m = 25 m est cité pour les communes de Saint-Vincent-de-Paul et Ambarès-et-Lagrave — pas pour Bordeaux.

Le projet confronté aux règles (26 points)PARTIEL

cause : le contenu du document n'a pas été analysé

RègleValeur du projetValeur du PLUStatutÉtatMotif
Hauteur du bâti12.0 m—to_verifynon_verifieRègle « hauteur_max_m » non lue dans le règlement (non extraite ou extraction indisponible) — ne vaut pas absence de règle ; cause : le contenu du document n'a
Emprise au sol190 m² (39.6 %)—to_verifynon_verifieRègle « emprise_max_pct » non lue dans le règlement (non extraite ou extraction indisponible) — ne vaut pas absence de règle ; cause : le contenu du document n'
Recul aux limites0.0 m1.0 / 25.0 (contradictoire)to_verifycontradictoireCONTRADICTION dans le règlement — UM 2.1.2.1 : « Constitue une emprise publique un espace existant ou à créer ouvert au public et pouvant donner accès directeme
Surface de plancher (via COS)340 m²—to_verifynon_verifieRègle « cos » non lue dans le règlement (non extraite ou extraction indisponible) — ne vaut pas absence de règle ; COS ou surface parcelle manquant ; cause : le
Stationnement—1.0to_verifypresentVérification manuelle requise
Adresse géocodée (BAN)NoneNoneokpresent1 Place Pey Berland 33000 Bordeaux
Parcelle cadastrale identifiéeNoneNoneokpresent33063000KE0080
Zonage PLU bioclimatiqueNoneNoneto_verifynon_verifieHors Paris ou absent en open data ; cause : aucun connecteur de données n'existe pour cette commune
Risque inondation (PPRI/GASPAR)NoneNoneto_verifypresentRisque présent — Risque recensé pour la commune : Inondation
Cavités souterraines / anciennes carrièresNoneNoneokabsentAbsence confirmée — Aucune cavité souterraine recensée dans un rayon de 500 m
Retrait-gonflement des argilesNoneNoneto_verifypresentRisque présent — Retrait-gonflement des argiles : Exposition forte
Zonage sismiqueNoneNoneto_verifypresentRisque présent — Zone sismique 2 - FAIBLE
Secteur PSMV (sauvegarde patrimoniale)NoneNoneto_verifynon_verifieSecteur PSMV (sauvegarde patrimoniale) — calque non interrogé (service indisponible ou analyse incomplète) ; ne vaut PAS absence, à vérifier ; cause : le servic
Monument historique à proximitéNoneNoneokabsentParcelle hors de tout périmètre des abords de monument historique (couche SUP du Géoportail de l'Urbanisme)
Bruit aérodrome (PEB)NoneNoneto_verifynon_verifieAérodrome(s) à proximité mais commune non nommément listée dans un arrêté extractible (souvent un scan) — ne signifie pas une absence de PEB, vérifier en mairie
Assainissement (collectif / non collectif)NoneNoneto_verifynon_verifieZonage d'assainissement « collectif » identifié au point du projet ; cause : le contenu du document n'a pas été analysé
Règlement PLU PDF attaché et parséNoneNoneokpresent96 sections détectées dans le règlement PDF
Site patrimonial remarquable (SPR)NoneNoneto_verifypresentParcelle dans le périmètre du SPR Site Patrimonial Remarquable de Bordeaux — avis ABF conforme requis (régime distinct des abords MH) (SPR) ; acte consultable :
Site classé ou inscrit (DREAL)NoneNoneokabsentParcelle hors de tout site classé ou inscrit
Servitude électrique (ligne HT)NoneNoneokabsentServitude électrique (ligne HT) — absence confirmée par la couche SUP du Géoportail de l'Urbanisme
Servitude ferroviaireNoneNoneokabsentServitude ferroviaire — absence confirmée par la couche SUP du Géoportail de l'Urbanisme
Canalisation de transport (gaz / hydrocarbures)NoneNoneto_verifynon_verifieCanalisation de transport (gaz / hydrocarbures) — la diffusion des canalisations sensibles peut être volontairement restreinte : ne rien conclure de ce silence
Servitude de passage cours d'eau / bergesNoneNoneokabsentServitude de passage cours d'eau / berges — absence confirmée par la couche SUP du Géoportail de l'Urbanisme
Plan de prévention des risques (PPRN / PPRT / minier)NoneNoneokabsentPlan de prévention des risques (PPRN / PPRT / minier) — absence confirmée par la couche SUP du Géoportail de l'Urbanisme
Emprise bâtie existante (mesurée BD TOPO)190 m² (déclaré)73 m² (mesuré)to_verifypresentÉcart déclaré/mesuré 161 % > 15 % — bâti modifié depuis la dernière mise à jour BD TOPO, ou saisie à corriger
Potentiel de surélévation (ZAN)——to_verifynon_verifiePas de prescription graphique de hauteur à ce point, extraction du règlement écrit requise — aucune marge de surélévation ne peut être chiffrée sans elle ; caus

Cartes — orthophoto et calque cadastral (IGN, licence ouverte)RÉEL

Orthophoto IGN
Orthophoto — maps.safe_orthophoto_datauri, WMS IGN
Calque cadastral IGN
Calque cadastral — maps.fetch_cadastre_overlay_png, WMS IGN

Vue de rue — Google Street ViewRÉEL

Vue de rue
sources/street_view.py · clé GOOGLE_MAPS_API_KEY · panorama daté 2018-06

⛔ NON REVENDABLE EN L'ÉTAT. Arthur, réunion du 31/08 (transcript, ligne 117) : « C'est interdit de vendre des rapports de PLU avec Google Maps. » Cette image reste dans le dossier pour montrer ce que la brique produit, pas pour être vendue. Le remplacement existe déjà dans le code, deux sections plus haut : maps.safe_orthophoto_datauri et maps.fetch_cadastre_overlay_png (WMS IGN, licence ouverte). Entrée décision ouverte dans MANQUES.md.

Les démarches à engagerRÉEL

  1. Demander un certificat d'urbanisme opérationnel en mairie : seule réponse officielle et opposable.
  2. Choisir l'autorisation : déclaration préalable pour un petit projet, permis de construire au-delà.
  3. Consulter l'Architecte des Bâtiments de France avant de déposer.
  4. Faire confirmer en mairie chaque point ci-dessus avant tout engagement financier.

source : verdict.build_verdict — la ligne ABF n'apparaît que parce qu'un périmètre a été lu au droit de la parcelle.

PARTIE 2 — LES TROIS SCÉNARIOS A / B / C

L'enveloppe constructible calculéePARTIEL

cause : le contenu du document n'a pas été analysé

Étape du calculValeur
parcel 73 × CES 0.60 = emprise_brute 44 m²
emprise_nette = emprise_brute × 0.8 = 35 m²
levels_max = floor(9.0 / 3.0) = 3
SDP_brute = 35 × 3 = 105 m²
SDP_disponible = 105 - parking 0 = 105 m²
RésultatValeur
Emprise brute43.8 m²
Emprise nette35.04 m²
Niveaux max3
SDP disponible105.12 m²

⚠ CES 0,60 / hauteur 9 m / reculs 3 m ne sont pas lus dans le règlement de Bordeaux : ce sont les replis RNU de phase2/rule_adapter.to_envelope_inputs, faute de zonage. Le moteur signale lui-même : « No parcel geometry: applied 20% flat setback reduction (replace with GeoJSON-based calc when available) » — il applique un abattement forfaitaire de 20 % alors que la géométrie cadastrale réelle donne 1.0 m² constructibles (recul 3.0 m). Les deux chiffres coexistent dans la même réponse API sans être réconciliés.

Tableau comparatif A | B | CSIMULÉ

brique manquante : source plu_zoning_gpu (zonage GPU au point) — absente du run ; lecture complète du règlement (400 pages lues sur 6762, truncated=true) ; tables de coût statiques par commune (cost_baseline.py), dv3f_scraper.py jamais appelé

CritèreA — Hauteur maxB — Emprise maxC — Compromis
Emprise au sol (footprint_m2)21.02 m²35.04 m²28.03 m²
Niveaux (floors)312
Surface de plancher (sdp_m2)63.06 m²35.04 m²56.06 m²
Nombre de logements212
Mix de typologies1×T1 + 1×T31×T22×T2
Coût de construction118 000 €56 000 €112 000 €
Marge59 000 € (33.33 %)28 000 € (33.33 %)56 000 € (33.33 %)
Prix de vente estimé177 000 €84 000 €168 000 €
Loyer annuel estimé8 496 €4 032 €8 064 €
Stationnement exigé2 place(s)1 place(s)2 place(s)
Logements PMR111

L'avis, composé des chiffres calculés (aucun LLM)

⚠ Trou comblé à la main. scenarios.compute_scenarios ne rend que footprint_m2 floors sdp_m2 : les logements le mix le coût et la marge n'existent PAS par variante dans le produit. Ils sont ici obtenus en dérivant une EnvelopeResult par variante puis en rappelant generate_top_scenarios et estimate_cost — hors du chemin du rapport vendu.

⚠ La marge vaut 33 33 % dans les trois colonnes : elle est un ratio fixe des tables (vente 3 000 €/m² ÷ construction 2 000 €/m²) elle ne peut pas départager A B et C. Et commune_key = « default » : l'endpoint /from-project ne dérive jamais la ville du projet. Avec « bordeaux » A coûterait 135 700 € au lieu de 118 000 €.

Plans schématiques A / B / CSIMULÉ

brique manquante : source plu_zoning_gpu (zonage GPU au point) — absente du run

Option A — Hauteur maximale — 63.06 m² SDP T1 T3 10 m N Parcel 73 m² · CES 0.60 · H_max 9.0 m · recul voie 3.0 m · lat 3.0 m Scenario: 1×T1 + 1×T3 · 59 m² · PMR full 1 / évol 1 · parking 2
Option A — svg_plan.render_schematic
Option B — Emprise maximale — 35.04 m² SDP T2 10 m N Parcel 73 m² · CES 0.60 · H_max 9.0 m · recul voie 3.0 m · lat 3.0 m Scenario: 1×T2 · 28 m² · PMR full 1 / évol 0 · parking 1
Option B — svg_plan.render_schematic
Option C — Compromis — 56.06 m² SDP T2 T2 10 m N Parcel 73 m² · CES 0.60 · H_max 9.0 m · recul voie 3.0 m · lat 3.0 m Scenario: 2×T2 · 56 m² · PMR full 1 / évol 1 · parking 2
Option C — svg_plan.render_schematic

Coupes par niveau A / B / CSIMULÉ

brique manquante : source plu_zoning_gpu (zonage GPU au point) — absente du run

Coupe — Option A — Hauteur maximale (3 niveau(x)) T1 R1 80% T3 RDC 278% H tot. ≈ 6,0 m
Option A — building_section.render_section sur distribute_units
Coupe — Option B — Emprise maximale (1 niveau(x)) T2 RDC 100% H tot. ≈ 3,0 m
Option B — building_section.render_section sur distribute_units
Coupe — Option C — Compromis (2 niveau(x)) T2 R1 125% T2 RDC 125% H tot. ≈ 6,0 m
Option C — building_section.render_section sur distribute_units

Plans de logement par typologieSIMULÉ

brique manquante : gabarits de typologie statiques dans unit_floor_plan.py — aucun lien avec la géométrie de CETTE parcelle

PLAN TYPE T1 SÉJOUR + CUISINE 14,0 m² SALLE DE BAIN 4,0 m² ENTRÉE 2,0 m² 6,0 m 3,3 m T1 — 20,0 M²
Type T1 — unit_floor_plan.render_unit_plan
PLAN TYPE T2 SÉJOUR + CUISINE 20,0 m² CHAMBRE 11,0 m² SALLE DE BAIN 4,0 m² WC 1,5 m² ENTRÉE 2,0 m² 8,3 m 4,6 m T2 — 38,5 M²
Type T2 — unit_floor_plan.render_unit_plan
PLAN TYPE T3 SÉJOUR 18,0 m² CUISINE 9,0 m² CHAMBRE 1 11,0 m² CHAMBRE 2 11,0 m² SALLE DE BAIN 4,0 m² WC 1,5 m² ENTRÉE 2,0 m² COULOIR 10,2 m 5,7 m T3 — 58,5 M²
Type T3 — unit_floor_plan.render_unit_plan

Ensoleillement et ombre portéeRÉEL

MesureValeur
Heures de soleil > 15°5.0 h
Heures de soleil > 30°0.0 h
Ombre à midi22.58 m
Azimut de l'ombre359.91°

calculé sur la latitude/longitude réelles issues de la BAN.

Géométrie cadastrale réelle utilisée pour la maquetteRÉEL

MesureValeurSource
Surface parcelle73.1 m²cadastre
Surface constructible après reculs1.0 m²phase2/parcel_geometry.py
Recul appliqué3.0 mreculs RNU
Sommets du contour5apicarto IGN — contour réel, projeté en mètres

Ce que le run a réellement coûtéRÉEL

PosteValeur
Appels payants1 seul — llm-extract, google/gemini-2.5-flash-lite
Crédits OpenRouter avant15,698141 $
Crédits OpenRouter après15,716240 $
Coût mesuré0,018099 $ (≈ 1,81 centime)
Plafond fixé3,00 $
Appels fal.ai0 — aucune génération d'image payante
Sources gratuites interrogéesBAN, apicarto cadastre, apicarto GPU (zonage, prescriptions, SUP, info-surf), Géorisques, IGN RGE ALTI, IGN BD TOPO, IGN WMS, geopf téléchargement, Mérimée (échec 301), DGAC PEB
Durée totale de la chaîne109.32 s

Journal du run, étage par étageRÉEL

StageDuréeStatutDétail rendu par le moteur
geocode0.18 sgeocodedBAN score=0.98 type=housenumber insee=33063
parcel0.18 sparcel_resolvedparcel 33063000KE0080 (73 m²)
terrain0.59 sparcel_resolvedterrain: altitude=present (9.39–9.39 m NGF, pente 0 %); bati=present (2 bâtiment(s), 72.7 m²)
maps0.0 simages_readymaps: placeholder (orthophoto fetch deferred)
plu-fetch58.81 splu_sources_readygpu_zonage=∅; prescriptions=4; assainissement=present; gpu_reglement=243300316_reglement_20260505.pdf; georisques=inondation:present,cavites:absent,argiles:present,sismicite:present; monuments:err(Mérimée API returned HTTP 301: <a href="https://culture.data.gouv.fr">Moved Permanently</a>. ); sup=1 (abf:present,ac2:absent,autres:absent,gen:1); peb=non_verifie
parse43.21 splu_parsedparsed 96 sections (UM) from 6762 pages
llm-extract2.51 splu_parsedllm-extract: 4 rules extracted via google/gemini-2.5-flash-lite
rules0.0 srules_extractedrules: no zoning context — empty rules
compliance0.01 scompliance_readycompliance: 10/26 ok