# Proposition : Aligner le BP sur le modèle officiel (BP_complet.md)

## 1. Comparaison : BP_complet.md vs Backend vs Modal

### Ordre du document officiel (BP_complet.md)

| # | Section | Champs / Contenu | Backend | Modal actuel |
|---|--------|------------------|---------|--------------|
| 0 | **En-tête** | Titre du projet, Mois/année élaboration | ❌ manquant | ❌ |
| **I. PRÉSENTATION DU PROMOTEUR** |
| 1 | Le Promoteur | Nom, Raison sociale, Statut juridique, Date création, N° récépissé, N° RC, NINEA, Adresse | ✅ (sauf "Nom" = promoteur) | Partiel (raison, statut, ninea, adresse) |
|   | Personne à contacter | Prénom/Nom, Téléphone, E-mail, Adresse | ✅ contact_* | ❌ |
| 2 | Capacité et compétences | Expérience, Formation, Compétences | ✅ experience_text, training_text, skills_text | Partiel (expérience, compétences ; **formation manquante**) |
| **II. PRÉSENTATION DU PROJET** |
| 3 | 2.1 Objet du projet | Texte | ✅ project_object | ✅ |
|   | 2.2 Objectifs du projet | Texte | ✅ project_objectives | ❌ |
|   | 2.3 Localisation du projet | Texte | ✅ location_reason | ❌ |
| **III. ÉTUDE DE MARCHÉ** |
| 4 | 3.1 Présentation produit/service | Produit, service, saisonnalité | ✅ product_description | ❌ |
|   | 3.2 Concurrence | Qui, combien, où, forces, faiblesses | ✅ competition_analysis | ❌ |
|   | 3.3 Clientèle | Qui, où, combien, comment achètent, pouvoir d'achat | ✅ customer_analysis | ❌ |
|   | 3.4 Stratégie marketing | Tableau ACTIVITÉS / DESCRIPTION | ✅ marketing_strategy (texte seul) | ✅ (texte) |
| **3. ÉTUDE TECHNIQUE** |
| 5 | 4.1 Processus production/prestation | Texte | ✅ process_description | ❌ |
|   | Immobilisations incorporelles | Table DÉSIGNATION / DESCRIPTION (puis coût en §4) | ✅ Investment (INCORPOREL) | Partiel (pas de description, pas type) |
|   | Immobilisations corporelles | Table DÉSIGNATION, QUANTITÉ, DESCRIPTION | ✅ Investment (CORPOREL) | Partiel (désignation, prix ; pas quantité, durée amort.) |
|   | Besoin en RH | Table POSTE, NOMBRE, DESCRIPTION | ✅ HumanResource | ❌ |
| **4. ETUDE FINANCIÈRE** |
| 6 | Coût incorporelles | Table DÉSIGNATION / COÛT | Calculé depuis Investment INCORPOREL | - |
|   | Coût corporelles | DÉSIGNATION, QUANTITÉ, PRIX UNIT., MONTANT | ✅ Investment | Partiel |
|   | BFR Main d'œuvre | DÉSIGNATION, MONTANT MENSUEL, NOMBRE MOIS, TOTAL | ✅ StartupCost (LABOR) | ❌ |
|   | BFR Matières premières | Idem | ✅ StartupCost (MATERIAL) | ❌ |
|   | BFR Charges fixes | Idem | ✅ StartupCost (FIXED) | ❌ |
|   | Récap | Immob. incorp, corp, BFR, Coût total | Calculé (financial_data) | - |
| 7 | Plan de financement | Apport, Autres, Crédit, Taux, Différé, Durée, Périodicité | ✅ (sauf crédit en montant stocké) | Partiel (apport, durée uniquement) |
| 8 | Tableau remboursement | Période, Capital, Intérêts, Amort., Annuité | Calculé (moteur financier) | - |
| 9 | Tableau amortissement | Immobilisation, Valeur, Durée, Amort. annuel | Calculé depuis Investment | - |
| 10 | Charges d'exploitation | Par désignation, Année 1 à 4 | ✅ ExpenseForecast | Partiel (year_1 seulement affiché) |
| 11 | Recettes d'exploitation | Par produit, Année 1 à 4 | ✅ RevenueForecast | Partiel (year_1 seulement) |
| 12 | Compte d'exploitation prévisionnel | RBE, Amort., Intérêt, Impôt, Résultat net, Cash-flow | Calculé (utils_pdf + financial_data) | - |
| 13 | Tests de sensibilité | -10% recettes, +10% charges | Calculé | - |

---

## 2. Ce qui manque

### Backend (léger)
- **BusinessPlan** : `project_title` (titre du projet), `elaboration_month`, `elaboration_year` (ou un champ `elaboration_date`).
- **Investment** : champ optionnel `description` (pour coller au tableau DESCRIPTION du modèle).
- Le reste (récap, remboursement, amortissement, P&L, sensibilité) est déjà calculé ou calculable.

