Cahier des Charges du Projet
Pipeline de Conception Intégrée de
l’Idée au Prototype 3D
(Integrated Design, Engineering, and Analysis with Text-to-3D Engine)
Réaliser par :
TRIBAK Mohamed
OULKIASS Salma
29 octobre 2025
Table des matières
1 Semaine 0 — Definition of Ready (prérequis) 2
2 Contexte et objectifs 3
3 Périmètre (MoSCoW) 3
4 Personae et rôles 3
5 Parcours clés (User flows) 3
6 Architecture technique 3
7 Modèle de données 4
8 Formats d’import / export 4
9 Règles de gestion 4
10 API — contrats principaux 4
11 UI — gabarits 4
12 Critères non-fonctionnels 5
13 Tests et qualité 5
14 Livrables attendus 5
15 Planning (6 semaines) 5
16 Risques et mitigations 5
17 KPI de succès 5
18 Annexes — Extraits de code 5
19 Prochaines étapes 6
1
Glossaire
– MVP : Minimum Viable Product.
– RBAC : Role Based Access Control.
– i18n : Internationalisation.
– LLM : Large Language Model.
– ControlNet : conditionnement de Stable Diffusion par croquis/structure.
– Image-to-3D : modèle ou pipeline générant maillage 3D depuis images (Luma, Shap-E,
PartCrafter, etc.).
– FEM : Finite Element Method — simulation mécanique.
– DFM : Design For Manufacturability.
1 Semaine 0 — Definition of Ready (prérequis)
Environnements installés :
— [Link] LTS (v18+) — environnement d’exécution JavaScript pour [Link].
— pnpm — gestionnaire de packages rapide pour le projet frontend.
— Python 3.10+ — utilisé pour les services d’IA et l’orchestration backend (FastAPI ou
Flask).
— Docker — conteneurisation pour faciliter le déploiement et assurer la compatibilité des
environnements.
— Git / GitHub — gestion du code source et collaboration en équipe.
— Supabase — base de données PostgreSQL avec stockage d’images 2D et de modèles 3D.
— MakerKit — kit d’intégration complet pour [Link] et Supabase (authentification, gestion
des utilisateurs, interface UI).
— Accès GPU — requis pour l’exécution des modèles de génération d’images et de modèles
3D (Stable Diffusion, Shap-E, etc.).
Accès et secrets : dépôt Git, URL DB, bucket stockage, clés .env .
Hello world technique :
— [Link] démarre et affiche /home.
— FastAPI répond à GET /health { "ok" : true }.
— Proxy Next → FastAPI : POST /api/pipeline/run retourne JSON mock.
Jeux de démo : 5 croquis, 5 prompts textuels, 3 images 2D générées, 1 modèle 3D exemple (.glb).
Definition of Done (S0) : frontend, backend et proxy tournent en local ; bouton qui appelle
/api/pipeline/run et affiche réponse.
2
2 Contexte et objectifs
Contexte
Un pipeline qui facilite la transition du concept (texte/croquis) vers un prototype 3D analysé.
Cible — designers et ingénieurs souhaitant prototyper et valider rapidement.
Objectifs SMART v1.0 (MVP)
— En 3 écrans : Upload / Conversation (LLM) → Génération 2D → Conversion 3D + Vali-
dation basique.
— Produire un fichier 3D (.glb/.obj) et un rapport PDF résumant la validation.
— Boucle d’itération (prompt → résultat) en moins d’une heure.
3 Périmètre (MoSCoW)
Must (MVP)
— Upload texte/croquis, génération 2D, conversion 2D→3D, cleaning maillage, simulation
FEM, PDF.
Should
— Historique des versions, export OBJ/GLB, paramètres matériaux éditables, sauvegarde
projets.
Could
— Optimisation topologique, intégration Slicer / imprimabilité avancée.
Won’t (v1)
— Assemblages complexes multi-pièces, pipeline industriel complet.
4 Personae et rôles
— Designer (Éditeur) : crée prompts/croquis, valide rendu visuel.
— Ingénieur (Analyste) : fournit contraintes mécaniques, consulte rapports FEM.
— Admin : gère comptes, paramètres coût/units, accès tenant.
RBAC : Admin / Éditeur / Lecteur.
5 Parcours clés (User flows)
1. Nouveau projet → dialogue LLM → génération 2D → génération 3D → validation →
rapport.
2. Itération : modifier prompt ou croquis → relancer pipeline → comparer versions.
3. Analyse : appliquer contraintes → FEM → cartographie contraintes + conseils DFM.
6 Architecture technique
Socle UI : [Link] + TypeScript (MakerKit), Tailwind + shadcn/ui.
API : FastAPI + Pydantic ; tâches longues via Celery/RQ (broker Redis).
ML :
3
— LLM : MISTRAL / GPT-4o ou modèle open.
— 2D : SDXL + ControlNet.
— 2D→3D : Luma / Shap-E / MVDream / PartCrafter.
Analyse : Trimesh, pymeshfix, Gmsh, CalculiX ou FEniCS.
Stockage : Supabase Storage.
CI/CD : Docker Compose, GitHub Actions, déploiement sur Cloud Run.
Schéma : Utilisateur → [Link] → Proxy /api → FastAPI → Services ML / Workers →
Postgres / Storage.
7 Modèle de données
— projects (id, tenant_id, name, description)
— sessions (id, project_id, user_id, input_type, status)
— generations2d (id, session_id, prompt, image_url)
— models3d (id, session_id, file_url, format, clean_status)
— validations (id, model3d_id, fem_report_url, dff_report)
8 Formats d’import / export
Import : .png/.jpg, .txt, .csv
Export : .glb/.obj/.stl, PDF, Excel.
Nommage : pipeline_<project>_<YYYYMMDD>_<HHMM>.<ext>.
9 Règles de gestion
— estimated_mass = volume_m3 * material_density
— safety_factor configurable (1.2 par défaut)
— wall_thickness_min configurable
10 API — contrats principaux
— GET /api/pipeline/health → { ok : true, version : "0.1.0" }
— POST /api/pipeline/sessions → crée session → { session_id }
— POST /api/pipeline/run → exécution 2D/3D/validate → { result }
— GET /api/pipeline/result/ :session_id → URLs des artifacts
11 UI — gabarits
1. Accueil / Nouveau projet
2. Chat / Spécifications
3. Visualiser 2D & 3D
4. Export & Comparaison
4
12 Critères non-fonctionnels
— Performance : p95 API < 400 ms, génération 2D < 20 s.
— Import : image 25 MB.
— Disponibilité : 99.5%.
— Sécurité : TLS, RBAC, logs 90 j.
— Accessibilité : contraste WCAG AA.
13 Tests et qualité
Unit tests (PyTest), contrats API, tests E2E (Playwright). DoD minimal : UI 3 écrans,
endpoint /run, export PDF, README.
14 Livrables attendus
Frontend [Link], API FastAPI, modules ML, scripts FEM, documentation complète.
15 Planning (6 semaines)
— S1 — Socle & cadrage.
— S2 — Dialogue LLM & génération 2D.
— S3 — Conversion 2D→3D.
— S4 — Validation FEM & DFM.
— S5 — UX / RBAC / Tests.
— S6 — Packaging / Déploiement / Docs.
16 Risques et mitigations
— Image→3D peu fiable : documenter limites.
— Coût GPU élevé : quotas et file d’attente.
— FEM incertain : filtrage géométries.
17 KPI de succès
— 80% de modèles 3D exploitables.
— Temps moyen boucle complète.
— Nombre d’itérations avant validation.
18 Annexes — Extraits de code
Proxy [Link]
5
import { NextResponse } from " next / server ";
export async function POST ( req : Request ) {
const body = await req . json () ;
const r = await fetch ( ‘ $ { process . env . PIPELINE_API_URL }/ run ‘ , {
method : " POST " ,
headers : { " Content - Type ": " application / json " } ,
body : JSON . stringify ( body ) ,
}) ;
return NextResponse . json ( await r . json () , { status : r . status }) ;
}
Endpoint FastAPI
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI ()
class Payload ( BaseModel ) :
data : dict
options : dict | None = None
@app . post ( " / run " )
def run ( p : Payload ) :
result = { " ok " : True }
export_url = None
return { " result " : result , " exportUrl " : export_url }
19 Prochaines étapes
1. Valider le périmètre MVP.
2. Préparer jeux de démo.
3. Générer scaffold repo (Next + FastAPI + Docker).