
Dans la plupart des cas, avant de lancer sa boutique en production, on passe par une étape de développement pendant laquelle on peut à loisir faire les ajustements nécessaires à une bonne expérience utilisateur tout en vérifiant les performances et la stabilité.
Que cette boutique soit en local sur votre poste de travail, sur un serveur dédié à la pré-production ou directement à son emplacement final, elle comporte des options qui ne doivent surtout pas être utilisées en production.
En effet, en plus d'impacter considérablement les performances, elles affichent généralement des informations qui ne doivent pas être divulguées aux utilisateurs.
En 1.5, nous avons centralisé une bonne partie de ces options dans l'onglet Paramètres Avancés > Performances afin que vous puissiez facilement les activer et désactiver. Mais les options les plus techniques sont accessibles uniquement via les fichiers de configuration.
Petit tour d'horizon :
1. Compilation des fichiers Smarty
Lorsque vous faites des ajustements sur la charte graphique de votre boutique, il est important que la compilation des fichiers (pour transformer les fichiers TPL de smarty en code HTML / PHP) se fasse bien à chaque modification.
Pour cela, il faut choisir l'option "Recompiler les fichiers de templates si ils ont été mis à jour" ou "Forcer la compilation à chaque appel".
En production, c'est l'inverse ! La compilation de fichier Smarty est très lente, donc il faut à minima indiquer "Recompiler les fichiers de templates si ils ont été mis à jour". Mais l'option la plus appropriée est "Ne jamais recompiler les fichiers de templates", car elle évite ainsi à Smarty de contrôler la date du fichier à chaque appel.
L'inconvénient, c'est qu'il faut après supprimer manuellement les fichiers de compilation de Smarty si vous faites des modifications dans vos templates.
2. Cache Smarty
Le cache de Smarty est un moyen très puissant d'économiser les ressources serveur de votre boutique. Avec le cache activé, au lieu de récupérer à chaque appel vos listes des produits et catégories, PrestaShop peut simplement réutiliser le bloc HTML déjà généré la première fois et le réafficher tel quel, sans traitement supplémentaire ou accès à la base de données.
Bien sûr, cette option est à désactiver en développement, pour que toutes vos modifications apparaissent immédiatement en front office. Mais en production, il est fortement conseillé de la remettre pour considérablement accélérer les performances de votre boutique, notamment à partir de la prochaine 1.5.5.
3. Console de débogage
Cet outil n'est utile que pour certains développeurs. Il permet d'afficher dans une pop-up toutes les informations qui ont été assignées au Front Office pour lui permettre d'afficher la page demandée.
Cependant, il est fortement déconseillée de laisser cette console accessible en production, car elle comporte souvent des informations privées sur votre catalogue de produit, qui sont effectivement assignées à Smarty mais non utilisées en Front Office.
La console permettant de les afficher, elle est à bannir en production en choisissant bien l'option "Console de débogage : Ne pas ouvrir la console" comme c'est le cas par défaut depuis la 1.5.
Attention cependant en version 1.4, cette option n'était pas disponible dans le back office, il est donc nécessaire d'aller la désactiver à la main dans le fichier /config/smarty.config.inc.php
Aux environs de la ligne 40, il faut changer
$smarty->debugging_ctrl = 'URL'; /* 'NONE' on production */
par
$smarty->debugging_ctrl = 'NONE'; /* 'NONE' on production */
Par défaut, PrestaShop 1.4 permet l'activation de la console via l'URL. Nous vous invitons donc à vérifier votre configuration et corriger le cas échéant.
4. Mode développeur
PrestaShop dispose d'un mode développeur qui comprend notamment un affichage fin des erreurs et un certain nombre d'informations de debug sur celles-ci. Totalement indispensable pour le développement, il est au contraire à proscrire pour un site en production. En effet, personne ne souhaite qu'un client voit les erreurs éventuelles qui surviendraient sur la boutique !
Lorsque nous livrons un ZIP de PrestaShop, nous désactivons cette option. Vous pouvez la modifier de la façon suivante : dans le fichier /config/defines.inc.php, cherchez la ligne
define('_PS_MODE_DEV_', false);
false signifie que le mode développeur est désactivé. Pour l'activer (ce qui ne doit donc être fait que sur une boutique en développement), il faut alors indiquer
define('_PS_MODE_DEV_', true);
5. Mode profiling
Sur le même principe que le mode développeur, PrestaShop dispose d'un mode profiling pour les performances. Si vous trouvez que votre boutique est anormalement lente, il permet d'en comprendre la cause en affichant dans le footer de la boutique un très grand nombre d'informations.
Inutile de vous dire que ce mode ne doit pas être activé en production :)
Cette option se trouve également dans /config/defines.inc.php, cherchez :
define('_PS_DEBUG_PROFILING_', false);
false signifie que le mode profiling est désactivé. Pour l'activer, il faut alors indiquer
define('_PS_DEBUG_PROFILING_', true);
Voici un tableau récapitulatif de ces options :
Pour plus d'informations sur les options de configuration de PrestaShop pour le développement comme pour la production, je vous invite à vous référer au guide de l'administrateur système dans notre documentation.