Google Page Speed

L’équipe performance de Yahoo! a fait un boulot extraordinaire concernant la performance web, et continue à le faire. On lui doit beaucoup de recherches inédites, les premières publications à la masse de développeurs, Yslow, Smushit… Google ne pouvait pas être en reste, surtout que Steve Souders, le monsieur performance de Yahoo!, est passé à Google depuis un bon moment.

Voilà donc Page Speed, en gros un Gslow avec quelques règles en plus et une ergonomie différente. On y trouve les même préconisations, avec un système de vérification automatique similaire.

Les mieux

  • Vérification automatique de la compression des images (un petit équivalent smushit bienvenu), avec mise à disposition des fichiers recompressés
  • Pourcentage d’utilisation du contenu des CSS, avec la liste des sélecteurs non utilisés dans la page
  • Une règle pour inciter à préciser les dimensions des images pour éviter d’avoir à refaire plusieurs reflow dans la page
  • Identification des sélecteurs CSS inefficaces (mais ils ont l’air un peu trop radical là dessus pour moi)
  • Minification des javascripts (on vous propose la version minifiée pour remplacer la votre)
  • Proposition pour retarder le chargement de javascript

Clairement il y a du bon. Mais surtout il y a un nouvel outil pour tracer le graphique en cascade des téléchargements. Celui de Page Speed propose tout ce qu’à Firebug 1.4 (DNS, connexion, queue, attente, téléchargement) mais on y ajoute les ressources prises depuis le cache (cache hit), une couleur spécifique à l’envoi de la requête (différente de l’attente de la réponse) et deux couleurs pour le temps d’analyse et le temps d’exécution des javascript. On a là le graphique en cascade le plus complet parmis tous les outils que j’ai vu jusqu’à présent. Ce sera un plaisir de travailler dessus.

Et le moins bon

Au niveau du mauvais il manque certaines règles et fonctions par rapport à Yslow2 :

  • L’utilisation d’un CDN
  • Présence de 404
  • Présence d’AlphaImageLoader
  • Redimensionnement des images dans le navigateur
  • Règle spécifique au favicon
  • Externalisation des composants
  • Des notes plus précises

Des notes plus précises ça peut paraître inutile (Page Speed n’a que les catégories : bon, mauvais, moyen et informatif) mais c’est indispensable quand on ne travaille pas seul, ou quand la direction souhaite avoir un aperçu de l’avancement. Quand bien même une note sur 100 n’est pas extraordinairement pertinente, elle montre un avancement, permet de prioritiser les efforts entre plusieurs sites. Même la note Yslow de A à F est importante pour cela. Page Speed demande de compter les points en rouge et les points en vert pour se faire une idée, sans savoir lesquels sont vraiment importants et lesquels non. Bref, c’est un manque sérieux pour une réelle exploitation en entreprise.

Ouverture et extensibilité

Mais surtout il manque l’extensibilité de Yslow2. Implémenter les quelques règles supplémentaires de Google Page Speed dans Yslow 2 doit être faisable en une semaine de travail au plus, seul le graphique en cascade représente un réel développement non reprenable.

Et du coup c’est un peu décevant. Je suis un éternel idéaliste mais un tel outil est compréhensible au début. Google Page Speed arrive en dernier, après plusieurs autres outils. Il aurait été agréable de soit étendre l’existant (mais je suppose que la rivalité Google/Yahoo! a pris le pas sur les belles paroles d’ouverture et de « on veut aider les gens ») au au moins de prévoir d’être soi-même extensible (vu que Yslow 2 l’est).

Heureusement le code lui-même est sous licence libre (ceci est un appel du pied à Stoyan Stefanov à propos de Smushit), mais c’est tout de même dommage qu’ils aient loupé le coche de l’ouverture.

Compatibilité

Seconde note : La compatibilité avec Firefox 3.5 ou Firebug 1.4 est pour l’instant assez mauvaise, je ne sais pas lequel des deux est le coupable, mais testez sur un Firefox 3.0 avec Firebug 1.3 pour pouvoir tout utiliser. C’est dommage d’ailleurs parce que vu ce que m’apportent Firefox 3.5 et Firebug 1.4 au jour le jour, quand bien même ils sont en version de développement, je n’aime pas avoir à choisir entre eux et un autre bon outil.

Oui mais, mieux ou moins bien ?

Là il va falloir attendre. Je n’ai pas pu résister à publier un premier de billet de présentation. C’est un peu d’excitation mais aussi que sinon on va m’envoyer des liens vers Page Speed jusqu’à ce que je publie quelque chose. Pour la réelle analyse, savoir si les règles mises en place sont pertinentes (est-ce que regarder la complexité des sélecteurs CSS est une bonne chose ?), si les réglages fins sont corrects (si oui, qu’est-ce qu’on considère comme un sélecteur CSS complexe ?), il va falloir un bon mois de retour d’expérience. À dans un mois donc…

Publié par edaspet

Plus d'informations sur mon profil en ligne

7 réponses sur « Google Page Speed »

  1. Ne pas oublier que la personne à l’origine de Yslow est probablement la même que celle à l’origine de Page Speed : Steve Souders (et le second n’est pas révolutionnaire par rapport au premier).

  2. Je n’ai testé que sur quelques pages mais certaines informations me semblent assez intéressantes (j’ai particulièrement apprécié les relevés « Leverage browser caching » et « Leverage proxy caching », même si les délais recommandés me semblent bien trop long), dommage que ce soit tellement peu pratique à lire.

    Chose « marante », dans mes tests une bonne partie des problèmes remontés par l’outil concernent ou sont provoqués par Google Analytics. Notamment les cookies de GA qui sont placés sur l’ensemble des sous domaines du site.

  3. La règle « Parallelize downloads across hostnames » n’est elle pas l’équivalent du CDNetwork ?

  4. Pas tout à fait pour les CDN. Tu peux gérer plusieurs (sous-)domaines sans forcément utiliser un CDN. Maintenant oui, si tu utilises un CDN, par la force des choses tu auras bien au moins deux domaines parallèles.

    @Favico: ok, je vais voir, tant mieux. Ca n’apparai(ssai)t pas sur leur site web ni sur mes quelques tests mais je n’avais peut être pas testé de « mauvais » site de ce point de vue.

    @Olivier: Les systèmes de pub et de trackings sont parmi les plus mauvais élèves du web du point de vue des performances.
    GA par exemple utilise un javascript bloquant pour s’initialiser alors que dans 90% des cas ça aurait été mieux et aussi simple de passer par une méthode dynamique d’insertion du javascript.

Les commentaires sont fermés.