SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
La performance sur
     mobiles


              Jean-pierre VINCENT
Qui ça ?
       Jean-pierre VINCENT

braincracking.org
@theystolemynick


12 ans de Web
Consultant, formateur, auteur
Importance ?

● 32 millions de forfaits data
● +80% de volume

● 10% du trafic sur sites standards
Usage ?

● Maison, travail, déplacement,
magasin...
● Mails, recherche, réseau social...

● Infos produits, chercher un


endroit, voyages, news

    http://services.google.com/fh/files/blogs/our_mobile_planet_france_fr.pdf
Exigences

●   1S = -10% de pages vues

●   60% attendent 4s max

●   les sites se chargent en 12s
http://www.themediabriefing.com/article/2012-10-02/speed-is-a-feature-why-a-slow-mobile-web-experience-means-lost-revenue
      http://www.strangeloopnetworks.com/resources/infographics/2012-state-of-mobile-ecommerce-performance/poster/
Débits théoriques
Vraie moyenne




 + 25% de perte ?
Quelle différence ?




   http://bit.ly/S2ZYll
La volatilité
Objectifs
● Affichage rapide :
   • News
   • Comparateurs
   • Voyage
   • Vidéo
● Interface fluide

   • Applications
   • Formulaires
   • Recherches
Comment tester
✗ Émulateurs
  • Connexion sans faille
  • Charger une page : 50% plus
  rapide
  • Exécution JS : 90% plus rapide
Comment tester
        Mobile perf bookmarklet




http://stevesouders.com/mobileperf/mobileperfbkm.php
Comment tester




 Wifi => tcpdump => .pcap => .har
=> HAR viewer
http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics
Comment tester




  http://webpagetest.org/
Comment tester
 Wifi sur mobile
 +
● Proxy Charles

● Trickle (Linux)

● Network Link Conditioner (OSX 10.6)

● Slowy app (OSX 10.5)
Comment debug
●   Stoyan Icy

●   Chrome iOS

●   SocketBug
Comment debug
● Opera Dragonfly
● Firefox Remote Debugger

● Chrome Remote Debugging




●   IOS 6 : enfin natif
Charger
Théorie 1/2
● Réduire le nombre de requêtes
● Gérer le cache navigateur

● Gzip

● Scripts en bas de page

● JS et CSS dans des fichiers externes

● Moins de domaines par page

● Minifier

● Pas de redirection

    http://developer.yahoo.com/performance/rules.html
Théorie 2/2
● Preload / postload components
● Reduce DOM size

● Domain sharding

● Reduce cookie size

● Optimize images

● CSS Sprites




    http://developer.yahoo.com/performance/rules.html
http://bit.ly/Tcqxt8
Départ
 Départ :
● Start render : 5s

● Render article : 7s




 http://www.webpagetest.org/video/compare.php?tests=121019_CG_b761ca40c0644ff4b15f96c1b90fe712-r:1-c:0
À vous
TODO
● Concaténer CS
● (pas de police)

● (pas de redirection)

● Tester sans JS
TODO




http://www.webpagetest.org/result/121031_ef8a9887f8a90150e8a50873c574d48f/
TODO
 Travail sur le JavaScript

● Concaténer par modules
● Nuke document.write()

● Exécution asynchrone

● Chargement et exécution au scroll

   • Pubs invisibles
   • Widgets
https://github.com/jpvincent/LazyLoadLight - https://github.com/jpvincent/onAreaVisible
Gérer le cache
● La base :
   • Gestion fine des URL
   • Headers correctement mis
● Aller plus loin :

   • Détourner localStorage
   • Utiliser appCache Manifest
Moins de requêtes
 La base
● Sprites          ● CSS3
● Icônes unicode   ● Base64




 Aller plus loin
● Inline JS/CSS      ● SPDY, HTTP2

● WebSocket

● Sacrifice de fonctionnalités
Le poids
 La base
● Gzip, minify

● Compression des images

