Quand vous payez pour chaque gigaoctet transféré, le trafic n'est plus abstrait : il devient de l'argent bien réel. Un script négligé qui charge des images et vidéos lourdes peut engloutir en une nuit votre budget mensuel. Bonne nouvelle : la consommation peut se contrôler, et ce n'est pas compliqué une fois que l'on comprend la mécanique.

Ce guide vous apprendra à compter le trafic avant de démarrer votre tâche, à mesurer la consommation réelle et à la réduire drastiquement avec des astuces simples. Nous parlons ici uniquement de l'économie de trafic, applicable à tout abonnement facturé au volume, quel que soit le type de proxy.

Introduction : pourquoi calculer son trafic à l'avance

Avec un paiement au gigaoctet, chaque requête a un prix. Le problème, c'est que ce prix reste invisible jusqu'à la facture ou l'épuisement du crédit. La plupart des débutants calculent leur consommation après coup, alors qu'il faut faire l'inverse : estimer le budget avant de lancer la tâche et prévoir une marge.

Ce que vous obtiendrez

Après avoir lu ce guide, vous saurez décomposer n'importe quelle page web selon le poids de ses composants, écrire un simple compteur de trafic en Python ou Node, appliquer des techniques d'économie qui réduisent la consommation de 70 à 95 %, et calculer proprement le budget de votre projet. Vous comprendrez aussi quand il vaut mieux payer au volume ou opter pour un forfait illimité.

À qui s'adresse ce guide

  • À ceux qui font du scraping et collectent des données via un proxy.
  • Aux spécialistes de l'automatisation qui envoient des requêtes par lots.
  • Pour les marketeurs et analystes qui travaillent avec des sources externes.
  • À tous ceux qui veulent payer moins cher pour le même résultat.

Les prérequis

Une compréhension de base des requêtes HTTP est un plus, mais pas obligatoire. Nous expliquons les termes clés simplement. Pour la partie pratique, une expérience minimale des scripts en Python ou Node.js est utile, mais le code fourni est prêt à l'emploi et commenté.

Temps nécessaire

La lecture et la compréhension de la théorie prendront environ 30 minutes. L'installation du compteur de trafic demandera 15 à 20 minutes. L'intégration des techniques d'économie dans votre projet dépend de sa complexité, mais les bases s'appliquent en une heure.

Préparation : outils et accès

Avant de compter et d'économiser le trafic, rassemblons l'outillage. Tout est gratuit et fonctionne sous Windows, macOS et Linux.

Outils nécessaires

  • Python 3.10 ou plus – pour les scripts de calcul du trafic.
  • Node.js 18 ou plus – l'alternative pour ceux qui préfèrent JavaScript.
  • La bibliothèque requests pour Python – s'installe avec la commande pip install requests.
  • La bibliothèque Playwright – pour travailler avec un navigateur headless, installation via pip install playwright puis playwright install.
  • Un navigateur avec outils de développement – n'importe lequel convient, le panneau Network intégré est nécessaire pour analyser les pages manuellement.
  • L'accès à l'espace client de votre service proxy – pour consulter les statistiques réelles de trafic.

Configuration requise

N'importe quel ordinateur de moins de dix ans fera l'affaire. 4 Go de RAM suffisent, mais 8 Go sont plus confortables pour le navigateur headless. Prévoyez environ 2 Go d'espace disque pour les moteurs de navigateur Playwright.

À installer et configurer

  1. Téléchargez et installez Python depuis le site officiel, et cochez l'option d'ajout au PATH lors de l'installation.
  2. Ouvrez un terminal et vérifiez l'installation avec la commande python --version.
  3. Installez la bibliothèque de requêtes avec pip install requests.
  4. Si vous prévoyez d'utiliser un navigateur, installez Playwright avec pip install playwright, puis lancez playwright install chromium.
  5. Assurez-vous d'avoir sous la main les paramètres de connexion au proxy : adresse, port, identifiant et mot de passe.

Astuce : créez un dossier dédié à vos expérimentations sur le trafic. Vous éviterez la confusion dans vos fichiers et pourrez facilement annuler les modifications en cas de pépin.

⚠️ Attention : ne stockez jamais vos identifiants de proxy directement dans le code que vous partagez. Utilisez des variables d'environnement ou un fichier de configuration séparé qui ne tombera pas entre de mauvaises mains.

✅ Vérification : si les commandes python --version et pip --version affichent les numéros de version sans erreur, la préparation est terminée.

Les bases en langage clair

Avant de compter les octets, clarifions les termes. Sans jargon, avec des mots simples.

C'est quoi, le trafic ?

Le trafic, c'est le volume de données qui transite par votre connexion. Il se compose de ce que vous envoyez au serveur et de ce que le serveur vous renvoie. Avec un paiement au gigaoctet, les deux directions sont comptées, mais le trafic entrant (les réponses du serveur) est généralement plusieurs fois supérieur au trafic sortant.

