8x32 PI : vitesse de lecture, QR code et affiche, sens de l'image sur la vitrine

- Vitesse de lecture : réglage VITESSE du lecteur et menu « Vitesse » sur la
  page web (×0,25 à ×2, gardé dans .vitesse.txt du dossier des animations).
- QR code d'accès à la page web et affiche A5 (outils/generer_qrcode.py →
  qrcode/) : une coulée inspirée de « cascade » en haut, une partie de
  « tetris » en bas, couleurs tirées des animations de l'équipe
  (qrcode/sources/), titre en pixels de couleur.
- Matrice de la vitrine : image retournée d'un demi-tour (INVERSER_X et
  INVERSER_Y) et nouveau réglage DECALAGE_X / DECALAGE_Y (ici 1 pixel vers
  la droite).
- Doc : README, INTERFACE_WEB.md et CLAUDE.md à jour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bach
2026-10-09 16:04:13 +02:00
co-authored by Claude Opus 5.5
parent 156f9ce438
commit 5b0e858abe
135 changed files with 434 additions and 11 deletions
+12
View File
@@ -22,6 +22,18 @@
<input type="hidden" name="action" value="suivante">
<button type="submit" class="bouton">Suivante ⏭</button>
</form>
{# Vitesse : le formulaire s'envoie tout seul dès qu'on change la valeur. #}
<form method="post" action="{{ url_for('action') }}" class="vitesse">
<input type="hidden" name="action" value="vitesse">
<label>Vitesse
<select name="vitesse" onchange="this.form.submit()">
{% for valeur, texte in vitesses %}
<option value="{{ valeur }}" {% if (valeur - vitesse)|abs < 0.01 %}selected{% endif %}>{{ texte }}</option>
{% endfor %}
</select>
</label>
<noscript><button type="submit" class="bouton">OK</button></noscript>
</form>
</div>
</header>