7884 sujets

Développement web côté serveur, CMS

Bonjour à tous et à toutes,

Voila, j'ai terminé mon site...ou presque!
Il me reste à l'optimiser pour gagner en bande passante et accélérer sa vitesse d'affichage.
Page Speed m'a gentillemnt conseillé d'utiliser gzip et de mettre une date d'expiration à mes images...problème : ca devient très compliqué pour moi qui à la base fait des études de commerce!
Je m'en remet donc à votre génie qui m'a déjà maintes fois porté grands secours (oui j'ai tt appris ici...)
Je me suis renseigné, a priori cela tourne autour de : htaccess, gzip, et mon hébergeur...
1&1 à l'air d'être plus compliqué...
Bref, quelqu'un pourrait-il maider?

Merci!
Après avoir continué mes recherches j'ai obtenu une nouvelle information :
A priori, avec 1&1 il faut passer par un fichier php.ini...
Ensuite tous mes espoirs reposent entre vos mains.

Merci Smiley smile
passer par le php.ini pour gzip et ajouter une expiration à ces contenus statiques ? Heum jamais vu ça.

Test plutôt avec cela dans un .htaccess dans ton webroot :


<IfModule mod_deflate.c>
  # compress content with type html, text, and css
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript

  <IfModule mod_headers.c>
    # properly handle requests coming from behind proxies
    Header append Vary User-Agent
  </IfModule>
</IfModule>

<IfModule mod_expires.c> 
    ExpiresActive On
    ExpiresByType text/css "access plus 10 years"
    ExpiresByType text/js "access plus 10 years"
    ExpiresByType text/javascript "access plus 10 years"
    ExpiresByType application/x-javascript "access plus 10 years"
    ExpiresByType application/x-shockwave-flash "access plus 10 years"
    ExpiresByType image/png "access plus 10 years"
    ExpiresByType image/gif "access plus 10 years"
    ExpiresByType image/jpg "access plus 10 years"
    ExpiresByType image/x-icon "access plus 10 years"
    #ExpiresDefault "access plus 10 years"
</IfModule>

Modifié par Benjamin-Ds (19 Jan 2010 - 14:17)
Merci de ta réponse.

Qu'est ce que mon webroot?
Dois-je tout de même créer un fichier php.ini...

J'avoue être un peu perdu! Pourrais-tu me guider un peu plus dans les démarches à effectuer.
(J'ai copier ton code dand un htaccess placé à la racine du site cependant Page Speed me dit que rien n'est mis en cache et que je n'utilise pas gzip)
Pour ma part, après qq essais, j'ai pu faire fonctionner la compression des pages ainsi :

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>


Dans un fichier htaccess, et

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start();


pour les pages PHP (en début de page). (si ça peut aider qqu'un, tant mieux)

Par contre, j'ai du mal à obtenir qqch de probant pour la mise en cache, faut que je continue à investiguer.


En fait, ce qu'il me faudrait, c'est une mise en cache pour les fichiers images/css/js, mais par contre qu'il se remettent bien à jour à chaque changement... quelqu'un saurait gérer ça correctement ? (y compris avec les proxy...)
Modifié par Nico3333fr (22 Jan 2010 - 08:27)
Nico3333fr a écrit :


En fait, ce qu'il me faudrait, c'est une mise en cache pour les fichiers images/css/js, mais par contre qu'il se remettent bien à jour à chaque changement... quelqu'un saurait gérer ça correctement ? (y compris avec les proxy...)


J'ai donné une solution plus haut avec mod_expire.

Sinon pour être sûr que tes fichiers css/js soient rechargés à chaque modification, le mieux serais d'ajouter un numéro de version, ou la date, le timestamp (enfin ce que tu veux) au nom de ton fichier pour qu'il soit différent de l'ancien déjà en cache ...
Modifié par Benjamin-Ds (22 Jan 2010 - 12:06)
Benjamin-Ds, j'ai copié ton code dans mon .htaccess et ça ne marche pas chez moi (je suis aussi chez 1&1). Smiley ohwell

Depuis l'article d'Alsacreations ( Smiley biggrin ), je veux absolument mettre ça en place ! Mais j'ignore tout de la configuration d'un serveur Apache donc si vous avez des liens intéressant pour apprendre je suis preneur. Merci.