Composition d'une requête

Quand vous ouvrez une page, le navigateur envoie une requête et reçoit une réponse. La réponse comprend des en-têtes (informations techniques sur la taille, le type, le codage) et un corps (le contenu lui-même : HTML, image, script). Le corps pèse presque toujours beaucoup plus que les en-têtes.

Termes clés

  • Requête GET – une requête standard pour obtenir un contenu. Elle renvoie à la fois les en-têtes et le corps.
  • Requête HEAD – ne récupère que les en-têtes, sans le corps. Elle économise le trafic quand le corps n'est pas nécessaire.
  • Content-Length – l'en-tête qui indique la taille du corps de la réponse en octets.
  • Accept-Encoding – l'en-tête qui demande au serveur de compresser la réponse.
  • gzip et brotli – des algorithmes de compression qui réduisent plusieurs fois le poids des données textuelles.
  • Redirection – un renvoi d'une adresse vers une autre. Chaque redirection signifie une requête supplémentaire et du trafic consommé.
  • Navigateur headless – un navigateur sans interface graphique, piloté par du code. Il charge tout comme un navigateur classique, y compris les ressources lourdes.

Le principe d'économie essentiel

Ne pas charger ce qui n'est pas nécessaire pour la tâche. Cela semble évident, mais c'est précisément la violation de cette règle qui engloutit votre argent. Si vous avez besoin du texte d'une fiche produit, vous n'avez pas besoin des photos du produit, des vidéos, des bannières publicitaires ni des traceurs d'analyse.

De quoi se compose le poids d'une page : analyse réelle

L'objectif de cette section est de montrer, à travers un exemple concret, que la majeure partie du poids d'une page ne vous est généralement pas utile. Prenons une page type de boutique en ligne.

Les composants du poids et leur part

Une page moderne pèse en moyenne entre 2 et 5 Mo. Voici à peu près comment ce poids se répartit :

  • Images – 50 à 70 % du poids. Photos de produits, bannières, icônes en haute résolution.
  • Scripts JavaScript – 15 à 25 %. Logique d'interface, widgets, tchats, compteurs.
  • Polices – 5 à 10 %. Les polices personnalisées sont chargées dans des fichiers séparés.
  • Analytique et traceurs – 5 à 15 %. Pixels, systèmes de statistiques, scripts publicitaires.
  • Vidéos et médias – de zéro à des valeurs énormes. Les vidéos en lecture automatique font exploser le budget.
  • Document HTML – seulement 1 à 5 %. C'est là que se trouvent le plus souvent les données qui vous intéressent.

Conclusion pratique

Si vous n'avez besoin que des données textuelles du HTML, vous pouvez vous passer de 90 à 95 % du poids de la page. Une page de 5 Mo devient 100 à 200 Ko de HTML utile. Ce n'est pas une exagération, c'est un cas courant.

Comment analyser une page manuellement

  1. Ouvrez la page dans votre navigateur.
  2. Appuyez sur F12 pour ouvrir les outils de développement.
  3. Passez à l'onglet Network.
  4. Actualisez la page avec F5.
  5. En bas du panneau, vous verrez le volume total chargé et le nombre de requêtes.
  6. Triez les requêtes par la colonne Size pour identifier les ressources les plus lourdes.
  7. Regardez la colonne Type : img pour les images, script pour les scripts, font pour les polices.

Astuce : dans le panneau Network, vous avez des filtres par type de ressource. Cliquez sur le bouton Img pour voir le poids total des images. Cette valeur est généralement édifiante.

✅ Vérification : vous devriez constater que le document HTML pèse des dizaines de fois moins que l'ensemble des images et des scripts. Cela confirme que le principal gisement d'économies réside dans le renoncement aux médias.

Étape 1 : mesurer la consommation réelle de votre tâche

Objectif : apprendre à calculer précisément le trafic consommé par votre script, afin de gérer votre consommation en toute connaissance de cause.

Calcul du trafic en Python

La bibliothèque requests permet de connaître la taille de chaque réponse. Nous allons additionner la longueur du corps et la taille approximative des en-têtes.

  1. Créez un fichier traffic_counter.py dans votre dossier de travail.
  2. Ajoutez l'import de la bibliothèque : import requests.
  3. Configurez le proxy sous forme de dictionnaire avec les clés http et https.
  4. Avant la boucle de requêtes, initialisez une variable total_bytes à zéro.
  5. Après chaque requête, additionnez la longueur de response.content.
  6. Pour plus de précision, ajoutez la taille des en-têtes en calculant la longueur de leur représentation sous forme de chaîne.
  7. À la fin, divisez total_bytes par 1 048 576 pour obtenir des mégaoctets.

