Upload files to "/"

This commit is contained in:
Thierry 2026-04-01 21:36:22 +02:00
parent 721dd0404c
commit 4eb3347a06
5 changed files with 96 additions and 0 deletions

26
Dockerfile.entwine Normal file
View file

@ -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"]

25
Dockerfile.frontend Normal file
View file

@ -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"]

21
Roo.md Normal file
View file

@ -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)

16
pyproject.toml Normal file
View file

@ -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",
]

8
requirements.txt Normal file
View file

@ -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