COVID Contact Tracing Restau Bar

Initialement développé à titre de POC (proof of concept), CCTRB est finalement devenu un peu plus concret et sera prochainement totalement fonctionnel.

Le principe

L'idée de départ était de remplacer les listes de clients demandées aux établissements recevant du public lors de la pandémie à la COVID-19 entre deux confinements en France et avant la généralisation des vaccins.

Le problème de ces listes était triple :

  • Les personnes entrant dans un établissement (bar, restaurant, coiffeur, ...) n'ont pas forcément envie de laisser leurs coordonnées et pouvaient mettre n'importe quoi.
  • Certains restaurateurs en ont profité pour utiliser les coordonnées récoltées afin de transmettre des informations non sollicités à leurs clients de passage ou les ont transmises à des tiers en violation avec les règles sur la gestion des données personnelles.
  • Ce qui passe bien avec un coiffeur accueillant un client par quart d'heure passe moins chez un restaurateur faisant 200 couverts en trois heures.

Généraliser le principe de listes nominatives aux musées, cinémas, théâtres, salles de spectacle et aux autres commerces n'est pas viable. Il faut donc passer par un système plus automatisable et sans échange d'informations nominatives.

L'utilisation de QR codes aux entrées et sorties des établissements est plus simple. Les clients n'ont qu'à les scanner avec leur smartphone.
Les clients non équipés pourront toujours continuer à se faire enregistrer dans un cahier spécial avec les inconvénients que ça comporte.

Ceci étant bien entendu à valider en fonction des règles sanitaires en vigueur localement.

Le fonctionnement

Les établissements accueillant du public s'inscrivent dans CCTRB et reçoivent un identifiant unique sous forme de code QR à imprimer.

Les clients et usagers de ces établissements téléchargent l'application CCTRB sur l'App Store (pour iPhone, iPod touch et iPad) ou les différents magasins d'applications Android (dont le Play Store et Amazon).

Lorsqu'un client rentre dans un établissement il scanne le QR code, ce qui l'autorise à entrer. A sa sortie il doit à nouveau scanner le QR code (s'il l'oublie, il est considéré comme présent jusqu'au prochain scan de QR code).

Si une personne fait un test positif à la COVID, elle utilise son application mobile pour le signaler. Cela permet de transmettre l'information aux établissements dans lesquels elle s'est rendu durant les 14 derniers jours et aux clients présents dans ces établissements dans les mêmes tranches horaires (ce critère étant à affiner ultérieurement).

Pour le moment CCTRB fonctionne sur la base de la confiance. Tout utilisateur pouvant se déclarer positif et entrainer une vague d'"alertes cas contact", il est à envisager un système de verrouillage de cette option si une solution publique permettant de vérifier la positivité fait son apparition.

Règles et conservation des données

Aucune information nominative n'est stockée sur les logiciels ou le serveur.

En dehors des "logs légales", aucune adresse IP ni information personnelle permettant de traquer un utilisateur ne sont stockées.

Les historiques d'entrée et sortie des établissements sont stockées 14 jours (durée recommandée par la CNIL, pouvant évoluée en fonction des besoins).

Les modules

CCTRB comprend trois logiciels :

  • une application mobile iOS / Android destinée aux clients (scan de QR codes à l'entrée et la sortie, signalement de test positif, alertes si cas contact).
  • un logiciel Windows / Mac OS / Linux pour les établissements (enregistrement et modification de la fiche de l'établissement, impression d'un QR code, interrogation de la base pour les cas de COVID parmi les clients référencés).
  • un programme serveur et sa base de données qui traite les informations de façon totalement anonymisée avec uniquement des identifiants liés aux différents logiciels.

Informations techniques

Les différents modules sont développés en Delphi. Leurs fichiers sources sont disponibles sur ce dépôt GitHub.

La version en production utilisera un serveur en PHP pour être compatible avec tous types d'hébergements web. Ses sources seront également fournis.

Un certain nombre de clés de sécurité sera ajouté à la version de production avant publication des logiciels. Celles-ci ne sont pas disponibles publiquement afin d'éviter les utilisations non autorisées qui pourraient rendre le système inutilisable.

Reste à faire

Le projet évolue en direct sur cette chaîne Twitch le jeudi après-midi. Il reste à faire :

  • l'application cliente (prévue pour le 15 avril 2021)
  • la sécurisation de l'API (prévue pour le 15 ou le 22 avril 2021)
  • le serveur PHP à partir de la version Delphi existante (prévue pour le 22 ou le 29 avril 2021)
  • la traduction des textes du logiciel et de l'application mobile
  • trouver un logo qui servira d'icone pour l'application et sera ajouté aux QR codes imprimés
  • la publication de l'application iOS et Android
  • la publication du logiciel pour Windows, macOS et Linux
  • la documentation sur le site web
  • la traduction du site web
  • l'adaptation du projet en fonction des règles sanitaires lorsqu'elles seront connues pour la réouverture des établissements concernés
  • la promotion du projet auprès des établissements concernés et leurs usagers

Evolutions envisagées

Selon l'utilisation du projet et son succès il est possible qu'un changement d'hébergement soit nécessaire.

Pour simplifier l'information des cas contacts un passage (facultatif) par les notifications PUSH de iOS et Android en plus de l'interrogation manuelle de la base de données.

Prévoir un export / import des informations liées aux établissements en cas de changement d'ordinateur et éventuellement une procédure de réactivation du logiciel en cas de crash.

Prévoir la possibilité de transférer un compte utilisateur de l'application mobile vers un autre appareil (dans le cas d'une perte ou d'un vol du terminal de départ mais aussi dans le cas d'un changement volontaire d'appareil).

Pour participer

Les contributions au projet en tant que développeur ne sont pas encore ouvertes mais vous pouvez participer au développement en faisant part de vos remarques ou en nous rejoignant lors des phases de codage du jeudi après-midi.

Pour toute autre contribution, remarque, suggestion ou question, laissez nous un message