
Temps de lecture : 18 min
Points clés à retenir
- Sanipasse : vérificateur open-source de passes sanitaires, auto-hébergé, respectueux des données.
- Installation Docker : rapide, mais nécessite un reverse proxy HTTPS pour la caméra.
- Formats supportés : 2D-DOC français et certificat vert numérique européen (QR code).
- Contrôle total : gestion de liste noire, absence de traçage, conformité RGPD.
Qu’est-ce que Sanipasse ? Fonctionnalités et formats supportés
Besoin de vérifier les passes sanitaires sans dépendre d’une application centralisée ? Découvrez Sanipasse, le vérificateur open-source que vous pouvez héberger vous-même. Les organisateurs d’événements et les lieux recevant du public doivent pouvoir scanner rapidement les passes COVID tout en protégeant les données des visiteurs. Les solutions officielles imposent un service tiers, alors que Sanipasse offre le contrôle total. Concrètement, voilà ce que ça change : vous seuls décidez où les données sont stockées et qui y a accès.
Historique et contexte réglementaire
Sanipasse a été créé par un développeur indépendant en 2021, en réaction aux applications officielles centralisées. L’outil répond aux besoins des associations et petites collectivités qui souhaitent une solution libre, sans dépendance étatique ni collecte de données personnelles. Dans l’industrie, on dit souvent que l’innovation vient des marges — ici, c’est un développeur qui a comblé un vide laissé par les grands acteurs. Soyons précis : le code source est intégralement disponible sur GitHub sous licence libre, ce qui permet de l’auditer et de le modifier. Ce que les études ne vous apprennent pas : la réglementation sanitaire évolue vite, et avoir un outil que vous maîtrisez est un atout.
Formats lus : 2D-DOC et certificat vert numérique
Sanipasse lit deux formats de passes : le 2D-DOC (le code-barres matriciel français, utilisé notamment par les pharmaciens et les hôpitaux) et le certificat vert numérique européen (le QR code standardisé de l’Union européenne). C’est une nuance qui compte : un festival accueillant des visiteurs étrangers pourra scanner à la fois les passes français et les certificats allemands, italiens ou espagnols. On ne le dit pas assez, mais la double compatibilité évite d’avoir à installer deux applications distinctes.
| Format | Pays d’origine | Type de données | Visuel |
|---|---|---|---|
| 2D-DOC | France | Code-barres matriciel | Carré avec points noirs |
| Certificat vert numérique (DCC) | Union européenne | QR code standard | Cadre carré avec logo |
La réalité terrain, c’est : le 2D-DOC est plus dense et peut contenir plus d’informations (numéro de lot, identifiant vaccin), tandis que le DCC est plus simple et lisible par la majorité des lecteurs. Sanipasse les traite tous les deux en une seule interface.

Sanipasse vs TousAntiCovid Vérif : lequel choisir ?
Quelle différence entre Sanipasse et l’application officielle TousAntiCovid Vérif (ou VerifPass) ? Les deux permettent de scanner et d’afficher le statut vert ou rouge, mais l’approche est radicalement différente. Sanipasse est un outil open-source que vous installez sur votre propre serveur ; TousAntiCovid Vérif est une application clé en main qui communique avec les serveurs de l’État. Ce que les études ne vous apprennent pas : le choix n’est pas seulement technique, il est aussi politique et éthique.
Avantages et inconvénients de Sanipasse
- Open source : code auditable, pas de porte dérobée.
- Auto-hébergement : vous maîtrisez les données, aucune transmission à un tiers.
- Liste noire : possibilité de bloquer des certificats révoqués (ex : passe d’une personne testée positive).
- Pas de traçage : aucun log des scans hors de votre instance.
- Inconvénient : nécessite des compétences techniques (Docker, reverse proxy).
Avantages et inconvénients de TousAntiCovid Vérif
- Clé en main : installation instantanée, pas de serveur.
- Mise à jour automatique : les certificats de confiance sont gérés par l’État.
- Inconvénient : dépendance à un service centralisé, données transitées.
- Inconvénient : pas de liste noire locale, pas de contrôle avancé.
Le tableau ci-dessous synthétise les critères clés pour vous aider à choisir.
| Critère | Sanipasse | TousAntiCovid Vérif |
|---|---|---|
| Open source | Oui (licence libre) | Non (propriétaire) |
| Auto-hébergement | Oui | Non |
| Confidentialité | Totale (aucune donnée externe) | Limitée (transmission à l’État) |
| Mises à jour | Manuelles (docker pull) | Automatiques |
| Facilité d’installation | Moyenne (nécessite serveur) | Très facile |
Mon expérience dans l’industrie pharmaceutique m’a appris qu’il faut toujours peser la balance entre sécurité des données et simplicité d’usage. Pour une association bénévole, Sanipasse est un excellent compromis.

