ONDEV Logo

Expert en acquisition client digitale. Création de sites web et applications sur-mesure qui convertissent.

Services
  • Création de Sites Web
  • Applications Sur-Mesure
  • Publicité Digitale
  • Référencement SEO
  • Développeur Web Marseille
  • Création de Logo
  • Design UX/UI
  • Refonte d'Application
  • Maintenance Applicative
  • Audit de Code
  • Agence Vibe Coding
  • Logiciel Métier Sur-Mesure
  • Agence No Code
  • Portail Client & Extranet
  • Intranet Sur-Mesure
  • Refonte Site WordPress
  • Migration Angular vers React
Navigation
  • Accueil
  • Agence web à Marseille
  • Réalisations
  • Expertise
  • Qui sommes-nous
  • Blog
  • Contact
Guides
  • Nos guides
  • Comment créer un site internet
  • Pourquoi créer un site internet
  • Coût d'un site internet
  • Choisir son prestataire web
Contact

Mathieu Rabissoni

06 01 37 20 21WhatsAppmathieu@ondev.fr

Marseille, France

Suivez-nous

LinkedInInstagramFacebook
Zones d'intervention
Marseille|Aix-en-Provence|Aubagne|La Ciotat|Cassis|Allauch|Gardanne|Marignane|Vitrolles|Toutes nos zones

© 2026 ONDEV. Tous droits réservés.

Mentions légalesPolitique de confidentialitéPlan du site
ONDEV Logo
Réalisations
Contact
On en discute

Expertise

Création de Sites WebSite Vitrine MarseilleSite E-Commerce MarseilleRéférencement SEOOptimisation GEOApplications Web & MobileAgence CommunicationPublicité en LigneDéveloppeur Web Marseille
Réalisations

Ressources

Qui sommes-nous ?BlogGuides
Contact
AppelerWhatsApp
On en discute
  1. Accueil
  2. Blog
  3. Brotli et gzip : compresser son site web
Développement
24 octobre 202611 mn

Brotli et gzip : compresser son site web

Brotli ou gzip ? Ce que la compression HTTP réduit vraiment, les gains à attendre, comment vérifier qu'elle est active et ce que Vercel fait par défaut.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Brotli et gzip : compresser son site web
Brotli et gzip : compresser son site web

Sommaire

01.Votre site envoie peut-être trois fois plus d'octets que nécessaire02.La compression HTTP, c'est quoi exactement ?03.Ce qu'elle compresse : tout ce qui est du texte04.Ce qu'elle ne compresse pas : les formats déjà compressés05.Brotli vs gzip : les différences qui comptent06.gzip : le standard historique, encore parfaitement valable07.Brotli : un dictionnaire qui connaît déjà le web08.Compression statique ou dynamique : la nuance qui change tout09.Les gains réels, en ordre de grandeur10.L'effet sur les Core Web Vitals11.Vérifier que la compression est active sur votre site12.Méthode 1 : les outils de développement du navigateur13.Méthode 2 : une commande curl14.Méthode 3 : PageSpeed Insights et Lighthouse15.Ce que Vercel, les CDN et les serveurs font par défaut16.Vercel : Brotli et gzip activés, rien à configurer17.Cloudflare, Netlify et les autres CDN18.Nginx, Apache et les hébergements classiques19.Next.js auto-hébergé20.Compression et cache navigateur : deux leviers complémentaires21.Les erreurs qui annulent le bénéfice22.FAQ : vos questions sur Brotli et gzip23.Compressez d'abord, optimisez ensuite

Votre site envoie peut-être trois fois plus d'octets que nécessaire

Un fichier HTML, une feuille CSS ou un bundle JavaScript sont du texte, et le texte se compresse remarquablement bien : 300 ko peuvent voyager en 60 ko sans perdre un seul caractère. Pourtant, beaucoup de sites servent encore leurs ressources brutes, ou se contentent d'un gzip configuré il y a dix ans et jamais revu. Résultat : un LCP qui traîne et un PageSpeed qui affiche l'alerte « Activer la compression de texte ».

