Skip to content

demarches-simplifiees/weasyprint_server

Repository files navigation

WeasyPrint server

But

Convertir des documents html en pdf.

Développement

installation

On utilise les outils pyenv et poetry pour gérer les dépendances.

# installation de la version de python definit dans .python-version
pyenv install

pip install poetry

# installation des deps
poetry install

lancement de l'application

  1. Configurer vos variables d'environnement dans le fichier .env
cp env.example .env
  1. lancer l'appli
poetry run flask run --debug

# or any process manager reading Procfile.dev
overmind start

tests

poetry run invoke test

linters

poetry run invoke lint

Packaging

Note

La version de python sur la machine de packaging et la machine cible doit être la même.

git clone https://github.com/demarches-simplifiees/weasyprint_server.git
cd weasyprint_server
pip install poetry
poetry self add poetry-plugin-export
bash simple_package.sh

l'application avec ces dépendances est dans dist.tar.gz

Production

deploiement

cp dist.tar.gz good_directory && cd good_directory
tar -xvf dist.tar.gz
python -m venv .venv
. .venv/bin/activate
pip install --no-index --find-links=deps -r requirements.txt
# si on veut vérifier l'installation
flask run

webserver

On utilise le webserver uwsgi

Exemple de fichier de config :

[uwsgi]
plugin = python3
virtualenv = /home/weasyprint/weasyprint/.venv
http-socket = server_ip:3000
uid = weasyprint
gid = weasyprint
chdir = /home/weasyprint/weasyprint/
env = ... # see env.example
wsgi-file = wsgi.py
callable = app
processes = 4
stats = server_ip:9191

About

Simple http wrapper around WeasPrint html to pdf convertor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published