{"id":6207,"date":"2026-03-21T14:42:41","date_gmt":"2026-03-21T13:42:41","guid":{"rendered":"https:\/\/cocos.codes\/?p=6207"},"modified":"2026-03-21T15:08:25","modified_gmt":"2026-03-21T14:08:25","slug":"prestashop-1-6-i-1-7-blad-xml-w-panelu-admina","status":"publish","type":"post","link":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/archives\/prestashop-1-6-i-1-7-blad-xml-w-panelu-admina\/","title":{"rendered":"PrestaShop 1.6 et 1.7 \u2013 erreur XML dans le panneau admin (must_have_modules_list.xml, modules_native_addons.xml)"},"content":{"rendered":"Le gestionnaire de modules dans PrestaShop affiche une erreur XML ? Nous expliquons ci-dessous pourquoi cela se produit et comment le r\u00e9soudre efficacement, sans avoir besoin de mettre \u00e0 jour la boutique ou d'intervenir dans la base de donn\u00e9es.<br \/><br \/><h6>Quels sont les fichiers XML dans le r\u00e9pertoire config\/xml\/ ?<\/h6>PrestaShop stocke localement plusieurs fichiers XML qui sont responsables du fonctionnement de la section <strong>Modules &gt; Gestionnaire de modules<\/strong> dans le panneau d'administration. Ils sont t\u00e9l\u00e9charg\u00e9s cycliquement \u00e0 partir d'une API externe <a href=\"https:\/\/addons.prestashop.com\/pl\/prawne\/96548-eu-cookies-law-rodo-google-consent-20.html?search_query_id=3b8c0da3b7e22e70c1e6bbb5ac6b2ca2&amp;search_index=Products_PL_relevance\" target=\"_blank\" rel=\"noopener\">PrestaShop Addons<\/a> et enregistr\u00e9es dans le r\u00e9pertoire :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>config\/xml\/<\/code><\/pre><\/div>Les plus importants d'entre eux sont :<br \/><br \/><ul><li><span class=\"cc-highlight\">liste_modules_indispensables.xml<\/span> \u2013 liste des modules marqu\u00e9s comme \u201e incontournables \u201d par PrestaShop<\/li><li><span class=\"cc-highlight\">modules_native_addons.xml<\/span> \u2013 liste des modules natifs disponibles dans les modules compl\u00e9mentaires<\/li><li><span class=\"cc-highlight\">default_country_modules_list.xml<\/span> \u2013 modules sugg\u00e9r\u00e9s pour un pays sp\u00e9cifique<\/li><li><span class=\"cc-highlight\">liste_modules_fiables.xml<\/span> \u2013 liste des modules de confiance v\u00e9rifi\u00e9s par PrestaShop<\/li><\/ul>Ces fichiers n'ont aucun impact sur le frontend de la boutique ni sur le traitement des commandes. Ils servent uniquement \u00e0 afficher des informations dans la section des modules du panneau d'administration.<h6><br \/>Une erreur XML se pr\u00e9sente comme un message indiquant un probl\u00e8me dans la structure ou la syntaxe d'un fichier XML. Elle peut appara\u00eetre \u00e0 diff\u00e9rents endroits :\n\n*   **Dans le navigateur web :** Si vous essayez d'ouvrir un fichier XML directement dans un navigateur et qu'il contient des erreurs, le navigateur affichera g\u00e9n\u00e9ralement un message d'erreur clair, indiquant la ligne et la colonne o\u00f9 le probl\u00e8me a \u00e9t\u00e9 d\u00e9tect\u00e9.\n*   **Dans un \u00e9diteur XML ou un IDE :** Lorsque vous travaillez sur un fichier XML avec un outil d\u00e9di\u00e9 (comme Notepad++, VS Code avec un plugin XML, Oxygen XML Editor, etc.), l'\u00e9diteur peut surligner les erreurs, ajouter des ic\u00f4nes d'avertissement ou afficher des messages d'erreur dans un panneau d\u00e9di\u00e9.\n*   **Lors du traitement par une application :** Si une application tente de lire, d'analyser ou de traiter un fichier XML qui contient des erreurs, elle \u00e9chouera et produira g\u00e9n\u00e9ralement une exception ou un message d'erreur d\u00e9crivant la nature du probl\u00e8me XML.\n*   **Dans les logs d'erreurs :** Les erreurs li\u00e9es \u00e0 l'analyse XML sont souvent enregistr\u00e9es dans les fichiers journaux (logs) d'une application ou d'un serveur web pour \u00eatre examin\u00e9es ult\u00e9rieurement.\n\nLes erreurs XML courantes incluent :\n\n*   **Balises non ferm\u00e9es :** Une balise d'ouverture (ex: ``) n'a pas sa balise de fermeture correspondante (ex: ``).\n*   **Balises imbriqu\u00e9es incorrectement :** Les balises ne sont pas correctement hi\u00e9rarchis\u00e9es. Par exemple, `` est incorrect.\n*   **Caract\u00e8res sp\u00e9ciaux non \u00e9chapp\u00e9s :** Les caract\u00e8res comme ``, `&amp;`, `'`, `\"` doivent \u00eatre remplac\u00e9s par leurs entit\u00e9s XML (`&lt;`, `&gt;`, `&amp;`, `&apos;`, `&quot;`) lorsqu'ils apparaissent dans du contenu texte, sauf s'ils font partie des balises elles-m\u00eames.\n*   **Attributs mal form\u00e9s :** Les attributs doivent toujours \u00eatre entour\u00e9s de guillemets doubles ou simples (ex: `attribut=\"valeur\"`).\n*   **Probl\u00e8mes d'encodage :** L'encodage d\u00e9clar\u00e9 dans le fichier XML (ex: ``) ne correspond pas \u00e0 l'encodage r\u00e9el du fichier.\n*   **Non-respect de la structure d\u00e9finie par un DTD ou un sch\u00e9ma (XSD) :** Si le fichier XML est cens\u00e9 suivre une structure sp\u00e9cifique (sch\u00e9ma), une erreur peut survenir si cette structure n'est pas respect\u00e9e.<\/h6>L'erreur appara\u00eet le plus souvent directement dans le panneau d'administration \u2013 dans l'onglet <strong>Modules<\/strong> apr\u00e8s \u00eatre entr\u00e9 dans <strong>Gestionnaire de modules<\/strong>. Les communications peuvent se pr\u00e9senter comme suit :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>Erreur trouv\u00e9e : balise de d\u00e9but attendue, '&lt;&#039; non trouv\u00e9 dans le fichier must_have_modules_list.xml\nErreur trouv\u00e9e : balise de d\u00e9but attendue, &#039;&lt;&#039; non trouv\u00e9 dans le fichier modules_native_addons.xml\nErreur trouv\u00e9e : balise de d\u00e9but attendue, &#039;&lt;&#039; non trouv\u00e9 dans le fichier default_country_modules_list.xml<\/code><\/pre><\/div><div class=\"cc-alert cc-alert-note\"><div class=\"cc-alert-title\">Note<\/div><div class=\"cc-alert-content\">Ces erreurs apparaissent dans PrestaShop 1.7 et PrestaShop 8.x. Dans les versions ant\u00e9rieures 1.6, le m\u00e9canisme fonctionne de mani\u00e8re similaire, bien que l'emplacement de certains fichiers puisse varier.<\/div><\/div><h6><br \/>D'o\u00f9 vient cette erreur ?<\/h6>PrestaShop envoie des requ\u00eates HTTP \u00e0 l'API PrestaShop Addons pour r\u00e9cup\u00e9rer les listes de modules actuelles. Un point de terminaison d'exemple ressemble \u00e0 ceci :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>https:\/\/api.addons.prestashop.com\/?version=1.7.8.x&amp;method=listing&amp;action=must-have<\/code><\/pre><\/div>Le magasin attend une r\u00e9ponse au format XML. Le probl\u00e8me survient quand :<ul><li>Les modules compl\u00e9mentaires d'API renvoient une r\u00e9ponse dans un format diff\u00e9rent (par exemple, JSON ou une page d'erreur HTML)<\/li><li>La connexion \u00e0 l'API est bloqu\u00e9e par un pare-feu ou une configuration du serveur<\/li><li>le serveur de la boutique n'a pas acc\u00e8s aux ressources externes (pas de trafic sortant HTTP\/HTTPS)<\/li><li>Les modules compl\u00e9mentaires de l'API sont temporairement indisponibles ou renvoient un d\u00e9lai d'attente d\u00e9pass\u00e9<\/li><li>La version de PrestaShop est trop ancienne et n'est plus prise en charge par l'API.<\/li><\/ul>Analyseur PHP <span class=\"cc-highlight\">simplexml_load_string()<\/span> lors de la tentative de traitement d'une mauvaise r\u00e9ponse, elle signale justement cette erreur \u2013 <em>Balise de d\u00e9but attendue<\/em>.<br \/><br \/><h6><br \/>Est-ce que le bug affecte le fonctionnement de la boutique ?<\/h6><div class=\"cc-alert cc-alert-success\"><div class=\"cc-alert-title\">Succ\u00e8s<\/div><div class=\"cc-alert-content\">Le frontend du magasin, le panier, les commandes, les paiements et tous les processus d'achat fonctionnent normalement. L'erreur ne concerne que le panneau d'administration \u2013 sp\u00e9cifiquement la section de gestion des modules.<\/div><\/div>Qu'est-ce qui peut cesser de fonctionner dans le panneau :<ul><li>liste des modules recommand\u00e9s<\/li><li>section \u201e \u00e0 avoir \u201d dans le gestionnaire de modules<\/li><li>Compl\u00e9ments de march\u00e9 accessibles depuis l'administrateur<\/li><li>Suggestion de modules pour le pays<\/li><li>chargement plus lent de la page Modules (d\u00e9lai de connexion \u00e0 l'API observ\u00e9)<\/li><\/ul><h6><br \/>\u00c9tape 1 \u2013 V\u00e9rification du contenu des fichiers XML<\/h6>Avant d'apporter des modifications, il est conseill\u00e9 de v\u00e9rifier ce qui se trouve actuellement dans les fichiers. Par <a href=\"https:\/\/pl.wikipedia.org\/wiki\/Secure_Shell\" title=\"SSH\" target=\"_blank\" rel=\"noopener\">SSH<\/a> nous faisons :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>cat config\/xml\/must_have_modules_list.xml<\/code><\/pre><\/div>Si le fichier est vide, contient du HTML (par exemple, une page d'erreur 503) ou du JSON au lieu d'XML, c'est la source du probl\u00e8me.<br \/><br \/><div class=\"cc-alert cc-alert-tip\"><div class=\"cc-alert-title\">Conseil<\/div><div class=\"cc-alert-content\">Pour v\u00e9rifier le contenu du fichier, vous pouvez \u00e9galement utiliser le gestionnaire de fichiers du panneau d'h\u00e9bergement (par exemple, Hestia CP, cPanel) ou un client FTP \u2013 aucun acc\u00e8s SSH n'est requis.<\/div><\/div><h6><br \/>\u00c9tape 2 \u2013 Remplacement des fichiers par le XML correct<\/h6>La solution la plus rapide consiste \u00e0 remplacer le contenu des fichiers probl\u00e9matiques par un XML minimal et correct. Via SSH, nous ex\u00e9cutons\u00a0:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>echo '' &gt; config\/xml\/must_have_modules_list.xml\necho '' &gt; config\/xml\/modules_native_addons.xml\necho '' &gt; config\/xml\/default_country_modules_list.xml\necho '' &gt; config\/xml\/trusted_modules_list.xml<\/code><\/pre><\/div>Vous pouvez \u00e9galement t\u00e9l\u00e9charger des fichiers manuellement via FTP. Chacun d'eux devrait ressembler \u00e0 ceci :<br \/><br \/><div class=\"cc-code-quote\"><pre><code><\/code><\/pre><\/div><div class=\"cc-alert cc-alert-warning\"><div class=\"cc-alert-title\">Avertissement<\/div><div class=\"cc-alert-content\">Seul le remplacement des fichiers r\u00e9soudra temporairement le probl\u00e8me. PrestaShop, lors du prochain rafra\u00eechissement de la page des modules, essaiera \u00e0 nouveau de r\u00e9cup\u00e9rer les donn\u00e9es de l'API et pourra \u00e9craser les fichiers avec une r\u00e9ponse erron\u00e9e.<\/div><\/div><h6><br \/>\u00c9tape 3 \u2013 solution permanente par surcharge de classe<\/h6>Pour bloquer d\u00e9finitivement les tentatives de t\u00e9l\u00e9chargement de XML depuis l'API des modules, nous cr\u00e9ons un override de classe <span class=\"cc-highlight\">Outils<\/span>. Nous cr\u00e9ons un fichier :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>override\/classes\/Tools.php<\/code><\/pre><\/div>Sur le contenu suivant :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>&lt;?php\nclass Tools extends ToolsCore\n{\n    protected static $is_addons_up = false;\n}<\/code><\/pre><\/div>Propri\u00e9t\u00e9 <span class=\"cc-highlight\">$is_addons_up = faux<\/span> cela PrestaShop \u00e0 ne pas essayer de se connecter \u00e0 l'API Addons \u2013 et par cons\u00e9quent, \u00e0 ne pas t\u00e9l\u00e9charger ni \u00e9craser les fichiers XML.<br \/><br \/>Apr\u00e8s avoir cr\u00e9\u00e9 le fichier de remplacement, nous vidons le cache. Pour <strong>PrestaShop 1.7 \/ 8.x<\/strong>:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>rm -rf var\/cache\/dev\/*\nrm -rf var\/cache\/prod\/*<\/code><\/pre><\/div>Vous pouvez \u00e9galement vider le cache depuis le panneau d'administration : <strong>Avanc\u00e9 &gt; Performance &gt; Vider le cache<\/strong>.<br \/><br \/><div class=\"cc-alert cc-alert-info\"><div class=\"cc-alert-title\">Info<\/div><div class=\"cc-alert-content\">Apr\u00e8s avoir appliqu\u00e9 l'override, la section des modules continue de fonctionner pleinement : il est possible d'installer, d\u00e9sinstaller et mettre \u00e0 jour des modules depuis un fichier ZIP. Seule l'int\u00e9gration avec la marketplace Addons dans le panneau d'administration est d\u00e9sactiv\u00e9e.<\/div><\/div><h6><br \/>Alternative \u2013 blocage d'\u00e9criture dans des fichiers<\/h6>Si nous ne voulons pas utiliser de surcharge, il est possible de d\u00e9finir les fichiers XML en lecture seule. PrestaShop ne pourra ainsi pas les \u00e9craser :<br \/><br \/><div class=\"cc-code-quote\"><pre><code>chmod 444 config\/xml\/must_have_modules_list.xml\nchmod 444 config\/xml\/modules_native_addons.xml\nchmod 444 config\/xml\/default_country_modules_list.xml\nchmod 444 config\/xml\/trusted_modules_list.xml<\/code><\/pre><\/div><div class=\"cc-alert cc-alert-note\"><div class=\"cc-alert-title\">Note<\/div><div class=\"cc-alert-content\">La m\u00e9thode avec chmod est plus simple, mais elle n'\u00e9limine pas les tentatives de connexion \u00e0 l'API \u2013 PrestaShop continuera \u00e0 les ex\u00e9cuter, ce qui peut ralentir le chargement de la page des modules. Le override de la classe Tools est une solution techniquement plus propre.<\/div><\/div><h6><br \/>Qu'est-ce que nous ne perdons pas apr\u00e8s avoir d\u00e9sactiv\u00e9 l'API des modules compl\u00e9mentaires ?<\/h6>Il est bon de savoir que dans un environnement de production, la plupart de ces fonctionnalit\u00e9s ne sont de toute fa\u00e7on pas utilis\u00e9es au quotidien :<br \/><br \/><table class=\"woocommerce-table shop_table\"><thead><tr><td><strong>Fonction<\/strong><\/td><td><strong>Apr\u00e8s la d\u00e9sactivation de l'API<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Frontend du magasin<\/td><td>\u00c7a fonctionne sans changement<\/td><\/tr><tr><td>Commandes et panier<\/td><td>\u00c7a fonctionne sans changement<\/td><\/tr><tr><td>Installation des modules depuis ZIP<\/td><td>\u00c7a fonctionne sans changement<\/td><\/tr><tr><td>Mises \u00e0 jour de modules<\/td><td>\u00c7a fonctionne sans changement<\/td><\/tr><tr><td>Modules de marketplace dans l'administration<\/td><td>Indisponible<\/td><\/tr><tr><td>Modules incontournables\u201e<\/td><td>Indisponible<\/td><\/tr><tr><td>Suggestion de modules pour le pays<\/td><td>Indisponible<\/td><\/tr><\/tbody><\/table><br \/><h6>Quand le bug peut-il revenir ?<\/h6>Si nous appliquons uniquement la substitution de fichiers sans remplacement ou chmod, l'erreur peut r\u00e9appara\u00eetre apr\u00e8s :<br \/><br \/><ul><li>rafra\u00eechissement de la page du Gestionnaire de modules<\/li><li>lancement de cron PrestaShop<\/li><li>Mise \u00e0 jour de PrestaShop<\/li><li>nettoyage du cache<\/li><\/ul>C'est pourquoi nous recommandons de combiner les deux \u00e9tapes \u2013 le remplacement des fichiers <strong>i<\/strong> anuler la classe ou le verrou d'\u00e9criture.<br \/><br \/><h6>R\u00e9sum\u00e9<\/h6>L'erreur XML dans le back-office de PrestaShop est un probl\u00e8me de communication entre une ancienne version de la boutique et l'API Addons \u2013 ce n'est pas une d\u00e9faillance du serveur, un probl\u00e8me de base de donn\u00e9es ou la pr\u00e9sence de logiciels malveillants. La boutique fonctionne normalement. La solution est rapide et ne n\u00e9cessite pas de mise \u00e0 jour de PrestaShop.<br \/><br \/>\u00c9tapes recommand\u00e9es :<br \/><br \/><ol><li>V\u00e9rifier le contenu des fichiers <span class=\"cc-highlight\">config\/xml\/<\/span><\/li><li>Remplacement de fichiers par un XML minimal valide<\/li><li>Ajouter le remplacement de classe <span class=\"cc-highlight\">Outils<\/span> z <span class=\"cc-highlight\">$is_addons_up = faux<\/span><\/li><li>Nettoyer le cache PrestaShop<\/li><\/ol>Si vous avez besoin d'aide pour la mise en \u0153uvre des changements ci-dessus ou si vous souhaitez profiter de l'occasion pour effectuer un audit technique de votre boutique \u2014 nous serons heureux de vous aider.<br \/><br \/><a class=\"button\" href=\"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/contact\/\" title=\"Nous contacter\">Contactez nous<\/a>","protected":false},"excerpt":{"rendered":"Le gestionnaire de modules dans Presta Shop affiche une erreur XML ? Nous expliquons ci-dessous pourquoi cela se produit et comment le r\u00e9parer efficacement \u2013 sans avoir \u00e0 mettre \u00e0 jour le magasin ou \u00e0 intervenir dans la base de donn\u00e9es.","protected":false},"author":1,"featured_media":6220,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"powered_cache_disable_cache":false,"powered_cache_disable_css_optimization":false,"powered_cache_disable_js_optimization":false,"footnotes":""},"categories":[137,135],"tags":[344,346,345,143],"class_list":["post-6207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prestashop","category-baza-wiedzy","tag-blad-xml","tag-modules_native_addons-xml","tag-must_have_modules_list-xml","tag-prestashop"],"_links":{"self":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/posts\/6207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/comments?post=6207"}],"version-history":[{"count":0,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/posts\/6207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/media\/6220"}],"wp:attachment":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/media?parent=6207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/categories?post=6207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/fr\/wp-json\/wp\/v2\/tags?post=6207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}