# 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 % ».
