Migrer son site vers une nouvelle version

Passer son site 5.1 en version 5.2

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 09/02/2020 à 13h15

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.
  • Pour les thèmes, nous vous invitons à regarder cet article.
  • Pour la base de données, nous vous invitons à regarder cet article ou 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)

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



  • Téléchargez la bonne version sur le site de : PHPBoost et enregistrez le fichier obtenu (smallads.zip) sur votre ordinateur dans le dossier de votre choix.
  • Décompressez ce fichier zip puis ouvrez le dossier nommé smallads et copiez l'intégralité de son contenu.

Sur votre serveur distant



  • A l'aide de votre logiciel ftp (Filezilla *mode binaire activé* recommandé), allez dans l'arborescence de votre site, ouvrez le dossier smallads et collez ce que vous avez copié précédemment. Validez la demande d'écrasement des fichiers.

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

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



  • 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. Notez 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.

    En fin de procédure, un lien vers le rapport de migration vous sera proposé. Utilisez le, téléchargez le fichier texte et enregistrez le dans votre ordinateur.
    Ce fichier contient des informations sur le résultat de la migration de votre site, il pourra vous être demandé en cas de problèmes.


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



  • Téléchargez la bonne version du module désactivé sur le site de : PHPBoost et enregistrez le fichier dans le dossier de votre choix dans votre ordinateur.
  • Décompressez le fichier zip, ouvrez le dossier obtenu et copiez l'intégralité de son contenu.

Sur votre serveur distant



  • A l'aide de votre logiciel ftp (Filezilla *mode binaire activé* recommandé), allez dans l'arborescence de votre site, ouvrez le dossier du module concerné et collez ce que vous avez copié précédemment. Validez la demande d'écrasement des fichiers.
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



  • Une fois connecté sur votre 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 du navigateur utilisé, il est possible que celui-ci garde en cache la redirection vers le script d'update même si le dossier a été supprimé. Dans ce cas, videz le cache du navigateur en appuyant sur Ctrl + F5 ou CTRL + MAJ + F5 (vidage du cache navigateur) si le CTRL + F5 n'a pas suffit.
  • Passez en revue l'ensemble des données, configurations et autorisations. Vérifiez la présence de vos menus et reparamétrez les si nécessaire dans le panneau d'administration, gestion des menus.

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 !