Remplace l'appel externe `pdftotext -layout` (poppler-utils) par pdfplumber, une bibliotheque Python pure : plus aucune dependance systeme, ce qui permettra d'empaqueter l'application en executable autonome. - `read_pdf()` retourne un `PdfContent` (texte layout + mots de la premiere page avec coordonnees) ; `extract_text_from_pdf()` est conserve comme wrapper de compatibilite. - Metadonnees : la reference est desormais extraite via les coordonnees geometriques des mots (fiable sur l'en-tete multi-colonnes), regex du destinataire durcie (forme pointee `S.C.I.`). - Operations : reduction des espaces multiples dans les descriptions. - Dockerfile : suppression de poppler-utils. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
17 lines
381 B
Docker
17 lines
381 B
Docker
FROM python:3.12-slim
|
|
|
|
# pdfplumber est en Python pur : aucune dépendance système (plus de poppler).
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
WORKDIR /app
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN uv sync --frozen --no-dev --no-install-project
|
|
|
|
COPY src/ src/
|
|
RUN uv sync --frozen --no-dev
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["uv", "run", "plesna-gerance", "serve", "--host", "0.0.0.0"]
|