Migrer son site vers une nouvelle version

Passer son site 5.0 en version 5.1

Dernière mise à jour : 25/03/2018 à 14h33
Pour pouvoir passer de la version 5.0 à la 5.1, il ne suffit pas de remplacer les fichiers ou d'appliquer un patch comme pour les mises à jour mineures.

Étant donné qu'il y a eu plusieurs changements dans la structure de la base de données, il faut faire des conversions pour que la nouvelle version fonctionne correctement. Voici donc les différentes étapes à suivre pour migrer vers PHPBoost 5.1.

La version minimale de PHP est la 5.6 pour installer PHPBoost 5.1, mais nous vous recommandons de passer si possible en PHP 7.0 ou 7.1.

La compatibilité de PHPBoost 5.1 avec la version 7.2 de php n'ayant pas été testée, nous vous recommandons de ne pas l'utiliser pour le moment.




Prérequis




En premier lieu, vous devez effectuer une sauvegarde de tout votre site (répertoires et fichiers constituant le site et la base de données). Si ce n'est pas fait, aucun retour en arrière ne sera possible après migration en cas de problème.

Aussi durant tout le long il faut rester connecté en tant qu'administrateur et ne jamais se déconnecter volontairement avant la migration.


  • Pour la base de données, nous vous invitons à regarder cet article.
  • Pour le contenu de votre site, nous vous invitons à regarder cet article (au lieu de copier vers le serveur en ligne, vous copierez vers le serveur local ou nouveau serveur)



En second lieu, cette migration ne vaut que pour le noyau du CMS ainsi que ses modules associés, compatibles avec la nouvelle version. Les thèmes et les modules non officiels non compatibles devront être migrés à part avec la procédure les affairant.

  • Les modules et thèmes non officiels non compatibles seront désactivés pendant migration, il faudra uploader leur version PHPBoost 5.1 pour pouvoir les réactiver.

Les modules ou thèmes non officiels qui ont déjà été convertis en version compatible PHPBoost 5.1 peuvent être inclus lors de la mise à jour, ils seront automatiquement installés ou mis à jour lors de la migration. En cas de problème, contactez l'auteur du module ou du thème.

Vous pouvez vous reporter à cette liste pour savoir quels sont les modules officiels.

Il sera aussi important de sauvegarder la/les thèmes 5.0 se trouvant dans le répertoire /templates car le premier redémarrage se fera avec le thème base de la version 5.1 si votre thème n'est pas compatible.

  • Nous vous invitons à regarder cet article.



Enfin, il vous faudra recenser tous les répertoires et fichiers que vous avez ajoutés en plus de ceux constituant le CMS PHPBoost pour bien les identifier avant de suivre cette procédure.



Préparer votre site






Cette partie doit être bien lue dans son intégralité (et plusieurs fois au besoin) pour diminuer le risque d'erreurs ou de fausses manipulations qui pourraient rendre le site provisoirement inutilisable.

De plus vous devez être connecté avec un compte administrateur sur votre site avant de commencer la migration, et pour plus de sécurité, il est conseillé de placer le site en maintenance pour éviter d'éventuelles interactions avec vos membres ou visiteurs.




1. Téléchargez la version mise à jour du Pack de migration 5.0 en 5.1.

Celle-ci contient tous les fichiers nécessaires à la nouvelle version (la dernière version en date avec mises à jour mineures intégrées) ainsi que le script de mise à jour.



2. Décompressez l'archive "pack-de-mise-a-jour-5-0-vers-5-1" sur votre bureau, ce qui vous donnera un dossier nommé "phpboost_update" et transférez tous les fichiers et dossiers contenus dans le dossier phpboost_update (et non le dossier) sur votre serveur dans le même répertoire que la version 5.0 existante et confirmez l'écrasement des fichiers lorsque cela vous sera demandé. Si vous n'avez pas de confirmation d'écrasement des fichiers, c'est que la procédure n'a pas été respectée.

Attention: Ne transférez pas le dossier "phpboost_update" mais seulement son contenu vers votre serveur.