Dans cet article, vous allez découvrir :

  • •Ce que la compression HTTP réduit vraiment (et pourquoi vos images n'y gagnent rien)
  • •La différence concrète entre Brotli et gzip, sans jargon inutile
  • •Les gains à attendre, en ordre de grandeur, sur un site Next.js ou WordPress typique
  • •La méthode en 30 secondes pour vérifier que la compression est active sur votre site
  • •Ce que Vercel, Cloudflare et les serveurs classiques font (ou ne font pas) par défaut, et le lien avec le cache navigateur
Une ligne de configuration, zéro changement de code, jusqu'à 80 % d'octets en moins sur chaque fichier texte : la compression HTTP est l'optimisation au meilleur rapport effort/gain du web.

La compression HTTP, c'est quoi exactement ?

La compression HTTP est un mécanisme par lequel le serveur compresse une réponse avant de l'envoyer, et le navigateur la décompresse à la réception. Le contenu est strictement identique à l'arrivée ; seul le volume transféré sur le réseau change.

Tout repose sur deux en-têtes HTTP. Le navigateur annonce ce qu'il sait décompresser avec Accept-Encoding: gzip, deflate, br. Le serveur choisit un algorithme parmi ceux proposés et le déclare dans sa réponse avec Content-Encoding: br (Brotli) ou Content-Encoding: gzip. S'il n'y a pas d'en-tête Content-Encoding, la réponse est partie en clair.

Ce qu'elle compresse : tout ce qui est du texte

La compression HTTP agit sur les ressources textuelles, c'est-à-dire tout ce qui contient beaucoup de répétitions et de motifs prévisibles :

  • •HTML : balises répétées, attributs, classes CSS dupliquées sur chaque élément
  • •CSS : sélecteurs, propriétés, valeurs qui reviennent des centaines de fois
  • •JavaScript : noms de fonctions, mots-clés du langage, code de framework
  • •JSON : réponses d'API, données hydratées par Next.js dans la page
  • •SVG : les icônes et illustrations vectorielles sont du XML, donc du texte

Sur ces formats, les taux de réduction se situent couramment entre 60 et 80 %. Un bundle JavaScript de framework, très répétitif, est souvent celui qui gagne le plus.

Ce qu'elle ne compresse pas : les formats déjà compressés

Une image JPEG, WebP ou AVIF, une vidéo MP4, un PDF ou une police WOFF2 ont déjà subi une compression spécialisée, bien plus efficace que gzip ou Brotli sur ce type de données. Les recompresser ne fait rien gagner, consomme du CPU et peut même produire un fichier plus gros. C'est pourquoi les serveurs et CDN sérieux n'appliquent la compression qu'à une liste de types MIME texte.

Le poids des images se traite ailleurs : formats modernes, redimensionnement, chargement différé. Nous détaillons ces leviers dans notre guide sur la vitesse de chargement et les Core Web Vitals, qui classe les actions par impact.

Brotli vs gzip : les différences qui comptent

Brotli et gzip sont deux algorithmes de compression sans perte utilisés pour la compression HTTP ; Brotli produit des fichiers plus petits que gzip sur le texte web, au prix d'une compression plus lente aux niveaux élevés. Les deux sont supportés par la totalité des navigateurs actuels.

CritèregzipBrotli
Année et origine1992, algorithme DEFLATE2015, Google, standardisé dans la RFC 7932
En-tête Content-Encodinggzipbr
Niveaux de compression1 à 90 à 11
Dictionnaire intégréNonOui, environ 120 ko de motifs web courants
Taille finale sur du texte webRéférenceTypiquement 15 à 25 % plus petit que gzip
Vitesse de compressionRapide à tous les niveauxRapide jusqu'au niveau 5, lente au-delà
Vitesse de décompressionTrès rapideTrès rapide, comparable à gzip
Support navigateurUniverselUniversel depuis 2017 (Chrome, Firefox, Safari, Edge)
ContrainteAucuneNécessite HTTPS

gzip : le standard historique, encore parfaitement valable

gzip repose sur DEFLATE, qui combine LZ77 (remplacer les séquences répétées par des références) et le codage de Huffman (coder court les symboles fréquents). Il est partout : chaque serveur, chaque proxy, chaque langage sait le produire et le lire.

Position ferme : un site qui sert du gzip correctement configuré n'est pas un site mal optimisé. Le passage à Brotli est un gain incrémental, pas une révolution. Le vrai problème, c'est l'absence totale de compression, encore fréquente sur des hébergements mutualisés mal réglés.

Brotli : un dictionnaire qui connaît déjà le web

La force de Brotli tient à son dictionnaire statique intégré : des milliers de fragments fréquents sur le web, balises HTML, propriétés CSS, mots-clés JavaScript, mots courants en plusieurs langues. Quand Brotli rencontre <div class="container">, il n'a pas besoin de l'apprendre, il le référence directement.

Brotli dispose aussi d'une fenêtre de recherche bien plus large que gzip (jusqu'à 16 Mo contre 32 ko), ce qui lui permet de repérer des répétitions éloignées dans un gros bundle. La spécification complète est publique dans la RFC 7932 de l'IETF.

Compression statique ou dynamique : la nuance qui change tout

