Paramètres de performances
Last updated
Last updated
Cette page combine de nombreux outils et conseils qui peuvent vous aider à améliorer les performances de votre boutique côté serveur, pas côté commercial – bien qu'un serveur qui fonctionne bien permet d'avoir plus de clients à la fois, et donc de faire plus de ventes.
Smarty est le nom du langage de template utilisé par les thèmes de PrestaShop. Vous pouvez en apprendre plus sur ce langage à l'adresse http://www.smarty.net/.
Deux options sont disponibles :
Compilation des templates. Afin d'obtenir de meilleures performances, PrestaShop conserve vos pages HTML dans un système de cache.
Ne jamais recompiler les fichiers de templates. Le comportement normal : les pages HTML sont compilées et mises en cache, puis affichées telles quelles, même si le thème a été modifié entretemps.
Recompiler les fichiers de templates s'ils ont été mis à jour. PrestaShop est en mesure de savoir si un thème a été modifié.
Forcer la compilation à chaque appel. À n'activer que si vous êtes en train de créer un thème, et que vous avez besoin de voir vos modifications à chaque rechargement.
Cache. Cette option vous permet de gérer tous les caches de fichiers, et pas seulement ceux liés aux thèmes. À ne désactiver que si vous êtes en train de corriger un thème ou un module PrestaShop. Autrement, vous ne devriez sans doute pas y toucher. Le bouton "Vider le cache" en haut à droite de l'écran permet de supprimer le contenu du cache en un clic au lieu de devoir le faire en passant par un logiciel FTP.
Nouveauté 1.6.
Lorsque vous êtes en mode debug, vous pouvez choisir l'impact qu'on certaines fonctionnalités sur PrestaShop, afin de mieux repérer là d'où vient une erreur :
Désactiver les modules non développés par PrestaShop. Les modules créés par PrestaShop sont longuement testés et ne devraient pas poser de problème. Si vous activez cette option, vous pourrez si l'erreur provient du propre code de PrestaShop (coeur ou module), ou d'un module tiers.
Désactiver toutes les surcharges. De nombreuses fonctionnalités de PrestaShop peuvent être surchargées. Si vous activez cette option, tout le code de surcharge sera désactivé, et vous pourrez voir si le problème vient du code de PrestaShop, ou d'une surcharge tierce.
Certaines fonctionnalités de PrestaShop peuvent être désactivées si vous ne les utilisez pas, car elles peuvent ralentir votre boutique.
Si votre catalogue contient des produits qui font déjà usage de ces fonctionnalités, alors vous ne pourrez pas les désactiver. Vous devrez supprimer quelques informations produits afin de les désactiver.
Vous pouvez désactiver les fonctionnalités suivantes :
Déclinaison de produit. Les déclinaisons de produits vous permettent de créer toute une ligne de produits à partir d'un seul produit : variation de taille, de couleur, de capacité, etc.
Caractéristiques. Les caractéristiques vous permettent de donner des détails sur le produit : poids, matériaux, pays d'origine, etc.
CCC est un ensemble d'outils pour vous aider à minimiser la charge du serveur Web et le temps de chargement du thème.
Le nom est explicite : ces outils combinent les fichiers textuels de même type en un seul fichier plus gros, ce qui réduit le nombre de fichiers à télécharger ; il compresse ensuite le fichier à l'aide de l'algorithme Zip, ce qui donne des téléchargements plus rapides ; enfin, il met en cache les fichiers compressés, afin d'éviter au serveur de devoir relancer ce processus de concaténation et de compression à chaque fois qu'un fichier est demandé, ce qui alourdit la tâche du processus du serveur.
Votre thème doit être complètement compatible avec au moins PrestaShop 1.4, sinon le CCC ne fonctionnera pas comme prévu. C'est la raison pour laquelle la plupart des options sont désactivées par défaut.
"Smart cache" pour les feuilles de style. Les fichiers CSS sont des fichiers textuels, et peuvent être combinés et compressés en toute sécurité.
"Smart cache" pour le code JavaScript. Les fichiers JavaScript sont également des fichiers textuels, mais leur combinaison peut parfois être problématique. Assurez-vous de tout tester avant de laisser ce réglage activé.
Réduction du code HTML. Le code HTML généré par Smarty peut être "minifié", ce qui signifie que PrestaShop en enlèvera tous les espaces inutiles afin de sauver quelques octets. C'est le plus souvent sans risque.
Compression du JavaScript dans le code HTML. Certains thèmes ont du code JavaScript directement dans leur code HTML. Vous pouvez soit les laisser tels quels, ou les compresser. Ici encore, il s'agit de compression JavaScript ; assurez-vous de tout tester avant de laisser ce réglage activé.
Optimisation Apache. Ce réglage changera la configuration de votre serveur Web afin de le rendre plus efficace dans le cadre des options CCC.
Cette option vous permet de renvoyer une partie de votre trafic spécifique (fichiers image et vidéo, par exemple) vers d'autres serveurs en votre possession, par le biais d'autres domaines ou sous-domaines – le plus souvent hébergé au sein d'un CDN (Content Delivery Network). Par défaut, PrestaShop peut utiliser jusqu'à trois serveurs de média.
Il ne suffit pas d'ajouter votre nom de domaine dans les champs pour soudainement faire des gains de performance. Pour autant, la mise en place d'un serveur média est une chose simple, et les gains sont réels et quasi-immédiats. Voici comment s'y prendre :
Ouvrez un compte chez un hébergeur spécialisé dans les contenus distribués. Les sociétés les plus connues dans ce domaine sont Akamai (http://www.akamai.com/), Amazon (avec ses services AWS, dont CloudFront : http://aws.amazon.com/fr/) ou encore CloudFlare (http://www.cloudflare.com/plans). Vous pouvez également vous renseigner auprès de votre hébergeur, qui dispose peut-être d'une offre CDN.
Copiez vos fichiers média vers le serveur de cet hébergeur. Cela signifie que le serveur distant doit contenir une copie exacte des dossiers suivants de votre installation de PrestaShop : /img
, /themes
et /modules
.
Notez que vous devrez faire en sorte que ces dossiers soient toujours synchronisés : même si vous ajoutez de nouveaux produits ou des modifications de votre thème, le serveur CDN doit avoir les dernières versions de tous les fichiers.
Une fois le serveur CDN en place, ajoutez son adresse (fournie par votre hébergeur CDN) dans le premier champ "Serveur de média n°1". Si cet hébergeur vous propose d'autres serveurs, ajoutez-les.
Dans le cas où vous souhaitez que vos fichiers soient visuellement toujours chargés depuis votre nom de domaine plutôt que depuis un domaine inconnu, suivi le processus suivant :
Créez un sous-domaine au domaine de votre boutique, par exemple http://cdn1.maboutique.com
(la méthode de création dépend de votre hébergeur, renseignez-vous auprès de lui).
À la racine de chaque sous-domaine, ajoutez un fichier .htaccess
qui contiendra simplement la ligne suivante :
L'adresse http://adresse-cdn.com
est à remplacer par celle de votre serveur CDN. Vous créez ainsi un renvoi automatiquement de votre sous-domaine vers votre serveur CDN
Une fois le sous-domaine en place, ajoutez-le dans le premier champ "Serveur de média n°1". Si cet hébergeur vous propose d'autres serveurs, créez autant de sous-domaines à votre domaine principal.
Même si vous n'avez pas de serveur CDN, vous pouvez utiliser la fonctionnalité des serveur de média pour que le navigateur de vos clients téléchargent plus de fichiers en même temps, accélérant ainsi le chargement de la page :
Configurez votre serveur pour qu'il dispose de sous-domaines virtuels, tel que images1.example.com
, images2.example.com
, et images3.example.com
, tous pointant vers la dossier principal de PrestaShop.
Dans votre page Performance, configurez chaque champ "Serveur de médias" avec ces sous-domaines virtuels.
Une fois ceci en place, PrestaShop chargera vos images depuis n'importe quel de ces sous-domaines. Dans les faits, les images seront toujours chargées depuis le même dossier (le dossier principal), mais le navigateur ouvrira des connexions supplémentaires vers votre serveur web, accélérant ainsi le chargement de la page.
Le chiffrement signifie le cryptage de données afin de les rendre illisibles à ceux qui ne devraient pas y avoir accès. Les informations des comptes de vos clients, ainsi que du vôtre, sont ainsi protégées par le chiffrement.
Voici les algorithmes que vous pouvez choisir.
Utiliser Rijndael avec la librairie mcrypt. Le choix par défaut. Rapide et sûr, mais requiert que vous ayez
Utiliser la bibliothèque BlowFish locale. Offre une meilleure sécurité, mais les performances baissent, et il faut plus de temps pour valider l'authentification, et ce à chaque chargement de page. Vos clients apprécieront sans doute d'être mieux protégés, mais peuvent ne pas aimer le temps de chargement – bien que la différence ne soit pas vraiment notable.
De fait, choisissez bien. Si vous changez la configuration, tous les cookies de vos utilisateurs seront remis à zéro.
Le cache de votre serveur stocke des versions statiques de vos pages dynamiques, afin d'envoyer celles-ci à vos clients, et donc de réduire la charge serveur et le temps de compilation.
Dans la plupart des cas, vous devriez d'abord vérifier auprès de votre hébergeur s'il accepte ce réglage, car il nécessite une certaine configuration serveur.
Cette section vous permet d'activer le cache, et de choisir la méthode de cache :
Système de fichier. Les fichiers statiques sont simplement stockés comme n'importe quel autre fichier, sur votre serveur. Vous pouvez préciser le nombre de niveaux de l'arborescence. Cette option affiche un champ avec un "1" par défaut. C'est la profondeur de répertoire du système de fichier. Ne changez cette valeur que si vous savez ce que vous faites.
Memcached. Un système distribué de cache. Très efficace, surtout si vous utilisez plusieurs serveurs, mais vous devrez d'abord vous assurer que votre serveur/hébergeur peut l'utiliser. Le plus souvent, si votre configuration PHP comprend l'extension PECL Memcached, tout est bon (vous pouvez télécharger cette extension ici : http://pecl.php.net/package/memcache). Vous pouvez ajouter des serveurs en cliquant sur le lien "Ajouter un serveur".
APC. Une alternative gratuite et ouverte à PHP Cache, robuste mais ne fonctionnant qu'avec un serveur – ce qui est souvent le cas lorsque vous lancez votre boutique en ligne. Ici encore, vérifiez la disponibilité de l'extension PECL APC sur votre serveur : http://pecl.php.net/package/APC.
Xcache. Xcache est un nouveau système de cache, spécifique au serveur Lighttpd – de fait, il ne fonctionnera pas avec le serveur Apache, l'un des plus populaires. Pour en apprendre plus, lisez http://xcache.lighttpd.net/.