Maintenance corrective PrestaShop

Dans ce deuxième article dédié à la maintenance PrestaShop, nous allons faire un focus sur la maintenance corrective d’un e-commerce PrestaShop.

Comme la maintenance préventive, les sauvegardes, le monitoring, la sécurité et l’hébergement de votre boutique, la maintenance corrective est intégrée dans notre contrat de maintenance et support PrestaShop dès 69 € HT / mois.

Définition de la maintenance corrective PrestaShop

La maintenance corrective PrestaShop consiste à diagnostiquer puis corriger tout bug apparaissant sur votre boutique.

La maintenance est considérée comme corrective lorsque l’incident est déjà visible (page blanche, erreur 500, module défaillant, etc.).

Cette démarche est vitale, car chaque minute d’indisponibilité peut entraîner des paniers abandonnés et détériorer votre relation client.

Quand a-t-on besoin de maintenance corrective PrestaShop ?

Nous avons vu en détails les principes fondamentaux de l’entretien d’une boutique PrestaShop avec notre guide de la maintenance préventive pour PrestaShop.

Voici les symptômes principaux qui nécessite une maintenance corrective si le préventif n’a pas suffit.

Votre boutique affiche une page blanche

Une page blanche arrive souvent après une mise à jour ou une migration du cœur de PrestaShop (PS 1.6 vers PS 1.7 par exemple) ou un changement de version PHP.

Egalement, un passage hâtif de PHP 7.4 à 8.0 peut rendre à la fois le front-office et le back-office non fonctionnels.

C’est le symptôme d’une erreur fatale.

Erreur 500 (Internal Server Error)

La documentation officielle de PrestaShop nous rappelle qu’un code 500 est un message générique masquant un problème serveur ou un conflit PHP.

Quelque chose s’est mal passé sur le serveur, mais le serveur ne peut pas être plus précis dans son message.

Les causes d’une erreurs 500 sur PrestaShop sont nombreuses. Mais la méthode pour débogué est souvent la même et nous verrons cela plus loin dans l’article.

Activation d’un nouveau module

Certains modules mal codés ou incompatibles peuvent provoquer des conflits PHP ou appeler des classes/fonctions absentes. Cela génère une erreur fatale, masquée côté frontend par une 500.

C’est une situation très rare avec un module installé via la marketplace officielle de PrestaShop comme ils vont vérifiés.

Mais cela arrive plus fréquemment avec les modules mis à disposition sur Github.

Modification du fichier .htaccess

Une mauvaise directive (RewriteRule, Options, etc.) peut faire planter l’environnement Apache. Et cela bloque complètement l’accès, y compris au back-office.

Mauvais droits sur les fichiers/dossiers

PrestaShop nécessite des permissions précises.

Alors, si un fichier est inaccessible par le serveur (chmod ou chown), cela peut générer une 500.

Problème de mémoire PHP ou de timeout

Si un script prend trop de temps à s’exécuter ou dépasse la mémoire autorisée, cela provoque aussi une erreur 500.

Par exemple avec un import massif, une génération de PDF ou un traitement trop long via l’API.

Version PHP incompatible

Si un module ou le cœur de PrestaShop n’est pas compatible avec la version de PHP utilisée sur le serveur.

Par exemple si certaines fonctions sont deprecated ou supprimées en PHP 8+.

Cache corrompu

Le système de cache de PrestaShop peut parfois générer des erreurs si des fichiers sont mal générés ou incomplets.

Cela apparaît fréquemment juste après l’activation d’un nouveau module ou l’édition d’un fichier .htaccess.

Il y a d’autre situations qui nécessite l’activation d’une maintenance corrective sur PrestaShop.

Erreur de connexion à la base de données

Cette erreur empêche le CMS de se connecter ; elle est typiquement liée à des identifiants erronés ou à un serveur MySQL arrêté.

SQLSTATE[HY000] [1045] Access denied for user 'xxx'@'localhost' (using password: YES)

Cela signifie que PrestaShop n’a pas pu établir de connexion avec la base de données. Cette erreur est souvent critique : elle bloque totalement l’affichage du site.

