Nativement, le Divi Builder propose d’ajouter une vidéo en fond de section, ligne ou module.
Mais le fichier vidéo doit être hébergé dans la bibliothèque de médias de WordPress, sur le serveur du site concerné.
Non seulement un fichier vidéo occupe plus d’espace disque qu’une image – sans compter qu’il faut utiliser 2 formats de fichiers différents (.mp4 et .webm) pour maximiser la compatibilité d’un navigateur à l’autre – mais il consomme des ressources serveur à chaque fois qu’il est lu.
La solution est donc d’héberger sa vidéo sur un site de partage tel que YouTube. Bon nombre d’utilisateurs de Divi se sont un jour demandé comment faire cela…
Dans ce tutoriel, fruit de longues heures de recherches et de tests, je vais donc vous présenter, non pas une, mais deux méthodes pour afficher une vidéo YouTube en fond de n’importe quel élément de Divi.
Avant-propos
Gardez toujours à l’esprit qu’utiliser des vidéos de fond sur votre site aura un impact sur les performances de celui-ci. N’en abusez pas, sous peine de voir s’effondrer votre score lors des tests de vitesse.
De plus, par convention, les vidéos de fond sont inactives sur appareils mobiles, ceci afin d’économiser de la bande passante.
Méthode 1 : utilisez un plugin jQuery
Avant de commencer, veuillez noter que cette méthode nécessite l’utilisation d’un thème enfant, et ce afin de charger les fichiers JavaScript nécessaires de la manière la plus adéquate possible.
Si vous n’avez pas de thème enfant, vous pouvez télécharger gratuitement le thème enfant de Divi Community.
Et si vous voulez en savoir plus sur les thèmes enfants, je vous invite à lire notre article Tout savoir sur les thèmes enfants pour Divi.
Téléchargez Vidbacking.js
Comme indiquez en titre de chapitre, nous allons utiliser un plugin jQuery nommé Vidbacking.js.
Celui-ci est extrêmement léger : le fichier JavaScript minifié pèse moins de 4 Ko et vous allez voir qu’il n’y a besoin d’ajouter que quelques dizaines de lignes de CSS en complément.
Je vous invite donc à vous rendre sur le dépôt Github du plugin en cliquant sur le bouton ci-dessous.
Sur la page Github du plugin, comme vous pouvez le voir sur la capture d’écran ci-dessus, cliquez sur le bouton vert Clone or download puis sur Download ZIP pour télécharger l’archive complète.
Dézippez ensuite le fichier vidbacking-master.zip et mettez de côté les fichiers jquery.vidbacking.css et jquery.vidbacking.min.js situés dans le dossier dist.
Le reste ne nous servira pas.
Installez Vidbacking.js
Ajoutez Vidbacking.js à votre thème enfant
Connectez-vous au serveur FTP de votre site et rendez-vous dans le répertoire de votre thème enfant.
Pour une question d’organisation, je conseille généralement d’y créer un sous-dossier js dans lequel vous pourrez déposer les divers fichiers JavaScript dont vous aurez besoin pour votre site.
Ceci fait, uploadez dans ce dossier js le fichier jquery.vidbacking.min.js.
Déclarez votre fichier JavaScript
Il faut maintenant appeler le plugin Vidbacking.js sur la ou les pages de votre site où vous désirez ajouter un fond vidéo.
Pour ce faire, ouvrez le fichier functions.php de votre thème enfant et ajoutez les lignes suivantes, que vous pourrez modifier selon vos besoins en fonction des précisions que je vais vous donner juste après.
Détaillons ce code :
- Ligne 1 : ne copiez pas cette ligne, j’ai ajouté <?php dans mon exemple uniquement pour activer la coloration syntaxique du bloc de code
- Ligne 3 : j’ai mis une condition pour ne charger le plugin que sur la page de mon choix.
- Si vous pensez ajouter des fonds de vidéos YouTube sur la majorité des pages de votre site, supprimez les lignes 3 et 5
- Si vous voulez charger le plugin sur plusieurs pages bien précises, il vous suffit de préciser leur nom (le slug) entre guillemets et séparés par des virgules : ‘page-machin’, ‘page-bidule’. Vous pouvez aussi utiliser leurs IDs : ’42’, ’25’
- Ligne 4 : le chemin d’accès au fichier de Vidbacking.js
Ajoutez les CSS
Souvenez-vous, tout à l’heure vous avez mis de côté un fichier nommé jquery.vidbacking.css. Il contient les règles CSS qui permettront de positionner correctement le lecteur vidéo dans l’élément sur lequel vous voudrez ajouter votre vidéo YouTube de fond.
Ouvrez donc ce fichier et copiez-collez les CSS qu’il contient dans le fichier style.css de votre thème enfant.
Nous allons juste procéder à 2 petites modifications pour adapter le plugin à Divi :
- repérez la classe .vidbacking-active-block-back-youtube et passez la valeur du z-index à 0 (au lieu de -100)
Ceci permettra d’ajouter à notre élément une image de fond qui s’affichera sous la vidéo. Ainsi, si cette dernière ne s’affiche pas (sur mobiles par exemple), l’image de fond sera tout de même présente - ajoutez les quelques lignes ci-dessous pour affiner le positionnement du lecteur vidéo
Balisez l’élément qui bénéficiera du fond vidéo
Rendez-vous maintenant sur la page sur laquelle vous souhaitez ajouter une vidéo YouTube en fond, activez le Divi Builder et attribuez-lui l’identifiant CSS video-back.
Pour rappel, pour cela il faut afficher les paramètres d’une section, d’une ligne ou d’un module et aller dans Avancé -> ID et Classes CSS -> ID CSS.
Notez que vous pouvez choisir une section, une ligne (dans son intégralité ou juste une colonne), un module… pour ajouter votre fond vidéo YouTube.
Comme je vous le disais un peu plus haut, profitez-en pour ajouter à votre élément une image de fond qui s’affichera si la vidéo n’apparait pas.
Ça vous permet aussi de voir ce que vous faites quand vous travaillez sur votre mise en page car la vidéo est invisible tant que le Divi Builder est actif.
Configurez votre vidéo de fond YouTube
Dernière étape, mais non la moindre, ajouter le script jQuery qui permettra d’appliquer Vidbacking.js à l’élément que vous aurez ciblé.
Pour ce faire, ajoutez où vous le souhaitez dans votre page, un module Code avec le contenu suivant :
Vous n’avez qu’à modifier à la ligne 3 :
- l’identifiant de votre vidéo YouTube dans la balise src : soit oLbNS3mAIB0 dans mon exemple
- si besoin, les valeurs de width et height dans le cas où votre vidéo n’aurait pas les mêmes proportions que dans mon exemple
Sauvegardez maintenant les changements effectués sur votre page et vous verrez s’afficher votre vidéo YouTube en fond de l’élément que vous avez choisi.
Méthode 2 : utilisez un plugin WordPress
Si vous n’avez besoin d’ajouter votre vidéo YouTube qu’en fond de section et n’avez pas envie de mettre les mains dans le code, vous pouvez télécharger la version gratuite du plugin Divi Section Enhancer qui est disponible sur le dépôt de WordPress.org.
À l’heure où j’écris ces lignes, Divi Section Enhancer propose 13 effets et modifications à appliquer aux sections :
- dans sa version gratuite :
- scrollbar section
- tilt effect
- YouTube background (c’est ce qui va nous intéresser)
- sidebar (off canvas)
- particles background
- dans sa version premium
- pro particles background
- stacks
- tilted sections
- waterpipe background
- geometry angle background
- stars warp background
- sparkles
- scrollify section
Si vous voulez en savoir plus sur Divi Section Enhancer, voir des démos et acquérir la version premium (environ 22,50 €), je vous invite à visiter le site du plugin.
Comment utiliser Divi Section Enhancer
Une fois le plugin installé et activé, ouvrez les paramètres d’une section et rendez-vous dans Avancé -> Personnaliser CSS.
Après le dernier champ d’ajout de CSS personnalisées, vous verrez une nouvelle option avec une liste sélective, dans laquelle vous choisirez Youtube Background.
Vous remarquerez l’information concernant le fait que vos changements ne seront pas visibles en live dans le Visual Builder, mais uniquement lorsque vous l’aurez quitté.
Une information qui m’a été confirmée par le développeur de Divi Section Enhancer ainsi que par des membres de l’équipe d’Elegant Themes.
Sachez que ceci est dû aux limitations imposées par l’API d’Elegant Themes. À l’heure actuelle, il est impossible d’apporter des modifications à un élément existant de Divi et d’obtenir un rendu en direct.
Paramétrez votre fond vidéo YouTube dans Divi Section Enhancer
Voici comment effectuer vos réglages pour afficher votre vidéo YouTube.
- Activate Youtube Background on this section
(Activer le fond YouTube sur cette section)
Sélectionnez Yes - Youtube Video ID
(ID de la vidéo YouTube)
Saisissez l’identifiant de votre vidéo. Si je reprends mon exemple, ce sera oLbNS3mAIB0 - Activate Sound
(Activer le son)
Je vous conseille de choisir No pour ne pas incommoder vos visiteurs - Repeat Video
(Répéter la vidéo)
Le plus logique est de choisir Yes pour jouer la vidéo en boucle - Video Ratio
(Ratio de la vidéo)
Vous avez le choix entre 16/9 et 4/3. Tout dépendra de votre vidéo, mais dans la majorité des cas, ce sera du 16/9 - Video width
(Largeur de la vidéo)
Vous avez le choix entre :- Use adaptative width (recommended) pour que la largeur de la vidéo s’adapte à la largeur de la section. C’est en effet le choix le plus logique
- Use default width pour que la vidéo s’affiche selon sa largeur initiale
- Video height
(Hauteur de la vidéo)
Vous avez le choix entre :- Original pour conserver la hauteur initiale de la vidéo
- Increased pour augmenter la hauteur de la vidéo en proportion avec sa largeur selon le ratio choisi. C’est le choix qui convient le mieux
- Fit to Section Height pour ajuster la hauteur de la vidéo à la hauteur de la section
- Activate Parallax Effect
(Activer l’effet parallaxe)
Vous avez le choix entre Yes, No et Only Mobile mais en ce qui me concerne, je ne vois pas l’effet s’appliquer, quelle que soit l’option sélectionnée… - Hide Top
(Masquer le haut)
Par défaut, une valeur de -200px est déjà entrée afin de masquer l’en-tête de la vidéo YouTube. Si besoin, vous pouvez donc modifier cette valeur - Start Time et End Time
(Timing de début et timing de fin)
Saisissez un chiffre qui signifiera à quelle seconde commencera la vidéo et à quelle seconde elle se terminera. Ainsi, vous pouvez choisir de ne diffuser qu’un extrait de la vidéo YouTube sélectionnée
Pour conclure
Dans cet article, je vous ai donc présenté 2 solutions bien différentes pour ajouter des vidéos YouTube en fond de vos éléments Divi.
À vous de voir maintenant laquelle convient le mieux à vos besoins.
Sachant que la version jQuery à l’avantage d’autoriser l’intégration de vidéos en fond de n’importe quel élément de Divi ; et pas seulement en fond de section comme le propose Divi Section Enhancer.
Néanmoins, ce dernier apporte d’autres effets qui pourraient vous intéresser afin d’enjoliver votre site Divi.
Merci pour cet article. Puisque la vidéo provient de YouTube, cela veut-il dire que peuvent s’afficher des publicités (pré-roll et mid-roll) dans le lancement de la vidéo?
À tester, mais normalement oui.
Bonjour Pierre
Merci pour ce tuto, j’ai du coup un question qui concerne les vidéos, mais pas en fond.
Pour pouvoir virer les suggestions de vidéos que propose Youtube à la fin des films on a la possibilité de rajouter le ?rel=0 dans le code à intégrer, ce qui marche nikel dans le module code.
Mais du coup, comment faire pour mettre au début, comme le permet le module vidéo, une première image qui couvre l’habillage youtube moche, qui sabote les design des sites ? à moins qu’on puisse intégrer le code dans le module vidéo?
Si tu as une idée ce serait bien car cette info ne court pas le web. 🙂
Pourquoi n’utilises-tu pas le module “vidéo” ?
Au lieu de sélectionner un fichier, il suffit d’entrer l’URL de ta vidéo YT dans le champ “Insérer à partir d’une adresse web”.
Dans le module vidéo, je ne peux que copier le lien de la vidéo, c’est très pratique et très simple sauf que je trouve ça vraiment pas terrible d’avoir les suggestions de vidéo de youtube à la fin du film et ça risque d’inciter à faire quitter l’internaute du site. je trouve que ça ne fait pas très pro.
Tu l’as dit dans ton précédent commentaire, il faut ajouter &rel=0 à la fin de l’URL pour désactiver les suggestions de vidéos similaires…
Et bien non, enfait, quand j’ajoute le lien dans le module vidéo, ça ne fonctionne pas. Si je colle le lien dans le navigateur c’est bon et si il est dans un module code avec les balise aussi, https://www.youtube.com/embed/blablabla?rel=0 🙁
Dans ce cas il ne faut pas le embed dans l’URL.
Oui certes donc pas de solution à ce problème. Merci tout de même 🙂
Merci pour ce tuto. J’ai une question, en fait moi je veux mettre des vidéos Youtube dans le fond d’une section… mais ce que je voudrai c’est changer de vidéo de fond a chaque refresh de la page. Le plugin proposé est très simple d’utilisation mais ne permet pas le changement de vidéo a chaque refresh. Comment faire svp ?
Pour cela, il faut utiliser la méthode manuelle. Tu peux t’inspirer de ce tuto pour modifier ton JS et ajouter une fonction aléatoire.
Bonjour, merci pour ce tuto, petite question, j’utilise Polylang, avec le même code en version FR et GB, mais ça bug sur le version GB – Je n’arrive pas à résoudre le problème ! Est ce que vous avez déjà eu le problème ?
https://www.fildair.com
Je n’ai pas testé cette solution sur un site multilingue…
Bonjour Pierre, et merci pour ce tuto très bien fait , comme toujours.
Une fois la vidéo en place, je cherche à éviter que les suggestions vidéo de Youtube viennent perturber les internautes. La solution du ?rel=0 ne fonctionne pas du tout. Que je passes par le module vidéo ou le module code. Je ne comprends pas pourquoi. Quand je passe par le module code et que je récupère le code de la vidéo, auquel j’ajoute ?rel=0, la vidéo affiche des suggestions uniquement liées au compte utilisé pour héberger la vidéo. Mais si on ne veut aucune suggestion, savez-vous comment il faut s’y prendre ?
Je ne trouve rien sur le net de fonctionnel malheureusement. Si vous avez une idée, voilà la page en question : chirurgienrachis.fr/la-revolution-3d et voilà le code mis en place :
Merci à vous
Hello Pierre et encore une fois merci pour ton tuto !
Petite question (je suis étonnée que personne ne l’ai posée d’ailleurs !) avec le plug-in, sur la version mobile la vidéo ne fonctionne pas. ça me met une cap écran de la video toute moche… Une idée de comment soit la faire jouer sur mobile, soit carrément faire en sorte qu’elle n’apparaisse pas ? – j’ai mis une photo en fond de section qui s’affiche le temps que la video se charge.
Salut Ava, comme précisé en avant-propos “par convention, les vidéos de fond sont inactives sur appareils mobiles”.
De plus, dans le chapitre “Balisez l’élément qui bénéficiera du fond vidéo” j’indique qu’il est préférable d’ajouter une image de fond dans le cas où la vidéo ne s’affiche pas. 😉
Hello, merci pour ton tuto !
“par convention, les vidéos de fond sont inactives sur appareils mobiles”. si je désire quand même l’activer sur mobile et tablette comment faire ?
Je n’ai jamais vraiment cherché car je respecte les conventions 😆 . Mais il ne me semble pas qu’il y ait réellement de hack permettant d’outrepasser ça…
Tu peux éventuellement tester ça, mais l’auteur admet lui-même que c’est une manip un peu sale.
Hello, thaks for your great job!
selector .fluid-width-video-wrapper affect other videos ( not working actualy) you fix issue by more specific selector as below.
#video-back .fluid-width-video-wrapper {
position: absolute!important;
padding-top: 0!important;
top: 50%;
left: 50%;
}
Video reacts on click/doubleclick or right mouse.
I fix that by makig section same size above.
It would be nicer have this iside code.
On more time thaks a lot.
Have nice day
Jacob
Bonjour,
Le plugin proposé n’est à ce jour plus disponible…
Quelles sont de ce fait les autres solutions à notre disposition ?
Merci d’avance infiniment.