● Lazy load




 Aller plus loin
● Se passer des grosses librairies

● HMTL5 History
Se méfier
● Domain sharding : fini
● Scripts en bas de page : inutile

● Tout inline ou tout external ?

● CDN : insignifiant

● Render côté client
Responsive Web Design
 Critiqué :
● Trop de choses chargées

● Difficile à maintenir




 Site dédié mobile :
● Permet de se lâcher

● Contenu minimal approprié à


l'usage
● Seule le V de MVC est à refaire
Conclusion
Les techniques classiques :


● Marchent globalement bien
● Peuvent être dangereuses

● Ne vont pas encore assez loin




               Débat ?

Más contenido relacionado

La actualidad más candente

Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Brigitte Marandon
 
Astroclermont @clermontech
Astroclermont @clermontechAstroclermont @clermontech
Astroclermont @clermontechBaptiste MOREAU
 
Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB13p
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidemaru.maru
 
Retours sur le concours Webperf 2010
Retours sur le concours Webperf 2010Retours sur le concours Webperf 2010
Retours sur le concours Webperf 2010Jean-Pierre Vincent
 
La vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploitéLa vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploitéFasterize
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
 
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Horacio Gonzalez
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Eric D.
 
TechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longueTechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longueTouchify
 
RennesJS Talk webperf by Dareboost
RennesJS Talk webperf by DareboostRennesJS Talk webperf by Dareboost
RennesJS Talk webperf by DareboostDamien Jubeau
 
Google : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JSGoogle : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JSPeak Ace
 
Electron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDElectron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDLa Cuisine du Web
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 

La actualidad más candente (20)

Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23
 
Astroclermont @clermontech
Astroclermont @clermontechAstroclermont @clermontech
Astroclermont @clermontech
 
Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB
 
Introduction à la webperf
Introduction à la webperfIntroduction à la webperf
Introduction à la webperf
 
CasperJS
CasperJSCasperJS
CasperJS
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-side
 
Human talks-bootstrap
Human talks-bootstrapHuman talks-bootstrap
Human talks-bootstrap
 
Retours sur le concours Webperf 2010
Retours sur le concours Webperf 2010Retours sur le concours Webperf 2010
Retours sur le concours Webperf 2010
 
La vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploitéLa vitesse d’un site web : un levier de croissance peu exploité
La vitesse d’un site web : un levier de croissance peu exploité
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
 
Jquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter Bootstrap
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
 
TechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longueTechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longue
 
RennesJS Talk webperf by Dareboost
RennesJS Talk webperf by DareboostRennesJS Talk webperf by Dareboost
RennesJS Talk webperf by Dareboost
 
Google : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JSGoogle : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JS
 
Electron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDElectron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARD
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
WF3Programmedeformation
WF3ProgrammedeformationWF3Programmedeformation
WF3Programmedeformation
 

Destacado

Navegadores de internet
Navegadores de internet Navegadores de internet
Navegadores de internet mveb123
 
Internet y navegador web
Internet y navegador webInternet y navegador web
Internet y navegador webAlirod19
 
Navegadores de internet cris
Navegadores de internet crisNavegadores de internet cris
Navegadores de internet criscris13mago
 
Outils Indispensables pour vs navigateurs web
Outils Indispensables pour vs navigateurs webOutils Indispensables pour vs navigateurs web
Outils Indispensables pour vs navigateurs webYannick Pavard
 
Ole, Olive Leaf Extract from QNet - French Presentation
Ole, Olive Leaf Extract from QNet - French PresentationOle, Olive Leaf Extract from QNet - French Presentation
Ole, Olive Leaf Extract from QNet - French PresentationQNET Ltd
 
Desenvolvendo chrome extensions
Desenvolvendo chrome extensionsDesenvolvendo chrome extensions
Desenvolvendo chrome extensionsRodolfo Dias
 
Guia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer ToolsGuia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer ToolsLeonardo Tegon
 
