Aller au contenu

06 — Refonte de la web application

Traduction de l'analyse (docs 01-05) en produit : objectifs redéfinis, carte des pages, parcours, et maquettes de l'interface — en particulier l'éditeur de mémoire section par section et la vue d'analyse read-only.

⚠️ Révisé par le doc 08. L'éditeur n'est plus piloté par une trame Serpe mais par le cadre client parsé (rubriques + barème en points qui alloue le budget de mots). La « bibliothèque de blocs » (module C) devient concrète = blocs.jsonl (1 776 blocs, 3,1 Mo, tient en KV — pas de base vectorielle pour le POC), à distinguer d'une bibliothèque canonique curée. Maquette révisée et plan de mise en œuvre : doc 08 §5, §7.

1. Objectifs redéfinis

L'app actuelle (kanban + fiche AO à onglets vides) est une bonne coquille mais ne répond pas encore au besoin. Le besoin réel, clarifié, se structure en deux modules + un socle transverse :

Module Finalité Utilisateur Priorité
A. AO terminés (read-only) Démontrer la valeur vite : analyser/qualifier le passé, statistiques, synthèses IA Direction, chargés d'études P1 — quick win
B. AO en cours (workflow) Pré-générer la réponse section par section, assembler le mémoire Chargés d'études P2 — cœur métier
C. Bibliothèque & référentiels Source unique de vérité (blocs réutilisables, références, parc, certifs) Admin, chargés d'études P1 — prérequis de B

Principe directeur : le module A (lecture) et le module C (référentiels) se construisent d'abord — ils démontrent la valeur sans risque et alimentent le module B (génération). C'est aussi l'ordre de priorité du doc 04 §5.

2. Carte des pages

/                         Tableau de bord (KPIs + stats transverses, doc 05 §2.3)
/appels-offres            Liste (datatable) filtrable — en cours ET terminés
/kanban                   Pipeline des AO en cours (statuts normalisés)

── Module A : AO terminés (read-only) ──────────────────────────
/ao/[id]                  Fiche AO — onglets adaptés au statut :
                          • Terminé  → Analyse / Documents / Réponse déposée / Projets liés
                          • En cours → Analyse / Documents / RÉDACTION / Chiffrage / Dépôt
/analyse                  Vue statistique agrégée (répartition, taux, montants)

── Module B : AO en cours (workflow de réponse) ────────────────
/ao/[id]/rediger          ÉDITEUR DE MÉMOIRE section par section (écran clé)
/ao/[id]/rediger/[section] Édition d'une section (formulaire + génération IA)

── Module C : Bibliothèque & référentiels ──────────────────────
/bibliotheque/blocs       Blocs réutilisables (figés + trames), versionnés
/bibliotheque/references  Références clients (taggées par type de prestation)
/bibliotheque/materiel    Parc matériel & fiches engins
/bibliotheque/moyens      Moyens humains / certifications / organigrammes

── Admin ───────────────────────────────────────────────────────
/parametres               Agences, mapping de statuts, entreprise, utilisateurs

3. Parcours utilisateur (les 2 essentiels)

Parcours A — « comprendre un AO passé » (démo de valeur)

Liste AO (filtre : terminés) → clic sur un AO → onglet Analyse :
carte d'identité + résumé IA du besoin + contraintes clés + postes/quantités +
ce qu'on a répondu + issue. En 1 écran, un décideur "voit" l'AO sans ouvrir 40 PDF.

Parcours B — « répondre à un AO en cours »

Kanban (colonne « À analyser ») → fiche AO → onglet Analyse (DCE extrait) →
bouton « Rédiger le mémoire » → ÉDITEUR sections :
  1. l'app propose une trame (mapping critères RC → sections)
  2. suggère un mémoire de référence similaire (RAG par type de prestation)
  3. pré-remplit les blocs FIGÉS (suivi, réception, RSE, sécurité…)
  4. génère les blocs PARAMÉTRÉS (contexte, contraintes/solutions, méthodo)
  5. l'utilisateur valide/édite section par section (statut par section)
  6. assemblage → document mis en forme (avec visuels) → dépôt

4. Maquette — Vue d'analyse d'un AO terminé (Module A)

