Tailing : Firefox 57 retarde les trackers pour accélérer les pages, une bonne approche ?
Mettre sous le tapis != faire le ménage
Le 26 décembre 2017 à 09h35
8 min
Logiciel
Logiciel
L'une des recettes de Firefox 57 pour réduire le temps de chargement des sites a été dévoilée par l'un de ses développeurs. Le navigateur retarde désormais certains scripts utilisés à des fins publicitaires, au profit du reste de la page.
Avec Firefox 57 Quantum, Mozilla a annoncé proposer une nouvelle version bien plus rapide que les précédentes. Une efficacité qui a demandé un travail de fond à de nombreux niveaux, comme nous avons déjà eu l'occasion de l'évoquer.
Mais il y a un terrain sur lequel la fondation s'était pour le moment assez peu étendue : celui de la gestion des scripts de pistage. En effet, si les développeurs de sites travaillent à rendre leurs créations toujours plus réactives, un élément vient perturber cet objectif ces dernières années, la multiplication des trackers.
if tracker then on verra plus tard
Du fait de l'automatisation publicitaire et de la massification de la collecte de données par des tiers, il n'est pas rare de voir une bonne centaine de scripts se charger au sein d'un site. Bien que cela se fasse le plus souvent de manière asynchrone (non bloquant pour le reste de la page), ils sont traités de la même manière qu'un script « utile ».
Ainsi, avec Firefox 57 Quantum, une nouvelle fonctionnalité a été introduite : le tailing. C'est en tous cas le nom que lui donne Honza Bambas, développeur tchèque qui travaille principalement sur la partie réseau du navigateur, et donc sur la gestion des ressources lors de leur chargement. Elle est en préparation depuis avril dernier.
Il détaille son fonctionnement au sein d'un billet de blog publié il y a quelques jours. On y apprend que les données utilisées pour la protection contre le pistage sont également exploitées afin de retarder le chargement de certains scripts.
« Les scripts de tracking ne sont pas désactivés, nous retardons simplement leur chargement de quelques secondes lorsque nous le pouvons. Les requêtes sont mises en attente seulement lorsque des ressources du site sont encore en cours de chargement, et pour un maximum de six secondes. Cela concerne uniquement les scripts ajoutés dynamiquement ou de manière asynchrone. Les pixels utilisés pour le pistage et les requêtes XHR sont systématiquement retardées, tout comme celles effectuées par un tracker. »
Pour aider les utilisateurs à comprendre ce qu'il se passe, il diffuse deux images où l'on voit une représentation des scripts liés au bon fonctionnement du site (en bleu), et ceux liés à du pistage (en orange), avec ou sans le tailing activé :
Du propre aveu de Bambas, cela n'est pas sans poser problème sur certains sites, notamment ceux « mal conçus » ou dont le rendu est lié au chargement de scripts accessibles via des domaines habituellement exploités pour le pistage.
Il donne ainsi l'exemple du site de L'Équipe, qui appelle l'API Twitter dans un script synchrone alors qu'elle est chargée de manière asynchrone. L'élément appelé n'étant pas présent, certaines fonctionnalités de la page sont inactives. Le développeur précise qu'aucun problème n'était apparent avant la mise en place du tailing « par chance », puisque les serveurs de Twitter étaient assez rapides pour répondre avant que le script n'effectue l'appel. Il note également que le problème se produit lorsque la protection contre le pistage est activée.
Second cas évoqué : celui du page-hiding snippet proposé par Google dans le cadre de son service de tests A/B Optimize. Les scripts sont chargés depuis le domaine www.google-analytics.com
qui est détecté comme une source de pistage, leur chargement va donc être retardé. Problème, pendant cette phase le contenu de la page a été rendu totalement transparent par le service, empêchant donc l'utilisateur d'en lire le contenu. Il aura donc l'impression que quelque chose se passe mal, du fait du fonctionnement de ce module de test et de la mise en place du tailing par Mozilla.
Une fonctionnalité paramétrable
Le délai de six secondes évoqué par le développeur n'est pas figé. En effet, dans les paramètres de Firefox via la section about:config
, on peut trouver quatre éléments rattachés au tailing, activé par défaut. Il est désactivable en passant network.http.tailing.enabled
sur false
.
Mais on retrouve également network.http.tailing.delay-max
, qui permet d'allonger ou raccourcir le délai maximal (en millisecondes) adjoint au chargement des scripts de pistage. Les deux derniers semblent indiquer un délai minimal, appliqués de manière générale (network.http.tailing.delay-quantum
) ou lorsque le contenu DOM de la page est chargé (network.http.tailing.delay-quantum-after-domcontentloaded
).
Tailing : bonne ou mauvaise idée ?
Reste une question à se poser : est-ce que la mise en place du tailing est une bonne chose ? Pour Mozilla, c'est le cas puisque cela fait apparaître Firefox 57 Quantum comme plus rapide. Ce, de manière assez simple et sans risque de se mettre l'industrie publicitaire à dos puisque les scripts continuent d'être chargés, avec quelques secondes de retard.
L'utilisateur y gagne également à court terme puisqu'il voit les sites qu'il visite s'afficher plus vite. Mais il y a un risque : lui donner l'impression que tout va mieux, alors que sur le fond, c'est loin d'être le cas. Car ici, on ne fait que mettre la poussière sous le tapis, plutôt que de régler sur le fond la question du pistage publicitaire massif, mené le plus souvent au détriment de la performance des sites (et sans le consentement de l'utilisateur).
Ainsi, un site avec peu ou pas de trackers pourra paraître comme aussi performant qu'un autre qui en est bourré. L'internaute ne pourra plus forcément les différencier, donc juger de l'attitude de chacun. La problématique n'est pas nouvelle, puisque l'on a bien vu dans le domaine publicitaire que cela revenait surtout à reculer pour mieux sauter.
Les internautes utilisent en effet de plus en plus des bloqueurs de publicité, et peuvent avoir l'impression que tous les sites se valent. Or, ce n'est pas le cas. Un site qui affiche peu de publicité voit ses espaces bloqués de la même manière que celui qui en est bourré, et l'utilisateur n'a aucun moyen de saisir la nuance une fois l'extension mise en place.
Une approche intéressante, mais incomplète
Bref, cela permet de limiter la casse en l'état, de composer avec les mauvaises pratiques des éditeurs et de leurs partenaires, notamment sur le terrain publicitaire. Mais cela ne suffira pas. Il faut informer l'internaute des pratiques des sites qu'il visite, mais surtout agir pour que ces derniers changent d'état d'esprit.
Bien que l'attitude de Google soit critiquable à bien des égards, la société semble avoir déjà fait ce choix à plusieurs niveaux. Le framework AMP avait par exemple banni JavaScript des sites mobiles, autorisant des fonctionnalités avancées seulement dans des conteneurs, là aussi chargés après le reste de la page. Profiter des avantages de ce format, c'était aussi faire le choix d'un type de pages qui impose de bonnes pratiques.
Le dispositif qui sera mis en place mi-février, visant à bannir la publicité des sites qui abusent de formats jugés comme problématiques par la Coalition for better ads, est elle aussi intéressante sur ce point. Bien qu'elle soit largement incomplète, notamment sur la question du pistage, elle vise aussi à imposer aux éditeurs de nouvelles règles en matière de pratiques publicitaires, qui vont dans le sens d'un plus grand respect de l'internaute.
Un terrain sur lequel Mozilla semble toujours hésiter à aller. La fondation se focalise encore trop souvent sur des solutions qui ne font aucune distinction sur les pratiques, sans chercher à distinguer les éditeurs qui sont dans une démarche vertueuse de ceux qui abusent de manière manifeste sur la question de la publicité et du pistage. Si l'on comprend que certains internautes optent pour une approche « tout ou rien », un navigateur se doit d'être un peu plus pragmatique.
Espérons que l'arrivée du Règlement général sur la protection des données (RGPD) et d'ePrivacy en mai permettront à Mozilla et à ses développeurs d'évoluer sur ce terrain, via des solutions qui vont dans le bon sens, pour tous. Le respect de la vie privée et la maitrise de l'environnement publicitaire seront de plus en plus un critère de choix dans les années à venir, et c'est peut-être là que se trouve l'une des clés de la reconquête de Firefox face à Chrome.
Tailing : Firefox 57 retarde les trackers pour accélérer les pages, une bonne approche ?
-
if tracker then on verra plus tard
-
Une fonctionnalité paramétrable
-
Tailing : bonne ou mauvaise idée ?
-
Une approche intéressante, mais incomplète
Commentaires (64)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 26/12/2017 à 14h02
" />
Le 26/12/2017 à 14h05
Y’a pas moyen de créer un tracker générique qui enverrait ensuite toutes les infos aux différentes saletés.
Comme cela y’a qu’un truc qui est chargé, suite a lui de repartir les données vers les autres machins.
Est-ce possible ? .
Le 26/12/2017 à 14h18
Techniquement, oui.
Le 26/12/2017 à 14h33
La rapidité est importante, mais pas suffisante : ce qui a fait le succès de Firefox face à MS Internet Explorer, c’est le paramétrage accessible et facilité du navigateur par l’utilisateur (le respect de l’utilisateur).
Le 26/12/2017 à 15h29
Le 26/12/2017 à 15h34
hélas, c’est des commerçants…….avant tout !
et non-pas des techniciens-informaticiens ! " />
Le 26/12/2017 à 15h42
Le 26/12/2017 à 15h42
Le succès de Firefox a l’époque était je pense dû à son support des onglets au début, sa vitesse JS relativement à IE6/7/8 et son support des extensions et respect des standards pour les poweruser influents.
Cependant le gros des utilisateurs ne touche pas aux paramètres et n’installe pas d’extension en dehors de Adblock.
Les fonctions de protection de la vie privée sont importantes mais ce n’est pas l’objet du trailing. Si Firefox se laisse trop distancer sur la vitesse plus personne ne l’utilisera quelque soient ses autres fonctionnalités.
Le 26/12/2017 à 15h45
Vu que c’est basé sur la même domain list que la Protection contre le pistage de Firefox, si on a activé cette option sur Toujours, le système de tailing présenté ici est inutile et tourne dans le vide ?
Le 26/12/2017 à 15h56
… c’est en faisant du Mozilla Firefox (avec sa propre ergonomie, ses propres
paramétrages de vie privée, son refus de l’exploitation massive des données de l’utilisateur, etc).
oui mais, de ça : “la masse”* n’en n’a pas conscience !
y-a qu’à voir leurs réponses quand tu leur parles de Neut. du Net,, Vie privée, etc…
* les gens en général
Le 26/12/2017 à 16h07
Tu as aussi l’option de ne pas aller sur les sites qui te trackent. Après tout, c’est leur droit d’en faire leur business model et c’est ton droit de le refuser. Il y a probablement des extentions qui t’avertissent quand tu arrives sur un site avec tracking activé.
Le 26/12/2017 à 16h21
C’est surtout la démarche “morale” qui m’interpelle. Que dirait-on d’un antivirus qui exécute le code du virus la nuit pour le pas perturber les performances de la journée de travail ?
Le 26/12/2017 à 18h18
If you are blonde
Then a forte poitrine
Else you m’intéresse
😅😅😅😅
Le 26/12/2017 à 20h21
Exact la gestion des onglets qui n’existait pas dans MS Internet Explorer. Perso, je me rappelle que Firefox bloquait les fenêtres “pop-up”, ces micro-fenêtres énervantes qui apparaissaient devant la fenêtre où se chargeait le site web qu’on cherchait à consulter.
Il y avait beaucoup d’autres paramétrages permis par Firefox et que MSIE permettait de manière très partielle voire pas du tout :Firefox VS Internet Explorer (IE)- 27/06/2007
Le 26/12/2017 à 21h02
Je suis d’accord avec le fait que le respect de la vie privée intéresse peu de monde. Ceci-dit, quand Firefox a permis de cocher une simple case pour que l’utilisateur puisse autoriser ou refuser les cookies de s’installer (avec liste d’exceptions, possibilité de suppression à la fin d’une session, etc), ça a permis à tout-un-chacun d’apprendre un peu mieux comment fonctionnait le web. Ça n’a pas empêché les publicitaires d’inventer de nouveaux moyens de pistages, et ça a permis une transparence salutaire pour l’internaute.
Bref, Firefox a sûrement perdu la bataille de la publicité ciblée intrusive face à Chrome.
Le 27/12/2017 à 06h21
Firefox a percé parce qu’IE était un dinosaure et que la concurrence n’était pas non plus très visible (Opera était encore un shareware/Adware et n’a jamais percé malgré sa supériorité technique).
Chrome a été diffusé comme un malware et s’est retrouvé en brouteur par défaut à la moindre installation d’un truc courant de PC (genre Flash à une époque). Sans oublier les bannières anxiogènes sur chaque site de la galaxie Google. “Houlalala votre navigateur est un dinosaure, installationnez le notre ! C’est pour votre bien et celui des bébés phoques”
Et la position dominante de Google sur le web n’aide pas.
A part pour les utilisateurs avertis, l’utilisateur restera passif dans le choix de son navigateur et prendra ce qu’on lui imposera. Que ce soit via l’éditeur, via une saleté qui l’embarque, ou via un copain kissikoné.
Le 27/12/2017 à 07h23
testé
rapide en effet, mais certains sites ou je vais régulièrement ne fonctionnent tout simplement plus
retour en arrière…
dommage.
Le 27/12/2017 à 07h40
Je comprends les réticences de NXI, mais plus de rapidité est toujours appréciable, même pour un utilisateur qui s’y connait plus.
Après, ça serait bien d’afficher quelque part le niveau de trackers etc en vert/jaune/rouge peut-être ?
Le 27/12/2017 à 09h49
C’est le cas, activé par défaut en navigation privée et activable pour la navigation normale dans les paramètres.
Le 27/12/2017 à 12h20
Le 27/12/2017 à 15h30
Options, vie privée et sécurité, protection contre le pistage > toujours
Le 27/12/2017 à 17h01
La solution de firefox relève peut être de l’opportunisme mais peut-on dire que l’entreprise Google n’a pas d’arrières pensées lorsqu’elle annonce défendre l’intérêt des internautes ?
Le 27/12/2017 à 20h39
Les actionnaires de Google sont aussi des internautes, donc la firme ne ment pas " />
Le 28/12/2017 à 10h46
J’adore la première figure : pas d’échelle, aucune légende, rien.
Bref, typiquement le genre de graphe qui ne veut rien dire. On trace des carottes en fonction du nombre de lapins méchants ? Le contraire ? L’axe positif est vers la droite ? la gauche ? le haut ? le bas ?
Le 28/12/2017 à 15h12
Bonne idée mais…
Ne risque t’on pas que se développe une pratique consistant à conditionner l’affichage d’une partie du site au chargement réussi des trackers?
Je dis peut être une bêtise, je ne suis plus très au fait du web malheureusement.
Le 28/12/2017 à 15h17
C’est un vrai problème, surtout quand on ne regarde que les images sans lire le texte au-dessus.
Le 28/12/2017 à 15h22
Le 28/12/2017 à 15h29
C’est un schéma explicatif de la planification du traitement des requêtes site (bleu) et tracker (orange). Pas besoin d’unité de temps puisque le but c’est de montrer le retardement relatif et pas absolu.
Heureusement que toutes les figures n’ont pas besoin d’échelle et d’axe, sinon ca complexifierait tous mes schémas UML. " />
Le 28/12/2017 à 16h20
Le 28/12/2017 à 16h31
N’importe quel poweruser de firefox (ou chrome) aura reconnu le “network monitor”) et comprend ce que représente ce schéma.
Si ce n’est pas ton cas (et j’en doute), c’est que cette partie de la news n’est pas faite pour toi.
Le 28/12/2017 à 16h38
Le 01/01/2018 à 18h24
Ces illustrations vont de paire avec le billet de blog mentionné dans l’article.
Elles servent à illustrer le propos sans autre indication de performance que la longueur des barres.
Là elles sont sorties de leur contexte (dans le blog c’set limpide).
Elles indiquent clairement (et je l’ai déduit sans même avoir lu l’article) que le chargement et l’affichage des éléments de la page (en bleu ici) sont plus rapides lorsque les trackers (en orange) sont chargés après.
Aucunement besoin d’échelle ou d’axe.
Les plus aguerris auront remarqué les lignes devant les rectangles de couleur : on comprends instantanément le sens de lecture de ces illustrations.
Le 26/12/2017 à 09h55
Le problème que peut rencontrer Mozilla, c’est qu’un ralentissement causé par des scripts de tracking lui soit reproché, alors que Firefox n’est évidemment pas en cause. Le problème se posait déjà il y a des années, avec les extensions mal codées qui bouffaient trop de RAM => “Firefox est trop gourmand”. Donc je comprends qu’il y ait besoin d’expliquer ce qui se passe sous le capot.
C’est bien que ce développeur explique clairement ce qu’il se passe, cela peut amener les choses à évoluer. Mai la MoFo approuve-t-elle cette explication publique ? Car cela semble venir d’une initiative personnelle du développeur, pas d’une communication officielle de l’éditeur. M’est avis que les publicitaires vont encore gueuler et faire du chantage pour que leurs scripts soient chargés aussi rapidement que les autres…
Personnellement, j’avais déjà remarqué le 1er bug évoqué, sur lequipe.fr. Je n’avais pas creusé la question de l’absence de contenu sur les pages de direct, même si je me doutais que cela provenait de la gestion de leur tracking, vu que ce site est une “référence”, et que j’ai les extensions qui permettent d’éviter ce tracking massif. Mais j’avais résolu le problème en changeant de site pour suivre les matchs, lequipe.fr se moque de ses visiteurs.
Le 26/12/2017 à 10h06
Oui comme dit, il y a une dimension courtermiste et d’apparence dans ce genre d’outils, ce qui m’inquiète surtout c’est de ne voir que ça de développé dans la stratégie de la MoFo pour le moment, et rien de nature à inciter au changement des pratiques.
Et comme tu le dis assez bien, on “découvre” cette fonctionnalité surtout parce qu’un développeur a pris l’initiative d’en parler sur son blog perso ;)
Le 26/12/2017 à 10h21
C’est marrant, j’avais remarqué que quand j’ouvrais des liens venant de mon lecteur de flux RSS ou autres, il y a un temps de latence au chargement de la page….
Ceci explique donc cela !
Le 26/12/2017 à 10h22
La Fondation Mozilla et sa filiale commerciale Mozilla corp «qui s’occupe du développement et du marketing du navigateur Mozilla Firefox.» vivent en partie de la publicité. Il m’est donc avis que la publicité intrusive et invasive ne soit pas la préoccupation de Mozilla, seulement que Mozilla souhaite un navigateur qui se démarque de Google Chrome.
Pas sûr que l’apparente rapidité de l’engin soit la solution à sa popularité (est-ce une condition sine qua non?).
Le 26/12/2017 à 10h49
Il donne ainsi l’exemple du site de L’Équipe, qui appelle l’API Twitter dans un script synchrone alors qu’elle est chargée de manière asynchrone.
Quel horreur. Je savais que le nouveau site de l’Équipe était nul mais à ce point…
Le 26/12/2017 à 10h52
Le 26/12/2017 à 10h57
Il faudrait un code de couleur sur l’onglet de la page en cours de chargement, genre fond bleu pendant le chargement “utile”, puis fond rouge pour le chargement du reste, puis retour au neutre quand le chargement est terminé.
cela donnerait une bonne approche visuelle de ce que contient la page chargée en terme de scripts utiles/publicitaires.
Ou un logo comme celui du haut parleur sur la page qui génère du son… bref, un truc comme ça.
Le 26/12/2017 à 11h10
Le 26/12/2017 à 11h26
Le 26/12/2017 à 11h51
Le soucis c’est que Firefox n’étant pas le numéro 1, il leur est difficile d’imposer des “bonnes pratiques”. Leur impact est faible par rapport à Chrome malheureusement. Google peut imposer des changements et qui seront suivis par peur de perdre ses visiteurs.
Le 26/12/2017 à 11h52
Le 26/12/2017 à 12h11
Le 26/12/2017 à 12h30
Prochaine étape, un processus en arrière-plan(daemon) qui collecte en permanence vos activités sur le web afin de ne pas pénaliser le processus d’affichage des pages.
C’est beau le progrès. " />
Le 26/12/2017 à 12h42
M’est avis que les publicitaires vont encore gueuler et faire du chantage pour que leurs scripts soient chargés aussi rapidement que les autres…
La neutralité du net n’a pas que des bons cotés… " />
Le 26/12/2017 à 12h42
C’est bien de la rapidité réelle puisque la page s’affiche vraiment plus vite, et c’est probablement le facteur différenciant no1 pour un navigateur..
Si Chrome a tant gagné de parts de marché c’est aussi parce qu’il est vraiment plus rapide que Firefox..
On utilise tellement le navigateur, une demi seconde de gagné par page, c’est des milliards de productivité en plus à l’échelle de la planète.
Le 26/12/2017 à 12h48
Ca pourrait être combiné avec un indicateur de performances du site, ou Firefox pourrait mettre la pression sur les sites trop consommateurs. Mais d’un autre côté comment distinguer un site qui consomme beaucoup de ressources parce qu’il en a besoin (une webapp par exemple) d’un site qui est juste mal optimisé ?
Perso je trouve la solution de Firefox élégante. Elle n’empêche pas le tracking d’être effectif (et efficace), elle améliore la vitesse de rendu de la page pour l’utilisateur, et elle ne coûte rien aux développeurs ni aux utilisateurs.
Le 26/12/2017 à 12h49
Tu rigoles mais avoir une API de tracking standardisée intégrée au navigateur permettrait à la fois d’économiser des ressources et de laisser le choix à l’utilisateur de ce qu’il laisse passer comme infos.
Le 26/12/2017 à 12h50
Le 26/12/2017 à 12h54
Une idée aussi géniale que l’API pour standardiser les DRM " />
Le 26/12/2017 à 12h55
Sauf quand t’as des sites qui sont codés sur ses mêmes mouchards, donc ça ralenti complètement l’exécution du site. Mais là, je dirais, « bien fait pour leur gueule », malheureusement on ira plus accusé le navigateur, que la malhonnête du site qui de toute façon avec un bloqueur de pub, souvent, déconne aussi.
Ça me fait penser à Gamekult dont leur sondage des awards ne fonctionnait pas avec Firefox à cause de ça :
Solution virer totalement les bloqueurs (ils peuvent aller se faire voir) ou utiliser Chrome.
Le 26/12/2017 à 12h57
Le 26/12/2017 à 13h00
Si c’est standardisé, ça devient aussi beaucoup plus simple à bloquer. " />
Le 26/12/2017 à 13h08
Le 26/12/2017 à 13h25
Sauf si le standard impose un flux montant (de collecte) pour récupérer un flot descendant (de navigation web)… un peu ce qu’impose le standard DRM actuel. " />
On peut imaginer un système de ratio, à l’instar de certains trackers torrent privés.
Le 26/12/2017 à 13h26
oui…c’est la face cachée de la N.du Net. ! " />
Le 26/12/2017 à 13h36
Perso je trouve la solution de Firefox élégante. Elle n’empêche pas le tracking d’être effectif (et efficace), elle améliore la vitesse de rendu de la page pour l’utilisateur..
Le 26/12/2017 à 13h45
ok thanks, c’est dans les spécifs html5 ?
me souviens pas de ça.
Le 26/12/2017 à 13h47
Le 26/12/2017 à 13h47
Doc MDN
Le 26/12/2017 à 13h52
Solution virer totalement les bloqueurs
ça…je l’ai remarqué aussi !
simplement, les “désactivé” NE leur suffit pas….il faut carrément les virer pour que, “certaines”,
fonctions marchent–>“qu’ils aillent au Diable”…non-mais !!! " />
Le 26/12/2017 à 13h54
Si mozilla est capable de différencier les scripts de tracking des autres, autant aller jusqu’au bout et proposer une option “don’t load tracking scripts”.
Le 26/12/2017 à 14h02
donc oui, attributs html5.
" />