Testando SAP com Selenium
Testando SAP com SeleniumTestando SAP com Selenium
Testando SAP com SeleniumEduardo Souza
 
Les vaccinations rappel calendrier vaccinal 2008
Les vaccinations rappel calendrier vaccinal 2008Les vaccinations rappel calendrier vaccinal 2008
Les vaccinations rappel calendrier vaccinal 2008esf3
 
Anodized aluminum measurement
Anodized aluminum measurementAnodized aluminum measurement
Anodized aluminum measurementSemiconSoft
 
TripleHard - Trivalent Based Hard Chrome - Case Tecnocrom
TripleHard - Trivalent Based Hard Chrome - Case TecnocromTripleHard - Trivalent Based Hard Chrome - Case Tecnocrom
TripleHard - Trivalent Based Hard Chrome - Case TecnocromSavroc Ltd
 
Zinc and zinc nickel plating
Zinc and zinc nickel platingZinc and zinc nickel plating
Zinc and zinc nickel platingcamzurv
 
NATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDS
NATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDSNATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDS
NATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDSAlagappapandian M
 
Chromium (effects on health)
Chromium (effects on health)Chromium (effects on health)
Chromium (effects on health)gazelec
 
Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...
Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...
Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...Jean-Baptiste Soufron
 
BOQA - FR - Catalogue 2016
BOQA - FR - Catalogue 2016BOQA - FR - Catalogue 2016
BOQA - FR - Catalogue 2016Nicolas Garet
 

Destacado (20)

Navegadores
NavegadoresNavegadores
Navegadores
 
World Wide Web y Navegadores
World Wide Web y Navegadores World Wide Web y Navegadores
World Wide Web y Navegadores
 
Navegadores de internet
Navegadores de internet Navegadores de internet
Navegadores de internet
 
Internet y navegador web
Internet y navegador webInternet y navegador web
Internet y navegador web
 
Navegadores de internet cris
Navegadores de internet crisNavegadores de internet cris
Navegadores de internet cris
 
Outils Indispensables pour vs navigateurs web
Outils Indispensables pour vs navigateurs webOutils Indispensables pour vs navigateurs web
Outils Indispensables pour vs navigateurs web
 
Ole, Olive Leaf Extract from QNet - French Presentation
Ole, Olive Leaf Extract from QNet - French PresentationOle, Olive Leaf Extract from QNet - French Presentation
Ole, Olive Leaf Extract from QNet - French Presentation
 
Desenvolvendo chrome extensions
Desenvolvendo chrome extensionsDesenvolvendo chrome extensions
Desenvolvendo chrome extensions
 
Browser Mobile - Chrome
Browser Mobile - ChromeBrowser Mobile - Chrome
Browser Mobile - Chrome
 
Guia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer ToolsGuia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer Tools
 
Testando SAP com Selenium
Testando SAP com SeleniumTestando SAP com Selenium
Testando SAP com Selenium
 
Les vaccinations rappel calendrier vaccinal 2008
Les vaccinations rappel calendrier vaccinal 2008Les vaccinations rappel calendrier vaccinal 2008
Les vaccinations rappel calendrier vaccinal 2008
 
Anodized aluminum measurement
Anodized aluminum measurementAnodized aluminum measurement
Anodized aluminum measurement
 
TripleHard - Trivalent Based Hard Chrome - Case Tecnocrom
TripleHard - Trivalent Based Hard Chrome - Case TecnocromTripleHard - Trivalent Based Hard Chrome - Case Tecnocrom
TripleHard - Trivalent Based Hard Chrome - Case Tecnocrom
 
Zinc and zinc nickel plating
Zinc and zinc nickel platingZinc and zinc nickel plating
Zinc and zinc nickel plating
 
NATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDS
NATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDSNATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDS
NATURAL CONVECTIVE HEAT TRANSFER BY Al2O3 &PbO NANOFLUIDS
 
