Skip to content

fix(installeur): l assistant ne décrit plus le cabinet à votre place - #282

Merged
NLygitadm merged 1 commit into
mainfrom
fix/toys-sans-supposition
Sep 9, 2026
Merged

NLygitadm merged 1 commit into
mainfrom
fix/toys-sans-supposition

Conversation

@NLygitadm

@NLygitadm NLygitadm commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Trois remontées de Patrick, même racine : on lui présentait des réponses toutes faites qu'il ne pouvait ni vérifier ni comprendre.

1. La backboard n'allumait que 512 LED sur 1368

proposer_toys() proposait d'office, pour le premier contrôleur détecté :

"""Premier contrôleur = backboard (matrice 144×16, le cas courant)"""
mode = "matrice", width = 144, height = 16
strips = repartir(144 * 16)   # -> [512, 512, 512, 512, 256]

Les deux valeurs étant cohérentes entre elles, le contrôle « le total doit faire largeur × hauteur » passait sans rien dire. On validait, sans le voir, la description du cabinet de quelqu'un d'autre — et la première sortie n'éclairait que ses 512 premières LED.

512 n'est pas arbitraire : c'est le maximum qu'une sortie de Teensy pilote. Une matrice plus grande doit être répartie sur plusieurs sorties, et câblée ainsi. Personne ne peut le deviner — l'aide le dit désormais.

Un contrôleur dont on ne sait rien arrive maintenant éteint, sans dimensions. Qui a une backboard l'allume et la décrit ; qui ne sait pas encore laisse éteint et le fera depuis la page DOF du cabinet. Dans les deux cas, aucune configuration inventée ne part sur le disque.

Un écart mis à nu au passage

Le changement a révélé une incohérence réelle : le navigateur sautait déjà les contrôleurs éteints (toysProblems), mais le validateur du serveur refusait width=0. L'écart restait invisible tant que la proposition arrivait allumée et valide. Corrigé, avec un test.

2. « Exciters à l'arrière ou à l'avant du meuble ? »

C'est la question que Patrick a posée. Les deux libellés disaient :

sound3d_2 : SSF 6 canaux — exciters à l'arrière du meuble (lockbar)
sound3d_3 : SSF 6 canaux — exciters à l'avant du meuble (lockbar)

Or la lockbar est un seul endroit, à l'avant. La vraie question n'est pas où sont les exciters, mais sur quels canaux de la carte son ils sont câblés :

sound3d_2 : SSF 6 canaux — exciters câblés sur les canaux ARRIÈRE de la carte son
sound3d_3 : SSF 6 canaux — exciters câblés sur les canaux AVANT de la carte son

Et les aides renvoient à l'étape Haut-parleurs, qui fait parler chaque canal l'un après l'autre — la seule façon de lever le doute sans démonter le meuble.

3. « Un peu perdu sur la page Leds et Toys »

L'étape annonce maintenant que rien n'est prérempli, demande « LED par rangée × nombre de rangées » plutôt que « largeur × hauteur » (c'est ainsi que Patrick décrit sa backboard : 19 rubans de 72 LED), et explique la limite de 512 par sortie.

Les cinq langues suivent.

Tests

test_toys_sans_supposition.py, 10 tests : rien n'est inventé, aucun contrôleur n'arrive allumé, la découpe en sorties pleines reste juste (dont le cas de Patrick, repartir(1368) → [512, 512, 344]), les libellés ne parlent plus de place dans le meuble, et les cinq langues ne divergent pas.

test_installer_toys a correctement échoué sur cinq points — il épinglait l'ancienne proposition. Mis à jour : la validation part maintenant d'une description explicite, comme celle qu'un utilisateur saisit.

734 tests.

🤖 Generated with Claude Code

Trois remontées de Patrick, même racine : on lui présentait des réponses
toutes faites qu'il ne pouvait ni vérifier ni comprendre.

1. LA BACKBOARD N'ALLUMAIT QUE 512 LED SUR 1368

proposer_toys() proposait d'office, pour le premier contrôleur détecté :

    mode = matrice, width = 144, height = 16
    strips = repartir(2304) -> [512, 512, 512, 512, 256]

Les deux valeurs étant cohérentes ENTRE ELLES, le contrôle « le total doit
faire largeur × hauteur » passait sans rien dire. On validait, sans le
voir, la description du cabinet de quelqu'un d'autre — et la première
sortie n'éclairait que ses 512 premières LED.

512 n'est pas arbitraire : c'est le maximum qu'une sortie de Teensy
pilote. Une matrice plus grande doit être répartie sur plusieurs sorties,
et câblée ainsi. Personne ne peut le deviner : l'aide le dit désormais.

Un contrôleur dont on ne sait rien arrive maintenant ÉTEINT, sans
dimensions. Qui a une backboard l'allume et la décrit ; qui ne sait pas
encore laisse éteint et le fera depuis la page DOF. Dans les deux cas,
aucune configuration inventée ne part sur le disque.

Au passage, ce changement a mis à nu un écart réel : le navigateur
sautait déjà les contrôleurs éteints (toysProblems), mais le validateur
du serveur refusait width=0. L'écart ne se voyait pas tant que la
proposition arrivait allumée ET valide.

2. « EXCITERS À L'ARRIÈRE OU À L'AVANT DU MEUBLE ? »

Les deux libellés SSF disaient « (lockbar) ». Or la lockbar est un seul
endroit, à l'avant. La vraie question n'est pas où sont les exciters mais
sur quels canaux de la carte son ils sont CÂBLÉS. Les libellés le disent,
et les aides renvoient à l'étape Haut-parleurs, qui fait parler chaque
canal l'un après l'autre.

3. « UN PEU PERDU SUR LA PAGE LEDS ET TOYS »

L'étape annonce que rien n'est prérempli, demande « LED par rangée ×
nombre de rangées » plutôt que « largeur × hauteur », et explique la
limite de 512 par sortie.

Les cinq langues suivent.

734 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@NLygitadm
NLygitadm merged commit c1fb6e7 into main Sep 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant