Files
vitrine-pixels/8x32 PI/schemas/chaine_krita_matrice.svg
bachandClaude Opus 5.5 2d4b0d5a5f 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>
2026-10-08 16:08:18 +02:00

56 lines
5.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="330" viewBox="0 0 1200 330" font-family="Helvetica, Arial, sans-serif">
<title>De Krita à la matrice : le trajet d'une animation</title>
<defs><marker id="fleche" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="context-stroke"/></marker><marker id="flecheg" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="#555"/></marker><marker id="flechec" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="#cfcfcf"/></marker></defs>
<rect width="1200" height="330" fill="#ffffff"/>
<rect x="30" y="60" width="170" height="190" rx="12" fill="#ffffff" stroke="#7b3fa0" stroke-width="3"/>
<rect x="30" y="60" width="170" height="46" rx="12" fill="#7b3fa0"/>
<rect x="30" y="90" width="170" height="16" rx="0" fill="#7b3fa0"/>
<text x="115.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">1. Dessiner</text>
<text x="115.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">Krita</text>
<text x="115.0" y="166" font-size="13" fill="#555" text-anchor="middle">document 8 × 32 px</text>
<text x="115.0" y="192" font-size="13" fill="#555" text-anchor="middle">(vertical), sans flou</text>
<line x1="204" y1="155" x2="224" y2="155" stroke="#555" stroke-width="3" marker-end="url(#flecheg)"/>
<rect x="228" y="60" width="170" height="190" rx="12" fill="#ffffff" stroke="#b5418f" stroke-width="3"/>
<rect x="228" y="60" width="170" height="46" rx="12" fill="#b5418f"/>
<rect x="228" y="90" width="170" height="16" rx="0" fill="#b5418f"/>
<text x="313.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">2. Exporter</text>
<text x="313.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">GIF animé</text>
<text x="313.0" y="166" font-size="13" fill="#555" text-anchor="middle">ou séquence de PNG</text>
<text x="313.0" y="192" font-size="13" fill="#555" text-anchor="middle">(Rendu de l'animation)</text>
<line x1="402" y1="155" x2="422" y2="155" stroke="#555" stroke-width="3" marker-end="url(#flecheg)"/>
<rect x="426" y="60" width="170" height="190" rx="12" fill="#ffffff" stroke="#c9682a" stroke-width="3"/>
<rect x="426" y="60" width="170" height="46" rx="12" fill="#c9682a"/>
<rect x="426" y="90" width="170" height="16" rx="0" fill="#c9682a"/>
<text x="511.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">3. Vérifier</text>
<text x="511.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">verifier_animation.py</text>
<text x="511.0" y="166" font-size="13" fill="#555" text-anchor="middle">+ simulateur</text>
<text x="511.0" y="192" font-size="13" fill="#555" text-anchor="middle">sur l'ordinateur</text>
<line x1="600" y1="155" x2="620" y2="155" stroke="#555" stroke-width="3" marker-end="url(#flecheg)"/>
<rect x="624" y="60" width="170" height="190" rx="12" fill="#ffffff" stroke="#b08900" stroke-width="3"/>
<rect x="624" y="60" width="170" height="46" rx="12" fill="#b08900"/>
<rect x="624" y="90" width="170" height="16" rx="0" fill="#b08900"/>
<text x="709.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">4. Déposer</text>
<text x="709.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">dossier « animations »</text>
<text x="709.0" y="166" font-size="13" fill="#555" text-anchor="middle">carte SD ou réseau</text>
<text x="709.0" y="192" font-size="13" fill="#555" text-anchor="middle">(01_, 02_… = ordre)</text>
<line x1="798" y1="155" x2="818" y2="155" stroke="#555" stroke-width="3" marker-end="url(#flecheg)"/>
<rect x="822" y="60" width="170" height="190" rx="12" fill="#ffffff" stroke="#1f7a3a" stroke-width="3"/>
<rect x="822" y="60" width="170" height="46" rx="12" fill="#1f7a3a"/>
<rect x="822" y="90" width="170" height="16" rx="0" fill="#1f7a3a"/>
<text x="907.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">5. Lire</text>
<text x="907.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">Raspberry Pi</text>
<text x="907.0" y="166" font-size="13" fill="#555" text-anchor="middle">lecteur.py : gamma,</text>
<text x="907.0" y="192" font-size="13" fill="#555" text-anchor="middle">luminosité, serpentin</text>
<line x1="996" y1="155" x2="1016" y2="155" stroke="#555" stroke-width="3" marker-end="url(#flecheg)"/>
<rect x="1020" y="60" width="170" height="190" rx="12" fill="#ffffff" stroke="#2f6fc4" stroke-width="3"/>
<rect x="1020" y="60" width="170" height="46" rx="12" fill="#2f6fc4"/>
<rect x="1020" y="90" width="170" height="16" rx="0" fill="#2f6fc4"/>
<text x="1105.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">6. Afficher</text>
<text x="1105.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">adaptateur 3,3 → 5 V</text>
<text x="1105.0" y="166" font-size="13" fill="#555" text-anchor="middle">(ou matrice en 4,4 V)</text>
<text x="1105.0" y="192" font-size="13" fill="#555" text-anchor="middle">puis 256 LED WS2812B</text>
<text x="30" y="36" font-size="22" fill="#222" text-anchor="start" font-weight="bold">De Krita à la matrice</text>
<path d="M115 270 V292 H1003 V270" stroke="#aaa" stroke-width="2" fill="none" stroke-dasharray="6 5"/>
<text x="559" y="316" font-size="14" fill="#555" text-anchor="middle">Étapes 1 à 4 : l'équipe design, sur n'importe quel ordinateur. Étapes 5 et 6 : automatiques, dans la vitrine.</text>
</svg>