Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2011-07-29 21:39:02

ploum
Membre
Inscription : 2005-03-29
Site Web

Suivre les conseils de google pour optimiser la vitesse de chargement

Hello,

Je viens de tester mon blog avec l'outil de google pour optimiser la vitesse de chargement des pages. J'obtiens un score de 87/100, ce qui me semble honorable.

Les deux suggestions les plus critiques sont:

1) Exploiter la mise en cache du navigateur : http://code.google.com/intl/fr/speed/pa … serCaching

2) Différer le rendu JS : http://code.google.com/intl/fr/speed/page-speed/docs/mobile.html#DeferParsingJS

Avez-vous une idée de ce que je peux faire pour mettre ça en pratique sur mon code dotclear ?

Merci d'avance

Hors ligne

#2 2011-07-29 21:52:29

Jean-Michel
Modérateur à ailes d'ange
Lieu : Paris
Inscription : 2006-08-22
Site Web

Re : Suivre les conseils de google pour optimiser la vitesse de chargement

Bonsoir,

Tu peux lire ce fil récent

Hors ligne

#3 2011-07-30 08:13:12

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Suivre les conseils de google pour optimiser la vitesse de chargement

Pour le 1, il faut donner des instructions à ton serveur afin qu'il indique les durées appropriées de mise en cache par les navigateurs. Voici un exemple : http://forum.dotclear.org/viewtopic.php … 69#p306369 à adapter

Pour le 2, cela dépendra des plugins qui insèrent des scripts dans tes pages, c'est à régler au cas par cas. Dans le tien toutefois, pas mal des scripts repérés proviennent du service flattr.com : si tu peux les placer dans le footer tu y gagneras beaucoup ;)

Hors ligne

#4 2011-08-03 10:45:16

ploum
Membre
Inscription : 2005-03-29
Site Web

Re : Suivre les conseils de google pour optimiser la vitesse de chargement

Je suis passé à 92/100 en mettant les règles de cache dans le htaccess. Pourtant, il me met toujours que les images png ont un délai non spécifié. Je pige pas trop, je ne connaissais pas tout ces trucs.

Hors ligne

#5 2011-08-03 11:22:41

pressecologie
Membre
Lieu : île de la Réunion
Inscription : 2011-02-21
Site Web

Re : Suivre les conseils de google pour optimiser la vitesse de chargement

Bonjour,

J'ai trouvé des explications sympa sur ce site pour gérer ces problématiques :
http://blog.chaosklub.com/post/2008/04/ … Dotclear-2
L'astuce que je préfère pour accélérer l'affichage de la page:
A coller juste après </head>

<?php flush(); ?>

Sur ce site très agréable à lire il y a aussi de nombreuses explications :
http://www.creativejuiz.fr/blog/les-tut … b-htaccess
Même si c'est un site Wordprexx, le contenu me semble vraiment bien.

Hors ligne

#6 2011-08-03 11:56:17

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Suivre les conseils de google pour optimiser la vitesse de chargement

pressecologie a écrit :

Bonjour,

J'ai trouvé des explications sympa sur ce site pour gérer ces problématiques :
http://blog.chaosklub.com/post/2008/04/ … Dotclear-2
L'astuce que je préfère pour accélérer l'affichage de la page:
A coller juste après </head>

<?php flush(); ?>

Ça c'est si on autorise du php dans les pages, le mieux c'est d'utiliser l'extension SaticCache. ;-)

pressecologie a écrit :

Sur ce site très agréable à lire il y a aussi de nombreuses explications :
http://www.creativejuiz.fr/blog/les-tut … b-htaccess
Même si c'est un site Wordprexx, le contenu me semble vraiment bien.

Le fichier .htaccess de html5 boilerplate est optimisé aux petits oignons et fonctionne très bien chez OVH.

