Corrélation entre le temps de rendu et la complexité CSS

On en a parlé plusieurs fois. Le temps de reflow d’un navigateur est dépendant de la complexité des feuilles de style, et particulièrement de la complexité des sélecteurs CSS.

Google Page Speed y fait référence mais si vous voulez être convaincus il faut aller voir la présentation de Steve Souders aux conférences Velocity 2009. À l’écran 75 on trouve un graphique qui vérifie la corrélation entre le nombre de règles CSS, le nombre de sélecteurs complexes, et le temps nécessaire au reflow. Continuer la lecture

Publié dans Performance | Marqué avec , , , , , | 9 commentaires

Even Faster : 2 – Reactive web app

Le second chapitre de « Even Faster Web Sites » m’a plus satisfait que le premier.Second chapitre. Il est nommé « créer des applications web réactives » et rédigé par Ben Galbraith and Dion Almaer, les fondateurs de ajaxian (vous connaissez forcément pas mal de mes liens pointent là bas).

Il n’y a plus de phrase qui accroche le lecteur, ce qu’on rapporte chez soi dépend du niveau d’implication qu’on souhaite y mettre, mais là nous avons un vrai chapitre d’informations techniques. Continuer la lecture

Publié dans Performance | Marqué avec , , , , , , , , , , , | Laisser un commentaire

Quelle cible de performance ?

Il faut surveiller les performances, mais quelles limites se poser ? Quelle cible doit avoir votre application pour être considérée statisfaisante ?

L’année dernière je reprenais ici même les chiffres de Jackob Nielsen, lui même les reprenant d’autres études qui remontent jusqu’en 68. On ne parle pas en effet que de site web. Puisque ces paliers sont liés à l’humain, ils sont similaires quel que soit le type d’interface.

On m’a posé récemment la question des cibles de réactivité à avoir pour un site web. Dans le même temps j’ai vu que Ben Galbraith et Dion Almaer, les fondateurs d’Ajaxian, reprennent eux aussi Jackob dans « Even Faster Web Sites ».

Aussi il est peut être temps d’expliciter mes cibles habituelles. Continuer la lecture

Publié dans Performance | Marqué avec , , , , , , | 7 commentaires

Even Faster : 1 – ajax

Je vous avais dit que je ferai un retour sur le dernier livre de Steve Souders, « Even Faster Web Sites ». On commence par un chapitre qui n’est pas rédigé par Steve lui même, mais par Douglas Crockford, « Ajax Performance ». De l’Ajax par Douglas Crockford, ça donne envie.

En fait Douglas y parle plutôt de compromis entre la performance et le reste, ainsi que de l’importance des mesures avant de savoir quoi optimiser. On ne parle pas vraiment d’Ajax. Continuer la lecture

Publié dans Performance | Marqué avec , , , , | Un commentaire

Petit exemple de mise en pratique

Voici un petit exemple de comment mettre en place les bonnes pratiques de cache et de concaténation des fichiers javascripts. L’article date de 2006 mais n’a pas pris une ride.

On y retrouve une réflexion sur comment regrouper les fichiers javascripts entre eux et comment les compresser. La note sur mod_gzip est toutefois assez contestable. Il est désormais sans risque d’activer mod_gzip ou mod_deflate, et ceux qui veulent absolument éviter tout risques peuvent trouver facilement sur internet des listes d’exclusions pour cibler les navigateurs défectueux.

La politique de cache est intéressante à étudier. Ils ont évité les paramètres en ?xxx et ont choisit de versionner le nom de fichier directement. Pour éviter d’avoir à créer un fichier par version, c’est à mod_rewrite qu’il revient de faire la liaison entre l’url et le fichier à jour. Les adresses main.v27.css et main.v256.css mènent toutes vers le même fichier main.css, toujours à jour.

Au final ils passent encore par un script PHP pour délivrer leurs fichiers javascript et css au lieu d’utiliser mod_expires, mais vous avez une expérience concrête, et reproductible en une journée pour améliorer vos performances.

Publié dans Performance | Marqué avec , , , , | 2 commentaires