En mars 2016, une équipe issue du MIT et d’Harvard présentait un algorithme réduisant de 34 % le temps de chargement des pages Web. Baptisé Polaris, il détermine le séquençage du téléchargement des objets qui composent une page afin de raccourcir les délais. Rédigé en JavaScript, ce programme pourrait fonctionner avec n’importe quel site Internet et sans imposer de modifier les navigateurs Internet. On aimerait avoir des nouvelles de Polaris...

au sommaire


    Article publié le 11 mars 2016

    À l'époque pas si lointaine des modems RTC, les sites Internet pouvaient mettre plusieurs minutes à se charger et personne n'y trouvait à redire. Aujourd'hui, à l'heure des connexions à haut débit, quelques secondes de retard à l'allumage suffisent pour qu'un internaute s'impatiente et aille visiter un autre site. Alors bien sûr, lorsque des spécialistes assurent qu'ils peuvent réduire d'un tiers le temps de chargement des pages Web avec un algorithme en JavaScript, on tend l'oreille avec intérêt.

    Il s'agit d'une équipe réunissant des chercheurs du CSAIL (Computer Science and Artificial IntelligenceIntelligence Laboratory) du MIT (Massachusetts Institute of Technology) et de l'université d'Harvard qui a conçu cet algorithme baptisé Polaris. Il est capable de réduire de 34 % le temps de chargement d'une page Web sans recourir à un système de compression, simplement en mettant de l'ordre dans le téléchargement des éléments d'une page.

    Lorsque l'on appuie sur la touche Entrée du clavier après avoir saisi une URL ou que l'on clique sur un lien hypertexte, le navigateurnavigateur Internet se connecte à un serveurserveur quelque part dans le monde pour récupérer les objets qui composent la page Web : fichiers JavaScript, feuilles de stylefeuilles de style CSS, fichiers HTMLHTML, photographiesphotographies, contenus FlashFlash, etc.

    Le chargement d'une page Web ne se fait pas en une seule fois. Elle comporte en effet divers éléments interdépendants qui nécessitent autant d'échanges entre le navigateur Internet et le serveur qui héberge le site. © Iunewind, Shutterstock

    Le chargement d'une page Web ne se fait pas en une seule fois. Elle comporte en effet divers éléments interdépendants qui nécessitent autant d'échanges entre le navigateur Internet et le serveur qui héberge le site. © Iunewind, Shutterstock

    Les sites Web peuvent contenir des milliers de « dépendances »

    Chacune de ces ressources correspond à une requêterequête sur le réseau. Or, lorsqu'un objet s'intègre à une page, il en appelle d'autres en même temps. Ce sont ces « dépendances » qui peuvent ralentir le chargement car le navigateur ne sait pas à l'avance quels objets annexes il va devoir traiter. Sur certains sites Web complexes, il peut ainsi y avoir des milliers de dépendances qui occasionnent autant d'allers-retours sur le réseau.

    C'est là qu'intervient PolarisPolaris, en dressant une cartographie de ces dépendances et interdépendances dont le navigateur Internet va se servir pour télécharger plus efficacement les éléments de la page. Ce processus se déroule avant même que la page ne commence à être chargée. L'algorithme a été testé avec 200 sites Internet dans différentes configurations réseau. Il a donc permis de réduire le temps de chargement en moyenne de 34 %. Qui plus est, l'efficacité de Polaris augmente avec la complexité des sites Web.

    Le recours aux graphes de dépendances n'est pas une nouveauté dans le domaine du développement logiciellogiciel et les concepteurs de Polaris l'admettent bien volontiers. Mais ils expliquent que leur méthode de comparaison lexicale entre les dépendances est plus fine.

    L'autre avantage important est que l'algorithme est écrit en JavaScript, ce qui signifie qu'il peut être implanté dans n'importe quel serveur pour accélérer le chargement des sites Web qu'il héberge. De plus, les navigateurs Internet n'auraient pas besoin d'être modifiés. Les chercheurs doivent présenter leurs travaux lors d'un symposium Usenix qui se tient la semaine prochaine en Californie.