Optimiser les performances d un site web. Nicolas Chevallier Camille Roux



Documents pareils
TP JAVASCRIPT OMI4 TP5 SRC

Programmation Web. Madalina Croitoru IUT Montpellier

Performance Front-End

Développement des Systèmes d Information

Jean-Pierre VINCENT Consultant indépendant

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Optimisation de son site web. v1 23/05/2014

Petite définition : Présentation :

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Devenez un véritable développeur web en 3 mois!

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

Présentation du Framework BootstrapTwitter

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

{less} Guide de démarrage

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

UN SITE WEB RESPONSIVE EN UNE HEURE?

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Joomla! Création et administration d'un site web - Version numérique

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Introduction à. Oracle Application Express

BES WEBDEVELOPER ACTIVITÉ RÔLE

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

PHP 5.4 Développez un site web dynamique et interactif

Intégrer des médias. Plateforme e-tourisme. demo.minisites.encharentemaritime.com

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Architectures web/bases de données

Media queries : gérer différentes zones de visualisation

HTML, CSS, JS et CGI. Elanore Elessar Dimar

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

CRÉER SON SITE INTERNET. Créer son site Internet. Méd de Roanne. FG 16/09/08

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

les techniques d'extraction, les formulaires et intégration dans un site WEB

Bien architecturer une application REST

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Gestion d identités PSL Exploitation IdP Authentic

Réglages du portail de P&WC

Initiation à html et à la création d'un site web

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Guide de réalisation d une campagne marketing

Formation HTML / CSS. ar dionoea

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Guide d utilisation. Version 1.1

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

Performance, rendement Vs Evolutivité

FileMaker Server 12. publication Web personnalisée avec XML

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Avanquest Software présente la nouvelle gamme WebEasy 8

Application Web et J2EE

Tutoriel pour la création d'un Google Sites

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Créer une base de données vidéo sans programmation (avec Drupal)

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

et Groupe Eyrolles, 2006, ISBN :

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Optimiser les s marketing Les points essentiels

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

Logiciels de référencement

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

SARL DDLX Multimédia Place du général de Gaule Boisseron Tèl : support@ddlx.org. Agence Web. Design Prestashop personnalisé

marketing BUROSCOPE TIW

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

WordPress : principes et fonctionnement

Programmation Web. Introduction

OFFRE DE SERVICE.

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

STID 2ème année : TP Web/PHP

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

Pour en expliquer le principe, on se limitera à deux exemples :

Spécificités Techniques créations publicitaires

Caruso33 : une association à votre service

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Livret 1 Poste de travail de l utilisateur :

Le service de création de site Internet : Mode d emploi. La Création de Site Internet

K-Portal et K-Sup 5.1 des nouveautés. Détails

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Utiliser un CMS: Wordpress

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Transcription:

Optimiser les performances d un site web Nicolas Chevallier Camille Roux

Intellicore Tech Talks Des conférences pour partager son savoir Le mardi au CICA Sophia Antipolis http://techtalks.intellicore.net Aujourd hui la 14ème conférence Vous voulez participer? techtalks@intellicore.net

Optimiser les performances d un site web Nicolas Chevallier Camille Roux

Sommaire Optimisation de chaque page Optimisation de la navigation Optimisations complémentaires

Introduction > Pourquoi optimiser un site? Bande passante Charge serveur L'expérience utilisateur Très facile à mettre en place

Introduction > Sur quels paramètres agir? Site % Chargement du HTML Skyrock 4,7 Orange 3,8 Free 6,2 Dailymotion 5,3

Optimisation de chaque page

CSS Scripts Images Poids total Requêtes Skyrock 2 7 90 431,1ko 116 Orange 1 11 54 230,3ko 36 Free 2 6 54 226,9ko 64 Dailymotion 1 3 41 256,8ko 47

Diminuer le nombre de requêtes

Diminuer le nb de requêtes > Regrouper scripts et CSS Tout regrouper "Compiler" les composants de chaque page Regrouper intelligemment les scripts

Diminuer le nb de requêtes > Réduire le nb d images Images réactives (image map) Images intégrées Sprites CSS

Diminuer le nb de requêtes > Images réactives Cas d'utilisation : plusieurs liens sur une même image <MAP NAME="DEMO"> <AREA SHAPE="RECT" HREF="partie1.php" COORDS="54,81,83,107"> <AREA SHAPE="CIRCLE" HREF="partie2.php" COORDS="70,126,15"> <AREA SHAPE="DEFAULT" HREF="default.php"> </MAP> <IMG ALIGN=MIDDLE SRC="image.gif" USEMAP="#DEMO">

Diminuer le nb de requêtes > Images intégrées <img src="data:image/gif;base64,r0l...qa7" width="20" height="20"> A éviter (incompatible avec IE)

Réduire la taille des composants

Réduire la taille des composantes > Introduction Supprimer les commentaires Réduire les URL Compresser les composants (gzip)

