Contenu
La mise à jour manuelle est un processus long et détaillé, auquel vous ne devriez faire appel qu'en cas de nécessité – notamment si vous ne pouvez pas faire de mise à jour automatique.
De fait, les mises à jour manuelles sont à réserver aux experts, ceux qui connaissent les outils de développement web comme WAMP, phpMyAdmin, etc. Si ce n'est pas votre cas, demandez à un ami ou payez un développeur pour vous assister. Prévoyez une ou deux heures, prenez le temps de bien faire.
Le principe de la mise à jour manuelle est simple : plutôt que de prendre le risque de mettre directement à jour votre boutique en ligne, tout le travail se déroule sur votre ordinateur, grâce à un serveur PHP/MySQL local comme WAMP ou XAMPP. Une fois la mise à jour locale réussie, il faut refaire ce processus en ligne.
Toute la durée du processus, votre boutique en ligne sera désactivée (en mode "maintenance") afin de s'assurer que vos clients ne perdront pas leurs paniers et achats lors de la mise en jour.
Cette courte section est réservée à ceux qui sont déjà habitués à l'installation d'applications PHP-MySQL sur un serveur. Si le manque de détail vous gêne, vous trouverez des instructions détaillées dans la section suivante.
Une grande partie du processus se déroule au sein d'un serveur web installé sur votre ordinateur. Avant de vous lancer, téléchargez et installez le serveur local de votre choix : WAMP, XAMPP, EasyPHP, MAMP, ou autre. Si vous n'avez jamais installé de serveur local, lisez le chapitre "Ce dont vous avez besoin" du Guide de Démarrage, section "Installer PrestaShop sur votre propre ordinateur". Les étapes de la mise à jour de PrestaShop :
C'est fait ! Découvrez toutes les nouvelles fonctionnalités de cette mise à jour ! Première étape – Enregistrer et sauvegarder la boutique actuellement en ligne
Désactiver votre boutique
Allez dans le back-office de votre boutique, ouvrez la page "Maintenance" depuis le menu "Préférences", puis choisissez "Non" pour l'option "Activer la boutique".
Dans le champ "IP de maintenance", situé juste en dessous de la case "Activer la boutique", saisissez votre propre adresse IP, de sorte que vous pouvez continuer à utiliser le front-office de votre boutique lors de la mise à jour. Cela vous permettra de tester la boutique, tout en faisant en sorte que des visiteurs ne puissent pas accéder au site Web. Sauvegarder vos fichiersVous devez récupérer tous les fichiers de votre boutique PrestaShop pour les stocker sur votre ordinateur. Il y a principalement deux manières de les enregistrer :
...ou...
Sauvegarder votre base de donnéesVous devez absolument faire une sauvegarde de toute la base de données de votre boutique PrestaShop. Il y a trois manières de réaliser cette sauvegarde :
...ou...
...ou...
Conservez ce fichier dans le dossier "prestashop-prod" de votre ordinateur, que vous devez avoir créé à l'étape précédente et qui devrait déjà contenir vos fichiers. Sauvegarder vos traductions personnaliséesSi vous n'avez pas modifié les traductions, ni ajouté de nouvelles traductions (que ce soit pour PrestaShop ou vos modules), passez directement à l'étape suivante. Pour conserver vos modifications de traduction :
Répétez ce processus pour toutes les langues que vous avez personnalisé, que ce soit celles que vous avez créé/ajouté et celle que vous avez modifié/corrigé. Le dossier "prestashop-prod" contient-il...
Vous devez avoir vérifié l'intégralité de votre dossier de sauvegarde, et fait en sorte que tout y soit correct et que, au besoin, vous pourrez récupérer vos données. Si vous avez répondu oui à toutes les questions ci-dessus, passez à l'étape 2. |
Rendez-vous sur http://www.prestashop.com et téléchargez la dernière version de PrestaShop (cliquez sur le bouton "Téléchargement", remplissez le formulaire, et validez).
Vous devriez obtenir un fichier sous la forme prestashop_1.5.x.zip
(où "x" est un chiffre du numéro de version).
Décompressez ce fichier zip sur votre ordinateur, et placez son contenu dans un dossier "prestashop-prep" que vous aurez créé sur votre ordinateur, au même niveau que le dossier "prestashop-prod" (par exemple, votre Bureau). C'est dans ce dossier que vous préparerez vos fichiers à la mise à jour.
Attention : faites en sorte de ne pas avoir le dossier /prestashop
à la racine du dossier "prestashop-prep"; mais bien directement tous les fichiers et sous-dossiers qu'il contient, afin d'avoir le même aperçu du contenu des dossiers "prestashop-prod" et "prestashop-prep".
Si vous n'avez pas d'outil de décompression, vous pouvez en télécharger un gratuit ici : http://www.7-zip.org/. |
Dans ce dossier "prestashop-prep", sélectionnez le dossier /admin
et donnez-lui le même nom que le dossier admin de votre boutique de production. Par exemple, si le dossier "prestashop-prod" contient un sous-dossier /admin123
, donnez le même nom au sous-dossier /admin
du dossier "prestashop-prep".
Vient maintenant le moment où vous allez copier les fichiers propres à votre installation de production au sein des fichiers de la nouvelle version. Dans les faits, l'objectif est d'aboutir à un dossier "prestashop-prep" contenant la dernière version des fichiers standards de l'installation, ainsi que tous les fichiers que vous avez mis en ligne depuis que vous avez installé PrestaShop : images, logos, photos, traductions, modules, etc.
C'est une étape importante, qui vous permet de conserver toutes les personnalisations de votre boutique. Prenez le temps de suivre les instructions.
Il va donc vous falloir parcourir les fichiers et dossiers sauvegardés dans le dossier "prestashop-prod" afin de les copier dans le dossier "prestashop-prep".
Choisissez "Oui" chaque fois que le système vous demandera s'il doit remplacer le fichier original par la copie.
Les dossiers suivants doivent être copiés depuis votre dossier "prestashop-prod" vers le dossier "prestashop-prep" :
/mails
. Contient tous les modèles de mails, dont ceux que vous avez modifiés./img
. Contient votre logo et toutes les images de votre boutique (catégories, produits, etc.). Prenez surtout soin de copier ces fichiers et dossiers :
logo.jpg
- le logo de votre boutiquefavicon.ico
- le favicon de votre boutiquelogo_stores.gif
- le logo de votre boutique pour la carte de l'outil de découverte de magasins/c
- les images de vos catégories/cms
- les images de vos pages CMS/co
- les textures de couleur de vos attributs/m
- les logos de vos marques/fabricants/p
- les photos de vos produits/scenes
- les image-maps/scènes de vos catégories/st
- les photos de vos magasins physiques/su
- les logos de vos fournisseurs/img
, sauf /img/admin
et /img/jquery-ui
./modules
. Ne copiez que les modules que vous avez ajoutés depuis que vous avez installé PrestaShop la première fois (et qui ne font donc pas partie de l'installation par défaut).
/themes/votreTheme
. Ne copiez que votre propre thème.
/themes/prestashop
) : vous devriez utiliser le thème par défaut de la nouvelle version (/themes/default
)./download
et /upload
. Contiennent vos produits téléchargeables, les fichiers attachés, et les produits personnalisables. Si vous n'utilisiez pas ces fonctionnalités, ne copiez pas ces dossiers./classes
. Dans le cas où vous avez ajouté des classes personnalisées dans ce dossier, copiez-les vers le nouveau dossier /classes
.
Si vous faites une mise à jour depuis une version inférieure à la 1.4, vous devrez faire des modifications manuelles aux classes de PrestaShop que vous avez personnalisé. Vous n'avez à modifier à la main que celles que vous avez personnalisées. Pour qu'elles puissent fonctionner correctement avec la dernière version de PrestaShop, toutes les classes doivent recevoir un nouveau suffixe pour leur nom, "Core". Ne le faites que si vous êtes à l'aise avec les fichiers PHP.
|
/config
. Ne copiez que le fichier settings.inc.php
./translations
- si vous utilisez une autre langue que celles disponibles par défaut, vous devrez copier le dossier de votre langue dans le dossier /translations
de votre nouvelle installation. Sans cela, la mise à jour ne fonctionnera pas.Votre dossier "prestashop-prep" est maintenant terminé. Vous n'y toucherez plus, et ne travaillerez maintenant qu'avec des copies de ce dossier.
Le dossier "prestashop-prep", que vous aviez décompressé à partir de l'archive de la dernière version de PrestaShop, contient maintenant toutes les personnalisations en provenance de votre dossier "prestashop-prod" (et donc, de votre boutique actuellement en ligne – et normalement en état de maintenance). La prochaine étape consiste à mettre ce dossier sur votre serveur web local afin de tester que la mise à jour se déroule correctement.
Lancez votre serveur local (WAMP, XAMPP, EasyPHP, MAMP ou autre) et assurez-vous que les serveurs Apache et MySQL fonctionnent bien.
L'idée est ici de vérifier localement que votre boutique peut être mise à jour sans problème sur un serveur local, afin de minimiser les risques d'échec lors de la mise à jour en ligne. De fait, il faudrait idéalement que la configuration de votre serveur local soit la plus proche possible de celle de votre hébergement web, afin de ne pas avoir de mauvaise surprise. Contactez votre hébergeur pour avoir des informations sur la configuration Apache, PHP et MySQL de votre serveur web, et modifiez les fichiers Si vous ne pouvez pas modifier la configuration de votre serveur local, alors notez bien que les différences avec votre hébergement web peuvent avoir un impact certain sur le bon déroulement de la mise à jour, car ce qui marche dans un environnement peut ne pas fonctionner sur un autre. Typiquement, des limitations de mémoire ou des chemins absolus plutôt que relatifs. |
Ouvrez le dossier web de votre serveur local (/htdocs
, /www
, /web
ou autre en fonction du serveur), et copiez-y le dossier "prestashop-prep".
Ne déplacez pas "prestashop-prep" dans votre dossier web local ! Ainsi, en cas de problème avec la mise à jour locale, vous pouvez revenir au dossier "prestashop-prep" et y apporter des modifications nécessaires avant de copier à nouveau ce dossier dans le dossier web local et de retenter une mise à jour. |
Mettez le dossier "prestashop-prep" sur le serveur local, à la racine du dossier web.
Les fichiers locaux sont maintenant a priori à jour, mais la base de données doit également être modifiée. C'est à cela que servira le script de mise à jour manuelle, présent parmi les fichiers de PrestaShop 1.5.
Vous devez avoir une bonne connaissance de phpMyAdmin avant de vous lancer dans cette section. |
À partir des fichiers .sql
sauvegardés dans "prestashop-prod", vous allez donc recréer le base de données de production sur votre serveur local. Pour ce faire, vous devez suivre le processus suivant :
.sql
de sauvegarde de votre base de production, qui doit normalement se trouver dans le dossier "prestashop-prod"..sql
. Si ce n'est pas le cas, il vous faudra modifier le fichier php.ini
de votre serveur local, notamment les directives upload_max_filesize
, post_max_size
et en dernier recours, memory_limit
. Ceci fait, relancer vos serveurs Apache et MySQL locaux afin de prendre en compte vos modifications.
Au lieu de modifier les réglages du serveur, vous pouvez plus simplement compresser le fichier |
Patientez pendant que phpMyAdmin met le fichier en ligne et intègre les tables à la base de données. Ceci fait, vous verrez les tables apparaître dans la colonne latérale gauche de phpMyAdmin.
Reste maintenant à lier les fichiers PHP de PrestaShop aux données sur votre serveur MySQL local. Pour ce faire, vous devez modifier les identifiants de base de données enregistrés dans PrestaShop pour les faire pointer vers la base locale.
Ouvrez le fichier /config/settings.inc.php
, et modifiez les lignes suivantes :
_DB_SERVER_
: remplacez l'adresse du serveur MySQL de votre boutique de production par celle du serveur local. A priori, ce devrait être "localhost" ou "127.0.01"._DB_NAME_
: remplacez le nom de la base de données de votre boutique de production par celui de la base de données locale dans laquelle vous avez importé les tables de votre base de production._DB_USER_
: remplacez l'identifiant utilisateur de votre boutique de production par celui du serveur local. A priori, ce devrait être "root"._DB_PASSWD_
: remplacez le mot de passe de l'utilisateur MySQL de votre boutique de production par celui du serveur local. A priori, ce devrait être un champ vide : "".PrestaShop a maintenant accès à votre base de production votre serveur local, il ne vous reste plus qu'à lancer le script de mise à jour.
Avez-vous suivi ces étapes ?
Si vous avez répondu oui pour tout, passez à l'étape 3.
Rendez-vous sur l'adresse locale du script de mise à jour, par exemple http://127.0.0.1/prestashop-prep/install/upgrade/upgrade.php (remplacez "prestashop-prep" par le vrai nom du dossier que vous avez copié dans le dossier web de votre serveur local).
Si l'adresse renvoie une erreur 404, peut-être avez oublié certains fichiers de la dernière version de PrestaShop 1.5. Refaites les différentes étapes du processus : effacez le dossier que vous avez copié dans le dossier web local (mais mettez de côté le fichier |
Une fois le script lancé, ne touchez plus à votre navigateur web ! Ne le fermez pas, ne cliquez pas sur le bouton "Retour" : le script de mise à jour travaille, et cela peut prendre plusieurs minutes. Laissez-le faire !
Le script de mise à jour s'occupe principalement de mettre à jour la base de données SQL, ce qui peut s'avérer très complexe. Il prend également en charge la mise à jour du fichier des réglages de base config/settings.inc.php
en fonction de votre configuration et de l'environnement, ainsi que d'autres aspects du fonctionnement de PrestaShop.
Une fois la mise à jour terminée, un fichier XML devrait s'afficher dans votre navigateur. C'est absolument normal, mais cela peut vous surprendre, car l'affichage ne ressemble pas à une page web classique, et chaque navigateur web a sa propre manière de l'afficher. Par exemple, Firefox affichera d'abord un message d'avertissement, "Aucune information de style ne semble associée à ce fichier XML. L'arbre du document est affiché ci-dessous", au-dessus du contenu du fichier XML lui-même. Ce sera amélioré dans les versions ultérieures du script.
La page doit commencer par la ligne suivante :
<action result="ok" error=""> |
C'est le "ok" qui compte : ça a marché ! Le plus dur est fait, restent les détails.
Sur votre serveur web local, dans le dossier /prestashop-prep
, vous devriez effacer :
/install
, qui contient le script d'installation.README
, qui contiennent des informations sur votre installation de PrestaShop.CHANGELOG
, qui contient des informations sur les dernières modifications apportées à PrestaShop.Vous pouvez maintenant vous rendre sur votre boutique locale à l'adresse publique (http://127.0.0.1/prestashop-prep dans notre exemple), qui devrait afficher la page de maintenance avec votre logo, étant donné que votre boutique est censée être en mode de maintenance.
Si cette page de maintenance ou votre thème n'apparaît pas, mais qu'à la place vous obtenez un message disant "Votre thème n'est pas disponible : -nom du thème'. Veuillez vérifier le nom du répertoire du thème et ces permissions", alors vous avez sans doute oublié de copier votre thème vers le dossier "prestashop-prep". Depuis le dossier |
Si votre logo ne s'affiche page, mais qu'à la place vous avez un logo "YourLogoHere", alors vous avez sans doute oublié l'étape où vous deviez copier vos images personnalisées depuis le dossier "prestashop-prod" vers le dossier "prestashop-prep". Relisez l'étape 2 de ce chapitre ("Deuxième étape – Se préparer pour la nouvelle version") afin de copier les bons fichiers et dossiers. |
Maintenant, rendez-vous sur la page d'administration de votre boutique, avec le nom de dossier /admin
que vous aviez personnalisé. Vous devrez vous connecter à l'aide de vos identifiants. Parcourez les différentes pages de l'administration pour vérifier que votre contenu est bien là et que toutes les pages du back-office fonctionnent, puis sortez la boutique du mode de maintenance afin d'explorer les pages du front-office comme le ferait un visiteur no
rmal, et assurez-vous que toutes fonctionnent.
Toutes les mises à jour ne se terminent pas forcément bien, et les raisons très variées. Pour vous aider, le script de mise à jour vous affiche un code d'erreur au début du résultat XML. En cas d'erreur, la page commence ainsi :
<action result="fail" error="27" /> |
Notez donc que result
ne contient plus "ok" mais "fail".
Voici quelques-unes des erreurs les plus courantes :
Code d'erreur |
Signification |
Solution possible |
---|---|---|
5 |
Le fichier de configuration n'est pas accessible en lecture. |
Changez les droits d'accès du fichier |
6 |
Le fichier de configuration n'est pas accessible en écriture. |
Changez les droits d'accès du fichier |
27 |
Le script d'installation est trop vieux. |
Vous devez utiliser la dernière version de PrestaShop. |
28 |
Vous utilisez déjà la version cible. |
La version vers laquelle vous essayez de mettre à jour est la même que celle déjà installée. S'il s'agit de la version la plus récente de PrestaShop, inutile de faire une mise à jour. Sinon, téléchargez la dernière version de PrestaShop.
|
29 |
Il n'y a pas de version plus ancienne. |
Avez-vous bien copié le fichier |
31 |
Fichiers de mise à jour SQL introuvables. |
Vérifiez que le dossier |
32 |
Impossible de mettre à jour. |
Certains fichiers sont sans doute absent ou mal copiés. Reprenez le processus depuis le début. |
33 |
Erreur lors de la lecture des fichiers SQL de mise à jour. |
Vérifiez que les fichiers du dossier |
34 |
Erreur SQL interne. |
Les fichiers de mise à jour SQL sont sans doute corrompus. Retéléchargez l'archive de la nouvelle version, et utilisez les fichiers du dossier |
35 |
Le cache est activé. |
Désactivez le cache de PrestaShop avant de lancer le script de mise à jour : ouvrez le fichier |
Lorsque le script de mise à jour échoue, il est difficile de savoir s'il a pu faire une partie de cette mise à jour. Avant de retenter la mise à jour, il est donc préférable de remettre en place vos fichiers et base de données sauvegardés :
Si vous avez exporté vos traductions personnalisées durant la première étape, il vous faut les importer dans votre nouvelle boutique en vous rendant dans la page "Traductions" du menu "Localisation", et utiliser le formulaire de la section "Ajouter / Mettre à jour une langue".
Pour vous assurer que tout fonctionne correctement sur votre boutique mise à jour localement, nous vous recommandons de faire les tests suivants :
Cette liste est loin d'être exhaustive, vous devriez faire autant de tests que possible, et créer les vôtres.
Si vous remarquez que certains aspects de la boutique mise à jour ne fonctionnent pas correctement :
.sql
stocké dans le dossier "prestashop-prod",Si tous vos tests se passent sans problème, félicitations ! Passez à l'étape 5.
Parvenu à cette étape, vous devez avoir réussi à mettre à jour votre boutique sur votre serveur local. Ce faisant, vous vous offrez une meilleure garantie que la mise à jour sur votre hébergement web se déroulera sans problème. Votre dossier "prestashop-prep" contient tous les fichiers nécessaires, car vous avez modifié son contenu en fonction des manques remarqués lors de vos tests de l'étape précédente.
Cette "garantie" ne peut jamais être à 100% tant les deux environnements (serveur local et hébergement web) peuvent différer. Votre meilleure chance reste de configurer votre serveur local de telle sorte qu'il corresponde le mieux possible à votre serveur de production, chez votre hébergeur web. |
Votre boutique en ligne est en mode maintenance depuis le début de votre processus, afin de ne pas perdre de commandes, de paniers ou même de nouveaux clients lors de la mise à jour. Si ce n'est pas déjà le cas, mettez la boutique en mode maintenance maintenant, et recommencez le processus du début – à moins que vous ne craigniez pas de perdre les modifications survenues depuis le début.
Outre le fait de mettre les fichiers en ligne plutôt que sur votre serveur local, le processus ne varie que peu de celui déjà testé localement :
.sql
./install/upgrade/upgrade.php
./install
et rendez-vous sur votre front-office et votre back-office pour vous assurer que tout fonctionne.Il vous faut refaire tous les tests déjà réalisés en local, afin de vous assurer que rien ne passe au travers du filet malgré le changement d'un environnement local à un environnement de production.
Si vous avez exporté vos traductions personnalisées durant la première étape, il vous faut les importer dans votre nouvelle boutique en vous rendant dans la page "Traductions" du menu "Localisation", et utiliser le formulaire de la section "Ajouter / Mettre à jour une langue".
Vous devez vérifier que le nom domaine assigné dans la base de données correspond à celui avec lequel vous travaillez. Pour ce faire, rendez-vous dans la page "SEO & URLs", sous le menu "Préférences".
Vérifiez les informations suivantes, dans la section "URL de la boutique" :
/prestashop
.Si vous ne pouvez pas passer par l'interface d'administration, il vous faudra passer par l'outil de gestion de base de données installé chez votre hébergeur, comme phpMyAdmin :
ps_shop_url
,domain
, domain_ssl
et physical_uri
pour qu'elles correspondent à l'emplacement de votre boutique de production.
Comme vous pouvez le constater, l'adresse et le chemin de votre boutique ne sont plus stockés dans le fichier Vous pouvez donc ouvrir le fichier |
Pour vous assurer que tout fonctionne correctement sur votre boutique mise à jour, nous vous recommandons de faire les tests suivants :
Cette liste est loin d'être exhaustive, vous devriez faire autant de tests que possible, et créer les vôtres.
Si vous remarquez que certains aspects ne fonctionnent pas correctement :
.sql
stocké dans le dossier "prestashop-prod".Si tous vos tests se passent sans problème, félicitations ! Passez à l'étape 7.
Félicitations, vous êtes parvenu sans encombre au bout du processus de mise à jour !
Il ne vous reste plus qu'à réactiver la boutique. Rendez-vous dans la page "Maintenance" du menu "Préférences", et choisissez "Oui" pour l'option "Activer la boutique".
Allez à la page d'accueil de votre boutique, et parcourez-en toutes les pages afin de vous assurer une dernière fois que tout fonctionne correctement pour vos clients.
C'est terminé ! Félicitations, vous avez terminé votre mise à jour vers la dernière et meilleure version PrestaShop !