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

Avis #94

Open Elyft opened 4 years ago

Elyft commented 4 years ago

Code assez bien fait, mais avec quelques erreurs à certains endroits, mais pas mal dans l'ensemble.

infosteph commented 4 years ago

Bonjour, Nous vous remercions pour ce retour. N'hésitez pas à nous signaler les erreurs.

Elyft commented 4 years ago

Bonjour déjà je tiens à préciser que je ne suis pas Français ni resident en France, donc concernant ma question suivante je pourrai me tromper. Sur le site internet (https://media.interieur.gouv.fr/deplacement-covid-19/) vous avez mis les différents motifs de sorties dans des select box(ce qui implique que l'on puisse choisir tous les motifs de sorties disponibles), ma question est un tel choix n'entraine-t-il pas un problème de logique? Je prends un exemple, supposons qu'un utilisateur choisisse tous les motifs de sortie disponibles celui-ci entrera en conflit avec les autres

Déplacements brefs, dans la limite d'une heure quotidienne et dans un rayon maximal d'un kilomètre autour du domicile, liés soit à l'activité physique individuelle des personnes, à l'exclusion de toute pratique sportive collective et de toute proximité avec d'autres personnes, soit à la promenade avec les seules personnes regroupées dans un même domicile, soit aux besoins des animaux de compagnie , parce que la somme en heures de ses déplacements ne sera jamais égale à une heure ou moins, de même logiquement parlant il est improbable que des citoyens aient à se déplacer pour tous les motifs que vous leur proposez, j'aurai suggéré si vous me permettez que vous leur permettiez de choisir au maximum 3 motifs de déplacement parmi les 7 proposés.

Concernant le code maintenant je l'ai parcouru en billet mais déjà j'ai remarqué quelques erreurs sur le fichier certificate.js

1) Vous avez mélangé var, const et let ce qui pourrait entrainer un problème de portée(le remplacement de var par const ou let serait une bonne chose) 2) À la ligne 192 vous avez utilisé Javascript var url = URL.createObjectURL(blob) pour générer un lien de téléchargement du PDF mais vous avez oublié de libérer la mémoire après avec la méthode Javascript URL.revokeObjectURL() Ça pourrait causer un problème de performance pour un utilisateur s'il a un smartphone bas de gamme, ou un ordinateur un peu vieillot. 3) L'utilisation de la méthode padStart() Javascript function pad (str) { return String(str).padStart(2, '0') } devrait se faire dans un environnement de navigateurs contrôlé parce que sa prise en charge par les navigateurs est récente(pas de prise en charge par internet explorer par exemple) et ça entrainera un bug si un utilisateur va sur votre site avec son smartphone ou son ordinateur et que son navigateur n'est pas à jour(ce qui est très souvent le cas). https://caniuse.com/#feat=pad-start-end 4) Il n'est pas conseillé d'utiliser comme clé pour le localStorage une variable qui pourrait être manipulé par l'utilisateur (ligne 63, 65). 5) L'utilisation de la methode Date.toLocaleDateString() (ligne 91) vous posera le meme problème que celui de l'utilisation de la methode padStart() 6) le code a été ecrit sans respecter une certaine architecture(juste un amas de fonctions), mais je comprends aisément que c'était parce qu'il fallait respecter une deadline et fournir un outil qui marche et le plus vite possible aux citoyens Français.

Désole si j'ai été long

infosteph commented 4 years ago

Sur le site internet (https://media.interieur.gouv.fr/deplacement-covid-19/) vous avez mis les différents motifs de sorties dans des select box(ce qui implique que l'on puisse choisir tous les motifs de sorties disponibles), ma question est un tel choix n'entraine-t-il pas un problème de logique? Je prends un exemple, supposons qu'un utilisateur choisisse tous les motifs de sortie disponibles celui-ci entrera en conflit avec les autres

Déplacements brefs, dans la limite d'une heure quotidienne et dans un rayon maximal d'un kilomètre autour du domicile, liés soit à l'activité physique individuelle des personnes, à l'exclusion de toute pratique sportive collective et de toute proximité avec d'autres personnes, soit à la promenade avec les seules personnes regroupées dans un même domicile, soit aux besoins des animaux de compagnie , parce que la somme en heures de ses déplacements ne sera jamais égale à une heure ou moins, de même logiquement parlant il est improbable que des citoyens aient à se déplacer pour tous les motifs que vous leur proposez, j'aurai suggéré si vous me permettez que vous leur permettiez de choisir au maximum 3 motifs de déplacement parmi les 7 proposés.

Bonjour, Le législateur n'a pas souhaité imposé une limitation sur les motifs de déplacement. Notre formulaire répond par conséquent à ce souhait. Il laisse à l'agent qui opère le contrôle sur le terrain le soin de juger de la pertinence des justifications fournies par le porteur de l'attestation. Comme nous l'avions indiqué dans plusieurs autres issues, l'attestation numérique n'a pas pour objet de fournir plus de contrôles que l'attestation papier.

infosteph commented 4 years ago

Nous vous remercions pour le signalement sur les différentes erreurs dans le fichier certificate.js. Nous allons les étudier et apporter, si nécessaire, les corrections utiles.

Elyft commented 4 years ago

Ok compris

cClaude commented 4 years ago

@infosteph À fermer.