### Modal (beaucoup)
- En-tête : titre projet, mois/année.
- Promoteur : date création, récépissé, RC, contact (nom, tél, email, adresse).
- Compétences : **formation** (training_text).
- Projet : **objectifs**, **localisation**.
- Marché : **présentation produit**, **concurrence**, **clientèle**.
- Technique : **processus**, investissements avec **type (incorporel/corporel)**, **quantité**, **durée amortissement**, **description** ; **Ressources humaines** (poste, nombre, description).
- BFR : **3 tableaux** (main d'œuvre, matières premières, charges fixes) avec désignation, montant mensuel, nombre de mois.
- Financement : **autres financements**, **taux d'intérêt**, **différé**, **périodicité**.
- Prévisions : **Années 2, 3, 4** pour recettes et dépenses (déjà en backend, pas affichées dans le modal).

---

## 3. Réponse à tes questions

### « Tout ça dans le modal, ce ne serait pas trop long ? »
**Non.** On ne met pas tout sur une seule page. On garde **une seule modale** avec un **wizard en plusieurs étapes** (10–12 étapes), dans **l’ordre exact** du BP_complet.md. Chaque étape = une section. L’utilisateur avance « Sauvegarder & Continuer », donc ce n’est pas trop long : c’est guidé et ordonné.

### « Modal ou page ? »
- **Modal wizard** = possible et cohérent : tout se remplit dans l’ordre du document, rien en « temps réel » ailleurs, puis on génère le PDF à la fin. Pas besoin de tout afficher d’un coup.
- **Page dédiée** = alternative (sections en accordéon ou onglets). Même données, même objectif PDF. Si tu préfères tout sur une page scrollable, on peut faire une page au lieu d’une modale.

**Recommandation : garder la modale et élargir le wizard** (plus d’étapes, tous les champs dans l’ordre). C’est le moins disruptif et ça respecte « ne rien laisser ».

### « Refaire le backend sans laisser virgule ? »
**Non.** Le backend couvre déjà presque tout. Il suffit d’**ajouter** :
- 3 champs sur `BusinessPlan` (titre projet, mois/année élaboration),
- 1 champ optionnel sur `Investment` (description).

Le reste existe (Investments, HumanResource, StartupCost, RevenueForecast, ExpenseForecast, champs texte). Il faut surtout **compléter le formulaire (modal)** et **adapter le générateur PDF** pour qu’il respecte à la lettre la mise en page du BP_complet.md.

---

## 4. Plan d’action proposé

1. **Backend** (rapide)  
   - Ajouter `project_title`, `elaboration_month`, `elaboration_year` (ou `elaboration_date`) sur `BusinessPlan`.  
   - Ajouter `description` (optionnel) sur `Investment`.  
   - Migration.

2. **Modal wizard** (élargi, même ordre que BP_complet)  
   - Étape 1 : En-tête + Promoteur (tous les champs I.1 + contact).  
   - Étape 2 : Compétences (expérience, **formation**, compétences).  
   - Étape 3 : Présentation du projet (objet, **objectifs**, **localisation**).  
   - Étape 4 : Étude de marché (produit, concurrence, clientèle).  
   - Étape 5 : Stratégie marketing.  
   - Étape 6 : Étude technique (processus, investissements incorporels avec description, investissements corporels avec description, RH).  
   - Étape 7 : BFR (3 tableaux : main d’œuvre, matières premières, charges fixes).  
   - Étape 8 : Plan de financement (apport, autres, taux, différé, durée, périodicité).  
   - Étape 9 : Recettes et dépenses (Année 1 à 4 pour les deux tableaux).  
   - Étape 10 : Récap / validation puis « Finaliser » → génération PDF.

3. **PDF**  
   - Réécrire `utils_pdf.py` (et la vue qui appelle le moteur financier) pour suivre **exactement** la structure et les tableaux de BP_complet.md (présentation promoteur, projet, marché, technique, coûts, plan de financement, tableau de remboursement, amortissement, charges/recettes, compte d’exploitation, sensibilité). Aucun champ « temps réel » : tout vient des données sauvegardées + calculs.

Résultat : **aucun champ laissé de côté** ; tout est saisi dans le wizard puis reflété dans le PDF conforme au modèle.

---

## 5. Résumé

- **Backend** : déjà bon, petits ajouts (titre projet, mois/année, description investissement).  
- **Modal** : wizard étendu à ~10 étapes dans l’ordre du BP_complet, avec tous les champs listés ci-dessus.  
- **PDF** : refonte du générateur pour coller au layout du BP_complet.md.  
- **Modal = solution adaptée** : tout dans le wizard, rien en temps réel, PDF à la fin.

Si tu valides cette proposition, on peut enchaîner dans l’ordre : backend → modal → PDF.
