From 4eb3347a069ee99b0d49b8daae1e0503263aea5f Mon Sep 17 00:00:00 2001 From: Thierry Date: Wed, 1 Apr 2026 21:36:22 +0200 Subject: [PATCH] Upload files to "/" --- Dockerfile.entwine | 26 ++++++++++++++++++++++++++ Dockerfile.frontend | 25 +++++++++++++++++++++++++ Roo.md | 21 +++++++++++++++++++++ pyproject.toml | 16 ++++++++++++++++ requirements.txt | 8 ++++++++ 5 files changed, 96 insertions(+) create mode 100644 Dockerfile.entwine create mode 100644 Dockerfile.frontend create mode 100644 Roo.md create mode 100644 pyproject.toml create mode 100644 requirements.txt diff --git a/Dockerfile.entwine b/Dockerfile.entwine new file mode 100644 index 0000000..be7b44e --- /dev/null +++ b/Dockerfile.entwine @@ -0,0 +1,26 @@ +FROM entwine:python3.12 + +RUN apt update && apt install -y --no-install-suggests --no-install-recommends build-essential libpng-dev libtiff-dev libz-dev libproj-dev liblzma-dev libjbig-dev libzstd-dev libgeotiff-dev libwebp-dev + +# installer uv +RUN pip install uv + +# Do you need open3d ? + +# copier dépendances +COPY pyproject.toml requirements.txt ./ + +RUN uv add -r requirements.txt + +RUN apt remove -y build-essential \ + && apt autoremove -y \ + && rm -rf /usr/local/src/* /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# copier code +COPY backend ./backend + +WORKDIR /app/backend + +EXPOSE 8000 + +CMD ["uv", "run", "uvicorn", "main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"] diff --git a/Dockerfile.frontend b/Dockerfile.frontend new file mode 100644 index 0000000..b171605 --- /dev/null +++ b/Dockerfile.frontend @@ -0,0 +1,25 @@ +FROM python:3.12-slim + +WORKDIR /app + +RUN apt update && apt install libjpeg-dev zlib1g-dev build-essential -y + +RUN pip install uv + +COPY pyproject.toml requirements.txt ./ + +RUN uv add -r requirements.txt + +COPY frontend ./frontend + +WORKDIR /app/frontend + +EXPOSE 8080 + +#ENV STREAMLIT_SERVER_MAX_UPLOAD_SIZE=3000 + +# Variable d'environnement pour l'URL du backend +# Peut être définie via docker-compose.yml +ENV BACKEND_URL="http://backend_entwine:8090" + +CMD ["uv", "run", "uvicorn", "main:app", "--reload", "--host", "0.0.0.0", "--port", "8080"] \ No newline at end of file diff --git a/Roo.md b/Roo.md new file mode 100644 index 0000000..6fff475 --- /dev/null +++ b/Roo.md @@ -0,0 +1,21 @@ +# 📄 Contexte du Projet - Roo Code + +## 🎯 Objectif +Application web pour la gestion, manipulation et visualisation de nuages de points 3D. + +## 🛠️ Stack Technique +### Backend +- **Langage :** Python 3.10+ +- **Framework :** FastAPI +- **Traitement :** PDAL (filtrage, densification) +- **Stockage :** Entwine (nuages de points) +- **Base de données :** pas de base de données pour l'instant. SQLite + Spatialite plus tard + +### Frontend +- **Templates :** Jinja2 +- **Interactivité :** HTMX +- **UI :** DaisyUI (Tailwind CSS) +- **Logique :** AlpineJS +- **Visualisation :** Potree Viewer (WebGL) + + diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..44eaacb --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "point-cloud-classifier" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "fastapi==0.115.0", + "python-multipart==0.0.9", + "httpx==0.27.2", + "jinja2==3.1.4", + "jinjax==0.44.0", + "aiofiles==24.1.0", + "uvicorn==0.30.6", +] + \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c53bad3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,8 @@ +fastapi==0.115.0 +uvicorn==0.30.6 +python-multipart==0.0.9 +httpx==0.27.2 +jinja2==3.1.4 +jinjax==0.44.0 +aiofiles==24.1.0 + \ No newline at end of file