Intermédiaire ⏱ 40 min de mise en œuvre Mis à jour le 11 août 2026

Héberger PrestaShop sur un VPS

PrestaShop est le CMS e-commerce français par excellence : back-office complet, TVA et factures natives. Voici comment l'héberger sur votre VPS, souverainement.

PrestaShop est un CMS e-commerce open source français conçu pour gérer un catalogue, des commandes, des promotions, des transporteurs, plusieurs boutiques, des modules et des thèmes depuis un back-office complet. Sa localisation française facilite aussi la gestion de l’euro, de la TVA, des factures et des règles commerciales courantes en France.

L’installer sur un VPS permet de conserver la maîtrise de l’application, des données clients et de la configuration technique. Cette approche s’inscrit naturellement dans une recherche de souveraineté numérique, particulièrement avec un hébergeur français comme TalCloud, dont les serveurs sont situés en France et l’infrastructure pensée pour le RGPD. Les VPS TalCloud sont disponibles dès 4,99 € par mois, avec stockage NVMe, protection Anti-DDoS Netrix et support humain.

PrestaShop ou WooCommerce

WooCommerce est une extension e-commerce de WordPress. Il profite de l’écosystème très large de WordPress et convient particulièrement aux sites dans lesquels le contenu éditorial occupe une place centrale. Sa souplesse permet de construire des projets hybrides associant blog, pages institutionnelles et boutique.

PrestaShop est, dès l’origine, un CMS dédié au commerce électronique. Son back-office propose nativement une gestion approfondie du catalogue, des déclinaisons, des commandes, des promotions, des transporteurs et du multi-boutique. Son orientation française constitue également un avantage pour les marchands qui travaillent principalement en France.

Le choix dépend donc de votre environnement préféré. WooCommerce est pertinent si vous connaissez déjà WordPress et ses extensions. PrestaShop convient mieux si vous recherchez un outil spécialisé, structuré autour des opérations quotidiennes d’une boutique.

Prérequis pour héberger PrestaShop

Prévoyez un VPS disposant d’une quantité de mémoire adaptée à votre catalogue et à votre trafic. PrestaShop, PHP, MariaDB et les traitements d’images peuvent consommer plusieurs gigaoctets de RAM. Une boutique de production ne doit pas être dimensionnée comme un simple site vitrine.

Vous aurez également besoin des éléments suivants :

  • Docker et le module Docker Compose installés sur le VPS (voir installer Docker sur un VPS)
  • Un nom de domaine ou un sous-domaine dédié à la boutique
  • Un enregistrement DNS pointant vers l’adresse IP du VPS
  • Un reverse proxy capable de terminer les connexions HTTPS
  • Un compte auprès d’une passerelle de paiement
  • Une adresse électronique dédiée à l’administration
  • Une stratégie de sauvegarde externe au VPS

Le stockage NVMe améliore les accès au catalogue, au cache, aux images et à la base de données. Il ne remplace cependant ni une configuration PHP adaptée ni l’optimisation de PrestaShop.

Déployer PrestaShop avec Docker Compose

Créez un répertoire de projet, puis placez-y un fichier compose.yml. L’exemple suivant publie PrestaShop uniquement sur l’interface locale du VPS. Le port ne sera donc pas directement accessible depuis Internet.

services:
  database:
    image: mariadb:10.11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: prestashop
      MARIADB_USER: prestashop
      MARIADB_PASSWORD: CHANGE_ME_DB_PASSWORD
      MARIADB_ROOT_PASSWORD: CHANGE_ME_ROOT_PASSWORD
    volumes:
      - database_data:/var/lib/mysql

  prestashop:
    image: prestashop/prestashop:8-apache
    restart: unless-stopped
    depends_on:
      - database
    ports:
      - "127.0.0.1:8080:80"
    environment:
      DB_SERVER: database
      DB_NAME: prestashop
      DB_USER: prestashop
      DB_PASSWD: CHANGE_ME_DB_PASSWORD
      PS_DOMAIN: boutique.exemple.fr
      PS_INSTALL_AUTO: "1"
      PS_ERASE_DB: "0"
      PS_LANGUAGE: fr
      PS_COUNTRY: fr
      ADMIN_MAIL: admin@exemple.fr
      ADMIN_PASSWD: CHANGE_ME_ADMIN_PASSWORD
    volumes:
      - prestashop_data:/var/www/html