Voici les principales causes de l’erreur.

Identifiants de connexion incorrects

Plusieurs hypothèses dans ce cas :

  • Mauvais nom d’utilisateur MySQL (DB_USER) ;
  • Mot de passe erroné (DB_PASSWD) ;
  • Nom de base (DB_NAME) ou serveur (DB_SERVER) incorrect.

Serveur MySQL indisponible

Plusieurs hypothèses dans ce cas :

  • MySQL arrêté (crash, surcharge, etc.) ;
  • Problème réseau si la base est sur un serveur distant ;
  • Mauvais port ou socket.

Droits insuffisants pour l’utilisateur MySQL

Dans ce cas, l’utilisateur n’a pas les permissions nécessaires pour accéder à la base de données PrestaShop ou effectuer certaines requêtes.

Bug après mise à jour du module Update Assistant

Pour rappel, le module 1-Click Upgrade est l’outil officiel fourni par PrestaShop pour permettre aux marchands de mettre à jour leur boutique vers une version supérieure (ex. de PrestaShop 1.7.7 vers 1.7.8) sans avoir à le faire manuellement.

Voici les étapes de mise à jour technique avec le module :

  • Téléchargement automatique de la nouvelle version de PrestaShop ;
  • Sauvegarde (optionnelle) des fichiers et de la base de données avant mise à jour ;
  • Désactivation temporaire des modules non natifs ;
  • Mise à jour du cœur PrestaShop tout en conservant les données, thèmes et modules
  • Rapport détaillé des étapes de mise à jour. ;

La version 7.x du module a introduit des ruptures ; de nombreux marchands ont signalé des bogues :

  • Échecs de session PHP (déconnexion inattendue du back-office pendant l’upgrade) ;
  • Arrêt brutal du processus de mise à jour sans message d’erreur clair ;
  • Erreurs 500 ou écran blanc après migration ;
  • Compatibilité incomplète avec certaines versions de PrestaShop ou de PHP.

Ces erreurs sont souvent liées à des droits de fichiers insuffisants, à une configuration PHP inadéquate (timeouts trop courts, mémoire insuffisante), ou à un conflit avec un module tiers.

Crash après mise à jour du cœur de PrestaShop

La mise à jour du core (noyau) de PrestaShop peut entraîner des plantages si certaines conditions ne sont pas réunies.

Ces plantages se traduisent souvent par :

  • Erreurs 500 ou écran blanc (WSOD) ;
  • Back-office inaccessible ;
  • Modules cassés ou hooks désactivés ;
  • Incompatibilité avec un thème ou un module tiers.

Les causes sont souvent celles-ci :

  • Fichiers manquants ou mal copiés durant l’upgrade (surtout si manuelle).
  • Modules non compatibles avec la nouvelle version ;
  • Thème personnalisé non mis à jour ;
  • Override du core devenu obsolète ou en conflit ;
  • Cache non vidé avant ou après la mise à jour ;

Un rollback manuel est alors indispensable.

Modules incompatibles ou mal installés

Certaines extensions tierces peuvent provoquer des erreurs 500 ciblées, qui n’apparaissent que sur le front-office / le back-office.

Exemple le module Prestablog a généré une erreur 500 dans l’espace client à cause d’une incompatibilité avec la version de PrestaShop ou un conflit avec un autre module.

Les causes fréquentes :

  • Modules non compatibles avec la version actuelle de PrestaShop ;
  • Installation incomplète ou corrompue ;
  • Conflits entre plusieurs modules utilisant les mêmes hooks ou surcharges ;
  • Problèmes de droits de fichiers lors de l’installation via FTP.

Recommandations pour éviter ces incompatibilités :

  • Toujours vérifier la compatibilité du module avant installation ;
  • Installer depuis le back-office plutôt que par FTP, quand c’est possible ;
  • Activer le mode debug pour identifier précisément le module en cause ;
  • Vérifier les logs PHP et PrestaShop (var/logs, error.log serveur) ;
  • Désactiver le module fautif en renommant son dossier (/modules/nomdumodule) via FTP si le back-office est inaccessible.

