Child pages
  • Guide de l'administrateur système

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Modifier le fichier de configuration de PHP requiert que vous touchiez à certains réglages du fichier php.ini, ce qui la plupart du temps consiste à activer ou désactiver une option (passer de "On" à "Off" et vice-versa). Le fichier contient beaucoup de documentation pour chacune de ses lignes : lisez bien celles qui concernent votre modification afin de mieux comprendre celles-ci. Faites attention à ce que vous modifiez, car cela a un résultat direct sur la manière dont PHP fonctionne, et donc sur la stabilité ou même la sécurité de votre serveur.

...

  1. Sécuriser le back-office
    1. Renommez votre dossier /admin après l'installation de PrestaShop. C'est essentiel, au point que vous ne pouvez pas accéder à votre administration si vous n'avez pas fait cette modification. Assurez-vous d'utiliser un nom de dossier réellement unique, idéalement un mélanger mélangeur de lettre et de chiffres, par exemple "pr3st4dm1n".
    2. Protégez votre dossier d'administration avec les fichiers .htaccess et .htpasswd, ou demandez à votre hébergeur de le faire pour vous.
    3. Ne laissez pas votre navigateur garder la trace de vos mots de passe (via des cookies ou n'importe quel autre outil).
    4. Choisissez un mot de passe complexe, mélangeant lettres, chiffres et même ponctuation, comme "5r3XaDR#". Vous pouvez et même devriez utiliser un générateur de mot de passe, tel que celui de PCTools (http://www.pctools.com/guides/password/) ou celui de GRC (https://www.grc.com/passwords.htm).
  2. Sécuriser votre installation PHP
    1. Utilisez les réglages PHP requis et recommandés, au début du présent document.
  3. Effacez toujours le dossier /install de votre serveur après avoir installé ou mis à jour PrestaShop.
  4. Effacez les fichiers inutiles de votre serveur de production :
    • tous les fichiers readme_xx.txt.
    • le fichier CHANGELOG.
    • le dossier /docs.
  5. Interdisez l'accès aux fichiers de votre thème, à l'aide d'un fichier .htaccess ayant le contenu suivant:

    Code Block
    html
    html
    <FilesMatch "\.tpl$">
    order deny,allow
    deny from all
    </FilesMatch>
    

...

Il y a quatre fichiers de configuration dans PrestaShop, tous se trouvant dans le dossier /config :

  • config.inc.php : principal fichier de configuration de PrestaShop.
  • defines.inc.php : contient toutes les valeurs constantes de PrestaShop. Elles étaient auparavant définies dans settings.inc.php.
  • settings.inc.php : contient les informations d'accès à la base de données, ainsi que le numéro de version de PrestaShop.
  • smarty.config.inc.php : contient toutes les configurations liées à Smarty, le moteur de template/modèle de PrestaShop.

...

En plus des valeurs constantes, ce fichier contient l'emplacement des de tous les fichiers et dossiers. Si vous avez besoin de les changer, n'oubliez pas de conserver l'original à portée de main, dans le cas où vous souhaiteriez revenir à l'ancien emplacement.

...

  • $smarty->caching = false; : le système de cache de Smarty doit être désactivé, parce qu'il n'est pas compatible avec PrestaShop.
  • IMPORTANT : en production, $smarty->force_compile doit être mis à "false", car cela améliorera des de 30 % le temps de chargement de la page. En revanche, lors de la modification d'un fichier .tpl, vous devrez effacer le dossier /tools/smarty/compile (sauf son fichier index.php) afin de voir les modifications en place dans votre navigateur. Notez que ce réglage peut également être fait dans le back-office, dans le sous-onglet "Performance" de l'onglet "Préférences", section "Smarty".
  • $smarty->compile_check devrait être laissé à "false".
  • $smarty->debugging vous donne accès aux informations de débogage de Smarty quand les pages sont affichées.

Améliorer les performances de PrestaShop

Voici quelques conseils que qui devraient vous permettre d'optimiser PrestaShop.

...

  • /admin : contient tous les fichiers de PrestaShop relatifs au back-office. Si vous cherchez à accéder à ce dossier à l'aide de votre navigateur, il vous sera demandé de vous authentifier, pour des raisons de sécurité. Important : faites en sorte que ce dossier reste protéger par des fichiers .htaccess et .htpasswd?.
  • /cache: contient des dossiers temporaires qui sont générés et réutilisés afin d'alléger la charge du serveur.
  • /classes : contient tous les fichiers relatifs au modèle Objet de PrestaShop. Chaque fichier représente (et contient) une classe PHP, et ses méthodes et propriétés.
  • /config : contient tous les fichiers de configuration de PrestaShop. Ne modifiez jamais ces fichiers, sauf si on vous le demande expressément, car ils sont gérés directement par l'installateur et le back-office de PrestaShop.
  • /controllers : contient tous les fichiers relatifs aux contrôleurs de PrestaShop (dans le cadre Modèle-Vue-Contrôleur (, ou "MVC"), l'architecture logicielle sur laquelle repose PrestaShop. Chaque fichier contrôle une partie précise de PrestaShop.
  • /css : contient tous les fichiers CSS qui ne sont pas liés aux thèmes ; de fait, ils sont la plupart du temps utilisés par le back-office de PrestaShop.
  • /docs : contient un peu de documentation. Note : vous devriez les effacer dans un environnement de production.
  • /download : contient tous vos produits numériques, pouvant être téléchargés : fichiers PDFs, MP3s, etc.
  • /img : contient toutes les images par défaut de PrestaShop, c'est à dire celles qui n'appartiennent pas au thème. C'est ici que vous trouverez les sous-dossiers des images pour les catégories de produits (/c, celles des produits (sous-dossier /p) et celle pour le back-office lui-même (sous-dossier /admin}}.
  • /install : contient tous les fichiers relatifs à l'installateur de PrestaShop. Vous devriez l'effacer après installation, afin d'améliorer la sécurité.
  • /js : contient tous les fichiers JavaScript qui ne sont pas liés aux thèmes. La plupart appartiennent au back-office. C'est également ici que vous trouverez le framework jQuery.
  • /localization : contient tous les fichiers de localisation de PrestaShop – c'est à dire, les fichiers qui contiennent des informations locales, comme la monnaie, la langue, les règles de taxes et les groupes de règles de taxes, les états et autres unités utilisées dans le pays choisi (par exemple, le volume en litre, le poids en kilogrammes, etc.).
  • /log : contient les fichiers de log générés par PrestaShop lors de diverses étapes, par exemple pendant le processus d'installation.
  • /mails : contient tous les fichiers HTML et textes relatifs aux e-mails envoyés par PrestaShop. Chaque langue dispose de son propre dossier, où vous pouvez modifier manuellement ce que vous souhaitez.
  • /modules : contient tous les modules de PrestaShop, chacun dans son propre dossier. Si vous souhaitez enlever définitivement un module, commencez par le désinstaller depuis le back-office, puis effacez son dossier à la main.
  • /override : il s'agit d'un dossier particulier, apparu à partir de la version 1.4 de PrestaShop. En utilisant la convention de nommage de dossier et fichiers de PrestaShop, il devient possible de créer des fichiers qui supplantes supplantent les classes et contrôleurs par défaut de PrestaShop. Cela vous permet de modifier le comportement fondamental de PrestaShop sans toucher aux fichiers originaux, ce qui les garde intact en prévision de la prochaine mise à jour.
  • /pdf : contient tous les fichiers template (.tpl) relatifs à la génération de fichier PDF (factures, bons, etc.). Modifiez ces fichiers afin de modifier la présentation des fichiers PDF de PrestaShop.
  • /themes : contient tous les thèmes actuellement installés, chacun dans son propre dossier.
  • /tools : contient les outils externes qui ont été intégré à PrestaShop. Par exemple, c'est ici que vous trouverez Smarty (moteur de thème), FPDF (générateur de fichiers PDF), Swift (expéditeur d'e-mails), PEAR XML Parser (outil PHP).
  • /translations : contient un sous-dossier pour chaque langue. Cependant, si vous souhaitez modifier les traductions, vous devez utiliser l'outil interne de PrestaShop, et surtout pas les modifier directement dans ce dossier.
  • /upload : contient les fichiers qui ont été mis en ligne par les clients pour personnalisés vos produits (par exemple, une image à imprimer sur un mug).
  • /webservice : contient les fichiers qui permettent aux applications tierces de se connecter à PrestaShop, au travers de son API.

...