S'inscrire

Pourquoi certaines pages web restent figées au chargement

On clique sur une actu. Parfois, le texte s’affiche aussitôt. D’autres fois, la page reste blanche, la barre de chargement bloquée, alors que la connexion est la même.

Basé sur recherche scientifique (Steve Souders, High Performance Web Sites (O'Reilly, Mozilla Developer Network, Géraldine Texier, étude INRIA)

La plupart du temps, charger une page web semble simple : on clique, on attend, le contenu s’affiche. Pourtant, l’expérience varie sans logique apparente, même sur le même appareil et avec le même réseau. Il arrive qu’un article soit accessible en une seconde, puis, cinq minutes plus tard, une autre page du même site refuse d’apparaître.

Cette inconstance ne tient pas qu’à la qualité du code ou à la vitesse de la connexion. Elle révèle la façon dont les navigateurs dépendent de multiples éléments externes pour afficher une page. Souvent, on ignore que des images, des publicités ou des scripts invisibles peuvent bloquer tout le reste, même si le texte principal est prêt à s’afficher.

Lucidaily publie 3 sujets comme celui-ci chaque matin.

Créer un compte

Quand le navigateur attend

Derrière chaque page web, le navigateur reçoit une liste d’instructions : texte, images, vidéos, scripts. Il commence à afficher ce qu’il reçoit, mais il bloque parfois tout le rendu tant qu’un fichier précis n’est pas chargé. Steve Souders a montré que les scripts placés au début du code (dans le 'head') obligent le navigateur à tout interrompre, par précaution, car ces scripts pourraient modifier le reste de la page à la volée.

Résultat : si l’un de ces éléments externes, comme une pub ou un compteur de visites, met du temps à répondre – ou ne répond pas du tout – la page entière peut rester figée sur l’écran blanc. Ce n’est pas le texte principal qui manque, mais un élément périphérique qui bloque tout le processus.

Approfondir

La documentation Mozilla précise que les attributs 'async' et 'defer' permettent de charger les scripts plus tard, sans bloquer l’affichage du contenu. Mais tous les sites n’utilisent pas ces options, parfois par oubli, parfois pour garantir des fonctionnalités qui dépendent d’un ordre précis de chargement.

Ce qu’on croit / Ce qui bloque

On imagine souvent que si une page rame, c’est la faute au réseau ou à un site mal programmé. En réalité, une seule ressource externe absente ou lente – souvent invisible, comme un script de pub – suffit à bloquer l’affichage, même si tout le reste est prêt.

Variations selon les sites et contextes

Tous les sites ne sont pas affectés de la même façon. Certains priorisent le texte ou les images principales, d’autres attendent que tout – y compris les éléments commerciaux ou de suivi – soit chargé avant d’afficher quoi que ce soit. Les navigateurs modernes tentent d’anticiper et d’afficher le contenu essentiel dès que possible, mais ils restent soumis aux instructions du site.

Approfondir

Géraldine Texier a observé que la sensation de lenteur varie aussi selon le type de page : sur un site d’actualité, on attend surtout le texte. Sur un site de streaming ou de vente, les scripts et images secondaires pèsent davantage sur la perception du chargement.

Faut-il tout afficher d’un coup ?

Certains développeurs estiment qu’il vaut mieux attendre que tout soit prêt, pour éviter des bugs ou des publicités mal chargées. D’autres préfèrent montrer le contenu principal au plus vite, quitte à laisser les éléments secondaires s’afficher en décalé. Ce choix dépend de priorités différentes : stabilité, revenus publicitaires, expérience utilisateur. Il n’existe pas de consensus clair, et la pratique varie selon les cas.

Une page peut rester figée non par lenteur générale, mais parce qu’un seul élément externe bloque tout l’affichage, même si le texte est prêt.

Pour aller plus loin

  • Steve Souders, High Performance Web Sites (O'Reilly, 2007) — Montre comment le placement des scripts dans l’en-tête peut bloquer tout le rendu d’une page web. (haute)
  • Mozilla Developer Network (section 'Defer and Async') — Explique les attributs permettant de charger les scripts après le contenu principal. (haute)
  • Géraldine Texier, étude INRIA 2022 — Analyse les dépendances entre éléments externes et perception de la lenteur sur différents types de sites. (moyenne)

Partager cette réflexion