Passer son site 5.1 en version 5.2

Une migration, comment ça marche ?



Pour effectuer une montée de version majeure (appelée migration) il ne suffit pas de remplacer les fichiers ou d'appliquer un patch comme pour les mises à jour mineures. Des changements ayant été effectués dans la structure de la base de données, celle ci doit donc être convertie pour que la nouvelle version fonctionne correctement.
La conservation des données existantes (contenus d'articles, de news ou autres) doit être évidemment garantie, c'est ce que fera le script de migration que vous allez utiliser.
Voici donc les différentes étapes à suivre pour migrer vers PHPBoost 5.2 :

Prérequis



Conseils



Lisez attentivement et en totalité cette procédure avant de commencer quoi que ce soit. La majorité des migrations ratées sont le résultat d'une procédure non respectée.
Si vous avez un doute, posez votre question sur le forum, nous y répondrons dans les meilleurs délais.
Et n'oubliez pas de réaliser vos sauvegardes avant toute chose. Nous pourrons toujours arriver à faire fonctionner votre site, mais pas à restituer vos propres données.

Versions logicielles



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

La compatibilité de PHPBoost 5.2 avec la version 7.2 de PHP ayant été testée, vous pouvez donc l'utiliser.

Sauvegardes



Vous devez impérativement effectuer une sauvegarde de tout votre site (répertoires et fichiers) ainsi que de la totalité de 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.

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.
Durant toute la procédure, il faut rester connecté en tant qu'administrateur et ne jamais se déconnecter volontairement avant la migration.

Préparer votre site



Cette migration ne concernant que le noyau du CMS ainsi que ses modules associés (compatibles avec la nouvelle version), vous devez effectuer quelques manipulations avant de lancer le processus.
Pour plus de sécurité, pensez à placer le site en maintenance pour éviter d'éventuelles interactions avec vos membres ou visiteurs.

Modules et Thèmes



Nous vous conseillons fortement de suivre la procédure suivante avant de lancer le script de migration :Avant de lancer la migration en elle même, prenez le temps d'intégrer les modules ou thèmes non officiels convertis en version 5.2 dans votre organisation de site à l'aide de votre logiciel ftp. Ils seront alors automatiquement installés ou mis à jour pendant le traitement.
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.
Exemple:
Vous utilisez le module Petites Annonces (dossier smallads) et vous pouvez constater qu'il n'est pas présent dans la liste des modules officiels. Il ne sera donc pas converti automatiquement si vous ne le préparez pas avant. Pour l'inclure dans le processus de mise à jour, voici comment faire :

Sur votre ordinateur




Sur votre serveur distant




La procédure est la même pour les thèmes dont vous pouvez transférer la version compatible par ftp avant de lancer la migration.

La migration



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 si cela n'a pas été fait à l'étape précédente, il est conseillé de placer le site en maintenance pour éviter d'éventuelles interactions avec vos membres ou visiteurs.

Préparer le script de migration



1. Téléchargez la version mise à jour du Pack de mise à jour 5.1 vers 5.2
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-1-vers-5-2" dans votre ordinateur, ce qui vous donnera un dossier nommé "phpboost_update". Ouvrez ce dossier et copiez l'intégralité de son contenu.

3. Copiez (transférez) tous les fichiers et dossiers contenus dans le dossier "phpboost_update" sur votre serveur dans le même répertoire que la version 5.1 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 4. mais que cela ne vous concerne pas), vous pouvez passer à la section "Mise à jour du site".

4. 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.2 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 pourrez le faire plus tard.

Il est quand même conseillé de "purger" totalement le thème en V5.1 avant de mettre celui en V5.2 pour être sûr qu'il ne reste plus de fichiers issus de la version précédente.

Mise à jour 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.2



Vérifiez vos modules et thèmes



Allez dans le panneau d'administration puis Modules et vérifiez si tous vos modules sont actifs. Si vous avez oublié d'inclure un module non compatible avant la migration, il apparaîtra comme "Non compatible".

Mise à jour d'un module



Sur votre ordinateur




Sur votre serveur distant



Il s'agit bien de transférer le contenu du dossier du module, pas le dossier en lui-même.

Sur votre site



Allez maintenant dans le panneau d'administration puis Modules et Mettre à jour un module. Le module sera converti et automatiquement activé en fin de traitement.

Migration terminée




Si vous ne l'aviez pas déjà fait avant de lancer la mise à jour, votre site est 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



Pour éviter que vous ne 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.2 !