La logique est simple : len(response.content) donne le nombre d'octets du corps de la réponse. Les en-têtes se calculent en additionnant la longueur des clés et des valeurs. Pour la plupart des tâches, le corps de la réponse constitue l'essentiel du trafic, donc même un simple calcul basé sur content offre une précision d'environ 95 %.

Point important : response.content renvoie des données déjà décompressées si le serveur a envoyé une réponse compressée. Le trafic réseau réel a pu être inférieur grâce à la compression. Pour mesurer précisément les octets transférés, regardez l'en-tête Content-Length de la réponse : il indique la taille du corps telle qu'elle a transité sur le réseau.

Calcul précis des octets transférés

  1. Après la requête, utilisez response.headers.get('Content-Length').
  2. S'il y a une valeur, servez-vous-en comme du poids réel du corps en octets.
  3. Si l'en-tête est absent (par exemple en cas de streaming), basez-vous sur la longueur de content, en gardant à l'esprit qu'il s'agit de la taille décompressée.

Calcul du trafic avec Node.js

Dans Node, vous pouvez utiliser le module intégré https ou la bibliothèque axios. Le principe est le même : on additionne la taille des données reçues.

  1. Créez un fichier traffic_counter.js.
  2. Importez la bibliothèque de requêtes.
  3. Initialisez une variable totalBytes à zéro.
  4. Pour chaque réponse, récupérez l'en-tête content-length ou calculez la longueur du tampon de données.
  5. Ajoutez cette valeur à totalBytes.
  6. À la fin, affichez totalBytes divisé par 1 048 576 pour obtenir des mégaoctets.

Astuce : journalisez le poids de chaque requête individuellement, et pas seulement le total. Vous verrez ainsi immédiatement quelle URL consomme le plus et pourrez l'optimiser précisément.

Recoupement avec les statistiques de l'espace client

Votre compteur personnel et les statistiques du service proxy peuvent légèrement différer. C'est normal. Voici les raisons :

  • Le service compte tout le trafic de connexion, y compris les paquets de service et l'établissement du canal sécurisé.
  • Votre compteur ne prend en compte que la charge utile des réponses.
  • Les en-têtes de requêtes, les échanges DNS et les rétablissements de connexion ajoutent un léger surcoût.
  1. Lancez votre script sur 100 requêtes et notez le total de votre compteur.
  2. Connectez-vous à l'espace client du service proxy avant et après l'exécution.
  3. Relevez la différence des compteurs du tableau de bord.
  4. Comparez avec votre compteur. Un écart de 10 à 20 % est normal, ce sont les frais généraux de connexion.

⚠️ Attention : intégrez toujours le surcoût de connexion dans votre budget. La consommation réelle est presque toujours supérieure de 10 à 20 % à ce qu'indique le calcul de la charge utile côté client.

✅ Vérification : si votre compteur affiche une valeur proche de la différence relevée dans l'espace client, en tenant compte du surcoût, votre calcul est bien réglé et vous pouvez faire confiance à vos mesures.

Étape 2 : les techniques de base pour réduire le trafic

Objectif : appliquer des techniques simples qui réduisent la consommation sans code complexe. Commençons par les plus accessibles.

Astuce 1 : activer la compression avec Accept-Encoding

Les données textuelles (HTML, JSON, scripts) se compressent très bien. En demandant au serveur une réponse compressée, vous réduisez le trafic de 3 à 5 fois.

  1. Ajoutez l'en-tête Accept-Encoding avec les valeurs gzip, br, deflate à vos requêtes.
  2. La bibliothèque requests en Python le fait automatiquement et décompresse elle-même la réponse.
  3. Assurez-vous de ne pas avoir désactivé cette option manuellement.
  4. Vérifiez l'en-tête de réponse Content-Encoding : s'il contient gzip ou br, la compression fonctionne.

Ici, br signifie brotli, un algorithme plus récent qui compresse plus fort que gzip. La plupart des serveurs le prennent en charge. Pour utiliser brotli dans Python, installez le paquet brotli avec pip install brotli.

Astuce : la compression est gratuite en termes de trafic et quasiment gratuite en charge CPU. Gardez-la toujours activée. C'est la première chose à vérifier en cas de consommation élevée.

Astuce 2 : utiliser HEAD au lieu de GET

Lorsque vous n'avez besoin que des en-têtes – par exemple pour vérifier l'existence d'une page, connaître sa taille ou sa date de modification – utilisez une requête HEAD. Elle renvoie les en-têtes sans le corps.

  1. Au lieu de requests.get, appelez requests.head.
  2. Consultez les en-têtes souhaités dans response.headers.
  3. Le corps n'est pas transmis : l'économie atteint 99 % pour ce type de vérification.