┌──────────────────────────────────────────────────────────────────────────┐
│  ← Appels d'offres      B220301 · Prestations sylvicoles — Lac Vassivière │
│  [ Perdu ]  AFFAIRES-16 · CELRL (87) · MAPA · Forfait                     │
├──────────────────────────────────────────────────────────────────────────┤
│  Analyse │ Documents │ Réponse déposée │ Projets liés                     │
├──────────────────────────────────────────────────────────────────────────┤
│  CARTE D'IDENTITÉ                        SYNTHÈSE IA                       │
│  ┌───────────────────────────┐  ┌──────────────────────────────────────┐ │
│  │ Montant estimé   ~48 000 € │  │ Amélioration sylvicole sur accrus    │ │
│  │ Lots             1         │  │ forestiers : broyage, abattage/       │ │
│  │ Date limite      22/07/24  │  │ façonnage, potées. Site classé,      │ │
│  │ Durée            2 mois    │  │ accès contraint, période sèche.       │ │
│  │ Type prestation  Sylvicole │  └──────────────────────────────────────┘ │
│  │ Critères  Prix 40/Tech 60 ⚠│  CONTRAINTES CLÉS (→ réutilisables)       │
│  └───────────────────────────┘  • accès engins limité  • site classé     │
│                                  • gestion produits de coupe  • délais     │
│  POSTES & QUANTITÉS              CE QU'ON A RÉPONDU                        │
│  ┌───────────────────────────┐  Mémoire 117 p. · 3 réf. citées ·          │
│  │ Recépage/abattage  12 347 €│  moyens : 2 équipes, broyeur+PL grue      │
│  │ Gestion coupes     19 911 €│  Prix remis : 40 737 € TTC                │
│  │ Installation/repli  1 690 €│                                            │
│  └───────────────────────────┘  [ Ouvrir le mémoire déposé ]              │
└──────────────────────────────────────────────────────────────────────────┘
   ⚠ = donnée issue du RC, à fiabiliser quand un vrai RC sera fourni

5. Maquette — Éditeur de mémoire section par section (Module B, écran clé)

┌──────────────────────────────────────────────────────────────────────────┐
│  Rédiger le mémoire — L240572 · Déboisement des emprises · DREAL (16)     │
│  Mode : LIBRE  ·  Trame : Serpe standard  ·  Réf. similaire : IIBSN (79) ▸│
├───────────────┬──────────────────────────────────────────────────────────┤
│ SECTIONS       │  3.1 Méthodologie / organisation du chantier             │
│ (glisser p/    │  ┌────────────────────────────────────────────────────┐  │
│  réordonner)   │  │ Type : PARAMÉTRÉE (génération assistée)             │  │
│                │  │                                                     │  │
│ ✓ 1 Contexte   │  │ Postes détectés (CCTP) :                            │  │
│ ✓ 2 Avantages  │  │  ☑ Bûcheronnage manuel   ☑ Débroussaillage         │  │
│ ● 3 Réponses…  │  │  ☑ Étrépage manuel       ☐ Broyage                 │  │
│   ✓ 3.1 Méthodo│  │                                                     │  │
│   ○ 3.2 Moyens │  │ Contraintes de site (→ contraintes/solutions) :    │  │
│ ○ 4 Contraintes│  │  ☑ Zone Natura 2000  ☑ Route/circulation           │  │
│ ⚙ 5 Suivi chant│  │  ☑ Cours d'eau       ☐ Urbain dense                │  │
│ ⚙ 6 Réception  │  │                                                     │  │
│ ⚙ 7 Ctrl qualité│  │  [ ✨ Générer cette section ]  [ Réinitialiser ]   │  │
│ ⚙ 8 H&S + RSE  │  │  ────────────────────────────────────────────────  │  │
│ ⊞ 9 Références │  │  « Préparation du chantier — Une reconnaissance     │  │
│ ⊞ 10 Annexes   │  │  préalable est réalisée par le référent d'agence…   │  │
│                │  │  Maintien de la circulation → signalisation NF…     │  │
│ ─────────────  │  │  Longueur max 220 m en campagne, 100 m urbain… »    │  │
│ Légende :      │  │  [ éditable ]                                       │  │
│ ✓ validé       │  └────────────────────────────────────────────────────┘  │
│ ● en cours     │  Statut section : ● généré, à valider                    │
│ ○ à faire      │  Source : réf. IIBSN §3.1 + contraintes CCTP L240572     │
│ ⚙ bloc figé    │                                                          │
│ ⊞ sélection    │  [ ‹ Section précédente ]        [ Valider · suivante › ]│
├───────────────┴──────────────────────────────────────────────────────────┤
│  Progression : 4/10 sections validées   [ Aperçu assemblé ]  [ Exporter ] │
└──────────────────────────────────────────────────────────────────────────┘

