PeerTube Grav & Iframe


#1

Bonjour à tous et toutes,

je suis en train de réaliser un site avec le CMS Grav et j’aimerais diffuser mes vidéos de mon espace peertube. J’ai alors tenté une intégration du code iframe directement dans un article. Mais cela n’a rien donné…

Et comme par magie je me suis souvenu que Framasoft était en partie à l’initiative de un et qu’était utilisé le second en CMS pour les framasites.

En me disant que c’est ici que je trouverais comment ajouter mes vidéos de Peertube sur mon site avec Grav. Merci d’avance A+


#2

Bonjour,

J’ai réussi à le faire en suivant ce qui est écrit ici https://docs.framasoft.org/fr/grav/prise-en-main.html#ajouter-une-vidéo

Dans la partie configuration de la page, sous l’onglet contenu, dans la zone où en est écrit le texte, j’ai rajouté :

<iframe width="560" height="315" sandbox="allow-same-origin allow-scripts" src="https://framatube.org/videos/embed/0900bd2e-7306-4c39-b48b-2d0cd611742e" frameborder="0" allowfullscreen></iframe> (C’est la vidéo de présentation de peertube)

Et la vidéo se présente bien.

Comment t’y es-tu pris ?


#3

Hello,

j’avais complétement zappé la doc de framasoft sorry. Mais en intégrant le code que tu m’as fournis (la vidéo de présentation de frama) elle s’affiche par contre ma vidéo de mon peertube qui est juste dessous n’apparait pas. (capture ci dessous)

Pour information, mon peertube est une instance de yunohost. Je ne sais pas si ça joue ou pas sur l’iframe…


#4

Je supposes que le problème doit venir de mon instance peertube ? Voici un second essai avec dans l’ordre d’apparition (et de non apparition) :


#5

Effectivement, lorsque j’utilise une vidéo depuis ton site, je n’ai pas d’élément affiché sur la page du site.

Ce que je constate en “inspectant” la page, c’est que l’iframe de ta vidéo renvoie à un (sous) document HTML vide. C’est-à-dire que la balise retourne <html><body></body></html>

Pour quelle raison ? Je ne sais pas te le dire.


#6

Je viens de regarder la différence de flux HTTP pour tenter de voir pourquoi. En fait, j’ai fixé mon attention sur la différence de réponse entre ta vidéo et celle hébergé sur le site officiel de peertube

Je constate que “ton” serveur émet la ligne suivante dans l’entête de réponse: x-frame-options: SAMEORIGIN

Or, je lis sur la page web ici (https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/X-Frame-Options), ceci :

SAMEORIGIN
La page ne peut être affiché que par un site de même origine. La spécification ne définit pas si les navigateurs doivent appliquer la règle à la racine (top level), au parent ou sur toute la chaine.

Donc, si je comprends bien (et corrigez moi si je me trompe) ta vidéo ne peut être comprise dans un iframe que dans le périmètre de ton serveur (plus précisément, la même URL de base du site web). Et, in extenso, ne puisse pas l’être sur un autre site web.


#7

Je te remercie pour toutes ces informations. C’est ce qui me semble le plus construit. Mais je ne vois pas comment modifier ce paramètre dans l’onglet administration de PeerTube… je vais enqueter en tous cas merci pour les infos techniques @PaliPalo


#8

Est-ce que tu as la main mise sur le serveur hôte de ton site ? Si oui (et vu que j’ai observé que “ton” serveur utilise nginx), tu devrais regarder dans les fichier de configuration de Nginx.

Vérifie que tu n’as pas la ligne add_header X-Frame-Options "SAMEORIGIN"; dans ton fichier de configuration nginx.conf (https://geekflare.com/add-x-frame-options-nginx/)

Voire, taper un oeil ici pour un modèle de configuration de Nginx pour peertube: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube

Si tu n’as pas accès à la configuration du serveur Web, il faudra que tu demande à ton prestataire de service s’il n’y a pas moyen de débloquer la situation.

Pour moi, il ne devrait pas avoir de soucis à enlever la ligne coupable dans le fichier de configuration de ton serveur si le presta utilise des “server blocks”. Ou alors, il pourrait rajouter une ligne du genre add_header X-Frame-Options "ALLOWALL"; pour contrecarrer l’option par défaut pour tous les sites web qu’il gère.


#9

@PaliPalo Je ne suis pas assez compétent pour aller tripoter dans le fichier config de nginx (ou en tout cas j’ai trop peur des conséquences) je vais aller me faire aider sur le forum de Yunohost.

J’ai ouvert une discussion ici : https://forum.yunohost.org/t/peertube-partager-iframe-site-externe/7857