Cas d'usage typiques pour HEAD : vérifier le statut des liens, déterminer la taille d'un fichier avant de le télécharger, contrôler la date de dernière modification pour un cache.

Astuce 3 : éliminer les redirections inutiles

Chaque redirection est une requête-réponse complète supplémentaire. Si le site redirige systématiquement de http vers https ou d'une adresse vers une autre, vous payez pour des allers-retours inutiles.

  1. Utilisez directement l'adresse finale : avec https et sans les slashs superflus.
  2. Si vous savez que l'adresse redirige vers www, adressez-vous directement à la version www.
  3. Dans la bibliothèque, vous pouvez désactiver le suivi automatique des redirections avec le paramètre allow_redirects défini sur False pour contrôler le processus manuellement.
  4. Cartographiez les redirections une fois, puis allez directement aux adresses finales.

Astuce 4 : désactiver le chargement des images et médias dans les requêtes simples

Quand vous travaillez avec la bibliothèque requests plutôt qu'avec un navigateur, vous ne chargez plus les images automatiquement. requests ne récupère que l'URL que vous avez spécifié. C'est un énorme avantage par rapport au navigateur.

Si vous n'avez besoin que du HTML, requests.get vous renverra le HTML sans les images, car ce sont les navigateurs qui chargent les images via des requêtes séparées à partir des liens contenus dans le HTML. La bibliothèque ne le fait pas, à moins que vous ne le lui demandiez explicitement.

Astuce : pour la collecte de données textuelles, préférez les bibliothèques HTTP simples au navigateur. L'économie de trafic est automatique et considérable, car vous ne chargez ni médias, ni polices, ni traceurs.

✅ Vérification : comparez le poids d'une même page chargée via requests et via le navigateur. La différence est généralement de 10 à 30 fois en faveur de la requête simple.

Étape 3 : travailler avec un navigateur headless et bloquer les ressources

Objectif : apprendre à bloquer les types de ressources lourds dans le navigateur. C'est le gain de trafic le plus important lorsque le navigateur est indispensable.

Quand le navigateur est nécessaire

Parfois, impossible de se passer du navigateur : les données sont chargées par des scripts après l'ouverture de la page, il y a une protection contre les requêtes simples, ou le contenu est généré dynamiquement. Dans ce cas, le navigateur charge tout et le trafic explose. La solution : intercepter et bloquer les types de ressources inutiles.

Bloquer les ressources avec Playwright

Playwright permet d'intercepter chaque requête du navigateur et de décider de la laisser passer ou de l'annuler. Nous allons annuler les images, les polices, les médias et les styles.

  1. Créez un fichier browser_saver.py.
  2. Importez sync_playwright depuis playwright.sync_api.
  3. Lancez le navigateur en mode headless.
  4. Créez un contexte avec les paramètres du proxy via le paramètre proxy.
  5. Installez un gestionnaire de routes avec page.route sur toutes les URL.
  6. Dans le gestionnaire, vérifiez le type de ressource via request.resource_type.
  7. Si le type fait partie de la liste des ressources à bloquer, appelez route.abort.
  8. Sinon, appelez route.continue_.

La liste des types à bloquer dans une tâche classique de collecte de texte : image, media, font, stylesheet. On peut parfois bloquer aussi une partie des scripts, mais prudence : sans eux, le contenu risque de ne pas se charger.

Exemple de logique du gestionnaire

Le gestionnaire reçoit un objet requête. Vous prenez request.resource_type et le comparez à la liste des éléments bloqués. Si la ressource est une image ou une police, vous l'annulez et le navigateur ne consomme pas de trafic pour elle. S'il s'agit d'un document ou d'un script nécessaire, vous le laissez passer.

Point important : bloquer les images, les médias et les polices ne casse presque jamais la collecte de données textuelles, mais permet d'économiser l'essentiel du trafic. Commencez par ceux-là et n'ajoutez le blocage des scripts et des styles qu'après avoir vérifié que la page fournit toujours les données voulues.

Bloquer les ressources avec Puppeteer dans Node

  1. Activez l'interception des requêtes avec page.setRequestInterception réglé sur true.
  2. Abonnez-vous à l'événement request.
  3. Dans le gestionnaire, vérifiez request.resourceType.
  4. Pour les images, les polices et les médias, appelez request.abort.
  5. Pour le reste, appelez request.continue.

⚠️ Attention : le blocage des styles peut parfois gêner le contenu dynamique qui dépend de la visibilité des éléments. Si les données disparaissent après le blocage des styles, remettez stylesheet dans la liste des éléments autorisés.

Astuce : ajoutez un compteur des requêtes bloquées et autorisées. Vous constaterez en chiffres que 80 à 90 % des requêtes sont bloquées, et c'est une économie directe.

