all
🚀 Deploy — JH Photomaton / 🔍 Vérification (push) Has been cancelled
🚀 Deploy — JH Photomaton / 🍓 Deploy sur le Pi (push) Has been cancelled

This commit is contained in:
2026-07-17 01:13:57 +02:00
parent 9a006f1457
commit 3de55821b7
5 changed files with 50 additions and 40 deletions
+29 -23
View File
@@ -194,9 +194,7 @@ libcamera-hello --list-cameras
photobooth-app est l'application kiosque qui gère la caméra, le décompte et les frames.
```bash
# Créer le dossier de données
mkdir -p /home/pi/photobooth-data/{media/processed_full,userdata,script}
# photobooth-app crée lui-même ~/photobooth-data/ et ses sous-dossiers au premier lancement
# Installer dans un venv avec accès aux paquets système (nécessaire pour picamera2)
sudo apt install -y python3-venv
python3 -m venv /home/pi/photobooth-venv --system-site-packages
@@ -217,7 +215,7 @@ After=network.target
[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi
WorkingDirectory=/home/pi/photobooth-data/
ExecStart=/home/pi/photobooth-venv/bin/photobooth
Restart=always
RestartSec=5
@@ -227,6 +225,9 @@ Environment=HOME=/home/pi
WantedBy=multi-user.target
```
> **WorkingDirectory=/home/pi/photobooth-data/** — c'est le répertoire de travail de photobooth-app.
> Tous ses sous-dossiers (`config/`, `media/`, `userdata/`, `database/`...) y sont créés au premier lancement.
```bash
sudo systemctl daemon-reload
sudo systemctl enable photobooth-app
@@ -269,7 +270,7 @@ Copier la config depuis le dépôt après l'avoir cloné (étape 7) :
```bash
# Après avoir cloné le dépôt JH Photomaton :
cp /home/pi/jh-photomaton/photobooth-app/config/plugin_commander_jh.json \
~/.config/photobooth-app/plugin_commander.json
/home/pi/photobooth-data/config/plugin_commander.json
sudo systemctl restart photobooth-app
```
@@ -334,7 +335,7 @@ app:
photobooth:
base_url: "http://localhost:8000"
data_dir: "/home/pi/photobooth-data"
media_dir: "/home/pi/photobooth-data/media/processed_full"
media_dir: "/home/pi/photobooth-data/media/processed_full" # chemin réel créé par photobooth-app
event:
name: "Evenement" # sera modifié depuis l'admin
@@ -407,10 +408,14 @@ Répéter pour `Selphy_Noire_WiFi`.
### Script d'impression
Vérifier que le script est exécutable et pointe vers les bons noms d'imprimantes :
> ⚠️ `script_print.sh` est un script **custom** — il n'existe pas par défaut.
> Il doit être copié depuis l'ancienne carte SD (voir Étape 12).
```bash
ls -la /home/pi/photobooth-data/script/script_print.sh
# Créer le dossier s'il n'existe pas
mkdir -p /home/pi/photobooth-data/script/
# Après copie depuis l'ancienne carte, rendre exécutable
chmod +x /home/pi/photobooth-data/script/script_print.sh
# Test manuel
@@ -439,7 +444,7 @@ Ajouter dans `/etc/dhcpcd.conf` :
```ini
interface wlan0
static ip_address=192.168.4.1/24
static ip_address=192.168.230.1/24
nohook wpa_supplicant
```
@@ -478,27 +483,27 @@ interface=wlan0
bind-interfaces
# DHCP : distribue des IPs aux clients WiFi
dhcp-range=192.168.4.2,192.168.4.100,255.255.255.0,24h
dhcp-range=192.168.230.2,192.168.230.100,255.255.255.0,24h
# Annonce le Pi comme serveur DNS aux clients
dhcp-option=6,192.168.4.1
dhcp-option=6,192.168.230.1
# ── Portail captif ──────────────────────────────────────────────
# Tout le trafic DNS → Pi (192.168.4.1)
# Tout le trafic DNS → Pi (192.168.230.1)
# google.com, instagram.com, lessapinsduweb.com... tout arrive ici.
# Zoraxy fait le tri par HTTP Host header :
# - *.lessapinsduweb.com → apps configurées dans Zoraxy
# - tout le reste → redirect vers photomaton.lessapinsduweb.com
address=/#/192.168.4.1
address=/#/192.168.230.1
# Sondes de détection portail captif — iOS et Android ouvrent
# automatiquement le navigateur sur la galerie
address=/captive.apple.com/192.168.4.1
address=/connectivitycheck.gstatic.com/192.168.4.1
address=/detectportal.firefox.com/192.168.4.1
address=/www.msftconnecttest.com/192.168.4.1
address=/captive.apple.com/192.168.230.1
address=/connectivitycheck.gstatic.com/192.168.230.1
address=/detectportal.firefox.com/192.168.230.1
address=/www.msftconnecttest.com/192.168.230.1
```
> **Note :** `address=/#/192.168.4.1` s'applique uniquement aux clients WiFi
> **Note :** `address=/#/192.168.230.1` s'applique uniquement aux clients WiFi
> (DHCP sur wlan0). Le Pi lui-même utilise le DNS de son routeur via eth0.
### Activer les services
@@ -558,7 +563,7 @@ sudo systemctl start zoraxy
| **`*` (catch-all)** | **Redirect → `http://photomaton.lessapinsduweb.com`** | **Portail captif** |
La règle catch-all est la clé : quand un client WiFi tape `google.com`, DNS
résout vers `192.168.4.1`, Zoraxy reçoit la requête, ne reconnaît pas l'hôte,
résout vers `192.168.230.1`, Zoraxy reçoit la requête, ne reconnaît pas l'hôte,
et redirige vers la galerie photo.
> **Limite HTTPS :** si un client tape `https://google.com`, le navigateur voit
@@ -585,8 +590,9 @@ rsync -av /mnt/old-sd/home/pi/photobooth-data/script/ \
pi@<IP_DU_PI>:/home/pi/photobooth-data/script/
# Config photobooth-app (actions, frames configurées)
rsync -av /mnt/old-sd/home/pi/.config/photobooth-app/ \
pi@<IP_DU_PI>:/home/pi/.config/photobooth-app/
# photobooth-app stocke tout dans ~/photobooth-data/ (WorkingDirectory du service)
rsync -av /mnt/old-sd/home/pi/photobooth-data/ \
pi@<IP_DU_PI>:/home/pi/photobooth-data/
# ⚠️ Après cette copie, vérifier que plugin_commander.json pointe bien vers :8090 (pas :1880)
# Config JH Photomaton (settings.yaml + base SQLite)
@@ -633,8 +639,8 @@ Interface admin : `http://<IP>:8090/admin`
| JH Photomaton (admin) | 8090 | `http://admin.lessapinsduweb.com` ou `http://<IP>:8090/admin` |
| photobooth-app (kiosque) | 8000 | `http://photomaton.lessapinsduweb.com` |
| CUPS (imprimantes) | 631 | `http://<IP>:631` (réseau local uniquement) |
| Zoraxy (proxy admin) | 8888 | `http://192.168.4.1:8888` |
| WiFi hotspot | — | SSID `Photomaton-LSDW` — IP Pi : `192.168.4.1` |
| Zoraxy (proxy admin) | 8888 | `http://192.168.230.1:8888` |
| WiFi hotspot | — | SSID `Photomaton-LSDW` — IP Pi : `192.168.230.1` |
---