Voici le mien légèrement modifié (avec quelques redirections de l'ancien DC1)  :

#SetEnv PHP_VER 5_TEST
SetEnv PHP_VER 5

# Force the latest IE version, in various cases when it may fall back to IE7 mode
#  github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk

<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    BrowserMatch MSIE ie
    Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
  </IfModule>
</IfModule>

<IfModule mod_headers.c>
# Because X-UA-Compatible isn't sent to non-IE (to save header bytes),
#   We need to inform proxies that content changes based on UA
  Header append Vary User-Agent
# Cache control is set only if mod_headers is enabled, so that's unncessary to declare
</IfModule>

<FilesMatch "\.(ttf|otf|eot|woff|font.css)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>


# audio
AddType audio/ogg                      oga ogg
AddType audio/mp4                      m4a
AddType audio/mpeg                     mp3


# video
AddType video/ogg                      ogv
AddType video/mp4                      mp4
AddType video/webm                     webm

# Proper svg serving. Required for svg webfonts on iPad
#   twitter.com/FontSquirrel/status/14855840545
AddType     image/svg+xml              svg svgz 
AddEncoding gzip                       svgz
                                       
# webfonts                             
AddType application/vnd.ms-fontobject  eot
AddType font/truetype                  ttf
AddType font/opentype                  otf
AddType application/x-font-woff        woff

# assorted types                                      
AddType image/x-icon                   ico
AddType image/webp                     webp
AddType text/cache-manifest            appcache manifest
AddType text/x-component               htc
AddType application/x-chrome-extension crx
AddType application/x-xpinstall        xpi
AddType application/octet-stream       safariextz


# ----------------------------------------------------------------------
# gzip compression
# ----------------------------------------------------------------------

<IfModule mod_deflate.c>


# force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s,?\s(gzip|deflate)?|X{4,13}|~{4,13}|-{4,13})$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
  </IfModule>
</IfModule>
# html, txt, css, js, json, xml, htc:
<IfModule filter_module>
  FilterDeclare   COMPRESS
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type /text/(html|css|javascript|plain|x(ml|-component))/
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type /application/(javascript|json|xml|x-javascript)/
  FilterChain     COMPRESS
  FilterProtocol  COMPRESS  change=yes;byteranges=no
</IfModule>

<IfModule !mod_filter.c>
  # Legacy versions of Apache
   AddOutputFilterByType DEFLATE text/html text/xml application/xhtml+xml text/plain application/javascript application/json text/javascript text/css application/atom+xml application/xml image/svg+xml
	
</IfModule>

# webfonts and svg:
  <FilesMatch "\.(ttf|otf|eot|svg)$" >
    SetOutputFilter DEFLATE
  </FilesMatch>
</IfModule>





# ----------------------------------------------------------------------
# Expires headers (for better cache control)
# ----------------------------------------------------------------------

# these are pretty far-future expires headers
# they assume you control versioning with cachebusting query params like
#   <script src="application.js?20100608">
# additionally, consider that outdated proxies may miscache 
#   www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

# if you don't use filenames to version, lower the css and js to something like
#   "access plus 1 week" or so

<IfModule mod_expires.c>
  ExpiresActive on

# Perhaps better to whitelist expires rules? Perhaps.
  ExpiresDefault                          "access plus 1 month"

# cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
  ExpiresByType text/cache-manifest       "access plus 0 seconds"

# your document html 
  ExpiresByType text/html                 "access plus 0 seconds"
  ExpiresByType application/xhtml+xml     "access plus 0 seconds"
  
# data
  ExpiresByType text/xml                  "access plus 0 seconds"
  ExpiresByType application/xml           "access plus 0 seconds"
  ExpiresByType application/json          "access plus 0 seconds"

# rss feed
  ExpiresByType application/rss+xml       "access plus 1 hour"

# favicon (cannot be renamed)
  ExpiresByType image/x-icon              "access plus 1 week" 

# media: images, video, audio
  ExpiresByType image/gif                 "access plus 1 month"
  ExpiresByType image/png                 "access plus 1 month"
  ExpiresByType image/jpg                 "access plus 1 month"
  ExpiresByType image/jpeg                "access plus 1 month"
  ExpiresByType video/ogg                 "access plus 1 month"
  ExpiresByType audio/ogg                 "access plus 1 month"
  ExpiresByType audio/mpeg                "access plus 1 month"
  ExpiresByType video/mp4                 "access plus 1 month"
  ExpiresByType video/webm                "access plus 1 month"
  
# htc files  (css3pie)
  ExpiresByType text/x-component          "access plus 1 month"
  
# webfonts
  ExpiresByType font/truetype             "access plus 1 month"
  ExpiresByType font/opentype             "access plus 1 month"
  ExpiresByType application/x-font-woff   "access plus 1 month"
  ExpiresByType image/svg+xml             "access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
    
# css and javascript
  ExpiresByType text/css                  "access plus 2 months"
  ExpiresByType application/javascript    "access plus 2 months"
  ExpiresByType text/javascript           "access plus 2 months"
  
  <IfModule mod_headers.c>
    Header append Cache-Control "public"
  </IfModule>
  
</IfModule>

# ----------------------------------------------------------------------
# ETag removal
# ----------------------------------------------------------------------

# Since we're sending far-future expires, we don't need ETags for
# static content.
#   developer.yahoo.com/performance/rules.html#etags
FileETag None

# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------

# use utf-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8

# force utf-8 for a number of file formats
AddCharset utf-8 .html .css .js .xml .json .rss




Options -MultiViews -Indexes

#pour ne pas casser les liens de l'ancien DC1

Redirect permanent  /carnet/gallery http://www.lombre.net/galleries
Redirect permanent  /carnet/sitemap.xml http://www.lombre.net/sitemap.xml

RedirectMatch 301 /dotclear/download/(.*)$ http://www.lombre.net/all-blogs/public/download/$1
RedirectMatch 301 /dotclear/images/(.*)$ http://www.lombre.net/all-blogs/public/imagesdc1/$1

#redirection de l'ancien dossier public dans le nouveau en dehors du dossier DC2
RedirectMatch 301 /dotclear2/public/(.*)$ http://www.lombre.net/all-blogs/public/$1


RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^$ /index.php/ [L]

«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map