# Adaptations du lecteur ePoc par Papillote

Le lecteur est compilé à partir du code source d'Inria (voir VERSION), avec les seuls
correctifs ci-dessous, appliqués par `scripts/update-player.sh`. Le texte complet de chaque
correctif est dans `scripts/player-patches/` du dépôt Papillote.
Lecteur ePoc : © Inria, licence CeCILL-B (voir LICENSE). Logiciel fourni « en l'état »,
sans garantie ; voir les articles 8 et 9 de la licence.

## 01-retrait-matomo.patch

Papillote — adaptation 01 : retrait de la mesure d'audience Matomo.

Le build « preview » du lecteur charge https://piwik.inria.fr/matomo.js (VueMatomo,
enableLinkTracking) dans tous les modes, alors que Papillote n'admet aucun traqueur
(règle RGPD n° 6 de CLAUDE.md). On retire l'import et l'installation du plugin ;
les appels trackPageView/trackEvent restent, ils sont déjà neutralisés en preview
(src/utils/matomo.ts). À proposer en amont à Inria.

## 02-styles-katex-glightbox.patch

Papillote — adaptation 02 : feuilles de style KaTeX et GLightbox.

Le lecteur rend les formules avec KaTeX et ouvre les images avec GLightbox, mais
leurs feuilles de style ne sont plus importées depuis la migration vers Vue
(commit 90eb8489) : les formules s'affichent en double et la visionneuse sans
mise en forme. On importe les deux feuilles fournies par les paquets déjà installés.
À proposer en amont à Inria.

## 03-navigation-par-diese.patch

Papillote — adaptation 03 : navigation par « # » pour un lecteur servi par un chemin relatif.

Construit avec --base=./ (paquet SCORM, page web), le lecteur utilise un routeur en mode
« history » dont le préfixe devient « /. » : il ne fonctionne qu'à la racine d'un domaine,
et un rechargement ou un lien direct casse (docs/FORMAT-EPOC.md § 10). Quand le préfixe est
relatif, on passe à la navigation par « # » (createWebHashHistory) : le lecteur fonctionne
dans n'importe quel dossier, par exemple celui d'un paquet SCORM dans Moodle. Le build de
l'aperçu, au préfixe absolu, ne change pas. À proposer en amont à Inria.

## 04-connexion-scorm.patch

Papillote — adaptation 04 : ouverture de la connexion SCORM au démarrage.

Le lecteur sait signaler au LMS la fin de la formation et le score (scormComplete et
scormSetScore, appelés quand l'attestation est débloquée), mais scormInit() n'est appelé
nulle part : dans un paquet SCORM, Moodle ne reçoit donc rien. On l'appelle une fois l'appli
montée, dans le seul lecteur emporté (préfixe relatif : paquet SCORM, page web) ; l'aperçu de
Papillote n'ouvre jamais de connexion. Hors d'un LMS, scormInit ne trouve aucune API SCORM et
ne fait rien. À proposer en amont à Inria.

## 05-medias-sans-double-barre.patch

Papillote — adaptation 05 : adresses des médias sans double barre oblique.

En mode preview, le dossier de l'ePoc finit par « / », et chaque usage en ajoute un autre :
toutes les adresses des médias contiennent « // » (…/epocs/<id>//assets/x.webp). Le Service
Worker de l'aperçu de Papillote le corrige, mais un serveur web ou un LMS peut refuser ces
adresses. On retire la barre finale du dossier, comme pour les ePoc installés. À proposer en
amont à Inria.

## 06-score-a-chaque-evaluation.patch

Papillote — adaptation 06 : le score remonte au LMS après chaque évaluation.

Le lecteur n'envoyait le score et la fin de la formation au LMS qu'au déblocage de
l'attestation, et seulement à l'ouverture d'un chapitre : une attestation obtenue dans une
évaluation n'était jamais signalée (elle est déjà marquée vue quand la page du chapitre
vérifie), et sans attestation la plateforme ne recevait jamais aucun score. Désormais :
- à la fin de chaque évaluation, le score cumulé de toutes les évaluations est envoyé et
  enregistré (LMSCommit), et l'activité passe à « incomplete » ;
- l'attestation obtenue dans une évaluation envoie aussi le score et « completed » ;
- le score part en pourcentage (0 à 100) : Moodle lit cmi.core.score.raw sur 100 ;
- « completed » n'arrête plus la session : elle se ferme au départ de la page, et les
  évaluations suivantes peuvent encore améliorer le score.
Hors d'un LMS, ces fonctions ne font rien. À proposer en amont à Inria.

diff --git a/src/scorm.ts b/src/scorm.ts
index 392a633..9e7ee32 100644
