Mettre à jour un module PrestaShop : erreur Upload failed
Mettre à jour un module. Vous téléversez le zip de la nouvelle version par-dessus celle déjà installée, depuis le gestionnaire de modules : réglages, contenus et données restent en place. Si, à la place de la confirmation, vous lisez « Upload failed », le module a peut-être été désactivé sans que personne vous le dise. Voici ce qui se passe et comment le remettre en service.
1. Comment mettre à jour un module
- Téléchargez le zip de la nouvelle version depuis la page Mes licences de votre compte.
- Dans le back office, allez dans Modules → Gestionnaire de modules → Téléverser un module et choisissez le zip.
- PrestaShop remplace les fichiers et lance la mise à jour tout seul. Ne désinstallez rien : désinstaller efface vos réglages, mettre à jour non.
- Une fois le téléversement terminé, ouvrez Configurer et vérifiez que le numéro de version est bien le nouveau.
2. Si la mise à jour affiche « Upload failed »
Quand vous téléversez le zip d'un module déjà installé, PrestaShop remplace les fichiers puis lance la mise à jour. Si quelque chose se bloque en chemin, PrestaShop désactive le module par prudence, et malheureusement il ne vous le dit pas : vous ne voyez que le message « Upload failed ».
Vous n'avez rien perdu : les réglages et les données du module sont toujours là. Il suffit de le remettre en service, une fois la cause écartée.
Étape 1 : vérifiez si le module a été désactivé back office
Allez dans Modules, gestionnaire de modules, cherchez le module et regardez si le bouton indique « Activer » au lieu de « Configurer ». S'il indique « Activer », le module a été désactivé.
Étape 2 : avec plusieurs boutiques, regardez boutique par boutique multiboutique
En haut à gauche, choisissez une boutique à la fois et regardez le module dans chacune. Il peut être actif dans une boutique et éteint dans une autre : dans ce cas la liste semble correcte, mais sur cette boutique le module ne fonctionne plus.
Étape 3 : écartez la cause droits des fichiers
La cause est presque toujours la même : les fichiers du module sur le serveur ne sont pas modifiables par le programme qui fait tourner le site. Demandez à votre hébergeur ou à votre technicien de corriger le propriétaire et les droits du dossier modules/<nom du module> : en général le même propriétaire que les autres fichiers du site, dossiers en 755 et fichiers en 644. Autres causes possibles : l'espace disque plein, ou un fichier plus gros que ce que le serveur accepte.
Étape 4 : téléversez à nouveau le zip dernière étape
Une fois la cause corrigée, téléversez à nouveau le zip : cette fois la mise à jour aboutit. Si vous avez besoin du module tout de suite, appuyez sur « Activer » dans le gestionnaire de modules, mais téléversez quand même le zip ensuite, sinon vous restez avec des fichiers à moitié remplacés.
3. Pourquoi cela arrive
Ce n'est pas un défaut du module que vous mettez à jour. Si PrestaShop rencontre une erreur quelconque pendant le téléversement du zip, il désactive le module sur lequel il travaillait : cela arrive avec n'importe quel module, de n'importe quel auteur, que le multiboutique soit activé ou non. Le choix est prudent, car si le remplacement des fichiers s'est arrêté en chemin, il reste sur le serveur un module fait d'une partie de fichiers neufs et d'une partie d'anciens, et le laisser tourner ainsi serait pire. Ce qui manque, c'est seulement l'avertissement : PrestaShop écrit « Upload failed » et ne dit pas que le module a été éteint.
4. Comment éviter que cela se reproduise
- Téléversez toujours les fichiers du site avec l'utilisateur sous lequel tourne PHP. Si vous avez envoyé les fichiers en FTP, ou installé en ligne de commande en administrateur, les droits sont à remettre d'aplomb.
- Vérifiez l'espace disque libre avant de mettre à jour.
- Si le zip est volumineux, demandez à votre hébergeur les limites PHP
upload_max_filesizeetpost_max_size. - Mettez à jour un module à la fois et vérifiez le résultat avant de passer au suivant.
5. Questions fréquentes
Est-ce que je perds les réglages du module en le mettant à jour ?
Non. Le téléversement du zip remplace uniquement les fichiers : réglages, contenus et données restent dans la base. Ils sont perdus si vous désinstallez le module, mais une mise à jour ne demande jamais de désinstaller.
Dois-je désinstaller le module avant de le mettre à jour ?
Non, et il vaut mieux ne pas le faire. Téléversez le nouveau zip par-dessus la version que vous avez déjà : PrestaShop voit que le module est là et lance la mise à jour tout seul.
J'ai appuyé sur « Activer » et le module fonctionne : dois-je quand même téléverser le zip ?
Oui. Si le téléversement s'était arrêté en chemin, le serveur contient des fichiers de deux versions différentes. Réactiver remet le module en service tout de suite, mais la mise à jour doit être terminée en téléversant de nouveau le zip.
Comment savoir si le module est éteint sur une seule de mes boutiques ?
Avec le sélecteur en haut à gauche du back office, choisissez une boutique à la fois et ouvrez le gestionnaire de modules : le module doit être vérifié dans chaque boutique. Dans la vue « toutes les boutiques », il peut sembler actif alors qu'il ne l'est pas sur l'une d'elles.
Où trouver le zip de la nouvelle version ?
Sur la page Mes licences de votre compte, où se trouve toujours la dernière version à laquelle vous avez droit. Les mises à jour sont incluses pendant 12 mois, le renouvellement est ensuite facultatif.
