Des suggestions d'amélioration pour l'attestation numérique de déplacement
La semaine dernière, le gouvernement a mis à disposition une attestation numérique de déplacement. Si le générateur d'attestation remplit très bien son office dans la plupart des cas, il reste néanmoins une marge de progression. Le ministère de l'Intérieur a d'ailleurs d'ores et déjà amélioré plusieurs aspects de ce générateur prenant la forme d'un formulaire web. Puisque le code est open source, nous en profitons pour faire quelques suggestions afin de peaufiner le générateur.
Le mode sombre
On peut choisir d’activer (automatiquement ou non ) le mode sombre pour diverses raisons :
- pour ne pas fatiguer ses yeux, surtout si on est myope ;
- pour limiter la lumière bleue le soir ;
- pour économiser la batterie de son appareil ;
- ou pour des raisons esthétiques, tout simplement.
Il est dommage de devoir subir une interface très claire alors qu’on a spécifiquement choisi de disposer d’un mode sombre sur son appareil. C’est d’autant plus dommageable s’il s’agit de raisons d’accessibilité.
Quel est le public concerné ?
Si Apple a démocratisé le mode sombre avec iOS 13, il est également accessible sur Mac. En dehors de l’univers Apple, on le retrouve sur Android depuis la version 10 et sur PC avec les dernières mises à jour de Windows 10 et d'Edge. Les navigateurs Firefox et Chrome prennent également en charge le mode sombre.
Comment exploiter le mode sombre dans le code ?
Grâce au CSS, on peut choisir d’utiliser des couleurs différentes. Voici un simple exemple ci-dessous :
La même chose s’applique pour les images : on peut choisir d’utiliser une image alternative en mode sombre.
Cela se fait tout simplement ainsi en HTML :
En JavaScript, on peut détecter le mode sombre ainsi :
Quelles sont les bonnes pratiques de design à adopter ?
Plusieurs règles doivent être respectées pour un bon design en mode sombre. Il faut un contraste suffisant entre les couleurs pour que la lisibilité soit bonne. Sinon, l’image ou le texte risque de « vibrer ». De manière générale, on s’appuie sur des déclinaisons plus pâles des couleurs.
Il faut éviter d’avoir un noir totalement noir en arrière-plan s’il y a du texte blanc dessus. C’est plutôt un gris extrêmement foncé qui est recommandé.
C’est essentiellement à l’usage que l’on se rend compte si un design est bien adapté ou non. À défaut, il existe des sites qui permettent de tester le contraste, de manière purement théorique.
L’accessibilité du texte
Depuis quelques années, iOS propose de changer la taille du texte de son appareil pour des raisons d’accessibilité évidentes (Réglages > Accessibilité > Affichage et taille du texte > Police plus grande).
Cela concerne une partie non négligeable de la population : beaucoup d’utilisateurs souffrant de presbytie s’en servent pour éviter de prendre leurs lunettes par exemple. Et cela concerne évidemment les personnes souffrant d’une forte déficience visuelle. Toujours est-il qu’il n’y a rien de plus frustrant que d’avoir un appareil accessible, mais une interface web illisible.
Là encore, le CSS fait des miracles. Depuis 2015, le moteur de rendu WebKit propose d’exploiter les tailles de texte dynamiques.
Le résultat change la vie des personnes en situation de handicap.
Et puisque nous sommes des utilisateurs d’iPhone et d’iPad Pro
Le petit bonus, c’est le support des encoches dans les interfaces web. Un petit détail qui apporte un confort supplémentaire.
Là encore, dès la sortie de l’iPhone X en 2017, les équipes WebKit ont prévu le coup.
Il s’agit d’utiliser une balise HTML adaptée dans l’en-tête du site.
Puis exploiter le tout en CSS.
Et le tour est joué. On ne risque plus de tapoter accidentellement la barre d'accueil en bas de l’écran pour accéder à un lien mal positionné : un espace est automatiquement ajouté.
Comment ce code pourrait-il être intégré à la version officielle ?
Comme dans tout projet open source, il y a une phase de validation du code par ses responsables. Les « mainteneurs » gèrent la vie du projet et s'assurent de sa qualité, en plus d'être les principaux contributeurs.
Aujourd'hui, nous avons juste mis en place une version alternative de l'app : on appelle ça un fork. Si les modifications apportées sont validées, notre code peut être fusionné avec le code existant.
Si vous souhaitez voir notre code pour le tester ou l’améliorer, la demande de modification avec commentaires est disponible sur GitHub. Le fork est lui aussi disponible sur GitHub et il intègre par définition toutes ces modifications (à utiliser uniquement pour tester).
Un bilan tout en compromis
Ces quelques suggestions pourraient permettre de peaufiner le générateur, en particulier pour les personnes porteuses de handicaps. Nous espérons qu’elles sauront inspirer les développeurs en charge du générateur d’attestation.
L’expérience reste limitée à ce que propose une web app. Une app native aurait permis une meilleure accessibilité (VoiceOver en particulier), une meilleure intégration à iOS (enregistrement du fichier PDF, entre autres) et des possibilités plus étendues (contrôle du nombre de sorties quotidiennes via mot de passe à usage unique).
Cependant, une app native nécessite de passer l'étape de validation de l'App Store (pas vraiment problématique pour un gouvernement) avec potentiellement moins d'appareils compatibles. La limite de compatibilité pour entrer sur l'App Store est iOS 8, soit l'iPhone 4s au minimum. Avec la version web, la limite théorique est iOS 6.1, soit l'iPhone 3GS au minimum. Il aurait fallu en plus maintenir une seconde app sur Android et de toute façon faire une version web pour les systèmes de bureau.
Il y en a qui s’ennuient, on dirait...
@Pyjamane
Clairement 😂
@Pyjamane
Pas mieux.
Excellent article, on voit bien l'avantage de l'open source dans ce genre de projets.
D'ailleurs je viens de me rendre compte que j'ai eu plus ou moins la même idée que MacG en allant farfouiller dans le code JS du générateur d'attestation. Me rendant compte que c'était vraiment très basique, et n'ayant pas grand chose à faire de ma journée hier j'ai codé rapidos une version native en utilisant le combo de technologies Angular + Ionic5 qui permettent de créer des app semi natives en Javascript / Typescript. J'ai donc un APK pour Android et un projet Xcode fonctionnel d'une appli qui génère le même PDF que le site officiel, avec en plus une librairie des attestations générées.
Si quelqu'un est intéressé, je peux pousser le code sur Github avec plaisir :)
@nikoethore
Avec plaisir pour le github :)
Merci
J'ai pas eu le temps de le pousser, j'essaie de le faire ce soir :)
Excellent travail 😊
C’est vraiment vers ces problématiques qu’il faut se tourner 🙂
J’espère que le fork sera validé et intégré par les équipes du gouvernement.
@InFunMatique
Merci. Oui, c’est important de n’oublier personne. Et ça ne prend pas beaucoup de temps.
@FloMo
Ça prend des ressources. Après, oui, je comprends concernant les handicaps. À côté de cela il me semble que les personnes ayant des problèmes de vue aujourd’hui les avaient également hier avant le mode sombre d’iOS. A croire qu’ils n’avaient pas de smartphone. 🤷🏻♂️
Le gouvernement a certainement mieux à faire que d’éviter que l’on touche par accident la barre en bas du smarphone. Question de priorité, certainement (tout comme la question du wallet (vu dans les coms), serieux !)
@bugman
Ça coûte pas cher franchement. Je suis pas développeur web (Je développe sur mobile) et j’ai fais ça en fin de matinée. Entre 1 et 2 heures peut-être.
@FloMo
Là je pense qu’ils planchent sur leur logiciel de tracking avant tout.
@bugman
D’où l’intérêt de l’open-source. Ça permet de contribuer. De faire avancer les choses.
@FloMo
Ah mais tout à fait... en temps normal, moins peut être dans une certaine urgence. Des choix sont fait.
@FloMo
Merci en tout cas, j’ai découvert des attributs HTML et des règles CSS que je ne connaissais pas.
@pat3
J’en suis ravi.
Vachement intéressant: comment passer 20h de stress en modifiant les réglages d’un document pour une sortie plafonnée au max 1h, une seule fois par jour.
J’ajoute que le document se remplit et s’enregistre en 30s.
@noooty
Uniquement pour les activités physiques :)
@noooty
Pas compris. De quelles 20h de stress tu parles ?
Par ailleurs, il n’y a pas que les loisirs dans les motifs de sortie. Il y en a six autres, très utilisés tous les jours, plusieurs fois par jour, par tout un tas de gens (en particulier le premier). Faut voir un peu plus loin que le bout de son nombril.
@Ali Baba
Ha bon, tu as le droit de sortir plusieurs fois par jour?
C’est nouveau, ça vient de sortir, t’as tout compris...
Et les 20h étaient une plaisanterie.
Et pourquoi pas pouvoir exporter l’attestation dans Wallet?
D’ailleurs, quand je vais courir, je ne prends que ma watch avec le QR code dedans (capture écran du QR code de l’attestation). Le scan avec l’iPhone (et un Pixel 4) marche nickel mais je me suis pas encore fait contrôlé. Des gens peuvent me dire s’ils ont aussi essayé ça et si c’était ok pour la police d’avoir juste le QR code?
@monsieurg33K
Ah super bonne idée !
Mais pas testée, à voir si ça fonctionne 😄
@monsieurg33K
Je me suis fait contrôler hier, le gendarme n’était pas équipé pour lire le QR code. Il a pris mon téléphone en main pour lire l’attestation. Je déconseille, donc. (controlé à Paris, Trocadéro).
@calicoskies
Pourquoi ne serait-il pas possible de lui tendre à bout de bras son téléphone pour qu’il lise (« on touche avec les yeux » comme il est écrit dans certains magasins qui vendent des choses fragiles)
La question s’adresse au gendarme
@rua negundo
Bonne question... ça doit dépendre de qui fait le contrôle...
@calicoskies
Je t’invite plutôt à lui demander de ne pas prendre ton smartphone en main. Suis certain qu’il peut comprendre.
C’est là qu’on s’aperçoit que c’est vraiment un métier. Certains n’en comprennent pas l’intérêt sur le moment mais lors de l’utilisation, au fil du temps, il n’y a plus débat.
C’est pareil pour tout logiciel, voir plus.
L’UI/UX n’est pas à négliger ☝️
@acnhc
Si, elle peut être négligée si l’application a une durée de vie de 2 mois.
@hirtrey
2 Mois utilise au moins par 40 millions de personnes ça fait quand même 2,4 millard d’utilisations. Oui ça vaut le coup de soigner l’UX
@hirtrey
N’en déplaise à ceux ayant besoin de fonctions d’accessibilité ?
@acnhc
Oui
@hirtrey
J’aimerais pas entendre ça si j’étais atteint d’une certaine forme d’handicap..
QR Code dans Wallet non?
De la publicité pour rembourser la dette 😉
Vous ne savez plus quoi écrire chez macgé? Parce que là, l’article donne l’impression que vous cherchez à enc... les mouches ...
@Kubusiu
Au contraire, c’est très intéressant pour moi
@Kubusiu
Article hyper intéressant, en espérant que les modifications apportées feront avancer ce formulaire qu’on va encore devoir utiliser pendant au moins un mois.
Et pour ceux qui trouvent l’article inutile, merci d’avoir pris le temps de le lire et de le commenter !
@BananaYatta
+1
+1
Peut-être que ta PR pourrait être coupée en 3 PRs et soumises à nouveau, vu qu'il y a 2 virgules dans dans le titre. Parfois, c'est plus simple pour la "code review". 🤷🏻♂️ Ok, je chipote, mais c'est pour pousser un peu plus tes améliorations 😌
C'est tout à fait normal de faire un service accessible pour un service publique, même si c'est la startup nation qui le fait. Et top qu'il soit mis en Open Source.
Merci pour la sensibilisation à l'accessibilité.
Il suffit de copier l'application Android : Multiple comptes, sauvegarde des attestations avec QR Code....
De mon côté problème pour générer le PDF sur Safari iOS 13.4.1 🤔 c’est-à-dire que je remplis le formulaire mais quand je click sur « générer mon attestation » ça ne marche pas.
Quelqu’un a la réponse ??
Par contre sur Firefox ça fonctionne.
Pareil pour moi. Impossible de générer l'attestation en cliquant dans Safari sur iPhone 4S. Obligé de passer par mon iMac (El Capitan), d'ouvrir la page dans Brave, l'enregistrer sur le bureau en pdf, l'uploader dans Google Drive, puis ouvrir l'app Drive sur l'iPhone! Ouf... C'est pas la fin du monde mais c'est un peu chiant comme manip'.
On touche le fond 🤦♂️
Pfffffff... que de préoccupations...