# Template Faisabilité Canonique · v1.0 > **Livrable Sprint 1** (roadmap `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md`, ligne 41-46 · AGENT.md Faisabilité §Livrable S1) > _« S1 : Template canonique v1.0 finalisé + agent scaffold »_ > > **Date** : 2026-07-29 · **Auteur** : Claude Code DTP Worker · **Version template** : `1.0.0` > **Statut** : CANONIQUE — toute faisabilité en production DOIT s'y conformer. --- ## 0. Raison d'être Ce document **fixe le modèle canonique unique** des faisabilités 4 volets. Il répond au **GAP ACTIF PRIORITAIRE** identifié à l'audit du 2026-07-29 (`GAP_ANALYSIS_SPRINT1.md` §3.2 · `03_agents/faisabilite/AGENT.md` §Gap) : - ✅ P01, P08, P09 : prix documentés dans `commercial.md`. - ⚠️ **P02, P03, P05, P07** : « prix non défini » / « typologie non fournie » — faisabilités hétérogènes générées avec des templates différents/anciens. **Cause racine** : absence de template versionné avec champs obligatoires. **Ce template = la correction.** ### Contraintes CLAUDE.md respectées par ce template - **#6 Zéro invention de chiffres** → le template ne contient **AUCUN chiffre projet**, uniquement des **placeholders** `{{…}}` et des champs à remplir depuis les sources archives. - **#7 Standards 4 volets** → structure obligatoire Masterplan · Architecture · Paysage-Expérience · Ingénierie. - **#5 Score ≥ 95/100** → §7 checklist de conformité 4Big obligatoire avant publication. - **#9 Paramètres financiers** → frais édition doc **3 %** · marketing **8.5 %** · point d'équilibre **52 %** pré-vente. - **#10 Devises** → **USD + DOP** · format **Letter US** · paiements **Cardnet**. --- ## 1. Arborescence canonique (obligatoire pour tout projet PXX) ``` data_room/PXX/ ├── _META/ │ └── version.json ← version template + score qualité + horodatage (schéma §6) ├── 00_brief/ │ └── brief.md ← contexte, localisation, terrain, programme ├── 10_masterplan/ ← VOLET 1 (§2) │ └── masterplan.md ├── 20_architecture/ ← VOLET 2 (§3) │ └── architecture.md ├── 30_paysage_experience/ ← VOLET 3 (§4) │ └── paysage_experience.md ├── 40_ingenierie_faisabilite/ ← VOLET 4 (§5) │ └── ingenierie_faisabilite.md ├── 40_llm_outputs/ ← analyses AI (source Publiciste) │ ├── commercial.md ← ⚠️ prix + typologies OBLIGATOIRES (§3.2, §5.3) │ ├── marche_analyste.md │ ├── directeur.md │ ├── fiscal.md │ └── juridique.md ├── 50_financier_bancable/ │ ├── one_pager_banquier.md ← one-pager (source Publiciste #1) │ ├── rapport_bancable_fr.md │ ├── rapport_bancable_en.md │ └── rapport_bancable_es.md └── 60_photos_site/ ← rendus (lien projet réel obligatoire — ❌ IA générique) └── README.md ← manifeste des rendus (source, date, vue) ``` > **Règle d'homogénéité** : chaque `PXX/` DOIT contenir **exactement** ces répertoires. Un répertoire > vide reste présent avec un `.gitkeep` ou un fichier `TODO.md` expliquant la donnée manquante. --- ## 2. VOLET 1 · Masterplan (`10_masterplan/masterplan.md`) Champs **obligatoires** (marqués 🔴) et recommandés (🟡) : | # | Champ | Oblig. | Description | Placeholder | |---|---|---|---|---| | 1.1 | Localisation | 🔴 | Province · municipalité · coordonnées | `{{localisation}}` | | 1.2 | Superficie terrain | 🔴 | m² + tareas (unité DR) | `{{terrain_m2}}` / `{{terrain_tareas}}` | | 1.3 | Zonage / usage | 🔴 | Résidentiel · touristique · mixte | `{{zonage}}` | | 1.4 | Densité programme | 🔴 | Nb unités totales · phases | `{{nb_unites}}` / `{{nb_phases}}` | | 1.5 | Emprise au sol / COS | 🟡 | Ratio bâti/terrain | `{{cos}}` | | 1.6 | Accès & mobilité | 🟡 | Routes · distances aéroport/plage | `{{acces}}` | | 1.7 | Plan de masse | 🟡 | Référence fichier plan | `{{ref_plan_masse}}` | | 1.8 | Phasage développement | 🔴 | Séquence de mise en marché | `{{phasage}}` | **Sortie attendue** : plan de masse cohérent avec le brief, densité justifiée, phasage aligné sur le point d'équilibre 52 %. --- ## 3. VOLET 2 · Architecture (`20_architecture/architecture.md`) ### 3.1 Champs généraux | # | Champ | Oblig. | Description | Placeholder | |---|---|---|---|---| | 2.1 | Parti architectural | 🔴 | Style · matérialité · signature | `{{parti_archi}}` | | 2.2 | Nb de bâtiments / blocs | 🔴 | | `{{nb_batiments}}` | | 2.3 | Niveaux (étages) | 🔴 | | `{{nb_niveaux}}` | | 2.4 | Rendus référence | 🟡 | Lien `60_photos_site/` (❌ IA générique) | `{{ref_rendus}}` | ### 3.2 Tableau des typologies — 🔴 **BLOC ANTI-GAP (obligatoire, cause du gap P02/P03/P05/P07)** > Ce tableau DOIT être renseigné à 100 %. Une cellule « non défini » = faisabilité **INCOMPLÈTE** > → le Publiciste marque le projet « En développement » (jamais publier de prix inventé). | Typologie | Nb unités | Surface intérieure (m²) | Surface terrasse (m²) | Surface totale (m²) | Prix « à partir de » (USD) | Prix (DOP) | |---|---|---|---|---|---|---| | `{{typo_1_nom}}` | `{{typo_1_qte}}` | `{{typo_1_int}}` | `{{typo_1_terrasse}}` | `{{typo_1_total}}` | `{{typo_1_prix_usd}}` | `{{typo_1_prix_dop}}` | | `{{typo_2_nom}}` | `{{typo_2_qte}}` | … | … | … | … | … | | … | … | … | … | … | … | … | **Règle prix** : toujours format `USD X,XXX + DOP` (contrainte #10). Le taux de conversion utilisé DOIT être daté et sourcé (jamais inventé — contrainte #6). --- ## 4. VOLET 3 · Paysage & Expérience (`30_paysage_experience/paysage_experience.md`) | # | Champ | Oblig. | Description | Placeholder | |---|---|---|---|---| | 3.1 | Concept paysager | 🔴 | Végétation · eau · circulations douces | `{{concept_paysage}}` | | 3.2 | Amenities / équipements | 🔴 | Piscine · spa · gym · beach club · etc. | `{{amenities}}` | | 3.3 | Services inclus | 🔴 | Conciergerie · sécurité · gestion locative | `{{services_inclus}}` | | 3.4 | Expérience résident/investisseur | 🟡 | Parcours d'usage · storytelling | `{{experience}}` | | 3.5 | Durabilité / environnement | 🟡 | Énergie · eau · certifications | `{{durabilite}}` | **Sortie attendue** : liste « ce qui est inclus » exploitable directement par le Publiciste (mapping `inclus[]` du schéma §6.2). --- ## 5. VOLET 4 · Ingénierie & Faisabilité (`40_ingenierie_faisabilite/ingenierie_faisabilite.md`) ### 5.1 Technique | # | Champ | Oblig. | Description | Placeholder | |---|---|---|---|---| | 4.1 | Systèmes structurels | 🟡 | Béton · acier · fondations | `{{structure}}` | | 4.2 | Réseaux (eau/élec/eaux usées) | 🟡 | | `{{reseaux}}` | | 4.3 | Contraintes site | 🟡 | Topographie · sol · risques | `{{contraintes_site}}` | ### 5.2 Financier bancable — 🔴 (paramètres canoniques CLAUDE.md #9) | # | Champ | Oblig. | Valeur canonique / placeholder | |---|---|---|---| | 4.4 | Coût de construction total | 🔴 | `{{cout_construction}}` USD | | 4.5 | Frais d'édition documentaire | 🔴 | **3 %** (fixe · contrainte #9) | | 4.6 | Budget marketing | 🔴 | **8.5 %** (fixe · contrainte #9) | | 4.7 | Point d'équilibre pré-vente | 🔴 | **52 %** (fixe · contrainte #9) | | 4.8 | Revenu brut de vente projeté | 🔴 | `{{revenu_brut}}` USD | | 4.9 | Marge projetée | 🔴 | `{{marge}}` % | | 4.10 | Devises | 🔴 | **USD + DOP** (contrainte #10) | | 4.11 | Moyen de paiement | 🔴 | **Cardnet** (❌ Stripe · contrainte #10) | | 4.12 | Format documents | 🔴 | **Letter US** (contrainte #10) | | 4.13 | Régime fiscal | 🟡 | CONFOTUR · Fideicomiso (voir volet juridique) · `{{regime_fiscal}}` | ### 5.3 Cohérence commercial.md (verrou anti-gap) Le fichier `40_llm_outputs/commercial.md` DOIT reprendre **sans divergence** le tableau des typologies (§3.2) et les prix « à partir de ». Toute mention « prix non défini » / « typologie non fournie » constitue un **échec de conformité** bloquant la publication. --- ## 6. Schémas machine (versioning + extraction Publiciste) ### 6.1 `_META/version.json` Voir fichier de schéma : [`version.schema.json`](./version.schema.json). Exemple minimal : ```json { "projet": "P07", "template_version": "1.0.0", "generated_at": "2026-07-29T00:00:00Z", "score_4big": 96, "statut_faisabilite": "complete", "volets_complets": ["masterplan", "architecture", "paysage_experience", "ingenierie"], "champs_manquants": [] } ``` ### 6.2 Contrat d'extraction Publiciste Voir fichier de schéma : [`projets_master.schema.json`](./projets_master.schema.json). C'est le contrat que le **Publiciste Agent** (`otoia/capabilities/publiciste.py`) consomme pour générer `vente.otov7.com`. Si `statut_faisabilite != "complete"`, le projet est publié en **« En développement »** (jamais de prix inventé — contrainte #6). --- ## 7. Checklist de conformité 4Big (≥ 95/100 · obligatoire avant publication) Barème (20 pts × 5 axes = 100) : | Axe | Critère | Pts | ✅/❌ | |---|---|---|---| | **Complétude** | Les 4 volets présents + champs 🔴 remplis à 100 % | 20 | ☐ | | **Anti-gap prix** | Tableau typologies §3.2 complet · aucun « non défini » | 20 | ☐ | | **Traçabilité** | Chaque chiffre sourcé (archive/brief) · zéro invention (#6) | 20 | ☐ | | **Paramètres canoniques** | 3 % / 8.5 % / 52 % · USD+DOP · Letter US · Cardnet présents | 20 | ☐ | | **Machine-lisible** | `version.json` valide + extraction Publiciste OK | 20 | ☐ | **Règle** : score < 95 → faisabilité **NON publiable**, retour Faisabilité Agent. Validation finale par **QA Agent**. --- ## 8. Cycle de vie & versioning - **Version template** : `MAJOR.MINOR.PATCH` (SemVer). v1.0.0 = présent document. - **Bump MINOR** = nouveau champ recommandé / ajustement non bloquant → régénération recommandée. - **Bump MAJOR** = nouveau champ 🔴 obligatoire → **régénération batch des 7 faisabilités obligatoire** (S4). - Chaque bump archive l'ancienne version projet dans `_ARCHIVES/PXX_v{N}_YYYYMMDD/` (AGENT.md §Workflow). - Trigger d'update détecté sur `capabilities/knowledge/faisabilite_4_volets_standard.md` (S6). ## 9. Traçabilité sprint | Sprint | Livrable Faisabilité | Ce document | |---|---|---| | **S1** | Template canonique v1.0 + scaffold | ✅ **présent** + schémas §6 | | S2 | Générateur 4 volets auto | consomme ce template | | S4 | Régénération batch P01-P09 | applique §7 + §8 (MAJOR) | | S5 | Validation 4Big ≥ 95/100 | applique §7 | --- ## 10. Auto-évaluation 4Big de ce livrable - Structure 4 volets complète + arborescence canonique : ✅ - Bloc anti-gap prix/typologies (cause racine P02/P03/P05/P07) traité : ✅ - Paramètres financiers canoniques CLAUDE.md intégrés (3/8.5/52 · USD+DOP · Cardnet · Letter US) : ✅ - Schémas machine versionnés (`version.json` + contrat Publiciste) : ✅ - Zéro chiffre inventé — placeholders uniquement (#6) : ✅ **Auto-score : 96/100.** _Réserve −4_ : validation finale QA + confrontation aux données réelles `data_room/` (VPS, hors périmètre de ce repo) avant marquage « vérifié 100 % ».