Lenteurs et erreurs de type 504/502 sous forte charge sur PrestaShop

A présent une problématique courante rencontrée par de nombreux marchands PrestaShop, notamment ceux gérant de gros catalogues.

Les symptômes observés :

  • Temps de réponse serveur (TTFB) élevé : Certains retours d’expérience indiquent des TTFB supérieurs à 6 secondes après un nettoyage du cache ou lors de la navigation sur des catalogues volumineux ;
  • Erreurs 504/502 : Ces erreurs apparaissent lorsque le serveur met trop de temps à répondre, souvent dues à une saturation de la file PHP-FPM ou à des limites de temps d’exécution dépassées.

Les causes fréquentes :

  • Gros catalogues produits : La gestion de milliers de produits peut entraîner des requêtes SQL complexes et longues, surtout si les index de la base de données ne sont pas optimisés ;
  • Nettoyage du cache : Après un « Clear cache », PrestaShop doit recompiler de nombreux fichiers, ce qui peut temporairement augmenter la charge serveur et ralentir le site ;
  • Limites de configuration serveur : Des paramètres comme max_children ou max_requests trop bas peuvent entraîner une saturation. Des valeurs de proxy_read_timeout ou fastcgi_read_timeout insuffisantes peuvent provoquer des erreurs 504 ;
  • Modules tiers : Certains modules non optimisés peuvent générer des requêtes supplémentaires ou ralentir le chargement des pages.

    Quelques recommandations :

    • Optimisation de la base de données : Assurez-vous que les tables sont correctement indexées et que les requêtes sont optimisées ;
    • Ajustement des paramètres serveur : Augmentez les valeurs de max_children et max_requests en fonction de la charge attendue. Modifiez les paramètres proxy_read_timeout et fastcgi_read_timeout pour permettre des temps d’exécution plus longs ;
    • Utilisation de systèmes de cache efficaces : Mettez en place des solutions de cache comme Varnish ou Redis pour réduire la charge sur le serveur ;
    • Surveillance des performances : Utilisez des outils de monitoring pour identifier les goulots d’étranglement et anticiper les problèmes de charge ;
    • Tests de charge réguliers : Effectuez des tests de performance pour évaluer la capacité de votre infrastructure à gérer des pics de trafic.

    Incohérences de données : stocks et prix erronés dans PrestaShop

    Les symptômes observés :

    • Stocks incohérents : Apparition de stocks négatifs ou de quantités incorrectes sur les fiches produits ;
    • Prix incorrects : Affichage de prix erronés, notamment en cas de promotions ou de remises spécifiques ;
    • Litiges clients : Réclamations dues à des écarts entre les informations affichées sur le site et les confirmations de commande.

    Les causes fréquentes :

    • Cache : Un cache obsolète peut entraîner l’affichage de données périmées. Par exemple, un module a rencontré un problème où le cache ne tenait pas compte des règles, affichant ainsi des prix incorrects pour certains utilisateurs.
    • Hooks mal implémentés : Des modules ou personnalisations qui n’utilisent pas correctement les hooks peuvent empêcher la mise à jour des données. Par exemple, le hook actionUpdateQuantity ne se déclenche pas lors de mises à jour de stock via l’API webservice, ce qui peut entraîner une désynchronisation des quantités.
    • Problèmes de synchronisation avec des systèmes externes : Des modules de synchronisation peuvent rencontrer des erreurs de stock les ventes en magasin et la boutique en ligne.

      Nos recommandations :

      • Vérification des hooks : Assurez-vous que tous les modules et personnalisations utilisent correctement les hooks disponibles dans PrestaShop pour garantir une mise à jour cohérente des données.
      • Gestion du cache : Après des modifications importantes ou des mises à jour, videz le cache de PrestaShop pour éviter l’affichage de données obsolètes.
      • Tests réguliers : Effectuez des tests réguliers pour vérifier la cohérence des données, notamment après des mises à jour ou des modifications de modules.
      • Surveillance des synchronisations : Si vous utilisez des systèmes externes pour la gestion des stocks ou des prix, assurez-vous que les synchronisations se déroulent correctement et que les données sont à jour.

      Pourquoi la maintenance corrective est-elle cruciale pour votre boutique PrestaShop ?

      En investissant dans une maintenance corrective proactive, vous sécurisez non seulement vos opérations quotidiennes, mais vous renforcez également la confiance de vos clients et partenaires, assurant ainsi la croissance et la pérennité de votre activité en ligne.

      Préserver le chiffre d’affaires et l’expérience utilisateur

      Impact des erreurs critiques

      Une erreur 500 (Internal Server Error) peut entraîner une interruption totale de votre site.

      Si le tunnel de commande devient inaccessible pendant plus de 30 minutes, cela peut provoquer une chute significative du taux de conversion, affectant directement vos revenus.

      Performance et référencement naturel

      Google recommande un temps de réponse serveur inférieur à 200 ms pour une expérience utilisateur optimale e-commerce.

      Un bogue ou une surcharge du serveur peut allonger le temps de chargement et entrainer une dégradation du référencement naturel (SEO) et une perte de visibilité sur les moteurs de recherche.

      N’oubliez pas que cette recommandation est technique et c’est le ressenti « homme » qui demeure le plus important.

      Avez-vous l’impression que votre site est lent ? Si oui il faut agir. Si c’est très réactif et que votre note Pagespeed n’est pas optimale, c’est un sujet mais pas une priorité absolue.

      Maintenir la confiance des clients

      Fiabilité des transactions

      Un échec de paiement, même ponctuel, peut suffire à questionner la confiance de vos clients.

      Des incidents répétés peuvent conduire à une augmentation des avis négatifs et à une détérioration de votre réputation en ligne.

      Protection des données

      La maintenance corrective permet de détecter et de corriger rapidement les failles de sécurité, assurant ainsi la protection des données personnelles de vos clients et la conformité avec le Règlement Général sur la Protection des Données (RGPD).

      Optimiser les performances opérationnelles et financières

      Réduction des coûts imprévus

      Intervenir rapidement sur les dysfonctionnements permet de limiter les coûts liés aux pertes de ventes, aux remboursements ou aux compensations clients.

      Une maintenance corrective efficace contribue à stabiliser vos dépenses opérationnelles.

      Amélioration des indicateurs de performance

      Un historique d’interventions rapides et efficaces démontre la maturité technique de votre boutique.

      Cela peut faciliter la négociation de contrats d’assurance e-commerce plus avantageux et renforcer la confiance des investisseurs lors de levées de fonds.

      Assurer la pérennité de votre boutique

      Adaptabilité aux évolutions technologiques

      Le paysage du e-commerce évolue rapidement.

      La maintenance corrective vous permet de rester à jour face aux changements technologiques, aux mises à jour des navigateurs et aux nouvelles exigences des plateformes de paiement.

      Maintien de la satisfaction client

      Un site fonctionnel et performant est essentiel pour offrir une expérience utilisateur de qualité.

      La maintenance corrective contribue à maintenir un haut niveau de satisfaction client, favorisant ainsi la fidélisation et le bouche-à-oreille positif.

      Checklist des bonnes pratiques pour réduire les interventions correctives

      Si vous souhaitez gérer la maintenance PrestaShop de votre boutique en interne, c’est que vous avez un haut niveau technique et voici une liste récapitulative :

      • Mettre en place un plan de maintenance préventive
      • Optimiser les performances
      • Gérer le cycle de vie des modules
      • Industrialiser les montées de version
      • Former votre équipe
      • Documenter chaque correctif dans une documentation interne.

      Et si vous préférez confier la maintenance corrective à un partenaire spécialisé ?

      Notre équipe PrestaShop certifiée garantit une prise en charge sous en quelques minutes pour tout incident critique.

      Contactez nous pour un audit PrestaShop gratuit et découvrez nos forfaits mensuels dès 69 € / mois.

      Conseil et devis urgent par téléphone 09 72 03 59 17