[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fxW-tyLEGheT0SkhWUa3mKjXUc38yyoaPY6bXCzD4_d0":22,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":59,"megamenu":140,"header-db":196,"$fFTAqb_fZs54cMcnzawXerQ8VwMXlheCmq-miyjbEqRY":209,"footer-db":223},{"theme":4},{"colors":5,"typography":13,"ui":17,"defaultColorMode":21},{"primary":6,"secondary":7,"background":8,"foreground":9,"muted":10,"headerBg":11,"footerBg":12,"topBarBg":9,"topBarText":11},"#4F46E5","#0D9488","#F9FAFB","#111827","#6B7280","#ffffff","#020617",{"fontFamily":14,"fontUrl":15,"baseFontSize":16},"Inter, system-ui, sans-serif","https:\u002F\u002Ffonts.googleapis.com\u002Fcss2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;0,800;0,900;1,400;1,700&display=swap","16px",{"borderRadius":18,"contentWidth":19,"shadow":20},"lg","7xl",true,"light",{"title":23,"slug":24,"metaDescription":25,"category":26,"tags":27,"difficulty":33,"psVersions":34,"content":37,"faq":38,"tldr":54,"readingTime":55,"generatedAt":56,"publishDate":56,"relatedArticles":57,"sourceCategory":58},"Erreur 405 Method Not Allowed sur la page produit PrestaShop : diagnostic et solution","erreur-405-method-not-allowed-modification-produit-prestashop","Résolvez l'erreur 405 Method Not Allowed lors de la modification d'un produit PrestaShop. Cause fréquente : incompatibilité PHP. Guide complet de diagnostic.","debug",[28,29,30,31,32],"erreur 405","version PHP","compatibilité","page produit","back-office","intermediaire",[35,36],"1.7","8.x","\u003Ch2>Comprendre l'erreur 405 Method Not Allowed dans PrestaShop\u003C\u002Fh2>\n\u003Cp>L'erreur HTTP 405 Method Not Allowed survient lorsque le serveur web refuse une méthode HTTP (POST, PUT, PATCH) pourtant légitime. Dans le back-office PrestaShop, elle se manifeste typiquement lors de la sauvegarde d'une fiche produit : vous cliquez sur \"Enregistrer\", et le serveur rejette la requête.\u003C\u002Fp>\n\u003Cp>Cette erreur est particulièrement déroutante car elle ne provient pas directement de PrestaShop, mais de la couche serveur située en amont. Et dans la grande majorité des cas que je rencontre en intervention, \u003Cstrong>la cause racine est une incompatibilité entre la version de PHP et celle de PrestaShop\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch2>Pourquoi une mauvaise version de PHP provoque une erreur 405\u003C\u002Fh2>\n\u003Cp>Quand PHP ne correspond pas à la version attendue par PrestaShop, le comportement du CMS devient imprévisible. Certaines fonctions internes échouent silencieusement, des modules système ne se chargent pas correctement, et le routage des requêtes HTTP peut être altéré.\u003C\u002Fp>\n\u003Cp>Concrètement, voici ce qui se passe :\u003C\u002Fp>\n\u003Col>\n\u003Cli>**PrestaShop envoie une requête POST** pour sauvegarder le produit\u003C\u002Fli>\n\u003Cli>**Le contrôleur Symfony échoue** à traiter la requête à cause d'une fonction PHP dépréciée ou absente\u003C\u002Fli>\n\u003Cli>**Le serveur web interprète l'échec** comme une méthode non autorisée et renvoie un code 405\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>C'est un faux positif : le problème n'est pas la méthode HTTP, mais l'incapacité du serveur à la traiter correctement.\u003C\u002Fp>\n\u003Ch2>Matrice de compatibilité PHP \u002F PrestaShop\u003C\u002Fh2>\n\u003Cp>Avant toute intervention, vérifiez que votre couple PHP\u002FPrestaShop est correct :\u003C\u002Fp>\n\u003Ctr>\u003Cth>Version PrestaShop\u003C\u002Fth>\u003Cth>PHP minimum\u003C\u002Fth>\u003Cth>PHP recommandé\u003C\u002Fth>\u003Cth>PHP maximum\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>1.7.0 – 1.7.4\u003C\u002Fth>\u003Cth>5.6\u003C\u002Fth>\u003Cth>7.1\u003C\u002Fth>\u003Cth>7.1\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>1.7.5 – 1.7.7\u003C\u002Fth>\u003Cth>7.1\u003C\u002Fth>\u003Cth>7.2\u003C\u002Fth>\u003Cth>7.3\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>1.7.8\u003C\u002Fth>\u003Cth>7.1\u003C\u002Fth>\u003Cth>7.4\u003C\u002Fth>\u003Cth>8.0\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>8.0 – 8.1\u003C\u002Fth>\u003Cth>7.2\u003C\u002Fth>\u003Cth>8.1\u003C\u002Fth>\u003Cth>8.1\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>8.2\u003C\u002Fth>\u003Cth>8.1\u003C\u002Fth>\u003Cth>8.2\u003C\u002Fth>\u003Cth>8.3\u003C\u002Fth>\u003C\u002Ftr>\n\u003Cp>La documentation officielle reste la référence : consultez toujours la page des prérequis système correspondant à votre version.\u003C\u002Fp>\n\u003Ch2>Diagnostic étape par étape\u003C\u002Fh2>\n\u003Ch3>Étape 1 : Identifier votre version de PHP\u003C\u002Fh3>\n\u003Cp>Depuis le back-office PrestaShop, rendez-vous dans \u003Cstrong>Paramètres avancés > Informations\u003C\u002Fstrong>. La version PHP y est affichée.\u003C\u002Fp>\n\u003Cp>Si le back-office est inaccessible, créez un fichier temporaire à la racine de votre hébergement :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\n\u002F\u002F Fichier phpinfo.php — À SUPPRIMER après vérification\nphpinfo();\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Accédez-y via \u003Ccode>https:\u002F\u002Fvotre-site.com\u002Fphpinfo.php\u003C\u002Fcode>, notez la version, puis \u003Cstrong>supprimez immédiatement ce fichier\u003C\u002Fstrong> (il expose des informations sensibles).\u003C\u002Fp>\n\u003Ch3>Étape 2 : Vérifier la compatibilité\u003C\u002Fh3>\n\u003Cp>Comparez votre version PHP avec le tableau ci-dessus. Si elle est hors plage, vous avez identifié la cause.\u003C\u002Fp>\n\u003Ch3>Étape 3 : Changer la version de PHP\u003C\u002Fh3>\n\u003Cp>La procédure dépend de votre hébergeur :\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Sur un hébergement mutualisé avec cPanel :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Accédez à **MultiPHP Manager** ou **Sélectionner une version de PHP**\u003C\u002Fli>\n\u003Cli>Sélectionnez votre domaine\u003C\u002Fli>\n\u003Cli>Choisissez la version PHP compatible\u003C\u002Fli>\n\u003Cli>Validez et attendez la propagation (quelques minutes)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Sur un serveur dédié ou VPS :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Installer la version PHP souhaitée (exemple : PHP 8.1 sur Ubuntu)\nsudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-zip\n\n# Mettre à jour la configuration Nginx ou Apache pour pointer vers le bon socket\n# Nginx : fastcgi_pass unix:\u002Fvar\u002Frun\u002Fphp\u002Fphp8.1-fpm.sock;\n# Apache : SetHandler \"proxy:unix:\u002Fvar\u002Frun\u002Fphp\u002Fphp8.1-fpm.sock|fcgi:\u002F\u002Flocalhost\u002F\"\n\n# Redémarrer le serveur web\nsudo systemctl restart nginx  # ou apache2\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Étape 4 : Vider le cache PrestaShop\u003C\u002Fh3>\n\u003Cp>Après le changement de version PHP, videz systématiquement le cache :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Supprimer le cache Symfony\nrm -rf var\u002Fcache\u002Fprod var\u002Fcache\u002Fdev\n\n# Ou depuis le back-office :\n# Paramètres avancés &gt; Performances &gt; Vider le cache\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Le piège des hébergeurs qui imposent la version de PHP\u003C\u002Fh2>\n\u003Cp>Certains hébergeurs low-cost ne permettent pas de choisir librement sa version de PHP, ou imposent des mises à jour automatiques sans préavis. C'est une situation dangereuse pour un site e-commerce :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Risque de casse** lors d'un upgrade PHP automatique\u003C\u002Fli>\n\u003Cli>**Impossibilité de rester sur une version stable** le temps de planifier une migration\u003C\u002Fli>\n\u003Cli>**Performances bridées** par des configurations mutualisées non optimisées\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Mon conseil : choisissez un hébergeur qui vous laisse le contrôle total sur la version PHP. Des solutions comme o2switch ou OVH Web Cloud offrent cette flexibilité à un coût raisonnable, avec des performances nettement supérieures aux hébergeurs d'entrée de gamme.\u003C\u002Fp>\n\u003Ch2>Autres causes possibles de l'erreur 405\u003C\u002Fh2>\n\u003Cp>Si la version PHP est correcte, explorez ces pistes :\u003C\u002Fp>\n\u003Ch3>Règles de réécriture mal configurées\u003C\u002Fh3>\n\u003Cp>Un \u003Ccode>.htaccess\u003C\u002Fcode> mal formé ou un conflit de règles de réécriture peut bloquer les requêtes POST :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-apache\">\n# Vérifiez que votre .htaccess ne contient pas de règle restrictive\n# comme une redirection qui transforme un POST en GET\nRewriteRule ^(.*)$ index.php [L]\n# Le flag [L] seul est correct — évitez [R,L] qui provoque une redirection\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Pare-feu ou module de sécurité serveur\u003C\u002Fh3>\n\u003Cp>ModSecurity ou un WAF peuvent bloquer certaines requêtes POST qu'ils jugent suspectes. Vérifiez les logs d'erreur Apache\u002FNginx :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Apache\ntail -f \u002Fvar\u002Flog\u002Fapache2\u002Ferror.log\n\n# Nginx\ntail -f \u002Fvar\u002Flog\u002Fnginx\u002Ferror.log\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Module PrestaShop défectueux\u003C\u002Fh3>\n\u003Cp>Désactivez vos modules tiers un par un pour identifier un éventuel conflit. Commencez par les modules de sécurité et de cache, qui interceptent le plus souvent les requêtes HTTP.\u003C\u002Fp>\n\u003Ch2>Prévention : bonnes pratiques pour éviter les erreurs 405\u003C\u002Fh2>\n\u003Col>\n\u003Cli>**Documentez votre stack technique** : notez la version PHP, MySQL et PrestaShop utilisées. Cela accélère considérablement le diagnostic.\u003C\u002Fli>\n\u003Cli>**Testez avant de migrer** : avant tout changement de version PHP, dupliquez votre site sur un environnement de staging.\u003C\u002Fli>\n\u003Cli>**Surveillez les logs** : activez la journalisation des erreurs PHP et consultez-la régulièrement.\u003C\u002Fli>\n\u003Cli>**Planifiez les mises à jour** : ne laissez pas votre hébergeur imposer un changement de PHP sans avoir validé la compatibilité.\u003C\u002Fli>\n\u003C\u002Ful>",[39,42,45,48,51],{"q":40,"a":41},"Pourquoi l'erreur 405 apparaît uniquement sur la page produit et pas ailleurs dans le back-office ?","La page d'édition produit de PrestaShop est l'une des plus complexes du back-office. Elle utilise des requêtes AJAX multiples, des appels API internes et un formulaire Symfony sophistiqué. Une incompatibilité PHP peut ne causer des erreurs que sur les contrôleurs les plus exigeants, tandis que des pages plus simples continuent de fonctionner. C'est pourquoi l'erreur semble cibler la page produit alors que le vrai problème est global.",{"q":43,"a":44},"Comment vérifier quelle version de PHP est compatible avec ma version de PrestaShop ?","Consultez la page des prérequis système dans la documentation officielle PrestaShop (devdocs.prestashop-project.org). En règle générale, PrestaShop 1.7.8 supporte PHP 7.1 à 8.0, PrestaShop 8.0\u002F8.1 requiert PHP 7.2 à 8.1, et PrestaShop 8.2 nécessite PHP 8.1 minimum. Depuis le back-office, la section Paramètres avancés > Informations affiche votre version PHP actuelle.",{"q":46,"a":47},"L'erreur 405 peut-elle être causée par un module PrestaShop ?","Oui, un module qui intercepte les requêtes HTTP — notamment les modules de sécurité, de cache ou de pare-feu applicatif — peut bloquer les requêtes POST et générer une erreur 405. Pour diagnostiquer, désactivez vos modules tiers un par un en commençant par ceux qui agissent sur les requêtes (cache, sécurité, CDN). Si l'erreur disparaît, le module responsable est identifié.",{"q":49,"a":50},"Faut-il changer d'hébergeur si je ne peux pas modifier la version de PHP ?","Si votre hébergeur ne vous permet pas de choisir librement la version de PHP, il est fortement recommandé de migrer vers un hébergeur offrant cette flexibilité. Un site e-commerce nécessite un contrôle total sur son environnement technique. Des hébergeurs comme o2switch, OVH Web Cloud ou Infomaniak proposent le choix de la version PHP à un tarif compétitif, avec de meilleures performances que la plupart des offres d'entrée de gamme.",{"q":52,"a":53},"Que faire si l'erreur 405 persiste après avoir corrigé la version de PHP ?","Commencez par vider le cache PrestaShop (supprimez les dossiers var\u002Fcache\u002Fprod et var\u002Fcache\u002Fdev). Vérifiez ensuite votre fichier .htaccess pour détecter des règles de réécriture incorrectes. Consultez les logs d'erreur du serveur web (Apache ou Nginx) pour identifier la cause exacte du blocage. Si le problème persiste, un pare-feu serveur comme ModSecurity pourrait être en cause : demandez à votre hébergeur de vérifier les règles actives.","L'erreur 405 Method Not Allowed lors de la modification d'un produit PrestaShop est le plus souvent causée par une incompatibilité entre la version de PHP et celle de PrestaShop. La solution consiste à vérifier et corriger la version PHP sur votre hébergement, puis à vider le cache.",5,"2026-03-21T14:23:26.000Z",[],"Utilisation de PrestaShop : configuration et difficultés",{"columns":60},[61,77,107,128],{"title":62,"links":63},"Plateforme",[64,68,71,74],{"label":65,"href":66,"external":67},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":69,"href":70,"external":67},"Devenir Ambassadeur","\u002Fambassadeur",{"label":72,"href":73,"external":67},"Modules PrestaShop","\u002Fmodules",{"label":75,"href":76,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":78,"links":79},"Le Synedre",[80,83,86,89,92,95,98,101,104],{"label":81,"href":82,"external":67},"L'histoire","\u002Fsynedre",{"label":84,"href":85,"external":67},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":87,"href":88,"external":67},"L'équipe","\u002Fequipe",{"label":90,"href":91,"external":67},"Le réacteur en direct","\u002Freacteur",{"label":93,"href":94,"external":67},"Le Drill (entraînement)","\u002Fdrill",{"label":96,"href":97,"external":67},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":99,"href":100,"external":67},"Les agents IA","\u002Fagents-ia",{"label":102,"href":103,"external":67},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":105,"href":106,"external":67},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":108,"links":109},"Ressources",[110,113,116,119,122,125],{"label":111,"href":112,"external":67},"Blog","\u002Fblog",{"label":114,"href":115,"external":67},"Academy","\u002Facademy",{"label":117,"href":118,"external":67},"Dictionnaire","\u002Fdictionnaire",{"label":120,"href":121,"external":67},"Expertise PrestaShop","\u002Fexpertise",{"label":123,"href":124,"external":67},"Flywheel","\u002Fflywheel",{"label":126,"href":127,"external":67},"Manifeste","\u002Fmanifeste",{"title":129,"links":130},"À propos",[131,134,137],{"label":132,"href":133,"external":67},"Alexandre Carette","\u002Fa-propos",{"label":135,"href":136,"external":67},"Dossier de presse","\u002Fpresse",{"label":138,"href":139,"external":67},"Contact","\u002Fcontact",{"items":141},[142,151,157,163,171,179,184,190],{"id":143,"type":144,"label":145,"href":121,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":148,"children":149,"psChildren":150},41,"link",{"fr":146},"Expertise",null,0,[],[],{"id":152,"type":144,"label":153,"href":112,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":154,"children":155,"psChildren":156},42,{"fr":111},1,[],[],{"id":158,"type":144,"label":159,"href":73,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":160,"children":161,"psChildren":162},43,{"fr":72},2,[],[],{"id":164,"type":144,"label":165,"href":167,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":168,"children":169,"psChildren":170},44,{"fr":166},"Outils IA","\u002Foutils-ia",3,[],[],{"id":172,"type":144,"label":173,"href":66,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":175,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":176,"children":177,"psChildren":178},45,{"fr":174},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":180,"type":144,"label":181,"href":115,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":55,"children":182,"psChildren":183},46,{"fr":114},[],[],{"id":185,"type":144,"label":186,"href":133,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":187,"children":188,"psChildren":189},47,{"fr":129},6,[],[],{"id":191,"type":144,"label":192,"href":139,"icon":147,"description":147,"badge":147,"groupTitle":147,"style":147,"gridColumns":147,"cssClass":147,"psCategoryId":147,"showPsChildren":67,"position":193,"children":194,"psChildren":195},48,{"fr":138},7,[],[],{"header":197},{"logo":198,"topBar":203,"contactEmail":206,"features":207,"navBar":147},{"src":199,"alt":200,"text":132,"href":201,"class":202},"\u002Flogo-ac.svg","Alexandre Carette — Architecte E-commerce Souverain","\u002F","h-10 w-10",{"message":147,"showLanguages":67,"align":204,"languages":205},"left",[],"contact@alexandrecarette.fr",{"showSearch":67,"showWishlist":67,"showLogin":20,"showContact":67,"showCart":67,"stickyHeader":20,"headerLayout":208},"inline",{"academy":210,"blog":211,"expertise":222},[],[212,216,219],{"title":213,"url":214,"score":154,"type":215},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":217,"url":218,"score":154,"type":215},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":220,"url":221,"score":154,"type":215},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[],{"footer":224},{"theme":225,"description":147,"hours":147,"logo":226,"contact":227,"social":228,"bottomBar":238},"dark",{"src":199,"href":201,"alt":132},{"email":147,"phone":147,"address":147,"cta":147},[229,232,235],{"platform":230,"href":231,"label":230},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":233,"href":234,"label":233},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":236,"href":237,"label":236},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":147}]