My Authors
Read all threads
Le code source du générateur d'attestation dérogatoire de déplacement officiel pour le #COVIDー19 est disponible sur GitHub.

On va essayer de regarder ça de plus prêt. 🧐
#Thread 1/2 #Veille #tech #IT #opensource
⬇️⬇️⬇️
❓Premièrement, à quoi ça sert ?
A générer une attestation de déplacement sous format numérique qui pourra être présentée aux FDO en cas de contrôle.

Les attestations numériques ce n'était pourtant pas gagné...
Au début tolérées par la préfecture de police sur Twitter, puis annoncées comme interdite par Christophe Castaner sur TF1.

Le gouvernement statut ENFIN ce 2 Avril en annonçant la mise en place d'un dispositif d'attestation numérique pour le lundi suivant.
On comprend facilement que c'est une façon pour le gouvernement d'officialiser le concept d'attestation numérique en fournissant une marche à suivre officielle, sans avoir besoin de télécharger de logiciels tiers pour remplir le fichier PDF de l'attestation.
🤔Comment qu'on fait du coup ?
On se rend sur le site de l'Intérieur (media.interieur.gouv.fr/deplacement-co…) et on remplit les champs qui décrivent notre identité.

Un document PDF sera généré, reprenant le modèle de l'attestation classique, auquel on apposera un QR Code.
Et là, INCROYABLE, petite ligne en bas du formulaire nous indiquant que le code du générateur est disponible sur GitHub. (github.com/LAB-MI/deplace…)

Ça c'est intéressant, on va pouvoir savoir comment fonctionne l'application mais aussi comment fonctionne l'organisation derrière.
✍️Déjà, qui publie ce code ?
L'organisation à laquelle appartient le dépôt GitHub se présente comme "LAB-MI, Incubateur du ministère de l'intérieur" et ne comporte que deux membres.

🏢Qu'est-ce donc ?
Le LAB-MI, ce sont les fameuses start-ups issues des membres du ministère. Elles suivent les méthodes "agile et lean" et sont pluridisciplinaires.

Une fois à leur terme, ces startups ont vocation à d'être intégrées dans le sys. d'info. du ministère.

(beta.interieur.gouv.fr)
On retrouve les deux membres de l'organisation sur le site de l'Intérieur, d'ailleurs.

Pour ceux qui trouvent ça curieux, c'est une organisation plutôt rependue dans les entreprises du numérique. Cela permet de capitaliser sur la volonté d'entreprendre de ses salariés.
🔍Mais d'où vient ce code ?
Première chose à noter, le projet est un fork, c'est à dire une copie modifiée, d'un autre dépôt GitHub : github.com/nesk/covid-19-….

C'est indiqué dans la description, mais on remarque que la fonctionnalité fork de GitHub n'a pas été utilisée.
Autre chose, on remarque que l'historique des modifications n'est pas vraiment complet. Chaque modification (commit) correspond à une mise à jour complète de l'application et non pas à une modification "unitaire" comme on a plus l’habitude de le voir.
Dommage, nous n'auront donc pas plus d'informations sur la méthode utilisée pour développer, qu'on aurait pu analyser avec l'historique complet des commits.

Ça aurait pu être croustillant 🤓
⚙️Le code en lui même, c'est quoi ?

C'est une application web JavaScript tout ce qu'il y a de plus classique. La liste des dépendances contient des librairies de design web, une librairie de manipulation de PDF et une librairie de manipulation de QR codes.
⚙️Côté dépendances techniques, le packaging se fait avec Parcel (connaissais pas) et la transpilation du JS est faites avec Babel.

On a visiblement du server-side-rendering avec l'utilisation de react-snap. Compréhensible car la SEO est ultra importante pour ce genre d'app.
🔑La lecture de code montre qu'il ne communique à aucun moment avec l'extérieur, tout est donc fait côté client. Théoriquement, les données entrées ne sont disponibles que dans votre navigateur.

Bon point pour la confidentialité des données.
📋L'équipe de dev utilise la fonctionnalité "issue" de GitHub qui permet d'entrer des anomalies et des demandes d'amélioration.

L'équipe étant très réactive pour répondre aux questions on va pouvoir apprendre pas mal de choses !
🔤Tout est en clair, rien n'est chiffré !
Et oui, l'attestation étant par nature déchiffrable par n'importe qui, les informations contenues dans le QR Code sont elles aussi en clair.

D'ailleurs ce QR Code ne fait que regrouper les informations que vous avez entré dans les champs
Par exemple, le QR code de la première image donnera le texte de la seconde image.

Mention spéciale au type de déplacement qui est simplifié ici par un timide "courses". Il faut bien tout faire rentrer 😉.
Ce QR code est donc très facilement falsifiable, chaque information peut être modifiée, notamment la date de génération. On peut imaginer une application qui changerait automatiquement la date de génération toute les 10 minutes.

🤔Mais est-ce que tout ça est grave ?
Pas pour les acteurs du projet, qui rappellent qu'ils "ne prétendent pas assurer un meilleur niveau de contrôle que les versions papier".

Effectivement, les attestations papiers sont aussi falsifiables.

Et l'arrivée du numérique amène forcément sont lot d'automatisations...
...que ce soit en utilisant ce générateur officiel, où n'importe quelle autre app développée par quelqu'un d'avisé.

Quant au chiffrement du QR Code, cela nécessiterais d'envoyer nos informations personnelles vers un tiers de confiance afin que la clef reste privée.
🔑On peut se demander alors comment on considère qu'un "tiers" est de confiance ? L'État en est-il un ? Si oui, dans quelles conditions ?

De plus, cela ne doit pas être simple à mettre en place. Actuellement, le générateur a l'avantage de ne pas avoir besoin de serveur.
📰Qui dit génération de QR Code, dit lecture de ce dernier.

Il est indiqué que les FDO utiliseront une application nommée "CovidReader". Le code source de cette application n'est actuellement pas ouvert.

Il serait pourtant intéressant d'y avoir accès, c'est dans l'exploitation
...des données du QR Code qu'on trouverait les choses les plus intéressantes.

Binding avec une API d'identification ? Historique des contrôles ? Vérification automatique de la validité avec l'horodatage ? Ou alors rien de tout cela et juste une lecture du texte ? 🤔
L'équipe ayant développée le générateur n'étant pas en charge du développement de l'application "CovidReader", elle indique qu'elle ne peut pas mettre en ligne son code source.

C'est effectivement compréhensible, cela n'est pas de leur ressort.
Suite du thread ici :
⬇️⬇️⬇️
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with TheZopo

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!