Spaces:
Runtime error
Runtime error
Commit History
29 days ago
-
fix(image): les versions de l'image sont celles que la suite a testees
L'essai de deploiement de bout en bout a fait planter l'API au demarrage, des la migration : « The SQLAlchemy asyncio module requires that the Python 'greenlet' library is installed ». requirements.txt ne donne que des fourchettes, et l'image prenait les dernieres versions du jour : 21 paquets sur 73 differaient du venv, dont SQLAlchemy 2.1.4 (contre 2.0.52), qui n'installe plus greenlet de lui-meme. - requirements.txt : sqlalchemy[asyncio], qui apporte greenlet. - constraints.txt : les 76 versions exactes que requirements.txt fait installer, prises dans le venv ; le Dockerfile les impose (pip -c). scripts/figer_versions.sh le regenere, par une resolution dans python:3.11-slim. Chaque paquet compile a une roue cp311 manylinux aarch64 : rien a compiler sur la VM ARM. - Dockerfile : utilisateur et modele fastText (126 Mo) AVANT la copie du code, qui passe en COPY --chown. Avant, chaque mise a jour retelechargeait le modele, le chown -R le recopiait dans une couche de plus (i…e74628e
30 days ago
-
fix(deploiement): corrections de la revue avant le premier deploiement
Issus d'une revue adversariale des fichiers de deploiement : - deployer.sh passait la fin du deploiement a `ssh ... bash -s` sur l'entree standard : le premier `docker compose exec` (qui garde l'entree ouverte) avalait la suite du script. Rien apres l'attente de la base ne s'executait — ni restauration, ni build, ni demarrage — et le script finissait sans erreur. La fin vit dans demarrer.sh, un fichier lance sur la VM ; chaque exec sans entree recoit </dev/null. - La restauration initiale ne regardait que l'existence de la table laws : un seul demarrage de l'API (qui cree le schema) la faisait sauter pour toujours, sans un mot. Elle se fait si la base n'a AUCUNE loi, dans une base recreee, avec --exit-on-error. - Le dump embarquait les comptes de developpement (et leurs mots de passe d'essai), conversations, jetons et caches : joignables depuis internet. Il n'en garde que le schema ; demarrer.sh cree l'administrateur de production (ADMIN_EMAIL, ADMIN_PASSWORD). -…2afa5a5
-
fix: nom du fichier telecharge, image de production, flux non bloquant
Le fichier telecharge portait le nom brut du fichier aspire depuis prc.cm : "10691_decret-n-2026-164-du-4-mai-2026-portant-approbation-des-statuts-...". Le prefixe numerique est l'identifiant interne du site source et les tirets remplacent une ponctuation qui existait. Le nom propose est desormais construit sur le TITRE du document, accents compris — Content-Disposition les encode via filename* (RFC 5987) — en ne retirant que les caracteres interdits par les systemes de fichiers et en bornant la longueur. Dockerfile. poppler-utils et tesseract-ocr (avec les dictionnaires francais et anglais) sont installes : sans poppler, GET /laws/{id}/page/{n} — la visionneuse par images — repond 500 en production alors qu'il fonctionne en developpement, ou le binaire est sur la machine. TESSERACT_PATH pointe le binaire Linux. Les migrations sont jouees au demarrage : le schema du produit vit dans alembic (search_vector, index GIN, declencheurs, extensions) et non dans Base.metadata, donc un contene…4093877