Bonjour @guillaume_admin74 et @gabriel33,
@gabriel33 a raison, la version de PrestaShop est cruciale. En l'occurrence, pour PrestaShop 8.0.2, l'approche de \Cache::getInstance() n'est plus la méthode recommandée et elle ne sera pas toujours synchronisée avec l'adaptateur de cache que tu as choisi dans Paramètres avancés > Performances.
PrestaShop 8 utilise les services Symfony. Pour obtenir l'instance de cache principale qui respecte ta configuration (Redis, Memcached ou système de fichiers), tu dois passer par le conteneur de services. Si ton module est un service lui-même ou s'il s'exécute dans un contexte où le conteneur est accessible (comme une méthode install() de ton module), tu peux le récupérer comme ceci :
// modules/mycustommodule/mycustommodule.php (extrait corrigé)
// ...
public function install()
{
if (!parent::install()) {
return false;
}
// Méthode correcte pour obtenir le service de cache en PS 8+
// Cela respectera le backend configuré dans le BO
$cacheService = $this->get('ps_cache');
La ligne $cacheService = $this->get('ps_cache'); permet de récupérer le service de cache configuré globalement. Assure-toi que la classe de ton module hérite bien de Module pour avoir accès à la méthode get().
Pour la configuration de Redis :
- Vérifie dans
Paramètres avancés > Informations que ext-redis est bien listé dans les extensions PHP.
- Dans
Paramètres avancés > Performances, sélectionne Redis comme système de cache.
- Si tu utilises un socket, assure-toi que le chemin est correct. Si tu utilises TCP, que l'hôte et le port sont bien renseignés et que le serveur Redis est accessible depuis PrestaShop.
Concernant le CCC qui casse tes scripts JS : c'est un problème courant. Le CCC combine et minifie les fichiers, ce qui peut créer des erreurs si les scripts ne sont pas écrits de manière robuste (par exemple, dépendances non respectées ou variables globales écrasées). La meilleure approche est de désactiver temporairement le CCC dans Paramètres avancés > Performances (onglet CCC) pour JS et CSS, puis de le réactiver progressivement en identifiant les fichiers qui posent problème. Il n'y a pas de fonctionnalité native pour exclure des fichiers spécifiques du CCC depuis le back-office, cela nécessiterait des modifications dans les fichiers de template ou via un module pour gérer le chargement des assets.