78
Comment optimiser la performance de vos sites et applications Web ?

Comment améliorer la performance de vos sites et applications web présentation

Embed Size (px)

Citation preview

Page 1: Comment améliorer la performance de vos sites et applications web    présentation

Comment

optimiser la performance de vos sites et applications Web ?

Page 2: Comment améliorer la performance de vos sites et applications web    présentation

Pourquoi ?

Page 3: Comment améliorer la performance de vos sites et applications web    présentation

La perception des utilisateurs évolue

Page 4: Comment améliorer la performance de vos sites et applications web    présentation

Les mobiles sont de plus en plus utilisés

Page 5: Comment améliorer la performance de vos sites et applications web    présentation

Comment ?

Page 6: Comment améliorer la performance de vos sites et applications web    présentation

Étude de cas

Page 7: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation d’Unify

Page 8: Comment améliorer la performance de vos sites et applications web    présentation

Étape 1

Analyser

Page 9: Comment améliorer la performance de vos sites et applications web    présentation

WebPagetest

Page 10: Comment améliorer la performance de vos sites et applications web    présentation
Page 11: Comment améliorer la performance de vos sites et applications web    présentation
Page 12: Comment améliorer la performance de vos sites et applications web    présentation
Page 13: Comment améliorer la performance de vos sites et applications web    présentation
Page 14: Comment améliorer la performance de vos sites et applications web    présentation

PageSpeed Insights

Page 15: Comment améliorer la performance de vos sites et applications web    présentation
Page 16: Comment améliorer la performance de vos sites et applications web    présentation
Page 17: Comment améliorer la performance de vos sites et applications web    présentation
Page 18: Comment améliorer la performance de vos sites et applications web    présentation

Étape 2

Optimiser

Page 19: Comment améliorer la performance de vos sites et applications web    présentation

Utilisation de Node.js

Page 20: Comment améliorer la performance de vos sites et applications web    présentation

Automatisation des tâches :Grunt, Gulp…

Page 21: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation des images

Page 22: Comment améliorer la performance de vos sites et applications web    présentation
Page 23: Comment améliorer la performance de vos sites et applications web    présentation

Choisir le bon format

Page 24: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers

Imagemin : compression des images sans perte de données

Page 25: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation des images

Avant Après

Temps de chargement 17 secondes 11 secondes

Indice de vitesse 8371 7005

Données transférées 2,5 Mo 1,1 Mo

Page 26: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du HTML

Page 27: Comment améliorer la performance de vos sites et applications web    présentation
Page 28: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers

Minize : minimisation des fichiers

Page 29: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du HTML

Avant Après

Temps de chargement 11 secondes 10 secondes

Indice de vitesse 7005 6408

Données transférées 1,1 Mo 1,1 Mo

Page 30: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du JS

Page 31: Comment améliorer la performance de vos sites et applications web    présentation
Page 32: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers, limiter le nombre de requêtes

Personnaliser les librairies utilisées (jQuery, Modernizr…)

Page 33: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers, limiter le nombre de requêtes

Uglify : concaténation et minimisation des fichiers

Page 34: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du JS

Avant Après

Temps de chargement 10 secondes 9,5 secondes

Indice de vitesse 6408 6769

Données transférées 1,1 Mo 1,1 Mo

Page 35: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du CSS

Page 36: Comment améliorer la performance de vos sites et applications web    présentation
Page 37: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers, limiter le nombre de requêtes

Ne pas utiliser @import, utiliser une extension (Less, Sass, Stylus…)

Page 38: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers, limiter le nombre de requêtes

Autoprefixer : ajout automatique des préfixes propriétaires

Page 39: Comment améliorer la performance de vos sites et applications web    présentation

Réduire la taille des fichiers, limiter le nombre de requêtes

CSSO : minimisation des fichiers, optimisation des règles

Page 40: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du CSS

Avant Après

Temps de chargement 9,5 secondes 9 secondes

Indice de vitesse 6769 7942

Données transférées 1,1 Mo 1 Mo

Page 41: Comment améliorer la performance de vos sites et applications web    présentation

Suppression du CSS inutilisé

Page 42: Comment améliorer la performance de vos sites et applications web    présentation
Page 43: Comment améliorer la performance de vos sites et applications web    présentation
Page 44: Comment améliorer la performance de vos sites et applications web    présentation
Page 45: Comment améliorer la performance de vos sites et applications web    présentation

Suppression du CSS inutilisé

UnCSS : suppression du CSS inutilisé

Page 46: Comment améliorer la performance de vos sites et applications web    présentation

Suppression du CSS inutilisé

Avant Après

Temps de chargement 9 secondes 7,5 secondes

Indice de vitesse 7942 6079

Données transférées 1 Mo 0,8 Mo

Page 47: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Page 48: Comment améliorer la performance de vos sites et applications web    présentation

Fonctionnement d’un navigateur Web

Téléchargement du fichier HTML

Conversion octets -> caractères

Conversion caractères -> objets HTML

