Invalid width to find appropriate image?

Bonjour,
En prévision de la future fermeture de Canoprof, je récupère mes contenus, en particulier les génération Web.
Je rencontre un erreur que je n’avais jamais vue « Invalid width to find appropriate image » et qui s’affiche à la place d’une vidéo en ligne intégrée au moyen d’un item Contenu web distant.

C’est plutôt bizarre parce que :
1) La vidéo s’affiche bien et se lit bien quand je colle le fragment HTML fourni par le service qui l’héberge (Peertube sur apps.education.fr) pour l’intégration de la vidéo dans l’item Contenu Web distant :

2) La vidéo s’affiche bien et se lit bien quand j’ajoute le media Contenu web distant dans une activité, en mode édition :

3) Pourtant, j’obtiens le message d’erreur en prévisualisation :

4) Et j’ai aussi le message d’erreur après publication, quand j’affiche la publication dans Firefox :

<iframe title="Justice sociale et environnementale : quelle place pour le numérique ? - Maïtané Lenoir - RDV éduc 2023" width="560" height="315" src="https://tube-sciences-technologies.apps.education.fr/videos/embed/vYdDndCD8BDpvhPNFHt4zL" style="border: 0px;" allow="fullscreen" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>

Je ne vois rien de choquant dans le code d’intégration, j’ai essayé de modifier les valeurs de largeur (width) pour essayer d’autres diemnsions, ça ne change rien.
Si quelqu’un a une idée de ce que je pourrais faire pour éviter d’avoir cette erreur, ce qui me permettrait de faire une génération web « propre » et qui fonctionne parfaitement dans mon navigateur habituel…?
Merci.

Tiens, intéressant. On a le même problème sur scenari.org : https://scenari.org/co/mini_webinaires.html
Ce sont des vidéos peertube ?
Si oui le problème vient peut-être de là. Soit un problème de peertube (faudrait voir si l’intégration d’une vidéo peertube en dehors de Scenari pose problème aussi ou pas), soit un souci de Scenari spécifique quand on utilise peertube.

Si tu mets la même vidéo dans un bloc qui n’est pas refermé par défaut au chargement de la page, ça fait pareil ?

Oui, c’est une vidéo publiée avec Peertube, sur le portail Tubes de apps.education.fr (le lien vers la vidéo est dans mon premier message.

J’ai déjà intégré des vidéos de Peertube dans plein d’autres pages, et ça ne pose pas de problème. Par exemple, j’en ai intégré une dans cette page, vers le bas de la page, au point 5 : https://culture-et-outils-libres.forge.apps.education.fr/logiciels-libres.html#dans-leducation

Je pencherais plutôt pour un problème spécifique à Scenari avec les vidéos de Peertube (ou à un problème de Peertube quand on l’intègre dans un contenu Scenari ?).

Je sais pas, j’ai pas testé.
Je vais le faire et je reviens pour vous dire ce que ça donne.

Je viens de tester : la vidéo fonctionne normalement si elle est dans une activité simple :
https://alain-michel.canoprof.fr/eleve/.test/test-integration-Peertube/

OK, ça semble lié au fait que la vidéo soit dans un bloc collapsable et fermé au chargement de la page. C’est le même cas de figure sur scenari.org.

@sam tu as une idée de ce qui peut se passer ?

Je pense que c’est un défaut du lecteur PeerTube. Au chargement du lecteur, comme la zone est masquée, elle ne possède pas de dimesions donc de largeur et le lecteur échoue alors à sélectionner le flux correspondant à la taille de la zone d’affichage. Il faudrait dans ce cas de figure que le lecteur détecte le changement de contexte (peut-être via les events pageshow, visibilitychange ou resize ou via un `ResizeObserver`, à tester, et/ou que le lecteur sélectionne une taille par défaut). Il faudrait ouvrir un ticket chez eux…

En effet, PeerTube à bien un défaut de ce côté. Un service proposant du code à insérer dans un site tierce doit être assez robuste pour s’adapter à ce type de situation.
En attendant qu’ils améliorent leur code, il est possible, par le biais d’un habillage, d’ajouter trois lignes de code JavaScript pour forcer le rechargement des iframes compris dans les blocs marqués SCENARI.
En voici un exemple : Accueil [Test Iframe Collapse]

Remarque - Cet exemple est assez basique : il force le rechargement de TOUS les iframes descendants du bloc masqué (Ici des blocs Compléments Optim), même ceux qui n’en ont pas besoin comme YouTube.
Il conviendrait de mieux cibler des sites qui en ont besoin, en analysant leur URL par exemple.

1 « J'aime »

J’ai ajouté le bout de code dans le fichier skin.js et effectivement, ça fonctionne, la vidéo s’affiche bien maintenant quand on déplie la section.
@sam Merci pour le patch !
:folded_hands:

1 « J'aime »