Chromium (effects on health)
Chromium (effects on health)Chromium (effects on health)
Chromium (effects on health)
 
Mon CV
Mon CVMon CV
Mon CV
 
Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...
Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...
Think Digital groupe de réflexion édition numérique session 2 : Alain Pierrot...
 
BOQA - FR - Catalogue 2016
BOQA - FR - Catalogue 2016BOQA - FR - Catalogue 2016
BOQA - FR - Catalogue 2016
 

Similar a Les performances Web mobile

Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages webJean-Pierre Vincent
 
Améliorez la vitesse de chargement de votre site - Webisland 2018
Améliorez la vitesse de chargement de votre site - Webisland 2018Améliorez la vitesse de chargement de votre site - Webisland 2018
Améliorez la vitesse de chargement de votre site - Webisland 2018Aymen Loukil
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Fasterize
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Peak Ace
 
Mobile first : évitez de perdre des clients à cause d'un site trop lent
Mobile first : évitez de perdre des clients à cause d'un site trop lentMobile first : évitez de perdre des clients à cause d'un site trop lent
Mobile first : évitez de perdre des clients à cause d'un site trop lentFasterize
 
Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyJean-Pierre Vincent
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5davrous
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleJean-Pierre Vincent
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ? haricot
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020SEO CAMP
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxChristophe Villeneuve
 
Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014François CRETON
 
Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014François CRETON
 
Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014François CRETON
 
Performance Web : vers la speed update, un pas après l'autre
Performance Web : vers la speed update, un pas après l'autrePerformance Web : vers la speed update, un pas après l'autre
Performance Web : vers la speed update, un pas après l'autreSEO Camp Association
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 

Similar a Les performances Web mobile (20)

Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages web
 
Améliorez la vitesse de chargement de votre site - Webisland 2018
Améliorez la vitesse de chargement de votre site - Webisland 2018Améliorez la vitesse de chargement de votre site - Webisland 2018
Améliorez la vitesse de chargement de votre site - Webisland 2018
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
 
Mobile first : évitez de perdre des clients à cause d'un site trop lent
Mobile first : évitez de perdre des clients à cause d'un site trop lentMobile first : évitez de perdre des clients à cause d'un site trop lent
Mobile first : évitez de perdre des clients à cause d'un site trop lent
 
Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwiparty
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exemple
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans Firefox
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
 
Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014Les bonnes pratiques du developpement Web - Alteca - avril 2014
Les bonnes pratiques du developpement Web - Alteca - avril 2014
 
Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014Alteca - les bonnes pratiques du développement Web - avril 2014
Alteca - les bonnes pratiques du développement Web - avril 2014
 
Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014Les bonnes pratiques du developpement web - Alteca - avril 2014
Les bonnes pratiques du developpement web - Alteca - avril 2014
 
Performance Web : vers la speed update, un pas après l'autre
Performance Web : vers la speed update, un pas après l'autrePerformance Web : vers la speed update, un pas après l'autre
Performance Web : vers la speed update, un pas après l'autre
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 

Más de Jean-Pierre Vincent

Mesurer la performance : onload, pages
Mesurer la performance : onload, pagesMesurer la performance : onload, pages
Mesurer la performance : onload, pagesJean-Pierre Vincent
 
Les Performance de rendu sur mobile
Les Performance de rendu sur mobileLes Performance de rendu sur mobile
Les Performance de rendu sur mobileJean-Pierre Vincent
 
Performances web - quoi de neuf ?
Performances web - quoi de neuf ?Performances web - quoi de neuf ?
Performances web - quoi de neuf ?Jean-Pierre Vincent
 
Le monitoring de la performance front
Le monitoring de la performance frontLe monitoring de la performance front
Le monitoring de la performance frontJean-Pierre Vincent
 
Function oop - bonnes pratiques ms tech days
Function   oop - bonnes pratiques ms tech daysFunction   oop - bonnes pratiques ms tech days
Function oop - bonnes pratiques ms tech daysJean-Pierre Vincent
 
