teymour / attestation-covid19 Goto Github PK
View Code? Open in Web Editor NEWGenerateur d'attestation numérique covid19
License: GNU Affero General Public License v3.0
Generateur d'attestation numérique covid19
License: GNU Affero General Public License v3.0
Plus une question qu'une issue. Se serait cool de pouvoir spécifier un fichier de conf avec le make pour pouvoir générer rapidement une attestation pour plusieurs membres de la famille. J'essaie de le faire moi même si j'arrive à comprendre le code un peu mieux (je suis pas super doué en shell et autres)
Bonjour,
Voici un script utilisable pour générer une attestation par heure entre 8h et 22h.
Je l'ai par exemple lancé en l'éditant manuellement 4 fois (travail, famille, sport, santé).
Les attestations sont organisée par thème, par jour, fichier nomé par heure.
Au total ~1400 fichiers pour 180Mo.
# lancer par exemple avec $bash <nom_du_script>
# configurer avant de lancer
export MOTIF=sport
export motif_travail=""
export motif_courses=""
export motif_sante=""
export motif_famille=""
export motif_sport="x"
export motif_judiciaire=""
export motif_missions=""
for leday in $(seq 20 1 30)
do
export DAY="$leday/04/2020"
export DAY_PATH="2020-04-$leday"
mkdir -p $MOTIF/$DAY_PATH
for i in $(seq 8 1 22); do echo $i; export HEURE=$i; touch config/config.inc; make; done
done
for leday in $(seq 1 1 11)
do
export DAY="$leday/05/2020"
export DAY_PATH="2020-05-$leday"
mkdir -p $MOTIF/$DAY_PATH
for i in $(seq 8 1 22); do echo $i; export HEURE=$i; touch config/config.inc; make; done
done
Avec le Makefile légèrement modifié et en enlevant les informations du fichier de configuration.
diff --git a/Makefile b/Makefile
index eb94222..a362a13 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
config_file=config/config.inc
-output_file=attestation.pdf
+output_file=$$MOTIF/$$DAY_PATH/attestation-$$HEURE.pdf
Merci pour ce travail qui m'a permis de générer une attestation par heure pour me "libérer" de cette contrainte absurde.
Bien sûr j'ai reçu mon amende de 135€ en allant à la boulangerie à côté de chez moi avant de générer ces fichiers.
Hello!
Je sais pas si tu as eu le temps de remarquer ces quelques modifications sur l’attestation officielle, tu as prévu de modifier cela ou j’essaye de le faire de mon côté ? ( ça se tente )
Problem with dependencies and pdftk :
E: Package 'pdftk' has no installation candidate
Serait-il possible de mettre le Conteneur Docker dans un Docker registry (Docker Hub) pour lancer la commande uniquement avec la commande docker pull
sans avoir à builder le Docker Container ?
Salut,
Merci pour cette petite app très utile. J'ai remarqué qu'elle ne marche plus depuis que inkscape a été mis à jour en 1.0.0 :
➜ attestion-covid19 git:(master) ✗ make clean && make
rm -f build/* attestation.pdf
bash templates/config_avec_multimotifs.sh config/config.inc > build/config.inc
bash -c "source build/config.inc ; cat templates/qr.txt.tmpl | tr -d '\n' | envsubst > build/qr.txt"
cat build/qr.txt | qr > build/qr.png
echo -n "export qrcode=\"" > build/qr.inc
base64 < build/qr.png | tr '\n' ' ' | sed 's/ //g' >> build/qr.inc
echo '"' >> build/qr.inc
bash -c "source build/config.inc ; source build/qr.inc; envsubst < templates/attestation_page1.svg.tmpl > build/attestation_page1.svg"
inkscape --export-pdf=build/attestation_page1.pdf build/attestation_page1.svg
Option inconnue --export-pdf=build/attestation_page1.pdf
make: *** [Makefile:17 : build/attestation_page1.pdf] Erreur 1
L'option s'appelle maintenant
--export-type=[...] Type(s) de fichier à exporter : [svg, png, ps, eps, pdf, emf, wmf, xaml]
Si on choisi deux motifs de sortie la partie textuelle est ok, mais une seule apparaît dans le QR code. Apparement pour le QR il prends que la variable "motifs_join". Ne serait-ce pas plus malin de récupérer celles renseignées pour la partie texte ?
Hello, j'ai un soucis avec l'installation, j'ai fait l'installation cgi, lorsque je lance l'url j'ai un PDF vide. Donc j'ai voulu le lancer depuis le serveur directement et en effet, j'ai des erreurs
root@ns3079017:/var/www/attestation-covid19# make clean ; make rm -f build/* attestation.pdf bash templates/config_avec_multimotifs.sh config/config.inc > build/config.inc bash -c "source build/config.inc ; cat templates/qr.txt.tmpl | envsubst | tr -d '\n' | sed 's/;/;\n/g' > build/qr.txt" cat build/qr.txt | qr > build/qr.png Traceback (most recent call last): File "/usr/bin/qr", line 5, in <module> from pkg_resources import load_entry_point ImportError: No module named 'pkg_resources' Makefile:32: recipe for target 'build/qr.png' failed make: *** [build/qr.png] Error 1
J'ai essayé de regarder les anciennes issues et sur internet, j'ai installé plusieurs choses mais ça ne marche toujours pas.
Mon inkscape a râlé lors de la génération du PDF :
inkscape --export-type=pdf build/attestation_page1.svg
** (inkscape:1171786): WARNING **: 10:30:48.535: Invalid option --export-type=pdf
Apparemment, l'option qui marche est --export-pdf=attestation.pdf
.
Bonjour,
J'ai essayé le make test mais :
diff build/pdf_page-0.txt build/pdforiginal_page-0.txt && echo QRCODE page 1 OK
1c1
< QR-Code:Cree le: 07/04/2020 a 13h20; Nom: Jean; Prenom: Dupont; Naissance: 01/01/1970 a Lyon; Adresse: 999 avenue de france 75001 Paris; Sortie: 07/04/2020 a 13h20; Motifs: travail-courses
---
> QR-Code:Cree le: 07/04/2020 a 13h20; Nom: Dupont; Prenom: Jean; Naissance: 01/01/1970 a Lyon; Adresse: 999 avenue de france 75001 Paris; Sortie: 07/04/2020 a 13h20; Motifs: travail-courses
Makefile:61 : la recette pour la cible « testqrcode » a échouée
Sinon super boulot et merci ! :)
Hello Teymour :)
Nous revoilà parti dans un troisième confinement, et donc évidemment une troisième (et surement dernière) fois que je replonge passionnément dans ton programme.
J'avais mi en place un site internet (VeuxSortir.fr) qui permettais d'envoyer un formulaire avec ces données etc, puis j'écrivais le petit fichier config_inc et j'envoyais le lien par mail à mon ami directement.
Aujourd'hui je viens de partager le site a beaucoup de mes amies et donc j'essaye d'automatiser tout ca.. (recevoir 100 mails et faire les fichiers manuellement.. embêtant)
J'ai réussi a mettre en place un système qui génère un Query lien avec les infos d'un formulaire, je te laisse regarder ca ici : veuxsortir.fr/lien ca génère un lien de ce type : http://82.165.121.231/cgi-bin/generate.sh?f=Jean+l=Dupont+b=01%2F01%2F1970+p=Lyon+a=999%20aveu%20de%20france+c=Paris+z=75001+r=travail
Je me demandais donc, si tu penses qu'il est possible de modifier ton programme pour faire en sorte que les infos passe directement dans l'URL et non par un fichier dans le cgi-bin.
De plus on y gagne en confidentialité puisque aucune info perso serait enregistré..
J'ai essayé de fouiller un peu dans ton programme mais un peu de mal a trouver une piste idéale.
Si tu as une idée et que tu peux m'en faire part, je serais ravis de m'investir un peu dedans histoire d'en faire un pull request.
Bon nouveau confinement a toi ;)
cat build/qr.txt | qr > build/qr.png /bin/sh: 1: qr: not found make: *** [Makefile:31: build/qr.png] Error 127
testé sours debian buster
Hello, super intéressé par ton projet, j'essaye de l'installer directement sur un Cloud Ubuntu / Apache2, après avoir suivi tes consignes je n'arrive pas a accéder au fichier en tapant http://IP_DU_CLOUD/cgi-bin/attestation-covid19.sh ...
J'ai la sublime erreur "Not Found", je pense que ca doit etre tout con, mais vu que je débute dans le milieu des serveurs je suis paumé à chercher ca pendant des heures :/
Thanks si t'as du temps pour remettre sur le bon chemin !
Peut-être documenter qu'il faut faire un make clean
avant de make
, quand on veut une nouvelle attestation ? (Et il peut être nécessaire d'éditer config.inc
également.)
Il suffit d'ajouter sur ubuntu 20.04:
pip3 install qrcode --user
Le ministère a mis à jour le 28/11 l'attestation pour proposer l'option 20km/3h.
python2-qr
est disponible que sur la version stable
de debian.
Il serait sans doute plus pertinent d'utiliser qrencode
qui semble mieux géré.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.