Économies supplémentaires dans le navigateur

  • Désactivez le chargement des images au niveau des paramètres du contexte, si le moteur le permet.
  • N'ouvrez pas d'onglets superflus, chacun charge son propre ensemble de ressources.
  • Fermez la page dès que les données sont récupérées, ne la laissez pas ouverte.
  • Réutilisez un même contexte de navigateur pour une série de pages plutôt que de le relancer.

✅ Vérification : lancez le navigateur avec et sans blocage sur une même page, comparez le trafic avec votre compteur. L'économie devrait être de 70 à 90 %. Si c'est moins, vérifiez que le gestionnaire de routes se déclenche bien.

Étape 4 : mise en cache et déduplication des requêtes

Objectif : cesser d'aller chercher deux fois la même chose. Les requêtes répétées pour des données inchangées, c'est de l'argent jeté par les fenêtres.

Pourquoi les répétitions se produisent

Dans les grosses tâches, une même ressource est souvent demandée à plusieurs reprises : script commun à toutes les pages, liens dupliqués, redémarrage d'un script planté depuis le début. Chaque répétition, c'est du trafic que vous payez à nouveau.

Un simple cache de réponses

  1. Créez un dictionnaire ou une base locale où la clé est l'URL et la valeur est la réponse.
  2. Avant chaque requête, vérifiez si l'URL est dans le cache.
  3. Si oui, récupérez les données depuis le cache, sans requête réseau.
  4. Si non, effectuez la requête et enregistrez la réponse dans le cache.
  5. Pour un cache persistant entre les exécutions, sauvegardez les réponses dans des fichiers ou dans une base locale.

Ce cache est particulièrement efficace si vous déboguez un script et l'exécutez plusieurs fois de suite. Les deuxième et suivantes exécutions lisent les données depuis le disque et ne consomment aucun octet de trafic réseau.

Déduplication de la liste d'URL

  1. Avant de commencer, rassemblez toutes les URL dans une liste.
  2. Convertissez la liste en ensemble pour supprimer les doublons.
  3. Normalisez les adresses : retirez les paramètres superflus, mettez-les sous une forme uniforme avec les slashs.
  4. Ne traitez que les adresses uniques.

Astuce : les doublons sont souvent masqués par différents paramètres en fin d'adresse qui ne changent pas le contenu. Coupez les balises de suivi et de tri avant de comparer, et le nombre d'URL uniques diminuera considérablement.

Les requêtes conditionnelles pour économiser

Si vous vérifiez périodiquement les mêmes pages, utilisez des requêtes conditionnelles. Le serveur renverra la réponse complète uniquement si les données ont changé.

  1. Lors de la première requête, enregistrez les en-têtes ETag et Last-Modified de la réponse.
  2. Lors des requêtes suivantes, renvoyez-les dans les en-têtes If-None-Match et If-Modified-Since.
  3. Si les données n'ont pas changé, le serveur renvoie une réponse courte avec le statut 304, sans le corps.
  4. Vous économisez tout le poids du corps, en ne payant qu'un petit en-tête.

✅ Vérification : après la mise en place du cache, une nouvelle exécution du script sur les mêmes données doit afficher un trafic proche de zéro. Si le trafic reste élevé, vérifiez que la vérification du cache se fait avant la requête réseau, et non après.

Étape 5 : calculer le budget de trafic

Objectif : apprendre à prévoir la consommation et à prévoir une marge pour ne pas vous retrouver à sec en plein milieu de la tâche.

La formule de base

La formule de base est simple : le trafic total est égal au nombre de pages multiplié par le poids moyen d'une page. Mais le diable se cache dans les détails, et nous allons les prendre en compte.

  1. Déterminez le poids moyen d'une page traitée après toutes les optimisations.
  2. Multipliez-le par le nombre de pages prévu.
  3. Ajoutez le surcoût de connexion – environ 15 %.
  4. Ajoutez une marge pour les répétitions et les erreurs – encore 20 %.
  5. Le résultat est votre budget de trafic réaliste.

Comment mesurer le poids moyen

  1. Lancez votre script optimisé sur un échantillon de 50 à 100 pages.
  2. Calculez le trafic total avec votre compteur.
  3. Divisez par le nombre de pages : vous obtenez le poids moyen d'une page.
  4. Utilisez ce chiffre dans la formule, pas des suppositions théoriques.

Exemple de calcul

Disons qu'après le blocage des médias, le poids moyen d'une page est de 150 Ko. Vous devez traiter 100 000 pages. Calcul : 150 Ko multipliés par 100 000 donne 15 000 000 Ko, soit environ 14,3 Go. On ajoute 15 % de surcoût et 20 % de marge, soit environ 19,5 Go. C'est ce volume qui doit guider votre choix de forfait.

Comparez avec une situation sans optimisation : si chaque page pesait 3 Mo, ces mêmes 100 000 pages donneraient 300 Go. Un facteur quinze, c'est tout simplement la différence sur la facture.

