Files
2026-09-16 22:20:09 +02:00

3.5 KiB
Raw Permalink Blame History

Validation du lot #4 — aide bilingue

Protocole

Paquet 0.3.0, Jellyfin Server 12.0.0 (image figée dans tests/run.sh), Jellyfin Web fourni avec cette image, Chromium 149.0.7827.55, Playwright 1.61.1. Compagnon de 375 × 812 pixels, compte ordinaire Alice ; Bob est un second compte ordinaire privé d'accès à la bibliothèque.

bash tests/run.sh compile et installe le paquet sur un serveur jetable, vérifie son accès sans préfixe, puis exécute la suite sous /jellyfin. bash tests/run.sh --test-name-pattern='external subtitles' isole le parcours réel des sous-titres. node --test tests/bilingual.test.mjs vérifie aussi les réponses retardées et invalides à la frontière HTTP simulée.

Le média original avec timecode et les pistes anglaises du lot #3 sont conservés. La nouvelle piste externe tests/fixtures/Compagnon-test.fr.srt fournit :

  • une aide à 5–11 s, répétée sous les blocs principaux de 5–6 et 10–11 s ;
  • deux aides successives à 15–15,4 et 15,4–16 s pour un seul bloc principal ;
  • un bloc à 16–20 s, adjacent aux blocs principaux de 15–16 et 20–21 s, qui ne doit être associé à aucun des deux ;
  • du texte contenant des balises à 30–31 s, affiché littéralement ;
  • aucune aide pour les blocs principaux de 20–21, 20–22 et 40–41 s.

Résultats

Le parcours installé ciblé réussit : ouverture à 35 s, pause, déplacements avant/arrière, répétition de l'aide, plusieurs blocs d'aide, frontières adjacentes, absence explicite par entrée et changement de piste principale. L'absence d'une langue souhaitée (espagnol absent de l'inventaire) laisse les cinq blocs principaux consultables sans piste d'aide sélectionnée. Un autre média sans piste efface l'historique et désactive les deux sélecteurs.

La piste d'aide utilise la même route authentifiée que la piste principale : 401 sans authentification, 403/404 pour Bob sans accès au média. Le choix des pistes ne change pas celle du lecteur principal. La suite vérifie également que le compagnon n'envoie aucune commande de lecture.

Les contrôles simulés couvrent un bloc d'aide de durée nulle (exclu), une piste refusée ou invalide sans perte de l'historique principal, un inventaire limité à la piste principale et les réponses tardives après changement de piste d'aide, source, média, session ou déconnexion. Ils complètent le serveur réel ; ils ne qualifient pas une seconde source physique ni une piste embarquée.

La capture du compagnon montre le rendu sur petit écran, sans débordement horizontal, sans bouton de révélation et sans exécution des balises du fichier SRT. Les blocs restent séparés, sans reconstruction linguistique.

Limites

Ce lot ne valide ni les pistes embarquées, ni d'autres lecteurs, ni HTTPS/reverse proxy. L'endpoint natif de sous-titres Jellyfin reste accessible sans authentification sur le serveur testé, comme documenté au lot #3 ; le compagnon utilise sa route protégée. Aucun fournisseur externe ni traduction automatique n'est ajouté.

Les mesures de synchronisation du parcours réel sont toujours relevées séparément des assertions fonctionnelles. La réussite du parcours bilingue ne constitue pas une validation du seuil de 500 ms en lecture stable.

Revue

Standards : 0 constat (conventions du dépôt et heuristiques de complexité). Spec : 0 constat bloquant, aucun dépassement de périmètre relevé. Les deux axes ont été examinés séparément par des agents de revue.