Si vous n'êtes pas sûr de vous et que vous ne souhaitez pas risquer de faire une bêtise nous vous conseillons de suivre cette méthode. En revanche si vous connaissez bien la manipulation des fichiers et des données, que vous avez modifiés les sources de FluxBB en installant par exemple des mods, vous pouvez essayer une autre méthode.
Suivez ces instructions pour mettre à jour votre actuelle installation 1.2.* à la version 1.2.22
NOTE: Réalisez une copie de sauvegarde du répertoire de vos forums actuels avant de poursuivre. Par ailleurs n'oubliez pas de réaliser également une copie de sauvegarde de la base de données de vos forums. Utilisez l'outil mysqldump pour MySQL et pg_dump si vous utilisez PostgreSQL. Si vous utilisez SQLite, sauvegardez simplement le fichier de base de données de SQLite. Vous pouvez aussi réaliser des copies de sauvegarde de vos bases de données grâce à la plupart des outils d'administration comme MySQL Administrator, phpMyAdmin et phpPgAdmin.
/upload/ dans votre ancien dossier de la 1.2 (écrasez tous les fichiers).mise_a_jour_12_a_1212.php qui se trouve dans le répertoire /extras/ et lancez depuis votre navigateur. Suivez les instructions. Une fois que le script de mise à jour a terminé vous devez enlever le fichier du répertoire racine des forums.Vous devriez maintenant “tourner” sous FluxBB 1.2.22
Si vous ne l'avez jamais fait, vous devriez utiliser le script de conversion pour la version française, ceci ne devrez prendre que quelques secondes. Ce script se trouve dans le dossier /extras/ et se nomme conversion_vf.php. Placez-le dans le répertoire racine de vos forums et lancez-le depuis votre navigateur, suivez les instructions à l'écran.
Voilà avec tous cela vous devriez avoir un beau forum tout en français :)
Si vous n'avez appliqué aucune modification à vos forums et qu'il n'y a qu'un seul niveau d'écart entre votre version et la version vers laquelle vous voulez migrer, télécharger le pack de fichiers modifiés (ne contenant que les fichiers modifiés lors du passage à la nouvelle version “Changed files only”) suffit.
Il faut envoyer sur le serveur tous ces fichiers en écrasant la version précédente, sans se soucier du reste.
Copiez et envoyez sur votre serveur dans le dossier racine de vos forums le script mise_a_jour_12_a_1212.php qui se trouve dans le répertoire /extras/ et lancez depuis votre navigateur. Suivez les instructions. Une fois que le script de mise à jour a terminé vous devez enlever le fichier du répertoire racine des forums.
Et voilà, le forum est passé à la nouvelle version. Cela n'empêche pas de faire une sauvegarde au préalable, on n'est jamais trop sûr de soit, surtout en informatique.
S'il n'y a que quelques niveau d'écart entre votre version et la la version vers laquelle vous voulez migrer, mais que vous avez appliqué quelques modifications que vous souhaitez conserver (sans avoir à toutes les réinstaller), deux possibilités s'offrent à vous: les patchs ou les hdiff
/! Avant tout, faites une sauvegarde de vos fichiers et de la base de données de votre forum /!
Les patchs nécessitent d'être sous un OS unixien (ex: linux) ou d'avoir un programme adapté.
Placez le fichier à la racine de votre forum et exécutez la commande suivante:
patch -ul -d [punbb_dir] -p2 < [patch_file]
en remplaçant [punbb_dir] par le chemin vers le dossier racine de votre forum et
[patch_file] par le nom du fichier de patch.
Si une erreur survient durant le patch ou si vous n'avez pas les prérequis pour cette méthode, vous pouvez mettre à jour manuellement vos fichiers en utilisant les fichiers hdiff. Suivez simplement les instructions en suppriment les lignes rouges, ajoutant les lignes bleues et remplaçant les lignes vertes de gauche par celles de droite.
Si la base de données doit être modifiée, vous devez utiliser la même methode que celle indiquée dans méthode avec le pack de fichier modifiés.
Mais si vous avez une plus ancienne version de FluxBB, ou si vous avez appliqué de nombreux patchs et mods, surtout si ce sont des modifications qui vous sont propres, la montée de version devient un casse tête.
Il vous faut comparer un à un tous les fichiers, identifier ce qui à changé dans la nouvelle version, ce que vous avez ajouté dans l'ancienne version et que vous voulez conserver, etc.
Sur ce principe de comparaison entre les fichiers, il est conseillé d'utiliser un logiciel vous permettant de “merger” (= fusionner) une arbo de fichiers
mais merger, c'est quoi exactement ?
en très gros, imaginons un fichier (1) de cette forme :
AAAAA BBBBB CCCCC DDDDD
et un fichier (2) de cette forme :
AAAAA CCCCC DDDDD EEEEE
Le résultat d'un merge automatique de ses deux fichier serait
AAAAA BBBBB CCCCC DDDDD EEEEE
C'est à dire la fusion des infos contenues dans les deux fichiers.
WinMerge est un très bon logiciel de merge, qui vous permet d'effectuer un merge automatique ou manuel sur des fichiers, mais aussi directement sur des arborescences. Il vous permet de visualiser les répertoires et fichiers ajoutés / enlevés et les fichiers modifiés.
⇒ Allez, au boulot ! Télécharger la version de FluxBB que vous voulez installer. Dézipper le contenu du répertoire upload l'archive a un endroit donné.
Disons dans C:tempfluxbb_nouveau
Copier ensuite le contenu du répertoire de votre version actuelle de FluxBB à un autre endroit
Par exemple, dans c:tempfluxbb_ancien
Ouvrir Winmerge, et sélectionner les deux répertoires comme ceci :
Le but est de modifier la nouvelle version pour l'impacter avec les modifications de l'ancienne version qu'elle n'implémente pas et que vous souhaitez conserver. on aurait put raisonner dans l'autre sens (impacter l'ancienne version avec les modifs de la nouvelle version) mais il faut bien choisir une méthode !
Faites bien attention à mettre la nouvelle version dans la seconde case, afin qu'elle apparaisse du coté droit lors de la comparaison.
Valider. L'outil scanne les répertoires et vous rend un visuel.
le bilan de la comparaison (ici, aucune modification n'a été effectuée) vous indique les statistiques. Ici, on vous explique que :
Évidemment, les données peuvent différer selon vos versions et mods installés.
Fermer la fenêtre de statistiques. Commencons par ne pas afficher tous les éléments qui n'ont pas à être impacté.
Dans le menu affichage, décocher “Fichiers identiques”.
Là, sélectionner tout les éléments (fichiers texte ou binaire) dont l'icône est
. Une fois les fichiers sélectionnés, faire ALT + Flèche droite. Cela à pour effet de copier vers la nouvelle version les fichiers qui ne sont présent que dans l'ancienne version
Inversement, sélectionner tout les éléments dont l'icône est
et faire ALT + Fleche gauche. Cela à pour effet de copier vers l'ancienne version les fichiers qui ne sont présent que dans la nouvelle version
Il ne nous reste plus que la liste des fichiers différents. Dans affichage, décocher maintenant “Fichiers binaires”, ce n'est pas ca qui nous occupe le plus pour l'instant. La liste est plus courte. Là, il faut travailler fichier par fichier. Double cliquer sur le premier fichier de la liste, le merger de texte s'ouvre :
A l'extrême gauche, une vue d'ensemble des deux fichiers comparés.
A droite, la vue textuelle du fichier, avec les mêmes codes couleurs.
En bas, une fenêtre affichant le détail des différences pour chaque bloc de couleur.
Faire défiler le texte jusqu'à la première différence. Double cliquer dessus et le code s'affiche dans les fenêtres du bas. Identifiez la nature de la différence dans la portion de code. Si vous souhaitez impacter cette portion de code vers l'autre version, faire ALT + Droite (si la modification est à gauche) ou ALT + Gauche si la modification est à droite. Attention : cette manipulation vas remplacer un bloc de code par un autre le cas échéant. Vérifiez bien que le code qui vas être écrasé ne doit pas être conservé.
Et voilà. Répéter l'opération jusqu'à ce qu'il n'y ai plus de différences non identifiées entre les deux version.
Un script en perl nommé hdiff, permet de produire un fichier html en comparant tout un répertoire avec un autre répertoire ou plus simplement 2 fichiers entre eux.
hdiff est a exécuter où vous le souhaiter :
Sous linux donc on pourra taper (ou sous windows avec CygWin ou ActivePerl):
unzip punbb-1.2.13_fr.zip
puis
unzip punbb-1.2.14_fr.zip
pour obtenir :
(demahol@srvfms-3)-(08:59-16-Oct-06)-(~) ls -l |grep punbb drwxr-xr-x 5 demahol GCVS_FMS 57 Sep 27 18:50 punbb_1-2-13_fr -rw-r--r-- 1 demahol GCVS_FMS 304271 Sep 27 18:51 punbb_1-2-13_fr.zip drwxr-xr-x 5 demahol GCVS_FMS 57 Oct 15 21:17 punbb_1-2-14_fr -rw-r--r-- 1 demahol GCVS_FMS 304549 Oct 15 21:20 punbb_1-2-14_fr.zip
ensuite on va executer hdiff recursivement comme suit :
~/hdiff -r -o hdiff-punbb_1-2-13_to_punbb_1-2_14_fr.html punbb_1-2-13_fr punbb_1-2-14_fr
Bonne remarque ! Là aussi, utiliser un logiciel de merge peut vous éviter une migraine fracassante.
L'astuce la plus rapide est la suivante :
Installer la nouvelle version de FluxBB sous un autre nom que votre forum actuel (exemple, dans le répertoire test, avec un préfixe de table test_). Une fois le forum installé, accédez à l'outil dont vous vous servez pour administrer votre base de données. le plus souvent, il s'agit de phpMyAdmin. Là, effectuez un export de structure (et pas de données) de toutes les tables préfixées test_ . Enregistrez le fichier .sql généré par phpMyAdmin sur votre disque dur. Exemple :
c:/tempbase_nouveau.sql
faites de même avec votre forum actuel, exportez la structure de ses tables et sauvez le fichier Exemple :
c:/tempbase_ancien.sql
Une fois ces deux fichiers créés, lancez Winmerge dessus et comparez les comme indiqué précédemment. A chaque fois que vous constatez une différence, appliquez la modification à la table concernée via PhpMyAdmin.