8x32 PI : interface web, matrice verticale, compatibilité Raspbian 11

- Interface web (serveur_web.py, Flask, gabarits dans web/) : dépôt de GIF,
  PNG animés et séquences de PNG, aperçus animés, ordre de lecture,
  activer / désactiver, corbeille, « jouer maintenant » et « suivante ».
  Service systemd vitrine-web, activé par installer.sh.
- Lecteur : réagit aux demandes de la page web (post-it dans
  /run/vitrine-pixels), écrit l'animation en cours, éteint la matrice
  proprement sur SIGTERM.
- Matrice posée debout : réglage ROTATION (90 = image 8 × 32) dans
  matrice.py ; images couchées tournées automatiquement ; exemples,
  animations codées, aperçus et page web adaptés au format vertical.
- Compatibilité Raspbian 11 Bullseye : partition /boot, Pillow 8.1, Flask 1.1.
- Doc : nouveau guide INTERFACE_WEB.md ; README, GUIDE_KRITA, MODE_VITRINE,
  CODER_EN_PYTHON mis à jour (format 8 × 32, adresses Wi-Fi / câble du Pi).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bach
2026-10-08 16:08:18 +02:00
co-authored by Claude Opus 5.5
parent 98fca33142
commit 2d4b0d5a5f
63 changed files with 1592 additions and 156 deletions
+17 -9
View File
@@ -35,10 +35,10 @@ echo "=== Partition de démarrage : $BOOT"
echo
echo "=== 1/5 Installation des logiciels nécessaires (quelques minutes)"
# python3-pil = Pillow (lire les images) ; python3-dev et gcc = pour compiler
# la bibliothèque rpi_ws281x, qui parle aux LED.
# python3-pil = Pillow (lire les images) ; python3-flask = le serveur web ;
# python3-dev et gcc = pour compiler la bibliothèque rpi_ws281x, qui parle aux LED.
sudo apt-get update
sudo apt-get install -y python3-venv python3-pil python3-dev gcc
sudo apt-get install -y python3-venv python3-pil python3-flask python3-dev gcc
echo
echo "=== 2/5 Environnement Python dans $ENV"
@@ -73,14 +73,22 @@ else
fi
echo
echo "=== 5/5 Service de démarrage automatique « vitrine-pixels »"
# On recopie le modèle de service en remplaçant @PROJET@ et @PYTHON@
echo "=== 5/5 Services de démarrage automatique : lecteur et interface web"
# On recopie chaque modèle de service en remplaçant @PROJET@ et @PYTHON@
# par les vrais chemins.
sed -e "s|@PROJET@|$PROJET|g" -e "s|@PYTHON@|$ENV/bin/python|g" \
"$PROJET/installation/vitrine-pixels.service" \
| sudo tee /etc/systemd/system/vitrine-pixels.service > /dev/null
for SERVICE in vitrine-pixels vitrine-web; do
sed -e "s|@PROJET@|$PROJET|g" -e "s|@PYTHON@|$ENV/bin/python|g" \
"$PROJET/installation/$SERVICE.service" \
| sudo tee "/etc/systemd/system/$SERVICE.service" > /dev/null
done
sudo systemctl daemon-reload
echo " service installé (pas encore activé)"
# L'interface web ne touche pas à la matrice : on peut l'activer tout de suite.
sudo systemctl enable --now vitrine-web
sudo systemctl restart vitrine-web
for ADRESSE in $(hostname -I); do
case "$ADRESSE" in *.*) echo " interface web : http://$ADRESSE" ;; esac
done
echo " lecteur installé (pas encore activé : testez d'abord la matrice)"
echo
echo "================================================================"