Fondamentaux portée - contexte - function ms tech days
Fondamentaux   portée - contexte - function ms tech daysFondamentaux   portée - contexte - function ms tech days
Fondamentaux portée - contexte - function ms tech daysJean-Pierre Vincent
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJean-Pierre Vincent
 
Télés connectées et développement Web
Télés connectées et développement WebTélés connectées et développement Web
Télés connectées et développement WebJean-Pierre Vincent
 
Inclure du Javascript de manière performante
Inclure du Javascript de manière performanteInclure du Javascript de manière performante
Inclure du Javascript de manière performanteJean-Pierre Vincent
 
HTML5 maintenant partie 3 : multimedia
HTML5 maintenant partie 3 : multimediaHTML5 maintenant partie 3 : multimedia
HTML5 maintenant partie 3 : multimediaJean-Pierre Vincent
 
HTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 2 : APIsHTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 2 : APIsJean-Pierre Vincent
 
HTML5 maintenant partie 1 : la sémantique
HTML5 maintenant partie 1 : la sémantiqueHTML5 maintenant partie 1 : la sémantique
HTML5 maintenant partie 1 : la sémantiqueJean-Pierre Vincent
 

Más de Jean-Pierre Vincent (15)

Mesurer la performance : onload, pages
Mesurer la performance : onload, pagesMesurer la performance : onload, pages
Mesurer la performance : onload, pages
 
Les Performance de rendu sur mobile
Les Performance de rendu sur mobileLes Performance de rendu sur mobile
Les Performance de rendu sur mobile
 
La performance sur mobile
La performance sur mobileLa performance sur mobile
La performance sur mobile
 
Performances web - quoi de neuf ?
Performances web - quoi de neuf ?Performances web - quoi de neuf ?
Performances web - quoi de neuf ?
 
Le monitoring de la performance front
Le monitoring de la performance frontLe monitoring de la performance front
Le monitoring de la performance front
 
Function oop - bonnes pratiques ms tech days
Function   oop - bonnes pratiques ms tech daysFunction   oop - bonnes pratiques ms tech days
Function oop - bonnes pratiques ms tech days
 
Fondamentaux portée - contexte - function ms tech days
Fondamentaux   portée - contexte - function ms tech daysFondamentaux   portée - contexte - function ms tech days
Fondamentaux portée - contexte - function ms tech days
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOP
 
Télés connectées et développement Web
Télés connectées et développement WebTélés connectées et développement Web
Télés connectées et développement Web
 
Html5 bonnes-pratiques
Html5 bonnes-pratiquesHtml5 bonnes-pratiques
Html5 bonnes-pratiques
 
Inclure du Javascript de manière performante
Inclure du Javascript de manière performanteInclure du Javascript de manière performante
Inclure du Javascript de manière performante
 
HTML5 maintenant partie 3 : multimedia
HTML5 maintenant partie 3 : multimediaHTML5 maintenant partie 3 : multimedia
HTML5 maintenant partie 3 : multimedia
 
HTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 2 : APIsHTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 2 : APIs
 
HTML5 maintenant partie 1 : la sémantique
HTML5 maintenant partie 1 : la sémantiqueHTML5 maintenant partie 1 : la sémantique
HTML5 maintenant partie 1 : la sémantique
 
Html5 now light
Html5 now lightHtml5 now light
Html5 now light
 

