Avancé 5 min 1 min de lecture Images & médias

Différer le chargement des vidéos

Différez le chargement de vos vidéos selon leur usage : preload, poster et Intersection Observer pour des pages plus légères et plus rapides.

Par Nicolas Dupont Mis à jour le 23 juin 2026

Comme les images, les vidéos peuvent être chargées de manière différée pour ne pas peser sur le chargement initial de la page. Une vidéo téléchargée alors que l’utilisateur ne la regardera peut-être jamais gaspille de la bande passante et retarde l’affichage du contenu visible. Différer son chargement consiste à ne récupérer ses données qu’au moment opportun.

La méthode dépend du cas d’usage, car il n’existe pas une seule solution. Pour le SEO, l’intérêt est clair : en évitant des téléchargements superflus, vous accélérez le rendu initial, vous libérez de la bande passante pour les ressources critiques et vous améliorez les Core Web Vitals. Les vidéos hébergées sur des services tiers comme YouTube relèvent quant à elles du chargement différé des iframes.

Une vidéo qui se télécharge alors que le visiteur ne la lancera peut-être jamais, c’est de la bande passante jetée et un rendu initial ralenti pour rien. Le bon réflexe est de ne récupérer ses données qu’au moment opportun, sachant que la méthode varie selon le cas d’usage. Précharger seulement les métadonnées au survol est souvent le compromis le plus élégant.

— Nicolas Dupont

Les vidéos qui ne sont pas lues automatiquement

Il est généralement préférable d’éviter la lecture automatique, qui laisse le contrôle à l’utilisateur. Pour ces vidéos, l’attribut preload est le meilleur levier. Réglé sur none, il empêche le navigateur de précharger les données vidéo. L’attribut poster fournit un espace réservé qui occupe la place pendant le chargement.

La valeur none est souvent la plus sûre : par défaut, preload vaut metadata dans la plupart des navigateurs, ce qui télécharge déjà une partie de la vidéo via l’en-tête Content-Range, parfois plus que souhaité. Avec preload= »none », aucune donnée n’est récupérée tant que l’utilisateur ne lance pas la lecture.

Vidéo déclenchée par l'utilisateur, preload désactivé
<video controls preload="none" poster="placeholder.jpg">
  <source src="video.webm" type="video/webm">
  <source src="video.mp4" type="video/mp4">
</video>

Précharger les métadonnées au survol

Vous pouvez affiner l’expérience en préchargeant les métadonnées seulement lorsque l’utilisateur survole la vidéo, grâce à un gestionnaire d’événement mouseenter. La vidéo se lance alors plus vite et affiche sa durée dès le démarrage, sans pour autant charger l’intégralité du fichier au chargement de la page.

Si l’image poster est l’élément candidat au LCP, allez plus loin : préchargez-la avec rel=preload et fetchpriority= »high ». Une image se charge plus vite qu’une vidéo, ce qui sécurise un bon Largest Contentful Paint tout en gardant la vidéo différée ; voyez aussi comment précharger l’audio et la vidéo.

Les vidéos de remplacement de GIF

Les vidéos en lecture automatique servent souvent d’alternative aux GIF, bien plus légère ; pour les préparer correctement, voyez comment optimiser les vidéos. Pour reproduire le comportement d’un GIF, l’élément video combine autoplay, muted, loop et playsinline, ce dernier étant nécessaire à la lecture automatique sur iOS. Pour différer ce type de vidéo, on stocke l’URL de chaque source dans un attribut data-src, puis on déclenche le chargement via Intersection Observer.

Le script observe les éléments video marqués, et lorsqu’ils entrent dans le viewport, il recopie data-src dans src pour chaque source, puis appelle la méthode load pour démarrer la lecture. On obtient ainsi une vidéo qui imite le GIF sans en supporter le coût en données, tout en restant chargée de manière différée.

Vidéo de type GIF différée (data-src + Intersection Observer)
<video class="lazy" autoplay muted loop playsinline width="610" height="254" poster="placeholder.jpg">
  <source data-src="animation.webm" type="video/webm">
  <source data-src="animation.mp4" type="video/mp4">
</video>

Quelle méthode selon le cas d'usage