Astuce : faites toujours un essai sur un petit échantillon avant le lancement complet. Le poids moyen mesuré est plus fiable que toute hypothèse et vous évitera une mauvaise surprise à la facturation.

⚠️ Attention : n'oubliez pas la marge. Les tâches réelles réservent toujours des surprises : certaines pages seront plus lourdes, certaines requêtes devront être rejouées. Un budget sans marge s'épuise au pire moment.

Tableau des techniques d'économie

Voici un récapitulatif des principales techniques : combien chacune vous fait économiser et ce que cela vous coûte.

  • Compression gzip et brotli – économise 60 à 80 % sur les données textuelles – contre une légère charge CPU lors de la décompression.
  • Préférer une bibliothèque HTTP au navigateur – économise 90 à 95 % – mais vous ne pourrez pas obtenir les données chargées par des scripts.
  • Bloquer les images et les médias dans le navigateur – économise 50 à 70 % – contre un réglage d'interception des requêtes, avec un risque minime.
  • Bloquer les polices – économise 5 à 10 % – pour un coût quasi nul, les polices ne sont pas nécessaires aux données.
  • Bloquer les scripts et les styles – économise 15 à 25 % – avec le risque que le contenu ne se charge pas, d'où l'importance d'un test.
  • HEAD à la place de GET – économise jusqu'à 99 % sur les requêtes de vérification – mais vous n'obtenez pas le corps de la réponse.
  • Éliminer les redirections – économise 10 à 30 % sur les sites à redirections – contre un temps passé une fois à cartographier les adresses.
  • Mise en cache des réponses – économise jusqu'à 100 % sur les répétitions – contre de l'espace disque pour le cache.
  • Déduplication des URL – économise 10 à 40 % en présence de doublons – contre une normalisation unique de la liste.
  • Requêtes conditionnelles avec ETag – économise jusqu'à 99 % quand les données sont inchangées – contre le stockage des marqueurs de version.

✅ Vérification : calculez le budget avec la formule et comparez-le au solde de votre forfait. Si la marge tient, vous pouvez démarrer. Sinon, revenez aux techniques d'économie et réduisez le poids moyen des pages.

Étape 6 : quand choisir l'illimité plutôt que le paiement au volume

Objectif : choisir honnêtement le forfait adapté à votre tâche, sans payer trop cher à cause d'une mauvaise solution de tarification.

Quand le paiement au gigaoctet est avantageux

  • La tâche est ponctuelle ou rare, avec des volumes faibles.
  • Vous avez bien optimisé votre trafic et vous connaissez précisément votre consommation.
  • Le poids moyen des pages est faible grâce au blocage des médias.
  • Les pics de charge sont rares, la majeure partie du temps le trafic est faible.
  • Vous tenez à la transparence : vous payez exactement ce que vous utilisez.

Quand l'illimité à prix fixe est avantageux

  • La tâche est continue, avec des volumes importants et stables.
  • Vous êtes obligé de travailler via un navigateur et de charger des pages lourdes.
  • Vous avez besoin d'images, de vidéos ou d'autres médias lourds dans le cadre de la tâche.
  • La consommation est imprévisible et peut fortement augmenter.
  • Vous appréciez la tranquillité d'esprit : un paiement fixe sans risque de dépassement.

Comment calculer le point de bascule

  1. Prenez le prix au gigaoctet du forfait au volume.
  2. Prenez le prix du forfait illimité pour la même période.
  3. Divisez le prix de l'illimité par le prix au gigaoctet : vous obtenez le volume en gigaoctets à partir duquel les forfaits sont équivalents.
  4. Si votre prévision de consommation est supérieure à ce volume, prenez l'illimité.
  5. Si elle est inférieure, optez pour le paiement au volume.

Par exemple, si l'illimité équivaut à 50 Go au tarif à l'unité, alors au-delà de 50 Go consommés, l'illimité est moins cher. En dessous, le paiement au volume est plus avantageux. Votre budget mesuré à l'étape 5 vous donne immédiatement la réponse.

Astuce : optimisez d'abord votre trafic, puis choisissez votre forfait. Une bonne optimisation vous fait souvent passer de la zone illimitée à la zone du paiement à l'unité, et vous fait économiser une somme conséquente.

Une stratégie combinée

Parfois, l'idéal est de cumuler deux approches : les tâches textuelles légères sur un forfait à l'unité, et les tâches lourdes basées sur navigateur sur un forfait illimité. Séparer selon le type de tâche est souvent plus rentable qu'un forfait unique pour tout.

✅ Vérification : calculez les deux options en argent pour votre prévision réelle. Vous devez obtenir un montant d'économie concret grâce au bon choix. Si la différence est minime, prenez le forfait le plus simple à gérer.

