Lorsque vous essayez d’insérer directement une URL YouTube, YouTube redirige automatiquement vers une page nommée consent.youtube.com. Cette page ne contient pas de balises oEmbed ou OpenGraph, ce qui empêche malheureusement l’insertion directe.
Ce n’est clairement pas une faute de Discourse, mais plutôt lié à un changement cassant (breaking change) du côté de YouTube. Je soupçonne que cela est dû à une nouvelle réglementation européenne, car je ne parviens pas à reproduire le problème sur meta.
Notre serveur est situé en Europe (Allemagne) et vous pouvez voir l’URL de redirection ici.
Je me suis connecté ici hier soir pour signaler exactement ce problème, car cela nous arrive également récemment, mais lorsque j’ai collé mon exemple d’URL YouTube, cela a fonctionné parfaitement ici sur Meta
Mon Discourse est en version v2.7.0.beta5 ( 61860098d9 )
Le problème est lié au « Formulaire de consentement aux données », et OneBox le capture au lieu du contenu réel.
Si, au lieu d’utiliser https://youtube.com/watch?v=XYZ, vous remplacez par https://youtu.be/XYZ, cela fonctionne car il s’agit de l’« URL de partage », qui ne déclenche pas la fenêtre de consentement. (Cependant, ce n’est pas idéal).
À moins que Discourse/OneBox ne « modifie automatiquement » l’URL vers la « version courte » lors de l’encapsulation, peut-être, en guise de correctif rapide ? Je ne sais pas, je donne simplement plus d’informations/retours.
En tant que communauté très axée sur les médias, nous avons des milliers et des milliers de vidéos YouTube partagées par nos membres, avec plusieurs centaines publiées chaque mois.
Ce changement de la part de YouTube s’avère déjà être un vrai problème, mais je ne pense pas que cela puisse être résolu par Discourse si YouTube force lui-même une redirection vers sa page de consentement.
Donc, si Discourse réécrivait l’URL comme vous le décrivez lors de la cuisson du message, cela résoudrait le problème ?
Dans ce cas, un plugin pourrait le corriger (peut-être même un composant de thème ?), et je suppose qu’une PR serait la bienvenue et/ou qu’ils le corrigeraient assez rapidement.
Je ne considérerais pas cela comme une solution de contournement stable ; il y a de fortes chances que Google applique la même politique à ces derniers dans un avenir proche.
Je trouve ça juste très « drôle » car les deux : https://youtu.be/VIDEO et la suppression de « www » sur l’URL normale, donc : https://youtube.com/watch?v=VIDEO fonctionnent. Ainsi, les critères de « blocage » avec la fenêtre contextuelle de consentement ne sont pas très « logiques » du point de vue de l’utilisateur.
Est-il possible pour vous de retester ces URL ? Voici ce que je vois actuellement depuis un serveur à Francfort (la sortie de wget a été éditée pour ne montrer que les redirections) :