Hébergement et VPS pour PrestaShop 9 : prérequis du serveur
Avant de louer un VPS ou un hébergement pour PrestaShop, mieux vaut savoir ce qu'il doit proposer : version de PHP et extensions, base de données, mémoire, OPcache, tâches planifiées, HTTPS et e-mail. Nous expliquons comment le vérifier avant de payer et les signes que votre serveur est devenu insuffisant.
Un hébergement ou un VPS pour PrestaShop 8 ou 9 a besoin d'une version de PHP prise en charge par votre version de PrestaShop avec ses extensions, de MySQL ou MariaDB, d'assez de mémoire pour PHP, d'OPcache activé, de tâches planifiées, de HTTPS et d'un e-mail qui arrive. Peu importe qu'il s'appelle mutualisé, VPS ou cloud : si l'une de ces pièces manque, la boutique sera lente ou affichera des erreurs.
La question « quel VPS louer pour PrestaShop ? » commence souvent par les cœurs et les gigaoctets. C'est le moins important au départ. Cet article passe en revue ce que le serveur doit vraiment avoir, comment le vérifier avant de payer et comment savoir quand le vôtre est devenu insuffisant. Le choix entre mutualisé, VPS ou cloud est une autre décision, que nous traitons dans un autre article du blog.
PHP : la version et les extensions
Chaque version de PrestaShop fonctionne avec une plage précise de versions de PHP, et cette plage change d'une branche à l'autre. Dans notre environnement, nous faisons tourner PrestaShop 9.1 et 9.2 avec PHP 8.3 et PrestaShop 8.2 avec PHP 8.1 ; pour toute autre combinaison, consultez les prérequis officiels de la version que vous allez installer. Ce que le serveur doit permettre :
- Choisir la version de PHP, et la changer sans dépendre d'un ticket de plusieurs jours.
- Les extensions demandées par PrestaShop, parmi lesquelles
curl,gd,intl,mbstring,openssl,pdo_mysql,zip,dom,simplexmletfileinfo. S'il en manque une, l'installation le signalera ou, pire, une fonction précise échouera des mois plus tard. - Des limites réglables :
memory_limit,max_execution_time,upload_max_filesizeetpost_max_size. Les imports de catalogue, la régénération des miniatures et les mises à jour demandent plus qu'une page normale.
OPcache et autres caches
PrestaShop charge des milliers de fichiers PHP à chaque requête. OPcache garde ce code déjà compilé en mémoire et c'est probablement l'amélioration de performances la moins chère qui existe. Il doit être activé et disposer d'assez de mémoire pour contenir tout le code de la boutique ; s'il est trop petit, il se vide sans cesse et n'aide presque pas.
Au-dessus viennent le cache de PrestaShop, un cache d'objets comme Redis pour soulager la base de données et un cache de page complète pour les visiteurs sans session. Demandez si le serveur accepte Redis ou si vous pouvez l'installer : sur un VPS, c'est vous qui décidez ; sur un mutualisé, cela dépend du fournisseur.
Base de données
- MySQL ou MariaDB dans une version prise en charge par votre PrestaShop.
- Sur le même serveur ou très proche. Une page de catégorie peut lancer des centaines de requêtes ; si chacune doit voyager loin, la boutique est lente même si le serveur est surdimensionné.
- De la mémoire pour la base de données. Les tables de produits, de commandes et de statistiques grossissent avec les années, et une base sans mémoire lit sur le disque.
- Un accès pour les sauvegardes et la maintenance : pouvoir faire un dump complet quand vous en avez besoin.
Mémoire et disque
Il n'existe pas de chiffre valable pour toutes les boutiques, car cela dépend du trafic, du nombre de produits et de ce que font les modules. Il y a en revanche des critères :
- Des disques rapides (SSD ou NVMe). PrestaShop lit beaucoup de petits fichiers, et un disque lent se ressent sur chaque page.
- De la mémoire garantie, pas « jusqu'à ». Sur un VPS, la mémoire doit vous être réservée ; sur un mutualisé, demandez combien vous est assuré lors d'un pic.
- De la place pour grandir : images, sauvegardes, journaux et cache occupent plus qu'on ne le croit.
Serveur web et URL simplifiées
PrestaShop fonctionne avec Apache, avec Nginx ou avec des serveurs compatibles Apache. Avec Apache, les URL simplifiées dépendent de mod_rewrite et du respect par le serveur du fichier .htaccess généré par la boutique ; sinon, les fiches et les catégories renvoient une erreur 404 dès que vous activez les URL simplifiées. Avec Nginx, il n'y a pas de .htaccess : les règles de réécriture et le blocage des dossiers qui ne doivent pas être servis s'écrivent dans la configuration du serveur, et quelqu'un doit les maintenir lors des mises à jour de PrestaShop. Renseignez-vous aussi sur HTTP/2 ou supérieur et sur la compression des réponses, qui se ressentent sur chaque page.
Tâches planifiées (cron)
Beaucoup de choses dans une boutique reposent sur des tâches planifiées : indexation du moteur de recherche, envoi des e-mails en file d'attente, synchronisation avec l'ERP ou les marketplaces, flux de produits, nettoyage des paniers et sauvegardes. Le serveur doit permettre de créer un cron système qui appelle une URL ou exécute une commande toutes les quelques minutes. Sans cela, tout dépend de la visite de quelqu'un sur la boutique, et les tâches s'exécutent en retard ou jamais.
HTTPS et e-mail
Le HTTPS n'est pas optionnel : les passerelles de paiement, les navigateurs et les moteurs de recherche l'exigent. Le certificat doit se renouveler tout seul et couvrir le domaine avec et sans www.
L'e-mail est ce qu'on oublie le plus. Les confirmations de commande, la récupération du mot de passe et les alertes internes doivent arriver. Vérifiez que vous pouvez configurer SPF, DKIM et DMARC sur votre domaine et que le serveur d'envoi a une bonne réputation. Sinon, envoyez les e-mails de la boutique par SMTP via un service d'e-mail transactionnel.
Comment le vérifier avant de souscrire
- Demandez la fiche technique : versions de PHP disponibles, extensions, limites, version de la base de données, type de disque et mémoire garantie.
- Demandez un essai ou une période de remboursement et déposez une copie de votre boutique sur un sous-domaine.
- Lancez la vérification des prérequis fournie par l'installateur de PrestaShop, ou un fichier avec
phpinfo()que vous supprimez ensuite. - Mesurez : temps de réponse de la page d'accueil, d'une grande catégorie, d'une fiche et du checkout, et du back-office, là où un serveur juste se ressent le plus.
- Testez l'e-mail avec une commande de test et regardez s'il arrive et s'il tombe en spam.
- Renseignez-vous sur les sauvegardes : fréquence, durée de conservation, emplacement et procédure de restauration.
Signes que le serveur est devenu insuffisant
- Le back-office est lent même avec peu de trafic.
- Des erreurs 500, 502 ou 503 aux moments de forte affluence ou lors d'un import.
- Des imports ou des régénérations d'images qui s'interrompent à mi-chemin par manque de temps ou de mémoire.
- Impossible de mettre à jour PrestaShop parce que la version de PHP nécessaire n'est pas disponible.
- Les e-mails de commande n'arrivent pas ou arrivent en spam.
- Les tâches planifiées s'exécutent en retard ou pas du tout.
Comment le résoudre dans PrestaShop
Si vous préférez ne pas administrer le serveur, le plan d'hébergement professionnel de Rekire est configuré pour PrestaShop dès le premier jour, et la personne qui vous répond connaît votre boutique, pas seulement le serveur. Pour tirer le meilleur de celui que vous avez déjà, le module All In One Cache gère trois caches depuis un seul panneau : page complète sur disque, requêtes SQL dans Redis (sur PrestaShop 8 ou supérieur) et OPcache, et purge le cache de page automatiquement quand vous modifiez des produits, des catégories ou des prix. Et si vous avez besoin que quelqu'un examine le serveur, ajuste PHP ou déménage la boutique, nous le faisons avec le support technique PrestaShop à l'heure. Le vérifier avant un pic de ventes coûte moins cher que de le réparer en plein milieu.
Questions fréquentes
PrestaShop fonctionne-t-il sur un hébergement mutualisé ?
Oui, si l'hébergement propose la bonne version de PHP, les extensions, des limites suffisantes et le cron. Pour de petites boutiques, cela peut suffire ; quand le catalogue ou le trafic grandit, l'absence de ressources garanties se fait sentir.
Combien de mémoire faut-il à un VPS pour PrestaShop ?
Cela dépend du trafic, du catalogue et des modules. Plus qu'un chiffre, l'important est que la mémoire soit garantie et suffise à PHP, à la base de données et au cache en même temps. Mesurez avec votre vraie boutique avant de décider.
Quelle version de PHP faut-il pour PrestaShop 9 ?
La 9 exige une version récente de PHP 8 ; nous la faisons tourner avec PHP 8.3. Consultez les prérequis officiels de la version exacte que vous allez installer.
Redis est-il nécessaire ?
Il n'est pas indispensable, mais il aide sur les boutiques qui font beaucoup de requêtes à la base de données. OPcache, en revanche, devrait toujours être activé.