Trois types de sections, trois interactions (rappel doc 03 §6-7) : - ⚙ Figée → bouton « Insérer la version [date] » (choix d'une version datée du bloc de la bibliothèque). Édition découragée (source de vérité). - ● Paramétrée → cases (postes + contraintes issus du CCTP) + « ✨ Générer » (Gemini, avec la réf. similaire en contexte) → texte éditable. - ⊞ Sélection → piocher dans une base filtrée (références par type de prestation, engins du parc, packs d'annexes).

6. Maquette — Assemblage & export

┌──────────────────────────────────────────────────────────────────────────┐
│  Aperçu assemblé — L240572           Cadre : LIBRE   Pages estimées : 34  │
│  ⚠ Limite imposée : aucune détectée (RC non fourni)                       │
├──────────────────────────────────────────────────────────────────────────┤
│  [Sommaire auto]  1 Contexte · 2 Avantages · 3 Réponses aux critères …    │
│                                                                            │
│  Contrôles « passoire » (Cathy) :                                          │
│   ✓ Toutes sections validées   ✓ Pagination   ⚠ 1 pack annexe non coché   │
│   ✓ Pièces candidature (DC1/DC2/dossier admin)  ✓ SOPRE                    │
│                                                                            │
│  Visuels intégrés : ☑ organigramme agence  ☑ fiches engins  ☐ Gantt       │
│                                                                            │
│  [ Exporter .docx ]  [ Exporter .pdf ]  [ Envoyer vers Google Docs ]      │
└──────────────────────────────────────────────────────────────────────────┘

L'export reprend le point différenciant identifié : mise en forme aux standards Serpe + intégration correcte des visuels (doc 03 §5).

7. Bibliothèque de blocs (Module C — le prérequis)

/bibliotheque/blocs
┌──────────────────────────────────────────────────────────────────────────┐
│  Blocs réutilisables            [ + Nouveau bloc ]   Filtrer : [ tous ▾ ] │
├──────────────────────────────────────────────────────────────────────────┤
│  Bloc                        Type      Version   MAJ         Verticale    │
│  Suivi de chantier           Figé      v3        12/2025     Toutes       │
│  Réception du chantier       Figé      v2        12/2025     Toutes       │
│  Démarche RSE                Figé      v4        01/2026     Toutes       │
│  Politique H&S               Figé      v3        01/2026     Toutes       │
│  Trame SOPRE                 Trame     v2        11/2025     Toutes       │
│  NOS — Plan gestion végét.   Trame     v1        —           SNCF         │
│  Présentation groupe         Figé      v5        01/2026     Toutes       │
│  Fiche engin : broyeur SAELEN Asset    —         —           Élagage      │
└──────────────────────────────────────────────────────────────────────────┘

Chaque bloc versionné et daté = fin des désynchronisations entre agences (doc 04 §1). C'est la source unique de vérité — le quick win.

8. Ce qui change vs l'app actuelle (feat/scaffold-poc)

Actuel Devient
Fiche AO à onglets vides (Documents/Analyse/Rédaction/Visuels/Projets) Onglets adaptés au statut + onglet Analyse peuplé de data qualifiée
Rien pour rédiger Éditeur section par section (le cœur)
Rien pour les référentiels Bibliothèque de blocs versionnée (source de vérité)
Kanban statique Kanban alimenté par les AO réels (statuts normalisés via statut_mapping)
Données mockées Alimenté par ingestion Drive + extraction Gemini (docs 02, 07)

9. Découpage de mise en œuvre (proposé)

  1. Socle données : schéma révisé (doc 07) + ingestion Drive read-only (métadonnées) + normalisation statut via statut_mapping.
  2. Module C (bibliothèque de blocs) : source de vérité — quick win visible.
  3. Module A (analyse read-only) : extraction Gemini du DCE → carte d'identité
  4. synthèses → démonstration de valeur.
  5. Module B (éditeur section par section) : trame + blocs figés d'abord, puis génération des blocs paramétrés (RAG sur mémoires similaires).
  6. Chiffrage assisté (interrogation d'affaires similaires) — itération ultérieure.