Lorsque le site est servi via HTTPS, toutes les ressources - même les ressources oEmbed automatiquement générée par WordPress - qui composent une page doivent également être servies via une connexion chiffrée aussi.

WordPress : afficher des média oEmbed avec HTTPS photo

Il se trouve que je mets des vidéos Youtube et consorts de temps en temps : elles ne s'affichaient plus en https, étant servies par défaut en http. Le changement vers HTTPS est en marche mais tous les services oEmbed n'ont pas encore adopté le chiffrement des connexions.

Servir les vidéos Youtube en HTTPS

Au lieu d'utiliser Youtube.com, nous allons utiliser la version cookie-less de Youtube, à savoir youtube-nocookie.com : cela permet d'éviter les cookies pisteurs de Google et donc offre plus de sécurité et de respect de la vie privée.

J'utilise ce système depuis des années sur SkyMinds donc je me suis dit qu'il était bien temps de le partager dans ces colonnes. Le code permet donc de remplacer youtube.com par youtube-nocookie.com dans le code généré par l'oEmbed WordPress.

Ce code est à ajouter dans votre utility plugin (ou à défaut le fichier functions.php de votre thème WordPress).

Le premier code remplace toutes les occurences des médias HTTP pour HTTPS :

/* Force HTTPS rewrite for oEmbeds
* Source : https://wordpress.stackexchange.com/questions/40747/how-do-i-embed-youtube-videos-with-https-instead-of-http-in-the-url
*/
add_filter( 'embed_oembed_html', 'sky_my_embed_oembed_html' );
function sky_my_embed_oembed_html( $html ) { return preg_replace( '@src="https?:@', 'src="', $html ); }

Le second code modifie tous les appels à youtube.com et les remplace par youtube-nocookie.com, ce qui empêche la création de cookies pisteurs :

/*
* Embed Video Fix - HTTPS and privacy mode
* Source : https://wordpress.org/support/topic/forcing-ssl-return-for-youtube-oembed
*/
add_filter('the_content', 'sky_add_secure_video_options', 10);
function sky_add_secure_video_options($html) {
   if (strpos($html, "<iframe" ) !== false) {
    	$search = array('src="http://www.youtube.com','src="http://youtube.com');
		$replace = array('src="https://www.youtube-nocookie.com','src="https://www.youtube-nocookie.com');
		$html = str_replace($search, $replace, $html);
   		return $html;
   } else {
        return $html;
   }
}

Cela a l'air tout bête mais cela permet de faire respecter un peu plus notre droit au refus de se faire pister à tout bout de champs sur le net.

A lire :  Script PAL pour SAM Broadcaster : jouer un style de musique donné pendant un créneau horaire

Le petit plus : on charge également moins de cookies, qui ne sont pas des ressources cachables par essence donc on améliore un peu aussi le temps de chargement de la page.

Pour développer votre projet WordPress ou Woocommerce, faites appel à mon expertise pour réaliser un site rapide, performant et fonctionnel.

Je soumets mon projet

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.

Articles en rapport:

WordPress : forcer le chargement des média oEmbed en HTTPS

par Matt Lecture: 2 min
0

Pin It on Pinterest

Share This

Spelling error report

The following text will be sent to our editors: