Files
wiki/Catalogue-Self-Hosted/apps/app-unifi-voucher-site.md
2026-06-09 18:40:21 +02:00

99 lines
4.5 KiB
Markdown

---
title: UniFi Voucher Site
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, networking, unifi, hotspot, voucher, php, wifi]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=networking, https://github.com/davidmbyers/ubiquity-unifi-voucher-site]
---
# UniFi Voucher Site 🎟️
> Générateur de vouchers hotspot pour routeurs/pare-feux UniFi (Ubiquiti) avec interface PHP simple et impression facile.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://github.com/davidmbyers/ubiquity-unifi-voucher-site |
| **GitHub** | https://github.com/davidmbyers/ubiquity-unifi-voucher-site |
| **License** | MIT |
| **Langage** | PHP |
| **Étoiles** | 33 ⭐ |
| **Dernière MAJ** | 2023 |
| **Catégorie** | [[cat-networking]] |
## Description
**UniFi Voucher Site** est une application PHP légère qui s'interface avec un **contrôleur UniFi** (UniFi Network Application) pour générer des **vouchers hotspot** (codes d'accès invités). Le but : remplacer la console d'administration officielle par une page web simplifiée, accessible à des non-techniciens (réception d'hôtel, accueil d'une association, gérant de café), pour créer et imprimer des codes temporaires.
L'interface propose typiquement : choix de la durée (1h, 1 jour, 1 semaine), du débit (limité ou non), du nombre de vouchers à générer, et un bouton « imprimer » qui sort une feuille A4 prête à découper. Les vouchers générés apparaissent immédiatement dans l'UniFi Controller et fonctionnent avec n'importe quel AP UniFi configuré en mode hotspot.
Idéal pour les **petites structures d'hébergement** (gîtes, chambres d'hôtes, coworkings, fablabs) qui veulent offrir un Wi-Fi invité propre sans former le personnel à l'admin UniFi complète. Le code est volontairement minimal pour pouvoir être modifié facilement.
## Installation
### Docker Compose (recommandé)
```yaml
services:
unifi-voucher:
image: ghcr.io/davidmbyers/unifi-voucher-site:latest
container_name: unifi-voucher
restart: unless-stopped
environment:
- UNIFI_URL=https://unifi-controller.local:8443
- UNIFI_USER=admin
- UNIFI_PASS=changeme
- UNIFI_SITE=default
ports:
- "8086:80"
```
> ⚠️ L'image Docker n'est pas officielle : construire depuis les sources si nécessaire (`docker build .`).
### Manuelle (PHP + Apache/Nginx)
```bash
git clone https://github.com/davidmbyers/ubiquity-unifi-voucher-site.git
cd ubiquity-unifi-voucher-site
cp config.example.php config.php # éditer les credentials UniFi
# Servir le dossier via Apache/Nginx + PHP 7.4+
```
## Configuration
Dans `config.php` (ou variables d'environnement en mode Docker) :
- **UNIFI_URL** : URL du contrôleur UniFi (souvent `https://controller.local:8443`)
- **UNIFI_USER/PASS** : compte admin local (pas un compte UniFi Cloud)
- **UNIFI_SITE** : nom du site (par défaut `default`)
- Le contrôleur UniFi doit être accessible depuis le conteneur (même réseau ou routage).
## Alternatives
- **Open Source** : [unifi-voucher-generator](https://github.com/rrbz/unifi-voucher-generator) (Python, plus complet), [UniFi-API-browser](https://github.com/Art-of-WiFi/UniFi-API-browser) (browser de l'API complète)
- **UniFi officiel** : la console du contrôleur permet déjà de générer des vouchers, mais sans la simplicité d'une page dédiée imprimable.
- **Propriétaire** : portail captif Ubiquiti intégré (déjà natif, mais interface plus complexe).
- **Autres portails captifs** : [CoovaChilli](https://coova.github.io/CoovaChilli/), [pfSense Captive Portal](https://docs.netgate.com/pfsense/en/latest/captiveportal/index.html).
## Sécurité
- **Compte admin UniFi** : créer un compte dédié à l'app avec droits limités (et non le compte admin principal).
- **HTTPS obligatoire** : placer derrière un reverse-proxy (Traefik, Nginx Proxy Manager) avec certificat Let's Encrypt.
- **Stockage des credentials** : variables d'environnement, jamais en clair dans le repo.
- **Logs** : surveiller l'accès à l'interface, car elle permet de générer des accès réseau.
- **Durée des vouchers** : limiter volontairement (ex. 24h) pour éviter l'abus.
## Ressources
- [selfh.st — Networking](https://selfh.st/apps/?tag=networking)
- [GitHub davidmbyers/ubiquity-unifi-voucher-site](https://github.com/davidmbyers/ubiquity-unifi-voucher-site)
- [UniFi API documentation](https://developer.ui.com/)
## Pages Liées
- [[cat-networking]]
- [[recettes-docker-compose]]
- [[app-unifi-poller]] — métriques UniFi (autre outil du même écosystème)