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:
@@ -350,6 +350,9 @@ def accueil():
|
||||
actives=[fiche(n) for n in actives()],
|
||||
desactivees=[fiche(n, DESACTIVEES) for n in desactivees()],
|
||||
en_cours=lire_en_cours(),
|
||||
vitesse=lecteur.lire_vitesse_de_lecture(DOSSIER),
|
||||
vitesses=[(0.25, "×0,25 (très lent)"), (0.5, "×0,5 (lent)"), (0.75, "×0,75"),
|
||||
(1.0, "×1 (normal)"), (1.5, "×1,5"), (2.0, "×2 (rapide)")],
|
||||
nb_corbeille=nb_corbeille,
|
||||
dossier=DOSSIER,
|
||||
adresses=adresses_du_pi(),
|
||||
@@ -507,6 +510,18 @@ def action():
|
||||
ranger_dans(CORBEILLE, nom, depuis=os.path.join(DOSSIER, DESACTIVEES))
|
||||
flash(f"« {nom} » est dans la corbeille.", "ok")
|
||||
|
||||
elif quoi == "vitesse":
|
||||
try:
|
||||
vitesse = float(request.form.get("vitesse", "1"))
|
||||
assert 0.1 <= vitesse <= 4
|
||||
except (ValueError, AssertionError):
|
||||
abort(400)
|
||||
# Un petit fichier caché dans le dossier des animations : il est lu par
|
||||
# le lecteur au début de chaque animation, et survit aux redémarrages.
|
||||
with open(os.path.join(DOSSIER, ".vitesse.txt"), "w") as f:
|
||||
f.write(f"{vitesse:g}\n")
|
||||
flash(f"Vitesse de lecture : ×{vitesse:g} (à partir de la prochaine animation).", "ok")
|
||||
|
||||
elif quoi == "vider_corbeille":
|
||||
shutil.rmtree(os.path.join(DOSSIER, CORBEILLE), ignore_errors=True)
|
||||
flash("Corbeille vidée.", "ok")
|
||||
|
||||
Reference in New Issue
Block a user