feature: async PDF export of validated specs #20
No reviewers
Labels
No labels
breaking
bug
ci
dependencies
documentation
feature
security
skip-changelog
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
thierryade/backend!20
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/pdf-export"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #19.
Résumé
apps.exports:PdfTemplate(organisation XOR projet, projet prioritaire),PdfExportJob(statut pending/running/done/failed).jinja2.sandbox.ImmutableSandboxedEnvironment, même pattern quepoulpinou/rendering.py, volontairement dupliqué plutôt qu'importé -- voir le commentaire dansapps/exports/rendering.py), puis WeasyPrint HTML -> PDF, avec unurl_fetcherrestreint au schémadata:(pas de SSRF via un template admin-editable).pdf-templates/(CRUD + actionsresolveetpreview),pdf-export-jobs/(POST pour lancer, GET pour le statut,download/une fois terminé -- jamais d'URL de stockage directe).thierryade, servicethierryade-worker). Pas dedjango-celery-beat: ses versions récentes ne supportent pas encore Django 6.1, et il n'y a aucune tâche périodique à planifier pour l'instant.Suivi
Frontend (admin des templates + bouton d'export) dans une PR séparée sur
thierryade/frontend.Plan de test
tox(tests + lint + format-check + bandit) en local, hors l'environnementpy315(Python 3.15 absent de ce poste de dev).apps.exports).test).🤖 Generated with Claude Code
https://claude.ai/code/session_013EeueXTWCT4Y6EbeideZcm
📊 Rapports Argus pour cette PR