Vérification du résultat : liste de contrôle

Parcourez la liste pour vous assurer que vous avez bien configuré le suivi et l'économie de trafic.

  • Le compteur de trafic en Python ou Node se lance et affiche des chiffres sans erreur.
  • Les valeurs du compteur concordent avec les statistiques de l'espace client, ajustées du surcoût.
  • La compression est activée dans les requêtes et les réponses contiennent Content-Encoding gzip ou br.
  • Pour les vérifications, vous utilisez HEAD plutôt que GET.
  • Vous allez directement aux adresses finales sans redirections inutiles.
  • Pour les tâches textuelles, vous utilisez une bibliothèque HTTP plutôt qu'un navigateur, quand c'est possible.
  • Dans le navigateur, le blocage des images, médias et polices est configuré.
  • Un cache de réponses est en place : une nouvelle exécution consomme presque aucun trafic.
  • La liste d'URL est débarrassée des doublons.
  • Le budget a été calculé avec la formule et une marge de 15 à 20 %.
  • Le forfait choisi correspond à la consommation prévue.

Comment tester

  1. Lancez le script optimisé sur un échantillon de 100 pages.
  2. Relevez le trafic avant et après dans l'espace client.
  3. Divisez par le nombre de pages et comparez avec le poids moyen de votre calcul.
  4. Si c'est cohérent, le système fonctionne, vous pouvez passer à l'échelle.

✅ Vérification : si l'essai tient dans le budget prévu pour 100 pages, vous êtes prêt pour le lancement complet. Multipliez le résultat par l'échelle et vérifiez que le solde est suffisant.

Erreurs courantes et solutions

Passons en revue les problèmes fréquents rencontrés lors du suivi et de l'économie de trafic.

Erreur 1 : le compteur affiche moins que l'espace client

Cause : vous ne comptez que le corps des réponses, alors que le service prend en compte tous les échanges réseau avec le surcoût. Solution : intégrez un correctif de 15 à 20 % et considérez cela comme normal, pas comme un bug.

Erreur 2 : la compression ne fonctionne pas

Cause : le paquet brotli n'est pas installé, ou Accept-Encoding a été désactivé manuellement. Solution : installez le paquet brotli, vérifiez les en-têtes de la requête et assurez-vous que la réponse contient Content-Encoding.

Erreur 3 : les données disparaissent après le blocage des ressources

Cause : vous avez bloqué des scripts ou des styles dont dépend le chargement du contenu. Solution : remettez script et stylesheet dans les éléments autorisés, ne bloquez que image, media et font.

Erreur 4 : le trafic ne baisse pas avec le cache

Cause : la vérification du cache se fait après la requête réseau, pas avant. Solution : vérifiez d'abord le cache et ne faites une requête réseau qu'en l'absence de données.

Erreur 5 : le navigateur consomme du trafic même avec le gestionnaire

Cause : le gestionnaire de routes est appliqué à un mauvais modèle d'URL ou après le début du chargement. Solution : installez l'interception avant l'ouverture de la page et sur toutes les URL avec l'astérisque.

Erreur 6 : la consommation réelle est bien supérieure aux prévisions

Cause : le poids moyen est tiré de la théorie, pas d'un essai réel. Solution : mesurez toujours le poids moyen sur un échantillon réel avant un lancement important.

Erreur 7 : le budget s'est épuisé en cours de tâche

Cause : aucune marge n'est prévue pour les répétitions et le surcoût. Solution : ajoutez 35 % de marge totale à votre prévision et surveillez le solde en continu.

Erreur 8 : de nombreuses requêtes répétées pour une même adresse

Cause : des doublons dans la liste d'URL à cause de balises différentes à la fin de l'adresse. Solution : normalisez les adresses, coupez les paramètres de suivi et transformez la liste en ensemble.

Fonctionnalités supplémentaires et optimisation

Une fois l'économie de base en place, vous pouvez en tirer encore plus.

Traitement en flux des grosses réponses

Si la réponse est volumineuse mais que seule une partie vous intéresse, lisez-la en flux et interrompez la lecture dès que vous avez ce qu'il faut. Vous éviterez ainsi de télécharger tout le fichier. C'est utile lorsque les données se trouvent au début d'un gros document.

Limiter la taille de la réponse

Définissez une taille maximale de réponse que vous acceptez de recevoir. Si le serveur envoie plus, interrompez le téléchargement. C'est une protection contre les pages soudainement lourdes qui pourraient consommer beaucoup de trafic d'un coup.

Traitement par lots et parallélisme

Les requêtes parallèles n'économisent pas le trafic en elles-mêmes, mais elles permettent d'accomplir la tâche plus vite et d'identifier plus tôt un problème de consommation. Gardez un nombre raisonnable de connexions simultanées pour conserver le contrôle du trafic.

