LAB-MI / deplacement-covid-19

Service de génération de l'attestation de déplacement dérogatoire à présenter dans le cadre du confinement lié au virus covid-19
https://media.interieur.gouv.fr/deplacement-covid-19
MIT License
534 stars 185 forks source link

Script Python pour générer le PDF sans browser? #80

Closed Shohreh closed 4 years ago

Shohreh commented 4 years ago

Bonjour,

Je n'ai pas les compétences techniques pour comprendre tout le fonctionnement, mais j'ai vu que la page référence trois morceaux de JavaScript*.

Si au final la page génère juste un PDF avec quelques champs et un QR (qui contient quoi, d'aillleurs ?), quelqu'un sait-il faire la même chose avec un simple script Python, afin de pouvoir générer le PDF sans avoir à utiliser un browser manuellement à chaque fois ?

Merci.

*

Hopding commented 4 years ago

Hello @Shohreh!

I haven't worked on this project myself. But it appears to be using pdf-lib to generate PDFs:

https://github.com/LAB-MI/deplacement-covid-19/blob/61b778a27ede6d9f1185733a7237a52deec92a56/src/certificate.js#L5

pdf-lib is written in pure JavaScript, so it can run in any JavaScript environment. You asked about Python specifically, but if you're willing to write a Node script instead, then you can use the exact same pdf-lib code in your script that this project uses. (If you aren't familiar with Node.js, it's a very popular runtime for executing JavaScript outside the browser).

Here's a nice tutorial explaining how to use pdf-lib in a Node script: http://thecodebarbarian.com/working-with-pdfs-in-node-js.html. The pdf-lib repo also contains many examples demonstrating how to do this: https://github.com/Hopding/pdf-lib#complete-examples.

philippeBron commented 4 years ago

Thank you @Hopding En complément de la réponse apportée, nous avons souhaité mettre à disposition du plus grand nombre un moyen de générer une attestation numérique. Javascript est supporté par un très grand nombre de navigateur contrairement à Python. Cependant, @Shohreh ,vous pouvez réaliser une version Pyhton en suivant les indications de @Hopding Merci de fermer cette issue si la réponse vous convient.

infosteph commented 4 years ago

Bonjour, Sauf avis contraire de votre part, nous fermerons cet issue ce soir. Merci.

teymour commented 4 years ago

En complément de cette réponse, la lib python qrcode génère des qrcode quasi identique à ceux de la lib utilisée ici.

C'est ce que j'ai utilisé pour réaliser un générateur sans navigateur (en shell) : https://github.com/teymour/attestation-covid19