Prérequis techniques avant d’installer Sanipasse
Avant de déployer votre instance de vérificateur de passe sanitaire libre, il faut préparer le terrain. Soyons précis : Sanipasse n’est pas une application clic-bouton comme TousAntiCovid Vérif. Elle tourne sur un serveur Linux, avec Docker et un nom de domaine en HTTPS. Voici la checklist des éléments indispensables.
Serveur et système d’exploitation
- Serveur Linux (Ubuntu 22.04 LTS ou plus récent, Debian 12).
- Au moins 1 Go de RAM, 10 Go d’espace disque.
- Accès root ou sudo.
- Docker installé (version 24 ou supérieure).
Nom de domaine et certificat SSL
Votre instance Sanipasse doit être accessible en HTTPS pour que la caméra du navigateur fonctionne (l’API getUserMedia est bloquée en HTTP). Il vous faut :
- Un nom de domaine pointant vers l’adresse IP de votre serveur.
- Un certificat SSL (Let’s Encrypt gratuit).
- Les ports 80 et 443 ouverts dans le pare-feu.
Installation de Docker
Docker est le conteneur qui exécutera Sanipasse. Sur Ubuntu, les commandes sont :
sudo apt update && sudo apt install docker.iosudo systemctl enable docker && sudo systemctl start docker
Selon le dépôt GitHub lovasoa/sanipasse (2024), l’application nécessite Node.js version 16 ou supérieur, mais Docker encapsule tout. C’est une nuance qui compte : vous n’avez pas besoin d’installer Node.js manuellement. Une fois Docker opérationnel, vous êtes prêt pour l’installation.
Transition : avec ces bases solides, passons à la mise en œuvre concrète.
Installer Sanipasse avec Docker : le guide pas à pas
Voici les étapes pour lancer votre propre instance Sanipasse, formulées pour répondre directement à la requête « comment installer Sanipasse sur un serveur Ubuntu avec Docker ».
- Assurez-vous que Docker est installé sur votre serveur.
- Exécutez la commande :
docker run -d -p 3000:3000 -v sanipasse-data:/data lovasoa/sanipasse. - Vérifiez que le conteneur tourne :
docker ps. - Accédez à l’application via http://votre-serveur:3000 (HTTPS requis pour les fonctionnalités caméra – voir section suivante).
La réalité terrain, c’est : le port 3000 est celui exposé par défaut dans l’image Docker. Ne vous inquiétez pas si vous voyez une page blanche au premier lancement ; vous devez encore configurer le reverse proxy. Mais d’abord, voyons le montage du volume.
Téléchargement et première exécution
La commande de base docker run -p 3000:3000 -v sanipasse-data:/data lovasoa/sanipasse télécharge l’image et lance le conteneur. Concrètement, voilà ce que ça change : le volume nommé sanipasse-data stocke les données persistantes (passes scannés, liste noire). Sans lui, tout serait perdu au redémarrage.
Commande Docker rapide
docker run -d -p 3000:3000 -v sanipasse-data:/data lovasoa/sanipasse
Note d’expérience : j’ai déjà vu un organisateur de festival perdre toutes ses données parce qu’il avait oublié le volume. Les passes enregistrés dans ‘Mon carnet’ se sont volatilisés au redémarrage du serveur. Un réflexe à prendre : docker volume ls pour vérifier.
Montage du volume de données persistantes
Si vous préférez un répertoire local sur votre serveur, utilisez : -v /chemin/vers/dossier:/data. Cela facilite les sauvegardes. Le volume doit être accessible en écriture par l’utilisateur du conteneur (UID 1000). Les permissions sont souvent une source d’erreur « Permission denied ».
Vérification du bon fonctionnement
Après lancement, pointez votre navigateur sur http://votre-ip:3000. Vous devriez voir l’interface de Sanipasse. Si la page ne se charge pas, vérifiez avec docker logs sanipasse (ou l’ID du conteneur). Les logs doivent afficher « Server running on port 3000 ».
Transition : l’installation de base est faite, mais il manque le HTTPS. Passons à la configuration du reverse proxy Nginx.
Configurer un reverse proxy Nginx pour le HTTPS
Sanipasse expose un serveur HTTP pur sur le port 3000. Or, les navigateurs modernes bloquent l’accès à la caméra (getUserMedia) depuis une page en HTTP. La solution est de placer un reverse proxy Nginx avec un certificat SSL Let’s Encrypt. Ce que les études ne vous apprennent pas : c’est l’étape la plus souvent négligée par les débutants.
Installation de Nginx et Certbot
sudo apt install nginx certbot python3-certbot-nginx- Ouvrez les ports 80 et 443 dans votre pare-feu.
Exemple de configuration Nginx pour Sanipasse
Créez un fichier /etc/nginx/sites-available/sanipasse avec le contenu suivant :
server {
listen 80;
server_name sanipasse.votredomaine.fr;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name sanipasse.votredomaine.fr;
ssl_certificate /etc/letsencrypt/live/sanipasse.votredomaine.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sanipasse.votredomaine.fr/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Activez le site et obtenez le certificat :
sudo ln -s /etc/nginx/sites-available/sanipasse /etc/nginx/sites-enabled/sudo certbot --nginx -d sanipasse.votredomaine.fr
Automatisation du renouvellement SSL
Certbot installe automatiquement un timer systemd. Vérifiez-le avec systemctl list-timers | grep certbot. Les certificats sont renouvelés tous les 60 jours environ.
| Port | Usage | Accès |
|---|---|---|
| 3000 | HTTP local (Sanipasse) | Interne uniquement |
| 80 | HTTP public (redirection) | Public |
| 443 | HTTPS public (application) | Public |
Transition : une fois le HTTPS opérationnel, vous pouvez utiliser l’application en conditions réelles.
Utilisation quotidienne de Sanipasse : scanner, carnet et liste noire
L’interface de Sanipasse est épurée : une zone de scan, un historique, et des options. Scannez un QR code ou un 2D-DOC avec la caméra de votre appareil. L’application affiche immédiatement le statut (vert valide, rouge invalide).
Scannez un QR code ou un 2D-DOC
Autorisez l’accès à la caméra dans votre navigateur. Placez le code dans le cadre ; Sanipasse le lit en moins d’une seconde. La vérification est locale : aucun appel à un serveur externe, ce qui garantit la confidentialité. Pour un festival, un restaurant ou un cinéma, c’est l’idéal.
Gérez votre carnet de passes
Chaque scan est enregistré dans « Mon carnet ». Vous y retrouvez la date, l’heure et le statut. Possibilité d’exporter l’historique en JSON ou CSV. Concrètement, voilà ce que ça change : plus besoin de tenir un registre papier ; tout est numérisé localement.
Utilisez la blacklist pour refuser des certificats révoqués
Si un visiteur est testé positif, vous pouvez ajouter son certificat à la liste noire. Les prochains scans de ce même passe afficheront un statut rouge. C’est une fonction absente des solutions officielles. On ne le dit pas assez, mais cette fonctionnalité est cruciale pour les établissements de santé.
Conseil : Pour une utilisation en borne en libre-service, désactivez le mode carnet et configurez les couleurs via les options avancées (fichier de configuration).
Transition : même avec une installation soignée, des erreurs peuvent survenir. Voyons les plus courantes.
Problèmes courants et solutions (FAQ technique)
Basés sur les issues GitHub rapportées en 2026, voici les problèmes fréquents et leurs correctifs.
- Permission denied : le volume Docker n’est pas accessible. Solution :
chown 1000:1000 /chemin/vers/dossierou utilisez le volume nommé. - Invalid regexp group : erreur de parsing du QR code. Solution : mettez à jour l’image (
docker pull lovasoa/sanipasse) et effacez le cache navigateur. - Pas de caméra : assurez-vous que le site est en HTTPS et que les permissions navigateur sont accordées.
- Disparition des passes : le volume n’était pas monté. Vérifiez avec
docker inspect.
Checklist de résolution rapide :
- Vérifier les permissions du volume Docker.
- Redémarrer le conteneur :
docker restart sanipasse. - Mettre à jour Node.js dans l’image (via docker pull).
- Effacer le cache navigateur et cookies.
- Consulter les logs :
docker logs sanipasse --tail 50.
Transition : ces problèmes sont souvent liés à la sécurité et à la confidentialité. Abordons cet aspect important.
Sécurité et confidentialité : pourquoi choisir une solution open source
Sanipasse ne collecte aucune donnée personnelle. Aucun appel à un serveur externe, aucun traçage des scans. Seuls les certificats de confiance (public keys des autorités sanitaires) sont téléchargés au premier lancement. C’est une solution idéale pour les associations et collectivités soucieuses de la vie privée.
Protection des données avec Sanipasse
Le code source est ouvert, auditable par n’importe qui. Contrairement aux applications propriétaires, vous savez exactement ce qui est exécuté. La réalité terrain, c’est : lors d’un contrôle, les données restent sur votre serveur, vous en êtes le seul responsable.
Conformité RGPD
En auto-hébergeant Sanipasse, vous respectez les principes de minimisation et de finalité. Aucun transfert hors UE. Si vous êtes soumis à la RGPD, Sanipasse est un outil compliant. Attention toutefois à la gestion des logs : ne conservez pas les données plus que nécessaire.
Avertissement : Sanipasse ne remplace pas une solution officielle pour les contrôles obligatoires par les autorités (police, gendarmerie). Vérifiez la réglementation en vigueur dans votre région.
Transition : avant de conclure, répondons aux questions les plus fréquentes.
Questions fréquentes
Sanipasse est-il gratuit ?
Oui, Sanipasse est un logiciel libre gratuit. Le code source est disponible sur GitHub. Vous pouvez l’installer sans frais sur votre propre serveur.
Quels navigateurs sont compatibles avec Sanipasse ?
Sanipasse fonctionne avec les navigateurs récents supportant l’API getUserMedia (caméra). Chrome, Firefox, Edge et Safari sont compatibles. Les anciens navigateurs (IE11) ne sont pas supportés.
Comment mettre à jour mon instance Sanipasse ?
Il suffit de redémarrer le conteneur Docker avec la dernière image : docker pull lovasoa/sanipasse && docker restart sanipasse. Les données persistantes restent intactes.
Sanipasse permet-il d’exporter la liste des passes scannés ?
Oui, depuis l’interface ‘Mon carnet’, vous pouvez exporter les historiques. Utilisez les options de gestion pour générer un fichier JSON ou CSV.
Que faire si Sanipasse refuse de lire un QR code ?
Vérifiez que le QR code est un certificat vert numérique européen valide. Assurez-vous que votre caméra est bien autorisée dans le navigateur et que l’éclairage est suffisant.
Prêt à prendre le contrôle de vos vérifications sanitaires ?
Récapitulons les points essentiels : Sanipasse est un outil libre, sécurisé et respectueux de la vie privée, qui vous permet de scanner les passes 2D-DOC et certificats verts numériques. L’installation avec Docker est rapide mais nécessite un reverse proxy HTTPS pour la caméra. L’interface permet de scanner, stocker dans un carnet et gérer une liste noire. La communauté active sur GitHub assure des correctifs réguliers.
Alors, pourquoi ne pas lancer votre propre instance dès aujourd’hui ? Contribuez à un écosystème plus transparent, où les données des visiteurs sont protégées. Et si vous rencontrez des difficultés, la communauté GitHub est réactive. Prêt à faire le pas ?

Docteure en Pharmacie, j’ai quitté l’officine pour l’industrie il y a six ans. Affaires réglementaires, medical affairs, laboratoires génériques, groupes internationaux — j’écris ici ce que j’aurais voulu lire quand je cherchais ma voie dans ce secteur.