Réduire la taille des composantes > Compresser (1/2) A partir de HTTP/1.1 => Accept-Encoding : gzip, deflate <= Content-Encoding : gzip

Réduire la taille des composantes > Compresser (2/2) Consomme du temps CPU Compresser le texte HTML / XML /JSON CSS Scripts Ne pas recompresser Images PDF Vidéos Compresser si > 1-2ko

Réduire la taille des composantes > Compactage Pour CSS et JS Suppression des caractères inutiles: Espaces superflus Commentaires

Réduire la taille des composantes > Obfuscation Compactage + renommage des noms de variables et de fonctions Risques : Bugs Maintenance Debug

Réduire la taille des composantes > Résumé JS non compressé JS JS compacté JS obfuscé JS gzip compacté + gzip JS obfusqué + gzip 20,2 ko 13,7 ko 13,1 ko 5,8 ko 3,8 ko 3,7 ko 100% 67% 65% 29% 19% 18%

Placer les feuilles de style en début de page

Feuilles de style > Cas normal Affichage progressif de la page Rafraîchissement du contenu à chaque chargement de feuille de style Phénomène de scintillement de la page

Feuilles de style > Page Blanche CSS en bas de page IE Nouvelle fenêtre Actualisation Page d'accueil

Feuilles de style > <link> vs @import <link rel="stylesheet" href="/styles/css.css" type="text/css" media="screen" /> <style type="text/css"> @import url(/styles/css.css); </style>

Feuilles de style > @import Ordre de chargement non contrôlé Page blanche (même si en haut de la page) Moins rapide que <link> Pas compatible avec les vieux navigateurs Utiliser <link>

Déplacer les scripts en bas de page

Déplacer les scripts > Comparaison HTML Javascript Image Image HTML Image Image Javascript

Déplacer les scripts > Pourquoi ce phénomène? Pendant le chargement d'un script, le téléchargement en parallèle est désactivé Un script peut modifier la page (document.write) Garantie de l'exécution dans le bon ordre des scripts

Rappel Diminuer le nombre de requêtes Compresser le contenu Placer les feuilles de style en haut de la page Placer les scripts en bas de la page

Optimisation de la navigation

Optimisations de la navigation > Pas de mise en cache Requêtes inutiles Renvoi systématique du composant

Optimisations de la navigation > GET conditionnel Requêtes HTTP 304 si fichier non modifié Requêtes inutiles

Optimisations de la navigation > Entêtes d expiration Plus de requêtes Obliger de renommer le composant à chaque modif script_20080605.js plutot que script.js?20080605

Optimisations complémentaires

Optimisations complémentaires > Sprite CSS image1 image2... 10 images 6,1ko image css.sprite-anchor { background-position: 0-5px; }.sprite-accept { background-position: 0-26px; }.sprite-attach { background-position: 0-47px; }.sprite-error { background-position: 0-68px; }.sprite-exclamation { background-position: 0-89px; }.sprite-feed { background-position: 0-110px; }.sprite-email { background-position: 0-131px; }.sprite-comments { background-position: 0-152px; }.sprite-application_cascade { background-position: 0-173px; }.sprite-delete { background-position: 0-194px; } #container li { background: url(csg-4856bd30bc355.png) no-repeat top left; } css + 1 image 4,5 ko

Optimisations complémentaires > Sprite CSS

Optimisations complémentaires > Pré chargement Accès à la page 1 Accès à la page 2 Chargement Chargement Rendu Rendu Beacoup de temps inutilisé...

Optimisations complémentaires > Pré chargement Accès à la page 1 Accès à la page 2 Chargement Rendu Chargement Rendu Pré chargement html css js image Préchargement de 3 images avec MooTools : new Asset.images(['image1','image2','image3'], {});

Optimisations complémentaires > AJAX XML vs JSON JSON plus léger JSON plus rapide à parser/évaluer en javascript GET vs POST GET plus rapide et logique dans la plupart des cas Mettre en cache 5 minutes? 10 minutes? 1 heure?

En savoir plus Outils YSlow http://open.yahoo.com/yslow/ AOL PageTest http://pagetest.wiki.sourceforge.net/ Générateur de Sprite CSS Online http://spritegen.website-performance.org/ Générateur de Sprite CSS Java et PHP http://smartsprites.osinski.name/ Sites web Yahoo! Exceptionnal Performance http://developer.yahoo.com/performance/ Performance Web http://performance.survol.fr/

YSlow > Audit des performances

YSlow > Mise en cache

YSlow & AOL PageTest > Chargement d une page

Conclusion Optimiser! 1 ou 2 jours nécessaires Très simple à mettre en place Expérience utilisateur améliorée

Questions? Blog Intellicore Tech Talks http://techtalks.intellicore.net/ Blog de Camille Roux http://www.camilleroux.com/ Email Camille Roux contact@camilleroux.com Nicolas Chevallier nicolas.chevallier@b2b-net.com

WWW.INTELLICORE.NET Tous droits réservés Intellicore Services 2008