Précharger l’audio et la vidéo pour une lecture rapide
Accélérez le démarrage de vos médias : attribut preload, link rel=preload et mise en mémoire tampon manuelle pour une lecture quasi instantanée.
Plus la lecture démarre vite, plus les visiteurs regardent votre vidéo ou écoutent votre contenu audio jusqu’au bout. Un démarrage lent, ponctué de mises en mémoire tampon, fait fuir l’audience. Précharger activement les ressources permet d’offrir une lecture quasi immédiate, au bon moment et selon le cas d’usage.
Pour le SEO, l’intérêt est double. D’une part, un média prêt à jouer améliore l’engagement et le temps passé sur la page. D’autre part, un préchargement maîtrisé, dans la lignée des autres indices de ressources, évite de gaspiller la bande passante au mauvais moment, ce qui protège le chargement initial et donc les Core Web Vitals. Il existe trois grandes méthodes, chacune avec ses forces et ses contraintes.
Le préchargement média, c’est un équilibre que beaucoup ratent dans un sens ou dans l’autre : trop agressif, vous gaspillez la bande passante des ressources critiques ; trop timide, la lecture rame au démarrage. La bonne approche dépend toujours du cas d’usage, il n’y a pas de réglage universel de l’attribut preload. Réfléchissez à ce que l’utilisateur va réellement consommer avant de tout télécharger d’avance.
Trois méthodes, trois compromis
La première, l’attribut preload de la balise vidéo, est simple pour un fichier unique hébergé sur un serveur, mais le navigateur peut l’ignorer et la récupération ne démarre qu’après l’analyse du document. La deuxième, le préchargement par lien, proche de la technique pour précharger les ressources critiques, force une requête sans bloquer l’événement load et fonctionne avec les segments de fichiers, mais reste réservée aux petits fichiers. La troisième, la mise en mémoire tampon manuelle, offre un contrôle total au prix d’une gestion d’erreurs plus complexe.
| Méthode | Atout principal | Limite à connaître |
|---|---|---|
Attribut preload de la vidéo |
Très simple pour un fichier unique |
Le navigateur peut l’ignorer ; récupération après analyse du HTML |
link rel=preload |
Requête forcée sans bloquer l’événement load |
À réserver aux petits fichiers (moins de 5 Mo) |
Mise en mémoire tampon manuelle (MSE) |
Contrôle complet de l’expérience |
Gestion des erreurs à la charge du site |
Bien régler l'attribut preload
L’attribut preload accepte plusieurs valeurs. La valeur metadata, devenue la valeur par défaut, ne récupère que les métadonnées (dimensions, durée, pistes) : idéale quand la vidéo n’est pas centrale. La valeur auto autorise le navigateur à mettre en cache assez de données pour une lecture sans interruption. La valeur none n’anticipe rien. Attention : ce n’est qu’un indice, et le navigateur peut le contourner, par exemple en forçant none lorsque l’Économiseur de données est actif, ou metadata sur une connexion mobile.
<!-- Récupérer seulement les métadonnées (valeur par défaut) -->
<video id="video" preload="metadata" src="file.mp4" controls></video>
<!-- Autoriser un préchargement plus complet -->
<video id="video" preload="auto" src="file.mp4" controls></video>
Précharger par lien pour préchauffer le cache
Le préchargement par lien est une récupération déclarative : il télécharge la ressource en priorité selon son type, sans bloquer l’événement load, puis la garde en réserve jusqu’à ce que le DOM, le JavaScript ou le CSS la réclame. C’est parfait pour préchauffer le cache de la session en cours. Réservez-le aux petits fichiers et veillez aux en-têtes CORS pour les ressources d’autres origines, sous peine de ne pas pouvoir alimenter l’élément vidéo. Notez que la compatibilité de cette approche a évolué selon les navigateurs : testez la prise en charge avant de vous y fier.
<!-- Précharger une petite vidéo complète -->
<link rel="preload" as="video" href="https://cdn.com/small-file.mp4">
<!-- Précharger le premier segment pour une lecture via MSE -->
<link rel="preload" as="fetch" href="https://cdn.com/file_1.webm">
Précharger intelligemment selon le contexte
Avec la mise en mémoire tampon manuelle, vous contrôlez tout : il devient alors essentiel de précharger avec discernement. Tenez compte du niveau de batterie pour ne pas l’épuiser, respectez le mode Économiseur de données via l’en-tête Save-Data, et adaptez-vous au type de réseau, en gardant à l’esprit ce qui distingue une connexion lente pour éviter de consommer la data mobile sans prévenir. Pour anticiper plusieurs choix possibles, vous pouvez pré-mettre en cache les premiers segments de plusieurs vidéos avec l’API Cache, sans créer une multitude d’éléments masqués.
L’attribut preload ne garantit rien : le navigateur peut l’ignorer, notamment avec l’Économiseur de données ou sur réseau mobile. Ne préchargez jamais lourdement sans tenir compte de la batterie, du réseau et de la préférence Save-Data de l’utilisateur. Précharger trop, trop tôt, gaspille la bande passante et peut au contraire ralentir le chargement initial de la page.
À faire
- choisir la méthode selon le cas d’usage
- utiliser preload=metadata par défaut
- réserver link rel=preload aux petits fichiers
- respecter batterie, réseau et Save-Data
- vérifier les en-têtes CORS
À éviter
- précharger systématiquement en auto
- ignorer les coupures et le réseau mobile
- créer des éléments vidéo masqués en masse
- oublier que preload n’est qu’un indice
Points clés à retenir
- Un démarrage rapide retient l'audience et améliore l'engagement
- Utilisez preload=metadata par défaut, auto seulement si la lecture est centrale
- Réservez link rel=preload aux petits fichiers et vérifiez sa compatibilité
- Adaptez le préchargement à la batterie, au réseau et au mode Save-Data
- Pré-mettez en cache les premiers segments avec l'API Cache pour anticiper
Un préchargement bien dosé accélère la lecture sans pénaliser le reste de la page.
Quiz : testez vos connaissances
Quiz : testez vos connaissances
-
Quelle valeur de l'attribut preload choisir par défaut pour une vidéo qui n'est pas centrale ?
- auto, pour mettre en cache l'intégralité du fichier dès le départ
- metadata, qui récupère durée, dimensions et pistes sans télécharger la vidéo entière
- none, pour ne jamais charger la moindre information
La valeur
metadataest devenue la valeur par défaut. Elle récupère les informations essentielles (durée, dimensions, pistes) sans télécharger la vidéo entière. -
L'attribut preload garantit-il que le navigateur récupérera bien la ressource ?
- Oui, le navigateur exécute toujours preload à la lettre
- Non, ce n'est qu'un indice que le navigateur peut ignorer, notamment avec l'Économiseur de données
- Oui, sauf sur les connexions en fibre optique
L’attribut
preloadne garantit rien. Le navigateur peut l’ignorer, en particulier avec l’Économiseur de données ou sur réseau mobile. -
À quel type de fichiers réserver le préchargement par lien (link rel=preload) ?
- Aux fichiers les plus lourds, pour les charger en premier
- Uniquement aux fichiers audio, jamais aux vidéos
- Aux petits fichiers, car il télécharge la ressource en priorité
Le préchargement par lien télécharge la ressource en priorité selon son type. Pour ne pas saturer la bande passante, il vaut mieux le réserver aux petits fichiers.
Besoin d'un accompagnement SEO ?
Vos vidéos démarrent trop lentement ? Voyons comment précharger vos médias sans alourdir vos pages.