Mise à jour globale d'un forum [MAJ 19/01/2005]

Ce forum regroupe quelques documents de référence que j'ai rédigé
Répondre
Avatar de l’utilisateur
FTP
Messages : 1028
Inscription : 06 mars 2004 14h41
Contact :

Mise à jour globale d'un forum [MAJ 19/01/2005]

Message par FTP »

Il existe 2 méthodes principales pour mettre à jour un forum :
  • soit on réalise des mises à jour partielles au fur et à mesure qu'elles sont disponibles (mise à jour de phpBB, mise à jour d'un MOD, mise à jour d'un thème, etc.),
  • soit on réalise une mise à jour globale de tout ce que compose votre forum en une seule fois.
La première méthode est parfois la plus simple et la plus rapide quand vous avez peu de choses à mettre à jour.
Exemple : le groupe phpBB sort une mise à jour axée sur la sécurité, il faut upgrader votre forum très vite et rien d'autre n'est à mettre à jour. Dans ce cas, le plus simple consiste effectivement à réaliser les actions de mise à jour demandées par le groupe phpBB sans se compliquer la vie.

En revanche, il arrive aussi parfois qu'on n'ait pas le temps de réaliser des mises à jour régulières et qu'on ait pas mal de retard sur la mise à jour de phpBB, de nombreux MODs, voir de thèmes.
Dans ce cas, il est souvent plus simple de tout mettre à jour d'un coup sans en passer par les différentes mises à jour de chaque élément concerné en recréant un nouveau forum complètement à jour et qui va venir se substituer à l'ancien (tout en gardant la base de données et son contenu évidement).
Cette méthode à d'autant plus d'intérêt que très souvent les procédures de mise à jour de MODs sont incomplètes, erronées, voir inexistantes chez certains auteurs.
Ainsi cela vous permettra de repartir sur des fichiers propres au lieu d'ajouter un énième bricolage +/- bien réalisé sur des fichiers déjà modifiés n fois.

Dès lors, si vous voulez effectuer ce type de mise à jour globale d'un coup, ce document se propose de vous expliquer comment faire :)

