5. Etats des lieux Perf Back-End 15% du temps passé 3% du temps passé Perf Front-End 85% du temps passé 97% du temps passé Web Source : http://www.webperformancetoday.com/2011/04/20/desktop-vs-mobile-web-page-load-speed/ Mobile
6. Pourquoi ? Référencement Satisfaction internautes Contenu important visible plus rapidement Diminuer les coûts d'hébergement / BP Bonnes pratiques de désign / intégration QOS
7. Crédibilité « Anypause beforeresponding to a simple question "doesthisdressmake me look big ?" qualifies the inevitableresponse"absolutelynot" as lesscertain. » Source : http://radar.oreilly.com/2011/04/why-speed-matters.html
26. Windows only Pas lié à un navigateur : capture le traffic web WaterfallCharts http://www.fiddler2.com/ Fiddler
27. Dynatrace Ajax Windows uniquement (IE/FF) Très précis pour le javascript Beaucoup de possibilités Version premium payante http://ajax.dynatrace.com/
28. Chrome Speed Tracer Sur la version de dév de Chrome Reflow/Repaint Très précis mais complexe Adapté aux applications « Ajax »
58. Images => CSS Remplacer les images de dégradé (pngtocss)et les bords arrondis par des équivalents CSS 3 https://github.com/bluesmoon/pngtocss
59. Regroupement CSS et Js intelligent Regrouper les multiples Js et Css en fonction du rubriquage de votre site.
60. Cache HTTP / Expires Définir une durée de cache pour chaque élément de vos sites : Ex : ExpiresByType dans la conf Apache http://httpd.apache.org/docs/2.0/mod/mod_expires.html
61. Javascript : Optimisation et blocage Utilisez FireBug / Speed Tracer / Dynatrace pour optimiser votre code Javascript. Eviter les scripts JsInline autant que possible ou regroupez les en fin de page. Utilisez des sélecteurs efficaces. Evitez les balises <script> dans le <head>, et préférez les avant le </body>
62. Javascript externe : Asynchrone Charger les scripts qui le permettent en Asynchrone afin de ne pas bloquer le chargement des autres éléments. var e = document.createElement('script’);e.async= true;e.src = document.location.protocol + '//connect.facebook.net/fr_FR/all.js’;document.getElementById('fb-root').appendChild(e);
63. Optimisation et positionnement CSS Utilisez PageSpeed pour modifier les sélecteurs non optimisés. Réduisez la taille de vos feuilles de style au maximum.
67. Compression Gzip / Keep-Alive Gzip permet de gagner 70% sur la taille des éléments de la page. Le keep-alive permet l’établissement de connexions permanentes.
68. Compression CSS et Javascript Pour le JS : Closure Compiler, YUICompressor http://code.google.com/intl/fr-FR/closure/compiler/ , http://developer.yahoo.com/yui/compressor/ Pour les CSS : CssCompressor (PHP) https://github.com/codenothing/css-compressor/
70. Widgets ou scripts Tiers Attention à l’intégration des widgets Facebook, Twitter, ou tags Adsense & co …Lazyload / Cron … http://stevesouders.com/p3pc/
71. Commentaires conditionnels IE Paralleliser les CSS sur IE en cas de commentairesconditionnels dans le <head> <!--[if IE]><![endif]--> => 0,2s gagnée sur le StartRender http://webforscher.wordpress.com/2010/05/20/ie-6-slowing-down-ie-8/
72. Feuille de style Print Ajouter la CSS print dans la CSS globale avec : @media print { … }
74. HTTP Archive : le standard Viewer : http://code.google.com/p/harviewer/ Format : http://groups.google.com/group/http-archive-specification Supporté par : http://groups.google.com/group/http-archive-specification/web/har-adopters?hl=en
75. HTTP Archive : le site Statistiques diverses sur les performances Web récoltées via les mesures publiques WebPageTest http://www.httparchive.org
76. Pour continuer Nouvelle métrique : Abovethe Fold Time (AFT) sur WPT. Google Analytics (mesures des performances) Service d’optimization : Strangeloop / Yottaa / Blaze.io / CloudFlare / Torbit … Audit de performances
77. Conclusion/Thanks to WebperfGuru’s : StoyanStefanov / Steve Souders Webperf Fr : Eric Daspet @edasfr, Vincent Voyer @zeroload & many more Le Webperf Group Fr : https://groups.google.com/group/performance-web?hl=fr #webperf sur Twitter EvenFasterWebsites (Livre) High Performance Websites (Livre) …