Dans la plupart des cas la préparation s'arrête ici, si et seulement si c'est le cas (c'est-à-dire que vous avez lu le point 3. et 4. mais que cela ne vous concerne pas), vous pouvez passer à la section "Mise à jour du site".



3. Si un module de la version PDK est installé sur votre site (exemple Rapport de bug ou Bac à sable), veuillez le télécharger en version 5.1 et mettre le répertoire sur votre FTP (en même temps que la mise à jour si vous voulez qu'il reste actif, mais vous pouvez le faire plus tard, auquel cas il(s) sera/seront désactivé(s)).





4. Si les versions compatibles PHPBoost 5.1 de vos modules non officiels et/ou vos thèmes non officiels sont disponibles, téléchargez-les, décompressez-les et uploadez-les également (avant de lancer la migration). Ils seront mis à jour automatiquement dans ce cas.



Il est quand même conseillé de "purger" totalement le thème en V5.0 avant de mettre celui en V5.1 pour être sûr qu'il ne reste plus de fichiers de la V5.0 au niveau du thème



Mise à jour du site




  • Rendez-vous sur votre site (le script de mise à jour est détecté automatiquement).
  • Vous pouvez suivre les différentes étapes, qui sont proches de la procédure d'installation de PHPBoost que vous avez connue au moment de la création de votre site PHPBoost version 5.0, 4.1 ou 4.0. À noter que les informations de base de données n'ont pas besoin d'être renseignées puisqu'elles l'ont déjà été à l'installation. Le temps de la conversion peut être plus ou moins long suivant la taille de la base de données. En moyenne, comptez quelques minutes.







Problèmes potentiels






Dans certains cas, vous risquez de voir s'afficher un message de ce genre:

Code TEXT :
unserialize(): Error at offset 358 of 681 bytes
[0] /kernel/framework/helper/TextHelper.class.php:305<br />[0] /kernel/framework/helper/TextHelper.class.php:305 - unserialize(string)<br />[1] /kernel/framework/phpboost/menu/MenuService.class.php:602 - TextHelper::unserialize(string)<br />[2] /kernel/framework/phpboost/menu/MenuService.class.php:88 - MenuService::initialize(array)<br />[3] /admin/menus/menus.php:117 - MenuService::get_menus_map()<br />[URL] /admin/menus/menus.php 


Nous avons effectivement constaté que certains menus n'étaient pas correctement convertis en UTF-8 et généraient ce type de message.



Solution de contournement conseillée:



  • Restaurer votre version 5.0 (ftp + bdd)
  • Supprimer dans l'administration les menus personnalisés que vous aviez créés.
  • Faculatif mais recommandé - Désinstaller les thèmes personnalisés que vous aviez créés pour avoir seulement le thème de base actif ( vérification dans la configuration générale)
  • Relancer la procédure transfert ftp + lancement du script de migration expliquée plus haut.



Pour les utilisateurs novices, cette procédure (ci-dessus) peut être appliquée durant la préparation de votre site avant la migration. Elle garantit un plus grand pourcentage de réussite.



Autre solution de contournement (pour les utilisateurs familiers à l'utilisation de PhpMyAdmin) :



  • Dans la table PREFIX_menus (par défaut PREFIX = phpboost), supprimer un par un les enregistrements correspondants aux menus ajoutés par vos soins (autres que ceux existants par défaut)
  • Une fois que le message n'apparaît plus, vous devrez refaire le (ou les) menus concernés directement à partir de l'administration du site.





Autre problème rencontré :



Code TXT :
Fatal error: Call to a member function get_configuration() on null in VotreSite/admin/server/controllers/AdminServerSystemReportController.class.php on line 58
Fatal error: Call to a member function check_compatibility() on boolean in VotreSite/admin/updates/updates.php on line 60






Solution :



Dans ce cas, recommencez la procédure de migration. Si, à la suite de cette nouvelle migration, les mêmes erreurs surviennent, veuillez revalider (ou remettre les données si non disponibles) l'ensemble des pages configuration générale, configuration avancée et configuration de l'envoi mail dans le panneau d'administration de votre site.





Configurez votre site avec PHPBoost 5.1




  • Une fois connecté sur le site, un message vous invitera à supprimer le dossier /update et/ou /install de votre serveur. Ne laissez pas ces dossiers en place, car une personne mal intentionnée pourrait endommager votre site en relançant les scripts associés. Il suffira de cliquer sur le bouton Supprimer (après avoir fait une sauvegarde de ce dossier à cause des logs qu'il contient) pour supprimer le(s) dossier(s) automatiquement. En fonction des navigateurs il est possible que celui-ci garde en cache la redirection vers le script d'update même quand le dossier a été supprimé. Dans ce cas, videz le cache de votre navigateur en appuyant sur Ctrl + F5.
  • Passez en revue l'ensemble des données, configurations et autorisations puis désactivez la maintenance pour rouvrir le site.





Si vous ne l'aviez pas déjà fait avant de lancer la mise à jour, votre site sera automatiquement placé en maintenance au début de celle-ci. N'oubliez pas de la désactiver une fois toutes vos vérifications effectuées.



Mise en place des redirections 301 pour les anciens liens de PHPBoost 5.0




Pour éviter que vous tombiez sur des erreurs 404, nous avons développé un module qui met en place tout seul des redirections 301.

Cela va permettre également aux moteurs de recherche de savoir qu'une page a changé d'url.

Le module (UrlUpdater) est installé comme un module standard lors de la mise à jour et vous n'avez pas besoin de vous en occuper.

Au moindre problème, contactez le support sur le forum PHPBoost.



Bonne continuation sur PHPBoost 5.1 !
Cette page a été vue 16733 fois