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. En savoir plus à propos de HTTP Archive.
La mission du Web Almanac est de faciliter l’accès de la communauté Web au jeu de données de HTTP Archive en permettant aux expert·e·s du domaine d’y associer leur regard contextuel. On peut le considérer comme un référentiel annuel des connaissances sur l’état du web, 2019 étant sa première édition.
L’édition 2019 du Web Almanac repose sur quatre piliers : le contenu, l’expérience utilisateur, la publication et la distribution. Chaque partie du rapport constitue un pilier et se compose de chapitres explorant ses différents aspects. Par exemple, la Partie II représente l’expérience utilisateur et comprend les chapitres Performance, Sécurité, Accessibilité, SEO, PWA et Web mobile.
À 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 2019 du Web Almanac, sauf indication contraire dans le chapitre, tous les paramètres ont été obtenus à partir de l’index de juillet 2019. Ces résultats sont publiquement requêtables sur BigQuery dans des tables préfixées par 2019_07_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.
Sites Web
Il y a 5 790 700 sites Web dans l’ensemble de données. Parmi ceux-ci, 5 297 442 sont des sites Web mobiles et 4 371 973 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 juillet 2019 et utilisé par le Web Almanac, a utilisé la dernière version disponible du Chrome UX Report, mai 2019 (201905), pour sa liste de sites Web. Cet ensemble de données a été publié le 11 juin 2019 et reflète les sites Web visités par les utilisateurs de Chrome pendant le mois de mai.
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 datacenter 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é.
Mesures
HTTP Archive collecte des 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/75.0.3770.100 Safari/537.36 PTST/190704.170731 | 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/190628.140653 |
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 75.
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 datacenter 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. Le script sur-mesure almanac.js collecte plusieurs métriques qui sont autrement impossibles à calculer comme, par exemple, celles qui dépendent de l’état du DOM.
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 juillet 2019, HTTP Archive a utilisé la version 5.1.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 |
* Notez que Lighthouse est normalement configuré pour avoir un ralentissement CPU de 4x, mais en raison d’un bug dans WebPageTest, il était de 1x au moment des tests.
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 65 catégories de technologies testées, allant des frameworks JavaScript, aux plates-formes CMS, en passant par les mineurs de cryptomonnaie. Plus de 1 200 technologies sont prises en charge.
HTTP Archive la dernière version de Wappalyzer sur toutes les pages. En juillet 2019, Web Almanac utilisait la version 5.8.3 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 juillet 2019 (201907).
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.
Processus analytique
La planification et l’exécution du Web Almanac ont pris environ un an, avec la coordination de dizaines de contributeurs de la communauté Web. Cette section décrit pourquoi nous avons choisi les indicateurs que vous voyez dans le Web Almanac, comment ils ont été consultés et interprétés.
Réflexion préalable
L’idée du Web Almanac en né en janvier 2019 sous la forme d’une publication sur le forum HTTP Archive décrivant l’initiative et appelant aux soutiens. En mars 2019, nous avons créé un document public de réflexion dans lequel n’importe qui dans la communauté web pourrait écrire des idées pour des chapitres ou des métriques. Il s’agissait d’une étape cruciale pour s’assurer que nous nous concentrions sur les choses qui comptent pour la collectivité et que nous incluions un ensemble diversifié de voix dans le processus.
À la suite de ce remue-méninge, 20 chapitres ont été confirmés et nous avons commencé à l’affectation d’expert·e·s et de relecteur·ice·s, ainsi que de pair·e·s pour les relecteurs inhérentes à chaque chapitre. Ce processus comportait un biais inhérent lié à la difficulté d’amener les bénévoles à s’engager dans un projet de cette envergure. Ainsi, de nombreux contributeurs et contributrices sont membres des mêmes milieux professionnels. 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.
De mai à juin 2019, nous avons demandé à de nombreuses personnes leur avis sur les chapitres et obtenu leurs commentaires, ce qui nous a permis de finaliser, pour chaque chapitre, la liste des indicateurs qui le composeront.
Analyse
En juin 2019, une fois obtenue la liste finale des paramètres et chapitres, des analystes ont trié les indicateurs en fonction de leur difficulté d’obtention. Dans certains cas, des indicateurs personnalisés devaient être créés pour combler les lacunes de nos capacités analytiques.
Tout au long du mois de juillet 2019, le pipeline de données HTTP Archive a parcouru plusieurs millions de sites Web, rassemblant les métadonnées utilisées par le Web Almanac.
À partir d’août 2019, les analystes ont commencé à rédiger des requêtes pour extraire les résultats pour chaque indicateur. Au total, 431 requêtes furent écrites à la main ! Vous pouvez parcourir toutes les requêtes, chapitre par chapitre, dans le répertoire sql/2019 du dépôt Github de ce projet.
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 2019 du Web Almanac est la première de ce que nous espérons être une tradition annuelle d’introspection et d’investissement positif au sein de la communauté Web. Parvenir à ce résultat a demandé un effort monumental de la part de nombreux 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 2020 du Web Almanac, n’hésitez pas à nous le dire via ce formulaire. Nous serions ravi·e·s d’entendre vos idées pour rendre ce projet encore meilleur !