-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sweet URI fragments support #50
base: main
Are you sure you want to change the base?
Conversation
Fix Choisissez un motif de déplacement - en dark mode
Je crois que le consensus était de stocker les informations non pas dans le query string qui est envoyé au serveur mais directement dans la partie suivant le # de l'URL |
Bonjour, passer des arguments dans l'URL va passer ces informations au serveur et donc n'est pas respectueux de la vie privé. Il faudrait plutôt stocker ça dans le navigateur. |
Je comprends. Je n'ai jamais travaillé avec les URI fragments, c'est pour ça que j'ai utilisé les paramètres. Je n'ai pas pensé à l'enjeu concernant la vie privée, merci de me l'avoir rappelé ! Je vais adapter. |
& Add aliases
Utilise maintenant les URI fragments. |
I forgot to remove this console.log()
Est-ce que vous pensez qu'il faudrait changer le |
The 'creation time' vars didn't need a guard since they were not evaluated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Est-ce que vous pensez qu'il faudrait changer le
:
en=
pour l'attribution des valeurs dans l'URI ? Ca pourrait préparer le terrain pour l'éventuelle arrivée de l'heure (hh:mm
). Normalement, écrire des valeurs avec des:
ne devrait pas poser de problème (ne prend en compte que le premier match), mais ça rendrait l'URI encore plus difficile à lire.
Le point virgule n'est il pas encore plus sûr ?
from #key:a,b; to #key=a,b& to look more like URL params
Not working yet, date and hour cannot be set
Le point virgule était déjà utilisé, mais je suis finalement passé au |
Yes, a whole commit just for that.
Plus add some end-of-file empty line :)
By using URLSearchParams
Super merci ;) |
Damn, alors ca marche impec sur chromium mais impossible de le faire marcher sur Safari sur iPhone j'imagine que ce sera un edge case a traiter dans une autre issue. |
@FuReT Le problème devrait être réglé. Je déploie le changement sur la branche d'Heroku et ça devrait aller, n'hésite pas à re-signaler un problème. |
@SimonGodefroid Je serais incapable de debug la version mobile sur Safari, mais est-ce que tu peux donner des précisions s'il te plait? |
Bon ben c'est bizarre, je viens de tester sur Mac OS sur Safari sans probleme, en revanche sur iPhone 6SE iOS13 sur Safari je ne vois meme pas le formulaire sur la version Heroku (alors que je le vois sur le site https://media.interieur.gouv.fr/deplacement-covid-19/). Voila j'ai que ca pas sur que ca aide ni que ce soit encore dans le scope de ta PR... et pour debugger c'est pareil j'ai pas tellement d'idee faudrait deja voir si quelqu'un ici reproduit l'erreur. |
C'est très étrange, je n'ai absolument rien changé de l'interface... C'est la même page, sans formulaire, qui s'affiche quand le serveur n'est pas lancé... |
Je te confirme que c’est ok pour moi sur iOS 14 safari,Firefox et brave. Je test sur plus d’env et te redis. |
Okay ouais c'est bizarre sur le vieil iOS de mon iPhone ça pète et ça passe nickel sur la latest (iPhone de ma copine), ça doit être un vieux bug donc edge case. En tout cas c'est top je viens d'essayer et c'est un game changer pour la création d'attestation ! Merci beaucoup pour cette fonctionnalité. |
@SimonGodefroid Merci pour avoir testé ! 😄 |
Testé et approuvé sur Galaxy S7. Merci pour l'initiative, j'espère que la PR sera validée. 👍 |
Bonjour, Je commente pour soutenir cette fonctionnalité ! En effet, le cadre administratif et légal actuel (ou plutôt son absence), fait qu'utiliser une attestation -- a fortiori numérique -- autre que celle officielle peut placer l'usager en situation de difficulté lors d'un contrôle. La fonctionnalité proposée (et plus généralement toute API permettant de délivrer le pdf officiel) permettrait de développer sa propre interface (plus accessible, en d'autres langues que le français, etc...) sans compromettre la valeur juridique de l'attestation finalement délivrée. |
J'espère également que cette PR sera acceptée. Il est possible de remplir le formulaire via une action JavaScript depuis Raccourcis sur iOS mais ce serait quand même bien plus propre de prendre les données en paramètre, et cela simplifierait le flot depuis l'appli Tous Anti Covid. |
@thomasdeniau Oui, j'y ai aussi pensé! De même pour TAC, ça servirait d'API. |
Bien testé. Ca marche plutôt bien sur différentes configurations(Win10/Ubuntu/Android). Ca sauverait pas mal de temps d'avoir le raccourci! |
@ElijT oui, |
Hello @betalabmi, ça serait quoi le process à suivre pour merge cette PR ? |
Cette fonctionnalité est vraiment géniale, cependant j'ai une petite question. L'utilisation des paramètres locaux empêchent (même en utilisant "auto") de faire fonctionner un script "classique" qui n'utilise pas de navigateur et de javascript pour générer l'attestation. Par exemple impossible de faire un : Est-il possible de contourner ce soucis ? J De plus je ne comprend pas vraiment l'inconvéniant d'envoyer nos données dans la query au serveur, puisque de toute façon nous les transmettons avec le formulaire dans les millisecondes qui suivent afin de générer le .pdf... |
Les données saisies dans le formulaire ne sont jamais transmises à un serveur. La génération du PDF est faite localement, côté client, en JavaScript. Cela se vérifie à la fois par observation des échanges réseau et par analyse du code source. Par conséquent, un appel |
Ha d'accord merci pour la précision, je suppose qu'une API officielle sur laquelle on peut taper pour avoir un .pdf n'est pas prête de voir le jour alors. |
En effet, ce n'est malheureusement pas utilisable en tant qu'API pour obtenir des fichiers, j'ai opté pour la solution la plus légère, donc l'utilisateur devra toujours se rendre sur la page. |
Ah donc ils copient-collent le code dans un autre repo à chaque fois qu'un nouveau couvre-feu est annoncé ? @betalabmi vous avez entendu parler du versionnage, j'espère... ? |
en tout cas, pas sur qu'ils aient découvert la fonctionnalité pour voir les open pull requests et les issues 😅 |
Fix #13, Fix #86, Fix #27, Fix #9
Permet d'enregistrer des champs dans l'URI. Démo Heroku
Usages
En mettant un lien avec des params en favori (/iOS Shortcut), ça permettrait aussi de faire un raccourci. Ainsi, on pourrait facilement se baser sur un thème (comme proposé dans les issues #31 et #13), qui pourrait par exemple servir à enregistrer le profil.
Changelog
Met la valeur par défaut des champs sur la valeur définie dans l'URI si précisée. A mesure que les champs sont compétés manuellement, l'URI s'adapte, comme montré plus bas (démo vidéo), et réciproquement : l'URI et le formulaire montreront toujours les mêmes valeurs. Supporte également les raisons, la date, l'heure... Ajouter
&auto
permet d'auto-cliquer le bouton de téléchargement.Syntaxe
Avec
key = alias || key
dansform-data.json
Voici un exemple extrêmement complet :
Ici, tous les champs sont complétés! La date est au format
yyyy-MM-dd
et l'heurehh:mm
.Si
&auto
est ajouté, le bouton de génération sera automatiquement cliqué dès la page chargée.Exemple
Les exemples utilisent le domaine de démo, attest-covid.herokuapp.com.
http://attest-covid.herokuapp.com/#prenom=Camille&nom=Dupont&date-de-naissance=01/01/1970&lieu-de-naissance=Paris&adresse=999%20avenue%20de%20France&ville=Paris&code-postal=75001
Enregistrera le profil. La date/heure/raisons restent vierges/en valeur par défaut