volumes:
  database_data:
  prestashop_data:

Remplacez les mots de passe, le domaine et l’adresse d’administration avant le lancement. Utilisez des secrets longs et différents pour MariaDB et le back-office.

Démarrez les conteneurs avec :

docker compose up -d

Suivez ensuite l’installation automatique :

docker compose logs -f prestashop

Le premier démarrage peut être long. L’image initialise les fichiers, attend la base MariaDB, installe la boutique et applique les paramètres fournis. Ne relancez pas continuellement les conteneurs pendant cette phase.

Activer HTTPS avec un reverse proxy

HTTPS est obligatoire pour protéger les identifiants, les sessions, les adresses des clients et les échanges avec les modules de paiement. Le domaine indiqué dans PS_DOMAIN doit correspondre exactement au nom public utilisé par les visiteurs.

Voici le coeur d’une configuration Nginx placée derrière un certificat TLS valide :

server {
    listen 443 ssl http2;
    server_name boutique.exemple.fr;

    ssl_certificate /etc/letsencrypt/live/boutique.exemple.fr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/boutique.exemple.fr/privkey.pem;

    client_max_body_size 64m;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

Ajoutez une redirection permanente du port HTTP vers HTTPS. Dans PrestaShop, vérifiez ensuite la détection du protocole sécurisé et activez SSL pour l’ensemble des pages.

Le dossier d’administration ne doit pas conserver un nom prévisible. PrestaShop le renomme normalement pendant l’installation afin de limiter les tentatives automatisées.

Accéder au back-office

Pour retrouver le nom du dossier d’administration généré, exécutez :

docker compose exec prestashop find /var/www/html -maxdepth 1 -type d -name 'admin*' -printf '%f\n'

Ouvrez ensuite l’adresse correspondant à ce dossier sur votre domaine, puis connectez-vous avec ADMIN_MAIL et ADMIN_PASSWD. Modifiez le mot de passe initial s’il a été exposé dans un fichier partagé ou dans l’historique d’un dépôt.

Ne publiez jamais le fichier Compose avec ses secrets. Limitez aussi l’accès SSH au VPS, utilisez des clés SSH et désactivez les comptes inutiles.

Configurer la boutique

Commencez par renseigner l’identité juridique, l’adresse, les contacts et les coordonnées de l’entreprise. Vérifiez la langue française, la devise EUR, les fuseaux horaires et les formats de prix.

Configurez ensuite les règles de TVA correspondant aux produits et aux pays livrés. Une configuration proposée par défaut ne dispense pas d’une validation comptable ou juridique.

Ajoutez vos transporteurs, zones, délais et tranches tarifaires. Testez notamment les limites de poids, les frais offerts et les destinations non desservies. Installez uniquement les modules réellement nécessaires afin de réduire les risques de conflit, les vulnérabilités et la charge du back-office.

Configurer les paiements sans stocker de cartes

Utilisez le module officiel ou reconnu de votre passerelle de paiement. Le client doit saisir ses informations bancaires sur une page hébergée par le prestataire ou dans un composant sécurisé fourni par celui-ci.

Ne stockez jamais les numéros de carte, cryptogrammes ou données bancaires sensibles dans PrestaShop ou dans votre base MariaDB. La passerelle prend en charge une partie importante des obligations PCI DSS, mais le marchand reste responsable de l’intégration, de la sécurité de son site et de ses procédures.

Activez HTTPS avant tout test. Utilisez d’abord le mode de test de la passerelle, puis vérifiez les paiements acceptés, refusés, annulés et remboursés ainsi que les notifications serveur.

Ajouter les produits et catégories

Construisez une arborescence de catégories simple avant d’importer un catalogue volumineux. Pour chaque produit, renseignez un titre précis, une description utile, des images optimisées, un prix, une TVA, un stock et, si nécessaire, des déclinaisons.

Soignez les URL, les balises de titre et les méta-descriptions. Évitez de dupliquer les descriptions fournies par les fabricants. Une page produit originale, claire et complète aide à la fois les clients et le référencement naturel.

Testez enfin le parcours complet sur mobile et ordinateur, depuis la catégorie jusqu’à la confirmation de commande.

Respecter le RGPD

PrestaShop traite des données personnelles comme les noms, adresses, historiques de commande et informations de livraison. Le module RGPD de PrestaShop peut aider à gérer le consentement, l’accès aux données et certaines demandes des clients. Il ne transfère pas la responsabilité juridique au CMS ou à l’hébergeur.

Documentez les finalités et durées de conservation. Publiez des mentions légales, des conditions générales de vente et une politique de confidentialité adaptées à votre activité. Vérifiez également les cookies déposés par les modules de mesure d’audience, de publicité ou de discussion.

Un VPS et des serveurs situés en France facilitent une démarche de localisation des données. Il faut néanmoins examiner chaque prestataire externe, notamment les solutions de paiement, d’e-mail, d’analyse et de support.

Optimiser les performances

PrestaShop peut devenir lourd avec un grand catalogue ou de nombreux modules. En production, désactivez le mode debug et évitez de forcer la recompilation des modèles Smarty à chaque requête. Utilisez le cache Smarty avec une politique de compilation adaptée à la production.

Activez avec prudence les fonctions CCC pour combiner, compresser et mettre en cache les feuilles de style et les scripts. Contrôlez visuellement la boutique après chaque changement, car certains thèmes ou modules supportent mal ces optimisations.

Compressez les images, utilisez des dimensions cohérentes et évitez les fichiers originaux excessivement lourds. Surveillez la RAM, le processeur, l’espace disque, les requêtes lentes et les temps de réponse PHP. Notre guide sur l’optimisation de la vitesse d’une boutique complète ces réglages. Le stockage NVMe du futur VPS TalCloud contribuera à réduire la latence des accès disque.

Sécuriser la boutique

Conservez un dossier de back-office renommé et un mot de passe administrateur unique. Créez des comptes séparés pour les employés et attribuez uniquement les permissions nécessaires.

Mettez à jour PrestaShop, le thème et les modules. Supprimez les modules abandonnés ou inutilisés, même lorsqu’ils sont désactivés. Contrôlez les journaux, les connexions administratives et les erreurs inhabituelles.

La protection Anti-DDoS Netrix de TalCloud apporte une défense au niveau de l’infrastructure. Elle doit être complétée par le durcissement du VPS, le pare-feu, les mises à jour du système et une exposition minimale des ports.

Sauvegarder PrestaShop

Une sauvegarde exploitable doit contenir la base MariaDB et le volume /var/www/html. Ce volume héberge notamment les images, thèmes, modules et fichiers générés par la boutique.

Créez une sauvegarde SQL avec :

docker compose exec -T database mariadb-dump \
  -u prestashop \
  -pCHANGE_ME_DB_PASSWORD \
  --single-transaction \
  prestashop > prestashop.sql

Sauvegardez séparément le volume prestashop_data avec un outil compatible avec les volumes Docker. Copiez ensuite les archives vers un stockage externe au VPS et protégez-les par chiffrement. Notre guide sur les sauvegardes chiffrées avec restic détaille cette approche.

Une sauvegarde non testée ne garantit pas une restauration. Effectuez périodiquement une restauration sur un environnement isolé et documentez la procédure.

Mettre PrestaShop à jour

Avant chaque mise à jour, lisez les prérequis de la version cible et vérifiez la compatibilité de PHP, MariaDB, du thème et des modules. Réalisez une sauvegarde complète, puis testez la migration sur une copie de la boutique.

Évitez de remplacer simplement l’image Docker en production sans validation. Une mise à jour peut inclure des migrations de base de données et rendre un retour arrière difficile. Après déploiement, contrôlez le catalogue, le panier, les comptes clients, les transporteurs, les e-mails et tous les scénarios de paiement.

Pour une boutique plus simple ne nécessitant pas l’administration d’un VPS, l’offre d’hébergement web Web Pro de TalCloud sera également bientôt disponible.