Chaque scénario appelle une approche différente. Le tableau ci-dessous récapitule la technique la plus adaptée selon le type de vidéo à différer.

Cas d'usage Technique Points d'attention

Vidéo lancée par l’utilisateur

preload= »none » + poster

preload=metadata par défaut télécharge déjà des données

Vidéo de remplacement de GIF

data-src + Intersection Observer

autoplay, muted, loop, playsinline ; appel de load()

Vidéo hébergée chez un tiers (YouTube)

Chargement différé de l’iframe

Voir le tutoriel dédié aux iframes

Image poster candidate au LCP

rel=preload + fetchpriority= »high »

L’image se charge plus vite que la vidéo

preload=metadata charge déjà des données

Dans la plupart des navigateurs, preload vaut metadata par défaut : une partie de la vidéo est alors récupérée via l’en-tête Content-Range. Les navigateurs ignorent à quel endroit du fichier sont stockées les métadonnées, qui ne se trouvent pas forcément au début. Pour vraiment éviter de charger la vidéo, spécifiez explicitement preload= »none ».

Besoin d'aide pour mettre en pratique ? Nos experts SEO vous accompagnent.
Parler à un expert

À faire

  • régler preload= »none » pour les vidéos déclenchées par l’utilisateur
  • ajouter une image poster
  • utiliser Intersection Observer pour les vidéos de type GIF
  • préchauffer les métadonnées au survol

À éviter

  • laisser preload=metadata charger des données par défaut
  • oublier playsinline sur les vidéos autoplay (iOS)
  • renvoyer les vidéos tierces vers cette méthode plutôt que vers les iframes
  • précharger un poster qui n’est pas le candidat LCP

Points clés à retenir

  • Réglez preload="none" pour les vidéos lancées par l'utilisateur
  • Ajoutez une image poster comme espace réservé
  • Préchargez les métadonnées au survol pour accélérer le démarrage
  • Différez les vidéos de type GIF avec data-src et Intersection Observer
  • Renvoyez les vidéos tierces vers le chargement différé des iframes

Le chargement différé des vidéos s’adapte à chaque cas d’usage.

Quiz : testez vos connaissances

  1. Pour une vidéo qui n'est pas lue automatiquement, quel réglage de preload évite de récupérer des données avant le clic ?

    • preload="none", car la valeur metadata télécharge déjà une partie de la vidéo par défaut
    • preload="metadata", qui empêche tout téléchargement tant que l'utilisateur n'agit pas
    • preload="auto", qui laisse le navigateur décider de ne rien charger

    Par défaut, metadata télécharge déjà une partie de la vidéo. La valeur none garantit qu’aucune donnée n’est récupérée tant que l’utilisateur ne lance pas la lecture.

  2. Comment différer une vidéo qui sert de remplacement à un GIF (autoplay) ?

    • En ajoutant l'attribut loading="lazy" directement sur la balise video
    • En réglant simplement preload="none" sur l'élément video
    • En stockant les sources dans data-src puis en utilisant Intersection Observer pour les charger à l'approche du viewport

    On stocke l’URL des sources dans data-src, puis Intersection Observer recopie data-src dans src et lance le chargement à l’approche du viewport.

  3. Quel attribut est indispensable sur une vidéo en lecture automatique pour qu'elle se lise en ligne sur iOS ?

    • preload, qui force le chargement complet de la vidéo
    • playsinline, qui évite le passage forcé en plein écran
    • controls, qui affiche la barre de lecture native

    Pour reproduire un GIF, l’élément video combine autoplay, muted, loop et playsinline, ce dernier garantissant la lecture en ligne sur iOS.

À propos de l'auteur

Nicolas Dupont

Nicolas Dupont

Expert SEO Sénior & Fondateur

Il a fait grimper des sites en haut de Google et accompagné plus de 120 entreprises avant de fonder Les Webineurs. Sur votre projet SEO, vous échangez directement avec Nicolas, pas un commercial ni un junior. Un expert dédié et du trafic organique qui dure.

Voir le profil

Besoin d'un accompagnement SEO ?

Vos vidéos se chargent trop tôt et ralentissent l'affichage de vos pages ?

Faire le point avec un expert SEO