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.
Le 26 décembre 2017 à 09h35
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 à 09h55
#1
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
#2
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
#3
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
#4
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
#5
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
#6
Le 26/12/2017 à 10h57
#7
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
#8
Le 26/12/2017 à 11h26
#9
Le 26/12/2017 à 11h51
#10
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
#11
Le 26/12/2017 à 12h11
#12
Le 26/12/2017 à 12h30
#13
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
#14
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
#15
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
#16
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
#17
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
#18
Le 26/12/2017 à 12h54
#19
Une idée aussi géniale que l’API pour standardiser les DRM " />
Le 26/12/2017 à 12h55
#20
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
#21
Le 26/12/2017 à 13h00
#22
Si c’est standardisé, ça devient aussi beaucoup plus simple à bloquer. " />
Le 26/12/2017 à 13h08
#23
Le 26/12/2017 à 13h25
#24
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
#25
oui…c’est la face cachée de la N.du Net. ! " />
Le 26/12/2017 à 13h36
#26
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
#27
ok thanks, c’est dans les spécifs html5 ?
me souviens pas de ça.
Le 26/12/2017 à 13h47
#28
Le 26/12/2017 à 13h47
#29
Doc MDN
Le 26/12/2017 à 13h52
#30
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
#31
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
#32
donc oui, attributs html5.
" />
Le 26/12/2017 à 14h02
#33
" />
Le 26/12/2017 à 14h05
#34
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
#35
Techniquement, oui.
Le 26/12/2017 à 14h33
#36
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
#37
Le 26/12/2017 à 15h34
#38
hélas, c’est des commerçants…….avant tout !
et non-pas des techniciens-informaticiens ! " />
Le 26/12/2017 à 15h42
#39
Le 26/12/2017 à 15h42
#40
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
#41
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
#42
… 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
#43
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
#44
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
#45
If you are blonde
Then a forte poitrine
Else you m’intéresse
😅😅😅😅
Le 26/12/2017 à 20h21
#46
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
#47
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
#48
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
#49
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
#50
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
#51
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
#52
Le 27/12/2017 à 15h30
#53
Options, vie privée et sécurité, protection contre le pistage > toujours
Le 27/12/2017 à 17h01
#54
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
#55
Les actionnaires de Google sont aussi des internautes, donc la firme ne ment pas " />
Le 28/12/2017 à 10h46
#56
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
#57
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
#58
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
#59
Le 28/12/2017 à 15h29
#60
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
#61
Le 28/12/2017 à 16h31
#62
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
#63
Le 01/01/2018 à 18h24
#64
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.