Construction du DOM

Page 49: Comment améliorer la performance de vos sites et applications web    présentation

Fonctionnement d’un navigateur Web

Si objet HTML <style> :

Téléchargement du fichier CSS

Conversion octets -> caractères

Conversion caractères -> objets CSS

Construction du CSSOM

Page 50: Comment améliorer la performance de vos sites et applications web    présentation

Fonctionnement d’un navigateur Web

Si objet HTML <script> :

Téléchargement du fichier JS

Conversion octets -> caractères

Transfert fichier JS au moteur d’exécution JS

Page 51: Comment améliorer la performance de vos sites et applications web    présentation

Comment fonctionne un navigateur Web ?

DOM et CSSOM fusionnés pour construire la page

Page 52: Comment améliorer la performance de vos sites et applications web    présentation

Chemin critique = étapes requises pour construire la page

Page 53: Comment améliorer la performance de vos sites et applications web    présentation

Le téléchargement des fichiers HTML, CSS et JS, la construction du DOM et du CSSOM et l’exécution des fichiers JS arrêtent le processus de construction de la page

Page 54: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Réduire le nombre de balises HTML

Page 55: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Réduire le nombre de règles CSS

Page 56: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Extraire les règles CSS critiques et les ajouter dans le fichier HTML

Télécharger les fichiers CSS asynchrone

Page 57: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Réduire l’utilisation du JS

Page 58: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Télécharger les fichiers JS asynchrone

<script src=“main.js” async></script>

Page 59: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation du chemin critique

Avant Après

Temps de chargement 7,5 secondes 6,5 secondes

Indice de vitesse 6079 4073

Données transférées 0,8 Mo 0,75 Mo

Page 60: Comment améliorer la performance de vos sites et applications web    présentation

Activation de la compression

Page 61: Comment améliorer la performance de vos sites et applications web    présentation

Activation de la compression

Deflate, GZIP : compression par le serveur des fichiers txt (HTML, CSS, JS, XML, JSON…) avant envoi au client

Gain de 66% en moyenne

Page 62: Comment améliorer la performance de vos sites et applications web    présentation

Activation de la compression

Avant Après

Temps de chargement 6,5 secondes 4,7 secondes

Indice de vitesse 4073 3002

Données transférées 0,75 Mo 0,45 Mo

Page 63: Comment améliorer la performance de vos sites et applications web    présentation

Mise en cache HTTP

Page 64: Comment améliorer la performance de vos sites et applications web    présentation

Retourner les bonnes en-têtes HTTP

Page 65: Comment améliorer la performance de vos sites et applications web    présentation

Mise en cache HTTP

1er chargement 2ème chargement

Temps de chargement 4,7 secondes 1,5 secondes

Indice de vitesse 3002 1691

Données transférées 0,45 Mo 0,01 Mo

Page 66: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation HTTPS

Page 67: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation HTTPS

“TLS a exactement un problème de performance : il n’est pas assez utilisé.”

- Ilya Grigorik, ingénieur performance Web et développeur @ Google

Page 68: Comment améliorer la performance de vos sites et applications web    présentation

HTTP Strict Transport Security (HSTS)

En-tête HTTP

Connexion sécurisée uniquement

Mise en cache -> suppression des redirections HTTP -> HTTPS

Page 69: Comment améliorer la performance de vos sites et applications web    présentation

Agrafage OCSP

Vérification que le certificat n’est pas révoqué par le serveur à la place du client

Inclusion de la réponse OCSP de l’autorité dans le certificat

Page 70: Comment améliorer la performance de vos sites et applications web    présentation

SPDY

Protocole réseau expérimental

Augmente la performance du protocole HTTP sans le remplacer

Priorisation et multiplexage du téléchargement des ressources, une seule connexion par client = réduction du temps de chargement

Page 71: Comment améliorer la performance de vos sites et applications web    présentation

Optimisation HTTPS

Avant Après

Temps de chargement 4,7 secondes 2,9 secondes

Indice de vitesse 3002 1928

Données transférées 0,45 Mo 0,45 Mo

Page 72: Comment améliorer la performance de vos sites et applications web    présentation

Conclusion

Page 73: Comment améliorer la performance de vos sites et applications web    présentation

Conclusion

Avant Après

Temps de chargement 17 secondes 2,9 secondes

Indice de vitesse 8371 1928

Données transférées 2,5 Mo 0,45 Mo

Page 74: Comment améliorer la performance de vos sites et applications web    présentation

Conclusion

Page 75: Comment améliorer la performance de vos sites et applications web    présentation

Conclusion

Restez léger, restez rapide

Page 76: Comment améliorer la performance de vos sites et applications web    présentation

Conclusion

Ne pensez pas que… testez

Analysez puis optimisez

Définissez un objectif de performance

Concentrez vous sur ce qui est important pour vos utilisateurs/clients

Page 77: Comment améliorer la performance de vos sites et applications web    présentation

Q&A

Page 78: Comment améliorer la performance de vos sites et applications web    présentation

Merci