Journalisation et suivi en temps réel

  1. Tenez un compteur de trafic en direct et affichez-le toutes les quelques centaines de requêtes.
  2. Définissez un seuil qui arrête le script lorsqu'il est atteint.
  3. Ainsi, vous ne dépasserez jamais votre budget sans vous en rendre compte.

Astuce : l'arrêt automatique sur limite de trafic est la meilleure assurance. Le script s'arrêtera tout seul au seuil défini, rendant tout dépassement impossible, même en cas d'erreur de logique.

N'utiliser que les fragments d'API nécessaires

Si les données sont disponibles via une API, ne demandez que les champs nécessaires, lorsque cela est pris en charge. De nombreuses interfaces permettent de spécifier les champs à renvoyer, ce qui réduit fortement le poids de la réponse par rapport à l'extraction complète.

FAQ : questions fréquentes sur l'économie de trafic

Le trafic sortant est-il compté avec un paiement au gigaoctet ?

En général, les deux sont comptés, mais le trafic sortant (vos requêtes) est bien inférieur au trafic entrant (les réponses du serveur). Les plus grosses économies se font toujours sur le trafic entrant.

Quelle est la précision du calcul côté client ?

La précision est d'environ 85 à 95 % par rapport au trafic réseau réel. La différence vient du surcoût de connexion. Pour la planification du budget, c'est suffisant si vous prévoyez un correctif.

Peut-on se passer totalement du navigateur ?

Pour de nombreuses tâches de collecte de texte, oui. Une simple bibliothèque HTTP suffit et économise beaucoup de trafic. Le navigateur n'est nécessaire que lorsque le contenu est généré par des scripts après le chargement de la page.

La compression est-elle activée par défaut ?

Dans la plupart des bibliothèques modernes, oui, mais une vérification s'impose. Pour brotli, un paquet séparé peut être nécessaire. Vérifiez toujours l'en-tête Content-Encoding dans la réponse.

Que bloquer en priorité dans le navigateur ?

Commencez par les images, les médias et les polices – c'est le gain le plus important et le plus sûr. Ne bloquez les scripts et les styles qu'après avoir vérifié que les données se chargent toujours.

Comment savoir si le budget suffira ?

Mesurez le poids moyen d'une page lors d'un essai, multipliez par le nombre de pages, ajoutez 35 % de marge, puis comparez avec le solde de votre forfait. Si ça tient, c'est suffisant.

Le cache aide-t-il pour un passage unique ?

Pour un passage unique sans répétitions, l'intérêt est limité, mais il est très utile pour le débogage et les relances. Les requêtes conditionnelles et la déduplication aident même en un seul passage.

Quoi choisir pour de gros volumes constants ?

En règle générale, l'illimité à prix fixe. Calculez le point de bascule : divisez le prix de l'illimité par le prix au gigaoctet et comparez avec votre prévision de consommation.

Le nombre de redirections affecte-t-il la facture ?

Oui, chaque redirection est une requête-réponse supplémentaire. Sur les sites avec des chaînes de redirections, supprimer les étapes inutiles économise une part notable du trafic.

Comment éviter de dépasser son budget par accident ?

Configurez un compteur en direct et un arrêt automatique dès que le seuil de trafic est atteint. Le script s'arrêtera de lui-même, rendant tout dépassement impossible, même en cas d'erreur.

Conclusion

Vous êtes passé de l'incompréhension de votre consommation de trafic à un contrôle total. Vous savez désormais décomposer le poids d'une page en composants et constatez que l'essentiel du poids ne vous sert à rien. Vous avez configuré un compteur de trafic et le recoupez avec les statistiques de l'espace client. Vous appliquez la compression, utilisez HEAD plutôt que GET, supprimez les redirections et préférez les bibliothèques HTTP légères au lourd navigateur.

Quand le navigateur est incontournable, vous bloquez les images, les médias et les polices, et réduisez le trafic de 70 à 90 %. Vous mettez les réponses en cache et ne repassez pas deux fois au même endroit. Et surtout, vous calculez votre budget avec une formule et une marge, et choisissez votre forfait en connaissance de cause, pas au hasard.

Et maintenant ?

  1. Intégrez les techniques de base dans votre projet actuel dès aujourd'hui.
  2. Faites un essai et mesurez le poids moyen réel des pages.
  3. Recalculez votre budget et changez de forfait si nécessaire.
  4. Configurez l'arrêt automatique par limite comme filet de sécurité.

Économiser le trafic est une compétence rentable sur chaque projet. Une fois que vous avez investi du temps dans le suivi et l'optimisation, vous paierez beaucoup moins pour le même résultat. Commencez petit, mesurez l'effet en chiffres, et vous serez surpris de voir à quel point le même travail peut coûter moins cher.