Méthodologie
Vue d’ensemble
Le Web Almanac est un projet élaboré par HTTP Archive. HTTP Archive a été lancé en 2010 par Steve Souders avec pour mission d’étudier la manière dont le web est construit. Il évalue la composition de millions de pages Web sur une base mensuelle et met à disposition ses téraoctets de métadonnées pour analyse sur BigQuery.
La mission du Web Almanac est de devenir un répertoire annuel des savoirs publics concernant l’état du web. Notre objectif est de rendre les données de HTTP Archive encore plus accessibles à la communauté du web en demandant à des experts de fournir des explications contextualisées.
L’édition 2020 du Web Almanac est divisée en quatre parties : le contenu, l’expérience, la publication et la distribution. Dans chaque partie, plusieurs chapitres explorent leur thème principal sous différents angles. Par exemple, la partie II explore différents angles de l’expérience utilisateur dans les chapitres Performance, Sécurité et Accessibilité, entre autres.
À propos du jeu de données
Le jeu de données HTTP Archive est continuellement mis à jour avec de nouvelles données mensuelles. Pour l’édition 2020 du Web Almanac, sauf indication contraire dans le chapitre, tous les paramètres ont été obtenus à partir de l’index de août 2020. Ces résultats sont publiquement requêtables sur BigQuery dans des tables préfixées par 2020_08_01
.
Toutes les statistiques présentées dans le Web Almanac sont reproductibles publiquement à l’aide de l’ensemble de données sur BigQuery. Vous pouvez parcourir les requêtes utilisées par tous les chapitres dans notre dépôt GitHub.
Veuillez noter que certaines de ces requêtes sont assez volumineuses et peuvent être coûteuses à exécuter par vous-même, dans la mesure où BigQuery facture au téraoctet. Pour vous aider à contrôler vos dépenses, consultez l’article de blog de Tim Kadlec Utiliser BigQuery sans faire sauter la banque (en anglais).
Par exemple, pour obtenir le nombre médian d’octets de JavaScript servis sur les pages pour ordinateurs de bureau et périphériques mobiles, regardez 01_01b.sql:
#standardSQL
# 01_01b: Distribution of JS bytes by client
SELECT
percentile,
_TABLE_SUFFIX AS client,
APPROX_QUANTILES(ROUND(bytesJs / 1024, 2), 1000)[OFFSET(percentile * 10)] AS js_kbytes
FROM
`httparchive.summary_pages.2019_07_01_*`,
UNNEST([10, 25, 50, 75, 90]) AS percentile
GROUP BY
percentile,
client
ORDER BY
percentile,
client
Ces résultats statistiques peuvent être consultés publiquement dans des feuilles de calcul propres à chaque chapitre, par exemple voici les résultats pour JavaScript. Faites défiler le texte jusqu’au bas de chaque chapitre pour obtenir des liens vers les requêtes, les résultats et les commentaires des lecteurs et lectrices.
Sites Web
Il y a 7 546 709 sites Web dans l’ensemble de données. Parmi ceux-ci, 6 347 919 sont des sites Web mobiles et 5 593 642 sont des sites Web destinés aux ordinateurs de bureau. La plupart des sites Web sont inclus dans les deux sous-ensembles à la fois.
HTTP Archive puise les URLs à tester dans le Chrome UX Report. Chrome UX Report est un jeu de données public appartenant à Google qui regroupe des informations sur l’expérience des utilisateurs et utilisatrices de Chrome lors de leurs visites sur des millions de sites Web. Il nous fournit une liste de sites Web qui sont à jour et qui reflètent l’utilisation du Web dans le monde réel. Le jeu de données du Chrome UX Report comprend une dimension relative au type de matériel utilisé, que nous exploitons pour savoir si les sites sont consultés sur ordinateurs de bureau ou périphériques mobiles.
Le parcours de ces sites, réalisé par HTTP Archive en août 2020 et utilisé par le Web Almanac, a utilisé la dernière version disponible du Chrome UX Report pour sa liste de sites Web. Cet ensemble de données « 202006 » a été publié le 14 juillet 2020 et reflète les sites Web visités par les utilisateurs de Chrome pendant le mois de mai.
Il y a eu une croissance de 20 à 30 % des sites web analysés par rapport au nombre de sites analysés pour le Web Almanac 2019. Cette augmentation a été analysée par Paul Calvano dans son article Growth of the Web in 2020.
Ses ressources étant limitées, HTTP Archive ne peut tester qu’une seule page de chaque site Web dans le rapport Chrome UX. Pour cette raison, seules les pages d’accueil sont incluses. Attention, cela introduit un biais dans les résultats car une page d’accueil n’est pas nécessairement représentative de l’ensemble du site.
HTTP Archive est également considéré comme un outil de test synthétique, ce qui signifie qu’il teste les sites Web à partir d’un centre de données et ne collecte pas de données à partir d’expériences utilisateur réelles. C’est pourquoi toutes les pages d’accueil du site Web sont testées avec un cache vide, à l’état déconnecté, ce qui peut ne pas refléter la façon dont les réels utilisateurs et utilisatrices y auraient accès.
Indicateurs
HTTP Archive collecte des milliers d’indicateurs reflétant la manière dont le web est construit. Cette collecte inclut des mesures de base comme le nombre d’octets par page, si la page a été chargée en HTTPS ou non, et des en-têtes de requête et de réponse individuels. La majorité de ces indicateurs est fournie par WebPageTest, qui sert de test pour chaque site Web.
D’autres outils de test sont utilisés pour fournir des indicateurs avancés sur la page. Par exemple, Lighthouse est utilisé pour exécuter des audits sur la page afin d’analyser sa qualité dans des domaines comme l’accessibilité et le référencement. La section Outils ci-dessous décrit plus en détail chacun de ces outils.
Pour contourner certaines des limites inhérentes à un jeu de données issus de tests synthétiques, le Web Almanac utilise également le Chrome UX Report afin de récupérer des indicateurs relatifs à l’expérience utilisateur, notamment dans le domaine des performances Web.
Certaines informations restent totalement inaccessibles. Par exemple, nous ne sommes pas toujours en mesure de détecter les outils utilisés pour construire un site Web. Si un site Web est construit à l’aide de l’application create-react, nous pourrons dire qu’il utilise le framework React, mais pas nécessairement que cet outil de construction particulier a été utilisé. À moins que ces outils ne laissent des empreintes digitales détectables dans le code du site Web, nous ne pouvons pas mesurer leur utilisation.
Pour d’autres paramètres, la mesure n’est pas impossible mais elle est difficile à mesurer ou peu fiable. Par exemple, certains aspects de la conception Web sont intrinsèquement visuels et peuvent être difficiles à quantifier, comme le fait qu’une page ait une pop-in intrusive.
Outils
Le Web Almanac est rendu possible grâce aux outils open source suivants.
WebPageTest
WebPageTest est un outil de test de performance Web incontournable et l’épine dorsale de HTTP Archive. Nous utilisons une instance privée de WebPageTest avec des agents de test privés, c’est-à-dire de vrais navigateurs testant chaque page web. Les sites pour ordinateurs de bureau et périphériques mobiles sont testés avec différentes configurations :
Config | Bureau | Mobile |
---|---|---|
Matériel | Linux VM | Moto G4 Émulé |
User Agent | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 PTST/200805.230825 | Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4) Build/MPJ24.139-64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Mobile Safari/537.36 PTST/200815.130813 |
Emplacement |
Redwood City, Californie, États-Unis The Dalles, Oregon, États-Unis |
Redwood City, Californie, États-Unis The Dalles, Oregon, États-Unis |
Connexion | Cable (5/1 Mbps 28 ms de latence) | 3G (1.600/0.768 Mbps 300 ms de latence) |
Viewport | 1024 × 768 px | 512 × 360 px |
Les sites Web pour ordinateurs de bureau sont exécutés à partir d’un environnement de bureau Chrome sur une VM Linux. La vitesse du réseau est équivalente à celle d’une connexion par câble.
Les sites Web mobiles sont visités à partir d’un environnement Chrome mobile sur un appareil Moto G4 émulé avec une vitesse réseau équivalente à une connexion 3G. Notez que le User Agent mobile émulé s’identifie comme étant Chrome 65 mais est en réalité, Chrome 84.
Les tests sont effectués depuis deux localisations américaines : en Californie et en Oregon. HTTP Archive maintient l’ensemble des matériels servant aux tests au sein du centre de données Internet Archive situé en Californie. Si nécessaire des périphériques de test supplémentaires sont ajoutés depuis Google Cloud Platform, emplacement us-west-1, en Oregon.
L’instance privée de WebPageTest de HTTP Archive est synchronisée avec la dernière version publique et complétée par des indicateurs personnalisés. Ils sont collectés par des portions de JavaScript qui sont évaluées et exécutées sur chaque site web à la fin du test. Grâce aux contributions de nombreux analystes de données, notamment les efforts herculéens de Tony McCreath, l’édition 2020 du Web Almanac a considérablement élargi les capacités de l’infrastructure de test de HTTP Archive avec plus de 3000 nouvelles lignes de code.
Les résultats de chaque test sont disponibles sous la forme d’un fichier HAR, un fichier d’archive au format JSON contenant les métadonnées de la page Web.
Lighthouse
Lighthouse est un outil automatisé d’assurance qualité des sites Web construit par Google. Il vérifie les pages Web pour s’assurer qu’elles ne contiennent pas de mauvaises pratiques impactant l’expérience utilisateur comme des images non optimisées et du contenu inaccessible.
HTTP Archive utilise la dernière version de Lighthouse pour toutes ses pages Web mobiles – pas pour les pages sur ordinateurs de bureau pour limiter la consommation de ressources. À partir de l’exploration de août 2020, HTTP Archive a utilisé la version 6.2.0 de Lighthouse.
Lighthouse exécute son test au sein de WebPageTest, mais il utilise son propre profil de configuration :
Config | Valeur |
---|---|
Ralentissement CPU | 1x |
Débit descendant | 1,6 Mbps |
Débit montant | 0,768 Mbps |
Latence | 150 ms |
Pour plus d’informations sur Lighthouse et les audits disponibles dans HTTP Archive, reportez-vous à la section documentation de Lighthouse relative au développement.
Wappalyzer
Wappalyzer est un outil de détection des technologies utilisées dans les pages Web. Il y a 64 catégories de technologies testées, allant des frameworks JavaScript, aux plates-formes CMS, en passant par les mineurs de cryptomonnaie. Plus de 1 400 technologies sont prises en charge.
HTTP Archive la dernière version de Wappalyzer sur toutes les pages. En août 2020, Web Almanac utilisait la version 6.2.0 de Wappalyzer.
Wappalyzer fournit des informations que vous retrouverez dans de nombreux chapitres analysant la popularité des outils de développement comme WordPress, Bootstrap, et jQuery. Par exemple, les chapitres E-commerce et CMS s’appuient fortement sur les catégories de technologies E-commerce et CMS détectées par Wappalyzer.
Tous les outils de détection, y compris le Wappalyzer, ont leurs inconvénients. La validité de leurs résultats dépendra toujours de la précision de leurs mécanismes de détection. Le Web Almanac ajoutera une note dans chaque chapitre où le Wappalyzer est utilisé mais son analyse peut ne pas être précise pour une raison spécifique.
Chrome UX Report
Le Chrome UX Report est un jeu de données publiques sur les expériences réelles des utilisateurs de Chrome. Les expériences sont regroupées selon l’origine des sites Web, par exemple https://www.example.com
. Le jeu de données permet d’accéder à la distribution des expériences utilisateur relatives au rendu, au chargement, aux interactions et la stabilité de la disposition des éléments dans la page. En plus du regroupement par mois, les expériences peuvent également être découpées par dimensions comme la géographie du pays, le type de matériel (ordinateur de bureau, téléphone, tablette) et le type de connexion utilisé (4G, 3G, etc.).
Les indicateurs Web Almanac qui font référence à des données d’expérience utilisateur réelles sont tirés du rapport Chrome UX Report, plus précisément du jeu de données août 2020 (202008).
Pour en savoir plus sur l’ensemble de données, consultez le guide Using the Chrome UX Report on BigQuery sur web.dev.
Third Party Web
Third Party Web est un projet de recherche de Patrick Hulce, auteur du chapitre sur les Tierces Parties, qui utilise les données de HTTP Archive et Lighthouse pour identifier et analyser l’impact des ressources tierces sur le Web.
Un domaine est considéré comme un tiers s’il apparait sur au moins 50 pages différentes. Le projet regroupe également les fournisseurs de ressources tierces en fonction de leurs services respectifs dans des catégories telles que la publicité, la télémétrie et les réseaux sociaux.
Plusieurs chapitres du Web Almanac utilisent les domaines et les catégories de ce jeu de données pour comprendre l’impact des ressources tierces.
Rework CSS
Rework CSS est un analyseur CSS basé sur JavaScript. Il prend en entrées des feuilles de style entières et produit un objet JSON identifiant chaque règle de style, sélecteur, directive et valeur.
Cet outil dédié à l’analyse CSS a amélioré de manière significative la précision de beaucoup d’indicateurs dans le chapitre CSS. Pour rendre l’analyse possible, toutes les feuilles de style externes et les styles en ligne ont été parcourus et analysés. Voir ce fil de discussion pour plus d’informations sur la façon dont il a été intégré avec l’ensemble de données HTTP Archive sur BigQuery.
Rework Utils
Le chapitre CSS, dirigé cette année par Lea Verou, a examiné de manière beaucoup plus détaillée l’état du CSS, réparti sur 100+ requêtes. Pour mettre les choses en perspective, cela représente 2,5 fois plus de requêtes qu’en 2019. Pour rendre cette échelle d’analyse réalisable, Lea a ouvert les sources des Rework Utils. Ces utilitaires élèvent les données JSON de Rework à un niveau supérieur en fournissant des scripts utiles pour extraire plus facilement des informations CSS. La plupart des statistiques que vous voyez dans le chapitre CSS sont alimentées par ces scripts.
Parsel
Parsel est un analyseur de sélecteur CSS et un calculateur de spécificité, écrit à l’origine par la responsable du chapitre CSS, Lea Verou, et dont elle a ouvert le code source dans une bibliothèque distincte. Il est largement utilisé pour tous les indicateurs du CSS qui concernent les sélecteurs et la spécificité.
Processus analytique
La planification et l’exécution du Web Almanac ont pris environ un an, avec la coordination de plus d’une centaine de contributeurs et contributrices de la communauté Web. Cette section décrit pourquoi nous avons choisi les chapitres que vous voyez dans le Web Almanac, comment leurs mesures ont été interrogées et comment elles ont été interprétées.
Planification
Le Web Almanach 2020 a été lancé en juin 2020, un peu plus tard qu’en 2019 en raison des troubles liés au COVID-19 et des manifestations en faveur de la justice sociale. Ces événements et d’autres de 2020 ont été sous-jacents tout au long du processus de production et ont mis beaucoup de pression supplémentaire sur nos contributeurs et contributrices, au-delà du stress d’un projet aussi effréné que celui-ci.
Comme nous l’avons déclaré dans la Méthodologie de l’année dernière :
L’un des objectifs explicites des prochaines éditions du Web Almanac est d’encourager encore plus l’inclusion de voix sous-représentées et hétérogènes comme auteurs, autrices, relecteurs et relectrices.
Dans cette optique, nous avons apporté cette année des changements structurels à la manière dont nous recherchons et sélectionnons les auteurs et autrices :
- Les auteurs et autrices précédentes ont été spécifiquement dissuadés d’écrire à nouveau afin de faire place à des perspectives différentes.
- Il a été demandé à tous ceux qui soutiennent les auteurs de 2020 d’être particulièrement attentifs à ne pas nommer des personnes qui se ressemblent toutes ou qui pensent de la même façon.
- De nombreux auteurs de 2019 étaient des personnes employées de Google et cette année, nous avons essayé d’obtenir un meilleur équilibre des perspectives de la communauté du web au sens large. Nous pensons que les voix dans le Web Almanac doivent être le reflet de la communauté elle-même, et non pas être biaisées vers une entreprise spécifique pour éviter de créer des chambres d’écho.
- Les responsables du projet ont examiné toutes les nominations d’auteurs et d’autrices et se sont efforcés de sélectionner des personnes qui apportent de nouvelles perspectives et amplifient les voix des groupes sous-représentés dans la communauté.
Nous espérons réitérer ce processus à l’avenir afin de garantir que le Web Almanac soit un projet plus diversifié et inclusif avec des contributeurs et contributrices de tous horizons.
Enfin, en juillet 2020, après des cycles de brainstorming et de nominations, 22 chapitres ont été consolidés et nous avons formé des équipes chargées de la rédaction, de la révision et de l’analyse du contenu de chaque chapitre.
Analyse
En juillet et août 2020, ayant une liste bien établie de mesures et de chapitres, les analystes de données ont trié les mesures pour en déterminer la faisabilité. Dans certains cas, nous avons créé des mesures personnalisées pour combler les lacunes de nos capacités analytiques.
Tout au long du mois d’août 2020, le pipeline de données HTTP Archive a parcouru plusieurs millions de sites web, rassemblant les métadonnées à utiliser dans le Web Almanac.
Les analystes de données ont commencé à rédiger des requêtes pour extraire les résultats de chaque mesure. Au total, des centaines de requêtes ont été écrites à la main ! Vous pouvez parcourir toutes les requêtes par chapitre et année dans le dépôt des requêtes sur GitHub.
Interprétation
Les auteurs et autrices ont travaillé avec les analystes pour interpréter correctement les résultats et tirer les conclusions appropriées. Au fur et à mesure que ces personnes ont rédigé leurs chapitres respectifs, elles ont puisé dans ces statistiques pour étayer leur analyse de l’état du Web. Leurs confrères et consœurs chargés de la relecture ont travaillé avec elles pour s’assurer de l’exactitude technique de leur analyse.
Pour rendre les résultats plus facilement compréhensibles, l’équipe de développement Web et les analystes ont créé des visualisations de données à intégrer dans chaque chapitre. Certaines visualisations sont simplifiées pour faciliter la compréhension des conclusions. Par exemple, plutôt que de montrer un histogramme complet d’une distribution, seule une poignée de percentiles sont affichés. Sauf indication contraire, toutes les distributions sont résumées à l’aide de percentiles, surtout les médianes (50e percentile), et non les moyennes.
Enfin, l’équipe de rédaction a revu les chapitres pour corriger de simples erreurs grammaticales et assurer l’uniformité de l’expérience de lecture.
Perspectives
L’édition 2020 du Web Almanac est la deuxième de ce que nous espérons poursuivre comme une tradition annuelle dans la communauté du web d’introspection et d’engagement pour un changement positif. Pour en arriver là, un effort monumental a été fourni par de nombreux et dévoués contributeurs et contributrices et nous espérons pouvoir grandement tirer parti de ce travail pour faciliter les éditions futures.
Si vous souhaitez contribuer à l’édition 2021 du Web Almanac, n’hésitez pas à nous le dire via ce formulaire. Travaillons ensemble pour observer l’état du web !