Voilà le principe :
  1. Installer phpBB + EasyMOD + vos thèmes + vos MODs en local
    Il faut le faire dans cet ordre, en utilisant les dernières versions de tout évidement
  2. Effectuer les tests nécessaires pour vérifier que tout fonctionne parfaitement ensemble
  3. Transférer les nouveaux fichiers (php, tpl, etc.) de votre PC sur le serveur
  4. Sauvegarder l'ancienne base de données, et mettre à jour ou créer la table des MODs installés
  5. Effectuer la bascule des anciens fichiers vers les nouveaux
  6. Mettre à jour la base de données des modifications induites par les nouvelles versions des MODs (s'il y en a)
:!: Avertissement : Néanmoins attention, cette méthode toute séduisante et parfois très rapide qu'elle est peu nécessiter dans certains cas une bonne maîtrise des MODs phpBB et de phpMyAdmin pour identifier et effectuer correctement les mises à jour nécessaires de votre base de données (étape 6). Elle n'est donc malheureusement PAS à la portée de débutants !!!
Pour les autres, elle peut vous faire gagner beaucoup de temps et vous faire repartir d'un coup sur des bases propres.

D'ailleurs pour l'anecdote, c'est une procédure (un peu différente) mais de ce type dans sa philosophie (seule la base de données sera conservée et tous les fichiers seront remplacés) qui sera utilisée au passage de phpBB 2.0.x à phpBB 3.0.x .

Voilà.
Et maintenant, en avant pour... :wink:
Dernière modification par FTP le 19 janv. 2006 20h24, modifié 4 fois.
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir 24h !
Avatar de l’utilisateur
FTP
Messages : 1028
Inscription : 06 mars 2004 14h41
Contact :

Message par FTP »

1. Installer phpBB+EasyMOD+vos thèmes+vos MODs en local

Je ne vais pas tout re-décrire ici, de nombreuses procédures existent déjà : A noter qu'à cette occasion vous pourrez...
  • réinstaller tous les MODs que vous aviez précédemment,
  • installer de nouveaux MODs,
  • ou à l'inverse ne pas réinstaller certains des MODs que vous aviez mais qu'en fait vous jugez plutôt inutiles.
Dans tous les cas, notez précisément quels MODs dans quelle version vous aviez avant.
A l'avenir, la liste des MOD installés vous sera donnée par EasyMOD.

:idea: Astuce : Ca n'est pas la première fois que je le mentionne, mais je vous conseille TRES fortement de vous créer un MOD compatible EasyMOD de l'ensemble des modifications/personnalisations que vous avez apporté à votre forum en partant d'un subSilver vierge.
En effet, d'abord ça vous permettra par là même de documenter ces modifications et donc d'en garder une trace pour l'avenir, mais aussi et surtout de pouvoir réinstaller/mettre à jour votre forum très facilement !
Sur une simple install de phpBB+EM, vous pourrez ainsi appliquer votre MOD de personnalisation et transformer d'un coup un subSilver de dernière version en un thème personnalisé :)


2. Effectuer les tests nécessaires

Ce point est TRES important.
Maintenant que vous avez installé votre forum idéal en local, qu'il est tout beau tout neuf, prenez le temps de vérifier que tout fonctionne ; et notamment testez chaque MOD pour vérifier qu'il fonctionne bien.


3. Transférer les nouveaux fichiers du PC vers le serveur

Partant de l'hypothèse que vos répertoires phpBB en local et distant s'appellent /forums/ (vous adapterez au besoin), les différentes étapes sont les suivantes :
  • Sur le serveur distant, créer un nouveau répertoire /forums_new/
    (au même niveau que /forums/)
  • Depuis votre PC, copier le contenu de c:\Program Files\EasyPHP1-8\www\forums\, sur le serveur dans /forums_new/

    Puis...
  • Sur le serveur, copier (et pas déplacer !) le fichier "config.php" de /forums/ dans /forums_new/ (ce qui va écraser celui qui venait de l'installation locale)
  • Vérifier que le nouveau "config.php" dans /forums_new/ soit bien en CHMOD 644
  • Sur le serveur, si le MOD "Attachment" était déjà installé, copier (et pas déplacer !) tout le contenu de /forums/files/ dans /forums_new/files/
  • Sur le serveur, copier (et pas déplacer !) tous les avatars de /forums/images/avatars/ dans /forums_new/images/avatars/
  • Passer le sous répertoire /forums_new/images/avatars/ en CHMOD 777
  • Sur le serveur, créer le sous répertoire /forums_new/install/
  • Copier le fichier "update_to_latest.php" de l'archive phpBB dans ce répertoire /forums_new/install/
  • Enfin, toujours sur le serveur, UNIQUEMENT si avec cette mise à jour vous installez pour la première fois EasyMOD ou une nouvelle version d'EasyMOD, supprimer le sous répertoire /forums_new/admin/mods/easymod/
  • Et copier le sous répertoire \mods\easymod\ de l'archive d'EasyMOD dans /forums_new/admin/mods/ pour remplacer celui qu'on vient de supprimer

    Voilà un résumé de ce qu'il y a à faire...
    Image
4. Sauvegarder la BD et créer la table des MODs installés

Côté base de données locale (sur votre PC)
Sauvegarder la table phpbb_easymod (structure et contenu)...
  • Clic droit sur l'icône EasyPHP dans la barre de tâche et sélectionner "Administration"...
    Image
  • Cliquer sur "GESTION BDD" pour lancer phpMyAdmin...
    Image
  • Sélectionner la base "forums"...
    Image
  • Puis cliquer sur l'onglet "Exporter", sélectionner la ou les 2 tables "phpbb_easymod" et "phpbb_easymod_processed_files" (si vous avez EasyMOD 0.3.0 ou +), cocher "Inclure des énoncés "DROP TABLE" ", cocher "Transmettre", et cliquer sur le bouton "Exécuter"...
    Image
  • Sauvegarder le fichier "phpbb_easymod.sql" dans un coin
Côté base de données distante (sur le serveur)
Sauvegarder la base de données distante avant tout modification...
  • Ouvrir phpMyAdmin de votre base SQL distante et sélectionner la base "forums"...
    Image
  • Cliquer sur l'onglet "Exporter", cocher "Transmettre" et cliquer sur le bouton "Exécuter"...
    Image
  • Sauvegarder le fichier "forums.sql" dans un coin
Mettre à jour la table phpbb_easymod grâce à la sauvegarde...
  • Ouvrir phpMyAdmin de votre base SQL distante et sélectionner la base "forums"...
    Image
  • Cliquer sur l'onglet "SQL", cliquer sur le bouton "Parcourir...", sélectionner le fichier "phpbb_easymod.sql" et cliquer sur le bouton "Exécuter"...
    Image
5. Effectuer la bascule des anciens fichiers vers les nouveaux
  • Sur le serveur, renommer le répertoire /forums/ en /forums_old/
    (ce répertoire est à conserver comme sauvegarde au cas ou !)
  • Renommer le répertoire /forums_new/ en /forums/
  • Dans votre navigateur Internet, ouvrir la page...

    Code : Tout sélectionner

    http://{adresse_du_forum}/install/update_to_latest.php
  • Supprimer le sous répertoire /install/
  • Toujours dans votre navigateur Internet, UNIQUEMENT si avec cette mise à jour vous installez pour la première fois EasyMOD ou une nouvelle version d'EasyMOD, ouvrir la page... (pour installer/réinstaller EasyMOD)

    Code : Tout sélectionner

    http://{adresse_du_forum}/admin/mods/easymod/easymod_install.php
    Suivre les mêmes consignes que celles de la procédure d'installation à partir de cette étape
6. Mettre à jour la base de données des modifs nécessaires par les nouveaux MODs ou mises à jour de MODs

C'est la partie la plus délicate de la procédure. La seule qui ne peut être détaillée avec exactitude car elle diffère complètement d'une installation à une autre.
Ce qu'il va falloir faire c'est mettre à jour la base de données des modifications demandées ENTRE les anciennes et les nouvelles versions des MODs réinstallés.

Il va donc vous falloir vérifier MOD par MOD s'il y a quelque chose à faire, et quoi. 4 cas de figure :
  • si le MOD installé ne modifie pas la base de données
    -> no pb vous n'avez rien à faire
  • si le MOD installé modifie la base de données mais c'est un nouveau MOD (vous ne l'aviez pas installé précédemment)
    -> c'est très simple, référez-vous à la procédure d'installation du MOD et réalisez les opérations de mise à jour de la base de données, comme si vous installiez réellement le MOD (attention, seulement la mise à jour de la base de données - pas celles des fichiers php/tpl !). En effet, ces modifications ont été effectuées en local pour les tests, mais pas sur votre base de données en ligne (sur le serveur). Vous devez donc les refaire sur cette base pour la mettre à niveau.
  • si le MOD installé modifie la base de données mais était déjà installé sur l'ancien forum dans la MEME version
    -> no pb vous n'avez rien à faire
  • si le MOD installé modifie la base de données, était déjà installé sur l'ancien forum, mais dans une version plus ancienne
    -> alors (et c'est là le point le plus délicat) vous devez vérifier si entre l'ancienne version et la nouvelle il n'y a pas eu des modifications dans les opérations de mise à jour de la base de données (exemple : avant le MOD faisait créer 4 tables, et maintenant 5). Dans ce cas, il faudra réaliser les modifications spécifiques à la nouvelle version (et uniquement elles). Exemple : créer uniquement la cinquième table qui n'existait pas avant.
    Pour cela, si l'auteur du MOD a prévu des procédures de mise à jour de son MOD, alors ça sera très simple. Il suffira de réaliser les opérations de mise à jour de la base de données indiquées (et uniquement celles concernant la base de données évidement !). Mais si l'auteur n'a fourni aucune procédure de mise à jour entre les différentes versions, alors il faudra vérifier par vous même ce qu'il y a à faire ou le demander à l'auteur, puis le réaliser.
    Comme vous pouvez le voir, c'est à cause de ce tout dernier point que cette procédure n'est pas à la portée des débutants. En effet, si vous n'êtes pas capable de réaliser cette analyse et les mises à jour nécessaires, toute la procédure devient quaduc et vous ne pourrez pas l'utiliser.
Voilà ! :D
Les dernières mises à jour faites, vous pouvez effectuer les derniers tests sur votre forum en ligne pour vous assurer que tout marche comme prévu. Normalement tout doit rouler et votre forum a dû être complètement upgradé d'un seul coup.
Dernière modification par FTP le 26 nov. 2006 13h06, modifié 14 fois.
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir 24h !
Avatar de l’utilisateur
FTP
Messages : 1028
Inscription : 06 mars 2004 14h41
Contact :

Message par FTP »

Procédure de restauration de l'ancien forum

Si par hasard, malgré des tests en local poussés vous aviez des problèmes lors de la mise à jour de votre forum ou après lors des tests, et que vous n'arriviez pas à rétablir la situation, voilà comment restaurer votre ancien forum.
  • Sur le serveur, renommer le répertoire /forums/ en /forums_new/
  • Ouvrir phpMyAdmin de votre base SQL distante et sélectionner la base "forums"...
    Image
  • Cocher toutes les tables ("Tout cocher"), sélectionner "Supprimer" dans la liste des actions possibles pour la sélection, puis confirmer la suppression...
    Image
  • Cliquer sur l'onglet "SQL", le bouton "Parcourir...", sélectionner votre fichier de sauvegarde de la base ("forums.sql") et cliquer sur le bouton "Exécuter"...
    Image
  • Et enfin renommer /forums_old/ en /forums/
C'est tout ! :)
Tout à dû revenir à l'état initial.
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir 24h !
Répondre