@maxime_13, le problème que vous décrivez est très courant avec PrestaShop 1.7.6.2, car la gestion des adresses IP pour le mode maintenance est effectivement limitée à une liste statique (PS_MAINTENANCE_IP). Pour vos développeurs avec des IP dynamiques, cette approche est inefficace.
La solution la plus propre, sans passer par un module tiers, consiste à créer un override du FrontController pour y ajouter une logique de vérification supplémentaire. Cela vous permettra de bypasser le mode maintenance pour certains utilisateurs sans que leur IP ne soit explicitement whitelisted.
Voici comment procéder :
- Créez un fichier
override/classes/FrontController.php (si vous n'en avez pas déjà un).
- Ajoutez le code suivant dans ce fichier. Ce code va vérifier la présence d'un cookie spécifique (que vous définirez) ou d'un paramètre d'URL. Si l'un des deux est présent, le mode maintenance sera désactivé pour cet utilisateur.
class FrontController extends FrontControllerCore
{
public function init()
{
// Exemple de bypass via un cookie ou un paramètre d'URL
$bypass_key = 'votre_cle_secrete_de_bypass'; // Changez ceci !
if (Tools::getValue('maintenance_bypass') === $bypass_key || isset($_COOKIE['maintenance_bypass_' . $bypass_key])) {
$this->maintenance = false;
// Optionnel : si via URL, définir le cookie pour les prochaines requêtes
if (Tools::getValue('maintenance_bypass') === $bypass_key && !isset($_COOKIE['maintenance_bypass_' . $bypass_key])) {
Explication :
Remplacez 'votre_cle_secrete_de_bypass' par une chaîne de caractères complexe et unique.
Pour accéder au site en mode maintenance, vos développeurs pourront soit ajouter ?maintenance_bypass=votre_cle_secrete_de_bypass à l'URL, soit vous pouvez leur demander de créer un cookie maintenance_bypass_votre_cle_secrete_de_bypass (valeur true). L'ajout via l'URL définira le cookie automatiquement pour 30 jours.
Supprimez le fichier cache/class_index.php pour que PrestaShop prenne en compte l'override.
Cette méthode est robuste et ne nécessite pas de modifier constamment les IPs dans le back-office. Elle s'appuie sur une logique de clé secrète partagée avec votre équipe.