Le niveau 11 de Brotli donne les fichiers les plus petits, mais il est lent : impossible de l'appliquer à la volée sur chaque requête sans faire grimper le TTFB. La bonne pratique distingue deux cas :

  • •Ressources statiques (CSS, JS, SVG) : compresser une seule fois au build, au niveau maximal, et servir le fichier .br pré-compressé.
  • •Réponses dynamiques (HTML généré à la demande, JSON d'API) : compresser à la volée à un niveau modéré, Brotli 4 ou 5, ou gzip 6. Le temps de réponse reste court pour une perte de gain marginale.

Les gains réels, en ordre de grandeur

Les chiffres ci-dessous sont des ordres de grandeur sur des ressources web typiques ; le résultat exact dépend du contenu, un fichier très répétitif se compressant mieux qu'un fichier déjà minifié.

RessourceNon comprességzip (niveau 6)Brotli (niveau 11)
Page HTML d'un blog80 ko15 à 20 ko12 à 16 ko
Feuille CSS d'un site vitrine150 ko25 à 35 ko20 à 28 ko
Bundle JavaScript de framework500 ko140 à 170 ko115 à 140 ko
Réponse JSON d'une API200 ko25 à 40 ko20 à 32 ko
Image WebP de 300 ko300 ko300 ko300 ko
Deux lectures à retenir. L'essentiel du gain vient du simple fait de compresser : passer de rien à gzip divise le poids par 3 à 5. Brotli ajoute ensuite 15 à 25 % de réduction sur ce qui reste : sur 1 Mo de texte, c'est 100 à 200 ko de moins par visite, soit plusieurs centaines de millisecondes gagnées sur une connexion mobile moyenne.

L'effet sur les Core Web Vitals

La compression influence directement le LCP et le FCP : le HTML arrive plus vite, le CSS critique se télécharge plus tôt, le navigateur peut commencer à peindre. Elle n'a aucun effet sur le CLS, et presque aucun sur l'INP : un bundle de 500 ko compressé en 120 ko pèse toujours 500 ko une fois décompressé dans le moteur JavaScript.

Pour comprendre comment chaque métrique se mesure et quels seuils Google retient, notre guide complet sur les Core Web Vitals détaille les trois indicateurs et leurs leviers respectifs.

Vérifier que la compression est active sur votre site

Méthode 1 : les outils de développement du navigateur

  1. 1.Ouvrez votre site dans Chrome ou Firefox, puis les outils de développement (F12 ou Cmd+Option+I sur Mac).
  2. 2.Allez dans l'onglet Réseau (Network) et rechargez la page.
  3. 3.Cliquez sur la première ligne, le document HTML, puis sur l'onglet En-têtes (Headers).
  4. 4.Dans la section des en-têtes de réponse, cherchez content-encoding. Vous devez lire br ou gzip.
  5. 5.Répétez sur un fichier .css et un fichier .js.

Méthode 2 : une commande curl

Pour vérifier depuis un terminal, sans navigateur :

bash
curl -sI -H "Accept-Encoding: br, gzip" https://votre-site.fr/ | grep -i content-encoding

Si la commande ne renvoie rien, la page est servie sans compression. Remplacez l'URL par celle d'un CSS ou d'un JS pour tester un fichier précis.

Méthode 3 : PageSpeed Insights et Lighthouse

Dans les diagnostics de PageSpeed Insights, l'audit « Activer la compression de texte » liste chaque ressource texte servie sans compression, avec le gain estimé en ko. S'il n'apparaît pas, tout est en ordre. Lighthouse ne distingue pas gzip de Brotli : il vérifie seulement qu'une compression est présente.

Ce que Vercel, les CDN et les serveurs font par défaut

Le comportement par défaut varie énormément selon l'hébergement, et c'est là que beaucoup de sites perdent du terrain sans le savoir.

Vercel : Brotli et gzip activés, rien à configurer

Sur Vercel, le réseau edge compresse automatiquement toutes les réponses de type texte selon l'en-tête Accept-Encoding du navigateur : Brotli quand il est supporté, gzip en repli. Cela couvre les fichiers statiques, les pages générées par Next.js et les réponses des fonctions serverless, sans rien à activer.

C'est l'une des raisons pour lesquelles un site Next.js déployé sur Vercel part avec une base de performance saine. Dans nos projets de création de sites internet, la compression est acquise dès le premier déploiement, et l'effort se concentre sur ce qui reste à optimiser : le poids des images et la quantité de JavaScript.

Cloudflare, Netlify et les autres CDN

Cloudflare active Brotli par défaut sur tous les plans, y compris gratuit ; Netlify fait de même pour les ressources statiques. Placer un CDN moderne devant votre site règle la question, même si le serveur d'origine ne compresse rien.

Nginx, Apache et les hébergements classiques

Ici, rien n'est garanti. Nginx active gzip de façon minimale par défaut (souvent sur le seul HTML), et Brotli nécessite le module ngx_brotli, absent des paquets standards. Apache demande d'activer mod_deflate pour gzip et mod_brotli pour Brotli, puis de lister les types MIME concernés. Sur un mutualisé WordPress, tout dépend de l'hébergeur et du plugin de cache : c'est le cas de « compression absente » le plus fréquent en audit.

Next.js auto-hébergé

Avec next start sur votre propre serveur, Next.js applique gzip par défaut via l'option compress, mais pas Brotli. Pour en bénéficier, désactivez la compression de Next.js et confiez-la à un reverse proxy : Nginx avec ngx_brotli, ou Caddy qui gère Brotli et gzip nativement.

Compression et cache navigateur : deux leviers complémentaires

La compression et le cache navigateur attaquent le même problème sous deux angles différents. La compression réduit le poids de chaque transfert ; le cache évite de refaire le transfert. Le premier agit sur la première visite, le second sur toutes les suivantes.

Un site bien réglé combine les deux : un bundle JavaScript compressé en Brotli au niveau 11, servi avec un en-tête Cache-Control de longue durée et un nom de fichier versionné. Le visiteur le télécharge une fois, léger, puis plus jamais jusqu'au prochain déploiement.

Un détail mérite attention à la rencontre des deux : l'en-tête Vary: Accept-Encoding. Il indique aux caches intermédiaires que la réponse diffère selon l'algorithme accepté ; sans lui, un CDN pourrait servir du Brotli à un client qui ne le lit pas. Les plateformes modernes le gèrent seules ; sur un Nginx configuré à la main, il faut y penser.

À lire aussi : Cache navigateur : accélérer son site - Comment régler Cache-Control, ETag et le versionnage des fichiers pour que vos visiteurs ne téléchargent chaque ressource qu'une seule fois.

Les erreurs qui annulent le bénéfice

Activer la compression est simple. La mal configurer est tout aussi simple. Les cas que nous voyons le plus souvent :

  • •Compresser les images et les polices WOFF2 : aucun gain, du CPU gaspillé, et parfois des fichiers plus gros. La liste des types MIME compressés doit se limiter au texte.
  • •Compresser dynamiquement au niveau maximal : Brotli 11 à la volée sur chaque page HTML fait exploser le temps de réponse serveur. Niveau 4 ou 5 pour le dynamique, niveau 11 uniquement en pré-compression au build.
  • •Oublier les réponses d'API et le JSON : la compression est réglée sur les fichiers statiques, mais le reverse proxy ne compresse pas les routes /api/. Résultat : les plus gros transferts du site passent en clair.
  • •Confondre minification et compression : la minification retire les espaces et raccourcit les noms de variables dans le code source ; la compression HTTP agit sur le transfert. Les deux se cumulent, l'une ne remplace pas l'autre.
  • •S'arrêter là : la compression ne corrige pas un bundle JavaScript de 2 Mo. Elle réduit le symptôme, pas la cause.

FAQ : vos questions sur Brotli et gzip

Sur une application web sur-mesure, la compression des réponses d'API et du JSON pèse souvent plus que celle des fichiers statiques : nous la configurons dès l'architecture, pas après la mise en ligne.

Faut-il choisir entre Brotli et gzip ?
Non, il faut servir les deux. Le navigateur annonce ce qu'il supporte dans Accept-Encoding, et le serveur choisit le meilleur disponible. Brotli sera retenu dans la quasi-totalité des cas aujourd'hui, gzip reste en repli pour les clients anciens, certains robots ou les connexions en HTTP non sécurisé.
Brotli fonctionne-t-il sans HTTPS ?
Les navigateurs n'acceptent Brotli que sur des connexions HTTPS. Sur un site encore en HTTP, seul gzip sera négocié. Comme un site en HTTP n'a plus sa place en 2026, ni pour Google ni pour vos visiteurs, la question se règle d'elle-même en passant en HTTPS.
La compression ralentit-elle le serveur ?
La décompression côté navigateur est quasi instantanée. Côté serveur, le coût dépend du niveau : gzip 6 ou Brotli 4 à la volée sont négligeables ; Brotli 11 doit être réservé à la pré-compression au moment du build. Sur Vercel ou derrière un CDN, le calcul se fait sur l'infrastructure de la plateforme, pas sur votre serveur.
La compression HTTP améliore-t-elle le SEO ?
Indirectement, oui. Elle réduit le temps de téléchargement du HTML et du CSS, donc améliore le LCP et le FCP, deux des signaux de performance que Google mesure via les Core Web Vitals. Elle facilite aussi le crawl : des pages plus légères consomment moins de bande passante pour Googlebot. Ce n'est pas un facteur de classement en soi, mais c'est un prérequis pour en respecter plusieurs.

Compressez d'abord, optimisez ensuite

La compression HTTP est le premier réglage à vérifier sur un site lent, parce que c'est le moins cher à corriger : aucune ligne de code à réécrire, un en-tête à contrôler, une configuration à ajuster. Brotli apporte 15 à 25 % de mieux que gzip, mais l'écart qui compte vraiment sépare un site compressé d'un site qui ne l'est pas.

Une fois la compression confirmée, le travail de fond commence : réduire le JavaScript livré, soigner les images, régler le cache.


Vous avez un doute sur la configuration de votre site, ou votre PageSpeed affiche encore « Activer la compression de texte » ? Parlons de votre projet : nous auditons la chaîne complète, du serveur au navigateur, et nous vous disons précisément quoi corriger.

Auteur

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

Infos

24 octobre 2026
11 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

  • Sans dépendance technique
  • Sans frais de maintenance inutiles
On en discute ?

Avec nous c'est simple, rien n'est compliqué !

Nos réalisations

Refonte & SEO - Amadeus Centre d’Affaires
Refonte & Stratégie SEO

Refonte & SEO - Amadeus Centre d’Affaires

Wiloq - Application SaaS Vestiaire Numérique
Application SaaS

Wiloq - Application SaaS Vestiaire Numérique

Voir toutes les réalisations

Votre site envoie peut-être trois fois plus d'octets que nécessaire

Un fichier HTML, une feuille CSS ou un bundle JavaScript sont du texte, et le texte se compresse remarquablement bien : 300 ko peuvent voyager en 60 ko sans perdre un seul caractère. Pourtant, beaucoup de sites servent encore leurs ressources brutes, ou se contentent d'un gzip configuré il y a dix ans et jamais revu. Résultat : un LCP qui traîne et un PageSpeed qui affiche l'alerte « Activer la compression de texte ».

Dans cet article, vous allez découvrir :

  • •Ce que la compression HTTP réduit vraiment (et pourquoi vos images n'y gagnent rien)
  • •La différence concrète entre Brotli et gzip, sans jargon inutile
  • •Les gains à attendre, en ordre de grandeur, sur un site Next.js ou WordPress typique
  • •La méthode en 30 secondes pour vérifier que la compression est active sur votre site
  • •Ce que Vercel, Cloudflare et les serveurs classiques font (ou ne font pas) par défaut, et le lien avec le cache navigateur
Une ligne de configuration, zéro changement de code, jusqu'à 80 % d'octets en moins sur chaque fichier texte : la compression HTTP est l'optimisation au meilleur rapport effort/gain du web.

La compression HTTP, c'est quoi exactement ?

La compression HTTP est un mécanisme par lequel le serveur compresse une réponse avant de l'envoyer, et le navigateur la décompresse à la réception. Le contenu est strictement identique à l'arrivée ; seul le volume transféré sur le réseau change.

Tout repose sur deux en-têtes HTTP. Le navigateur annonce ce qu'il sait décompresser avec Accept-Encoding: gzip, deflate, br. Le serveur choisit un algorithme parmi ceux proposés et le déclare dans sa réponse avec Content-Encoding: br (Brotli) ou Content-Encoding: gzip. S'il n'y a pas d'en-tête Content-Encoding, la réponse est partie en clair.

Ce qu'elle compresse : tout ce qui est du texte

La compression HTTP agit sur les ressources textuelles, c'est-à-dire tout ce qui contient beaucoup de répétitions et de motifs prévisibles :

  • •HTML : balises répétées, attributs, classes CSS dupliquées sur chaque élément
  • •CSS : sélecteurs, propriétés, valeurs qui reviennent des centaines de fois
  • •JavaScript : noms de fonctions, mots-clés du langage, code de framework
  • •JSON : réponses d'API, données hydratées par Next.js dans la page
  • •SVG : les icônes et illustrations vectorielles sont du XML, donc du texte

Sur ces formats, les taux de réduction se situent couramment entre 60 et 80 %. Un bundle JavaScript de framework, très répétitif, est souvent celui qui gagne le plus.

Ce qu'elle ne compresse pas : les formats déjà compressés

Une image JPEG, WebP ou AVIF, une vidéo MP4, un PDF ou une police WOFF2 ont déjà subi une compression spécialisée, bien plus efficace que gzip ou Brotli sur ce type de données. Les recompresser ne fait rien gagner, consomme du CPU et peut même produire un fichier plus gros. C'est pourquoi les serveurs et CDN sérieux n'appliquent la compression qu'à une liste de types MIME texte.

Le poids des images se traite ailleurs : formats modernes, redimensionnement, chargement différé. Nous détaillons ces leviers dans notre guide sur la vitesse de chargement et les Core Web Vitals, qui classe les actions par impact.

Brotli vs gzip : les différences qui comptent

Brotli et gzip sont deux algorithmes de compression sans perte utilisés pour la compression HTTP ; Brotli produit des fichiers plus petits que gzip sur le texte web, au prix d'une compression plus lente aux niveaux élevés. Les deux sont supportés par la totalité des navigateurs actuels.

CritèregzipBrotli
Année et origine1992, algorithme DEFLATE2015, Google, standardisé dans la RFC 7932
En-tête Content-Encodinggzipbr
Niveaux de compression1 à 90 à 11
Dictionnaire intégréNonOui, environ 120 ko de motifs web courants
Taille finale sur du texte webRéférenceTypiquement 15 à 25 % plus petit que gzip
Vitesse de compressionRapide à tous les niveauxRapide jusqu'au niveau 5, lente au-delà
Vitesse de décompressionTrès rapideTrès rapide, comparable à gzip
Support navigateurUniverselUniversel depuis 2017 (Chrome, Firefox, Safari, Edge)
ContrainteAucuneNécessite HTTPS

gzip : le standard historique, encore parfaitement valable

gzip repose sur DEFLATE, qui combine LZ77 (remplacer les séquences répétées par des références) et le codage de Huffman (coder court les symboles fréquents). Il est partout : chaque serveur, chaque proxy, chaque langage sait le produire et le lire.

Position ferme : un site qui sert du gzip correctement configuré n'est pas un site mal optimisé. Le passage à Brotli est un gain incrémental, pas une révolution. Le vrai problème, c'est l'absence totale de compression, encore fréquente sur des hébergements mutualisés mal réglés.

Brotli : un dictionnaire qui connaît déjà le web

La force de Brotli tient à son dictionnaire statique intégré : des milliers de fragments fréquents sur le web, balises HTML, propriétés CSS, mots-clés JavaScript, mots courants en plusieurs langues. Quand Brotli rencontre <div class="container">, il n'a pas besoin de l'apprendre, il le référence directement.

Brotli dispose aussi d'une fenêtre de recherche bien plus large que gzip (jusqu'à 16 Mo contre 32 ko), ce qui lui permet de repérer des répétitions éloignées dans un gros bundle. La spécification complète est publique dans la RFC 7932 de l'IETF.

Compression statique ou dynamique : la nuance qui change tout

Le niveau 11 de Brotli donne les fichiers les plus petits, mais il est lent : impossible de l'appliquer à la volée sur chaque requête sans faire grimper le TTFB. La bonne pratique distingue deux cas :

  • •Ressources statiques (CSS, JS, SVG) : compresser une seule fois au build, au niveau maximal, et servir le fichier .br pré-compressé.
  • •Réponses dynamiques (HTML généré à la demande, JSON d'API) : compresser à la volée à un niveau modéré, Brotli 4 ou 5, ou gzip 6. Le temps de réponse reste court pour une perte de gain marginale.

Les gains réels, en ordre de grandeur

Les chiffres ci-dessous sont des ordres de grandeur sur des ressources web typiques ; le résultat exact dépend du contenu, un fichier très répétitif se compressant mieux qu'un fichier déjà minifié.

RessourceNon comprességzip (niveau 6)Brotli (niveau 11)
Page HTML d'un blog80 ko15 à 20 ko12 à 16 ko
Feuille CSS d'un site vitrine150 ko25 à 35 ko20 à 28 ko
Bundle JavaScript de framework500 ko140 à 170 ko115 à 140 ko
Réponse JSON d'une API200 ko25 à 40 ko20 à 32 ko
Image WebP de 300 ko300 ko300 ko300 ko
Deux lectures à retenir. L'essentiel du gain vient du simple fait de compresser : passer de rien à gzip divise le poids par 3 à 5. Brotli ajoute ensuite 15 à 25 % de réduction sur ce qui reste : sur 1 Mo de texte, c'est 100 à 200 ko de moins par visite, soit plusieurs centaines de millisecondes gagnées sur une connexion mobile moyenne.

L'effet sur les Core Web Vitals

La compression influence directement le LCP et le FCP : le HTML arrive plus vite, le CSS critique se télécharge plus tôt, le navigateur peut commencer à peindre. Elle n'a aucun effet sur le CLS, et presque aucun sur l'INP : un bundle de 500 ko compressé en 120 ko pèse toujours 500 ko une fois décompressé dans le moteur JavaScript.

Pour comprendre comment chaque métrique se mesure et quels seuils Google retient, notre guide complet sur les Core Web Vitals détaille les trois indicateurs et leurs leviers respectifs.

Vérifier que la compression est active sur votre site

Méthode 1 : les outils de développement du navigateur

  1. 1.Ouvrez votre site dans Chrome ou Firefox, puis les outils de développement (F12 ou Cmd+Option+I sur Mac).
  2. 2.Allez dans l'onglet Réseau (Network) et rechargez la page.
  3. 3.Cliquez sur la première ligne, le document HTML, puis sur l'onglet En-têtes (Headers).
  4. 4.Dans la section des en-têtes de réponse, cherchez content-encoding. Vous devez lire br ou gzip.
  5. 5.Répétez sur un fichier .css et un fichier .js.

Méthode 2 : une commande curl

Pour vérifier depuis un terminal, sans navigateur :

bash
curl -sI -H "Accept-Encoding: br, gzip" https://votre-site.fr/ | grep -i content-encoding

Si la commande ne renvoie rien, la page est servie sans compression. Remplacez l'URL par celle d'un CSS ou d'un JS pour tester un fichier précis.

Méthode 3 : PageSpeed Insights et Lighthouse

Dans les diagnostics de PageSpeed Insights, l'audit « Activer la compression de texte » liste chaque ressource texte servie sans compression, avec le gain estimé en ko. S'il n'apparaît pas, tout est en ordre. Lighthouse ne distingue pas gzip de Brotli : il vérifie seulement qu'une compression est présente.

Ce que Vercel, les CDN et les serveurs font par défaut

Le comportement par défaut varie énormément selon l'hébergement, et c'est là que beaucoup de sites perdent du terrain sans le savoir.

Vercel : Brotli et gzip activés, rien à configurer

Sur Vercel, le réseau edge compresse automatiquement toutes les réponses de type texte selon l'en-tête Accept-Encoding du navigateur : Brotli quand il est supporté, gzip en repli. Cela couvre les fichiers statiques, les pages générées par Next.js et les réponses des fonctions serverless, sans rien à activer.

C'est l'une des raisons pour lesquelles un site Next.js déployé sur Vercel part avec une base de performance saine. Dans nos projets de création de sites internet, la compression est acquise dès le premier déploiement, et l'effort se concentre sur ce qui reste à optimiser : le poids des images et la quantité de JavaScript.

Cloudflare, Netlify et les autres CDN

Cloudflare active Brotli par défaut sur tous les plans, y compris gratuit ; Netlify fait de même pour les ressources statiques. Placer un CDN moderne devant votre site règle la question, même si le serveur d'origine ne compresse rien.

Nginx, Apache et les hébergements classiques

Ici, rien n'est garanti. Nginx active gzip de façon minimale par défaut (souvent sur le seul HTML), et Brotli nécessite le module ngx_brotli, absent des paquets standards. Apache demande d'activer mod_deflate pour gzip et mod_brotli pour Brotli, puis de lister les types MIME concernés. Sur un mutualisé WordPress, tout dépend de l'hébergeur et du plugin de cache : c'est le cas de « compression absente » le plus fréquent en audit.

Next.js auto-hébergé

Avec next start sur votre propre serveur, Next.js applique gzip par défaut via l'option compress, mais pas Brotli. Pour en bénéficier, désactivez la compression de Next.js et confiez-la à un reverse proxy : Nginx avec ngx_brotli, ou Caddy qui gère Brotli et gzip nativement.

Compression et cache navigateur : deux leviers complémentaires

La compression et le cache navigateur attaquent le même problème sous deux angles différents. La compression réduit le poids de chaque transfert ; le cache évite de refaire le transfert. Le premier agit sur la première visite, le second sur toutes les suivantes.

Un site bien réglé combine les deux : un bundle JavaScript compressé en Brotli au niveau 11, servi avec un en-tête Cache-Control de longue durée et un nom de fichier versionné. Le visiteur le télécharge une fois, léger, puis plus jamais jusqu'au prochain déploiement.

Un détail mérite attention à la rencontre des deux : l'en-tête Vary: Accept-Encoding. Il indique aux caches intermédiaires que la réponse diffère selon l'algorithme accepté ; sans lui, un CDN pourrait servir du Brotli à un client qui ne le lit pas. Les plateformes modernes le gèrent seules ; sur un Nginx configuré à la main, il faut y penser.

À lire aussi : Cache navigateur : accélérer son site - Comment régler Cache-Control, ETag et le versionnage des fichiers pour que vos visiteurs ne téléchargent chaque ressource qu'une seule fois.

Les erreurs qui annulent le bénéfice

Activer la compression est simple. La mal configurer est tout aussi simple. Les cas que nous voyons le plus souvent :

  • •Compresser les images et les polices WOFF2 : aucun gain, du CPU gaspillé, et parfois des fichiers plus gros. La liste des types MIME compressés doit se limiter au texte.
  • •Compresser dynamiquement au niveau maximal : Brotli 11 à la volée sur chaque page HTML fait exploser le temps de réponse serveur. Niveau 4 ou 5 pour le dynamique, niveau 11 uniquement en pré-compression au build.
  • •Oublier les réponses d'API et le JSON : la compression est réglée sur les fichiers statiques, mais le reverse proxy ne compresse pas les routes /api/. Résultat : les plus gros transferts du site passent en clair.
  • •Confondre minification et compression : la minification retire les espaces et raccourcit les noms de variables dans le code source ; la compression HTTP agit sur le transfert. Les deux se cumulent, l'une ne remplace pas l'autre.
  • •S'arrêter là : la compression ne corrige pas un bundle JavaScript de 2 Mo. Elle réduit le symptôme, pas la cause.

FAQ : vos questions sur Brotli et gzip

Sur une application web sur-mesure, la compression des réponses d'API et du JSON pèse souvent plus que celle des fichiers statiques : nous la configurons dès l'architecture, pas après la mise en ligne.

Faut-il choisir entre Brotli et gzip ?
Non, il faut servir les deux. Le navigateur annonce ce qu'il supporte dans Accept-Encoding, et le serveur choisit le meilleur disponible. Brotli sera retenu dans la quasi-totalité des cas aujourd'hui, gzip reste en repli pour les clients anciens, certains robots ou les connexions en HTTP non sécurisé.
Brotli fonctionne-t-il sans HTTPS ?
Les navigateurs n'acceptent Brotli que sur des connexions HTTPS. Sur un site encore en HTTP, seul gzip sera négocié. Comme un site en HTTP n'a plus sa place en 2026, ni pour Google ni pour vos visiteurs, la question se règle d'elle-même en passant en HTTPS.
La compression ralentit-elle le serveur ?
La décompression côté navigateur est quasi instantanée. Côté serveur, le coût dépend du niveau : gzip 6 ou Brotli 4 à la volée sont négligeables ; Brotli 11 doit être réservé à la pré-compression au moment du build. Sur Vercel ou derrière un CDN, le calcul se fait sur l'infrastructure de la plateforme, pas sur votre serveur.
La compression HTTP améliore-t-elle le SEO ?
Indirectement, oui. Elle réduit le temps de téléchargement du HTML et du CSS, donc améliore le LCP et le FCP, deux des signaux de performance que Google mesure via les Core Web Vitals. Elle facilite aussi le crawl : des pages plus légères consomment moins de bande passante pour Googlebot. Ce n'est pas un facteur de classement en soi, mais c'est un prérequis pour en respecter plusieurs.

Compressez d'abord, optimisez ensuite

La compression HTTP est le premier réglage à vérifier sur un site lent, parce que c'est le moins cher à corriger : aucune ligne de code à réécrire, un en-tête à contrôler, une configuration à ajuster. Brotli apporte 15 à 25 % de mieux que gzip, mais l'écart qui compte vraiment sépare un site compressé d'un site qui ne l'est pas.

Une fois la compression confirmée, le travail de fond commence : réduire le JavaScript livré, soigner les images, régler le cache.


Vous avez un doute sur la configuration de votre site, ou votre PageSpeed affiche encore « Activer la compression de texte » ? Parlons de votre projet : nous auditons la chaîne complète, du serveur au navigateur, et nous vous disons précisément quoi corriger.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

24 octobre 2026
11 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

On en discute ?
Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Passionné par le web depuis toujours, j'aide les entreprises à acquérir des clients grâce au digital. Sites web, applications, SEO : je transforme vos idées en solutions performantes.

En savoir plus

Services ONDEV liés à cet article

Création site internet Marseille•Application web sur-mesure•Refonte de site internet•Expert Next.js Marseille•Agence web à Marseille•Nos réalisations

Besoin d'aide pour votre projet ?

Discutons de vos objectifs et voyons comment je peux vous aider à les atteindre.

Prendre rendez-vousAppelerWhatsApp