
Ce matin, plusieurs clients nous ont contacté avec le même problème : leur back-office PrestaShop était inaccessible. Un écran d'erreur XML bloquait tout. Si vous êtes dans cette situation, la solution est rapide.
En vous connectant à votre back-office PrestaShop, vous tombez sur ce type de message :
Il y a plusieurs erreurs.
1. Erreur : StartTag: invalid element name dans le fichier country_module_list.xml.
2. Erreur : Extra content at the end of the document dans le fichier country_module_list.xml.
3. Erreur : StartTag: invalid element name dans le fichier must_have_module_list.xml.
4. Erreur : Extra content at the end of the document dans le fichier must_have_module_list.xml.
Le front-office continue de tourner normalement, seul le back-office est bloqué. Le problème touche les versions PrestaShop 1.7.6.x.
PrestaShop contacte régulièrement les serveurs Addons (addons.prestashop.com) pour récupérer des listes de modules recommandés. Ces réponses sont stockées en local dans des fichiers XML sous config/xml/.
Le souci : quand les serveurs Addons sont en maintenance, ils renvoient une page HTML au lieu du XML attendu. PrestaShop écrase les fichiers locaux avec ce contenu invalide, puis tente de les parser au chargement du back-office. Le XML est corrompu, le parser plante, le back-office devient inaccessible.
Connectez-vous en SSH à votre serveur. Trois fichiers sont concernés dans config/xml/ : default_country_modules_list.xml, modules_native_addons.xml et must_have_modules_list.xml. Il faut remplacer leur contenu par du XML valide mais vide, en attendant que les serveurs Addons reviennent en ligne :
cd /chemin/vers/votre/prestashop
echo '<?xml version="1.0" encoding="UTF-8"?><modules></modules>' > config/xml/default_country_modules_list.xml
echo '<?xml version="1.0" encoding="UTF-8"?><modules></modules>' > config/xml/modules_native_addons.xml
echo '<?xml version="1.0" encoding="UTF-8"?><modules></modules>' > config/xml/must_have_modules_list.xml
Si vous n'avez que du FTP, ouvrez ces trois fichiers et remplacez leur contenu par :
<?xml version="1.0" encoding="UTF-8"?>
<modules></modules>
Tant que les serveurs Addons sont instables, il faut empêcher PrestaShop de les contacter. Dans classes/Tools.php, trouvez :
protected static $is_addons_up = true;
Et passez la valeur à false :
protected static $is_addons_up = false;
rm -rf var/cache/*
Sur les anciennes versions :
rm -rf cache/smarty/compile/*
rm -rf cache/smarty/cache/*
Reconnectez-vous au back-office, tout devrait fonctionner.
Une fois la plateforme Addons revenue à la normale, remettez la variable à true dans classes/Tools.php :
protected static $is_addons_up = true;
Les fichiers XML se régénéreront correctement. Cette variable ne contrôle que les suggestions de modules dans le back-office — la passer à false n'a aucun impact sur votre boutique ni sur vos modules installés.
Ce genre de problème revient à chaque maintenance Addons. Maintenant vous savez quoi faire.
Retrouvez ci-dessous quelques articles qui pourraient vous intéresser.