Les performances Web mobile

  • 1. La performance sur mobiles Jean-pierre VINCENT
  • 2. Qui ça ? Jean-pierre VINCENT braincracking.org @theystolemynick 12 ans de Web Consultant, formateur, auteur
  • 3. Importance ? ● 32 millions de forfaits data ● +80% de volume ● 10% du trafic sur sites standards
  • 4. Usage ? ● Maison, travail, déplacement, magasin... ● Mails, recherche, réseau social... ● Infos produits, chercher un endroit, voyages, news http://services.google.com/fh/files/blogs/our_mobile_planet_france_fr.pdf
  • 5. Exigences ● 1S = -10% de pages vues ● 60% attendent 4s max ● les sites se chargent en 12s http://www.themediabriefing.com/article/2012-10-02/speed-is-a-feature-why-a-slow-mobile-web-experience-means-lost-revenue http://www.strangeloopnetworks.com/resources/infographics/2012-state-of-mobile-ecommerce-performance/poster/
  • 7. Vraie moyenne + 25% de perte ?
  • 8. Quelle différence ? http://bit.ly/S2ZYll
  • 10. Objectifs ● Affichage rapide : • News • Comparateurs • Voyage • Vidéo ● Interface fluide • Applications • Formulaires • Recherches
  • 11. Comment tester ✗ Émulateurs • Connexion sans faille • Charger une page : 50% plus rapide • Exécution JS : 90% plus rapide
  • 12. Comment tester Mobile perf bookmarklet http://stevesouders.com/mobileperf/mobileperfbkm.php
  • 13. Comment tester Wifi => tcpdump => .pcap => .har => HAR viewer http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics
  • 14. Comment tester http://webpagetest.org/
  • 15. Comment tester Wifi sur mobile + ● Proxy Charles ● Trickle (Linux) ● Network Link Conditioner (OSX 10.6) ● Slowy app (OSX 10.5)
  • 16. Comment debug ● Stoyan Icy ● Chrome iOS ● SocketBug
  • 17. Comment debug ● Opera Dragonfly ● Firefox Remote Debugger ● Chrome Remote Debugging ● IOS 6 : enfin natif
  • 19. Théorie 1/2 ● Réduire le nombre de requêtes ● Gérer le cache navigateur ● Gzip ● Scripts en bas de page ● JS et CSS dans des fichiers externes ● Moins de domaines par page ● Minifier ● Pas de redirection http://developer.yahoo.com/performance/rules.html
  • 20. Théorie 2/2 ● Preload / postload components ● Reduce DOM size ● Domain sharding ● Reduce cookie size ● Optimize images ● CSS Sprites http://developer.yahoo.com/performance/rules.html
  • 22. Départ Départ : ● Start render : 5s ● Render article : 7s http://www.webpagetest.org/video/compare.php?tests=121019_CG_b761ca40c0644ff4b15f96c1b90fe712-r:1-c:0
  • 24. TODO ● Concaténer CS ● (pas de police) ● (pas de redirection) ● Tester sans JS
  • 26. TODO Travail sur le JavaScript ● Concaténer par modules ● Nuke document.write() ● Exécution asynchrone ● Chargement et exécution au scroll • Pubs invisibles • Widgets https://github.com/jpvincent/LazyLoadLight - https://github.com/jpvincent/onAreaVisible
  • 27. Gérer le cache ● La base : • Gestion fine des URL • Headers correctement mis ● Aller plus loin : • Détourner localStorage • Utiliser appCache Manifest
  • 28. Moins de requêtes La base ● Sprites ● CSS3 ● Icônes unicode ● Base64 Aller plus loin ● Inline JS/CSS ● SPDY, HTTP2 ● WebSocket ● Sacrifice de fonctionnalités
  • 29. Le poids La base ● Gzip, minify ● Compression des images ● Lazy load Aller plus loin ● Se passer des grosses librairies ● HMTL5 History
  • 30. Se méfier ● Domain sharding : fini ● Scripts en bas de page : inutile ● Tout inline ou tout external ? ● CDN : insignifiant ● Render côté client
  • 31. Responsive Web Design Critiqué : ● Trop de choses chargées ● Difficile à maintenir Site dédié mobile : ● Permet de se lâcher ● Contenu minimal approprié à l'usage ● Seule le V de MVC est à refaire
  • 32. Conclusion Les techniques classiques : ● Marchent globalement bien ● Peuvent être dangereuses ● Ne vont pas encore assez loin Débat ?