45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
# QR Code Generator
|
|
|
|
Générateur de QR codes entièrement statique, sans backend.
|
|
|
|
L'encodage et le rendu du QR code se font **intégralement dans le navigateur** : aucun texte, lien ou logo n'est jamais envoyé à un serveur.
|
|
|
|
## Aperçu
|
|
|
|

|
|
|
|
## Fonctionnalités
|
|
|
|
- Encodage de texte libre ou d'URL en QR code, côté client, via [qrcode-generator](https://github.com/kazuhikoarase/qrcode-generator)
|
|
- Génération de QR codes de connexion Wi-Fi (SSID, mot de passe, sécurité WPA/WPA2/WPA3/WEP/ouvert, réseau masqué) — scannables directement par l'appareil photo du téléphone
|
|
- Génération de QR codes de contact (vCard) : nom, téléphone, email, organisation, fonction, site web — importables directement dans le répertoire
|
|
- Niveaux de correction d'erreur configurables (L / M / Q / H)
|
|
- Couleurs de modules et de fond personnalisables
|
|
- Superposition d'un logo au centre du QR code (force automatiquement la correction d'erreur au niveau H pour rester scannable)
|
|
- Export du QR code en PNG ou en SVG (vectoriel, redimensionnable sans perte)
|
|
- Aucune dépendance réseau au runtime (CSP `connect-src 'none'`)
|
|
|
|
## Déploiement
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
L'application est alors disponible sur `http://<hôte>:8091/`.
|
|
|
|
## Stack technique
|
|
|
|
- HTML / CSS / JavaScript vanilla, aucun build step
|
|
- [qrcode-generator](https://github.com/kazuhikoarase/qrcode-generator) pour l'encodage QR
|
|
- Rendu et superposition du logo via l'API Canvas du navigateur
|
|
- Servi par `nginx-unprivileged` (image non-root)
|
|
- Conteneur durci : `read_only`, `cap_drop: ALL`, `no-new-privileges`, en-têtes de sécurité (CSP, X-Frame-Options, etc.)
|
|
|
|
## Sécurité
|
|
|
|
Le contenu encodé et les images de logo restent uniquement dans le navigateur (traitement via l'API Canvas / FileReader). Le serveur ne fait que servir des fichiers statiques.
|
|
|
|
## Licence
|
|
|
|
Ce projet est distribué sous licence [MIT](LICENSE).
|