5566 sujets

Sémantique web et HTML

Bonjour à tous
Pour faire jouer de fichiers .mp3 j'utilise depuis longtemps
<audio src="url"></audio>


Je me suis rendu compte hier que si l'url est de type http:// et non https:// FireFox refuse de l'ouvrir.
Par contre si j'écris
window.open(url)

le fichier .mp3 est joué sans difficulté.
Je préfèrerais continuer à utiliser une balise <audio> pour des tas de raisons.
Auriez vous une idée pour contourner cette "mesure de sécurité" dont je vois mal l'intérêt ?
Bonjour Papy,

Tu as essayé de retirer le protocole de l'URL ? Utile pour les fichiers distants. Juste :
site.com/dossier/fichier.mp3

ou
//site.com/dossier/fichier.mp3

Mieux, pour une ressource interne retirer aussi le nom de domaine et ne laisser que le path :
/dossier/fichier.mp3

Dans ces exemples, les protocoles seront déduits implicitement en se calquant sur celui de la page appelante.

Restant sauf que les ressources doivent être sécurisées de bout en bout : si la page appelante est en https toutes les ressources distantes appelées doivent elles aussi être en https. Si ce n'est pas le cas et que ça fonctionne tout de même sur un navigateur (étonnant en 2024) ce n'est qu'une question de temps avant que le processus soit down sur une MAJ du navigateur, quelque soit la solution de contournement encore fonctionnelle pour l'instant.
Modifié par Olivier C (29 Jun 2024 - 10:49)
Administrateur
Bonjour,

C'est la fin du mixed content sur Firefox au moins :
Firefox Relase Notes a écrit :
Firefox will now automatically try to upgrade <img>, <audio>, and <video> elements from HTTP to HTTPS if they are embedded within an HTTPS page. If these so-called mixed content elements do not support HTTPS, they will no longer load.

Source

Je me rappelle de euh IE Smiley confuse qui alertait lorsqu'il y avait des ressources HTTP dans une page HTTPS et en lisant cette nouveauté, ça m'a beaucoup étonné que ça n'ait pas déjà été interdit depuis des années (catégorie : ça me chagrine / énerve quand Mozilla fait de la Smiley scotch ).

Raisons de cette interdiction
Pour des raisons de sécurité et de surveillance / pistage : l'URL (chemin et nom de fichier) et le contenu d'une ressource qui transite en HTTP sont visibles en clair par bien trop d'intervenants... Ce n'est pas le cas avec le protocole HTTPS : le nom de domaine est en clair et le reste (chemin, nom, contenu) est chiffré.
Bonjour,
j'ai un ancien site (au moins plus de quatre années) en gratuit chez freeperso, en http, freeperso n'acceptant pas le https. Mes audio et vidéos fonctionnent avec Firefox 127.02, je viens d'essayer :
http://cliniquejembe.free.fr/Videos/Montage-Jembe.mp4
Le lien sur la page, avec le chemin
<a href="Videos/Montage-Jembe.mp4" target="_self" title="Vidéo du montage d'un jembé">

Ce n'est pas volontaire de ma part, c'est freeperso qui l'impose. Quand ce ne sera plus possible, j'aviserai.
Modifié par Bongota (29 Jun 2024 - 11:22)
A ce que je comprends ton lien ouvre bien une nouvelle fenêtre, ce qui est similaire à ce que je fais en js, mais tu ne peux pas mettre cette adresse dans une balise <video> ?
Modifié par PapyJP (29 Jun 2024 - 12:31)
C'est un fait, mais quelle importance, la vidéo s'ouvre, avec une barre de progression, le plein écran, le mode incrustation, le timing. Je pense même, je n'ai pas essayé, que l'on pourrait y mettre des sous-titre.
Sinon, sur un autre de mes sites :
<div class="slideshow">
	<video controls="controls" data-volume="1" preload="none" poster="Images/Goni-480.jpg" width="680" height="360">
  <source src="https://mesvideos.b-cdn.net/N'goni-2.m4v" type="video/mp4">
  	</video> 	
  	</div> 

Il y a la balise video et le https en source, qui pointe vers un cdn.
Modérateur
Bonjour,

depuis un site en http tu peut ouvrir une video en http ou https dans firefox .
@Bongota
ton code :
<div class="slideshow">
	<video controls="controls" data-volume="1" preload="none" poster="Images/Goni-480.jpg" width="680" height="360">
  <source src="https://mesvideos.b-cdn.net/N'goni-2.m4v" type="video/mp4">
  	</video> 	
  	</div>

fonctionne depuis une page free. Idem pour une vidéo YouTube avec le script d’intégration qu'il donne via un Iframe.

@PapyJP
Ce qui ne fonctionne pas, c'est l'ouverture d'un fichier médias ou autre avec une URI en HTTP quand ta page d'origine, elle, est ouverte en HTTPS.

@Felipe
Il me semble que ce n'est pas nouveau, j'ai déjà vu, à l'occasion de passer un site en https , que certaine images en provenance du même site , avec une uri absolu en http, ne s'affichaient plus. L'une des solutions simple était de retirer le http/https devant l’Uri et de l’écrire comme ceci //monmeidia.ext comme le propose @OlivierC

HS : Par contre ce que j'ai découvert il y a peu , c'est object avec un datauri en source qui est rejeté par Firefox et pas moyen de modifié les CSP, du moins je n'ai pas su faire . Cela pourrait valoir une autre question
Modifié par gcyrillus (29 Jun 2024 - 14:54)
Il y a quand même pour l'utilisateur une sacrée différence entre
upload/1719668247-48769-interne.png
et
upload/1719668281-48769-externe.png

gcyrillus a écrit :

@PapyJP
Ce qui ne fonctionne pas, c'est l'ouverture d'un fichier médias ou autre avec une URI en HTTP quand ta page d'origine, elle, est ouverte en HTTPS.

C'est bien ce que j'ai compris, ça doit faire un certain temps que c'est comme ça, mais je ne m'en étais pas rendu compte jusque hier.
Il faut faire avec, j'ai modifié mon code en conséquence.
Modifié par PapyJP (29 Jun 2024 - 15:38)
PapyJP a écrit :
ça doit faire un certain temps que c'est comme ça

Oh que oui, mais je ne saurais dire à partir de quand, j'ai oublié. Ça se compte en années.
J'ai modifié le code de la façon suivante :
les url de type http:// sont remplacés par une copie en local par une commande de l'administrateur. Il y en avait une cinquantaine, ça a pris quelques minutes et ça supprime le problème.