Migration d'un forum phpBB2 vers phpBB3
Ça aura été pénible mais j'ai réussi à migrer le forum phpBB de Kobuta.fr !
Petite introduction
Pour rappel, phpBB est certainement la solution de forum PHP la plus connu et la plus populaire, sans doute parceque la première arrivée avec PHP, son installation et sa prise sont simple, et enfin, compatible avec les hébergements lowcost (free.fr & co).
phpBB version 2 est (ou plutôt à été !) la branche de référence (pour ma part je n'ai même plus souvenir de la version 1...) et la plus utilisée sur le net (encore aujourd'hui, malgré la sortie de la version 3). Elle à finalement été décriée il y a maintenant quelques année par les communauté, principalement à cause de ses problèmes de sécurité à répétition : de nombreux forum se faisaient hackés par des scripts kiddies et nombreux étaient ceux (dont moi à l'époque) qui cherchaient une solution alternative (mais la migration était souvent pénible...).
Malgré la réactivité du groupe phpBB pour produire des patchs, les attaques ont continuées, pourquoi ? Simplement parceque la structure même de phpBB n'était pas prévu pour évoluer ! Les mods s'installent de manière intrusive (dans le style osCommerce, à coup de copier/coller dans le core...), pas de controle de version dans le backend admin, etc.).
Depuis, la version phpBB 3 est sorti (fin 2007, soit environ 2 ans après les premières annonces) et c'est tant mieux ! En même temps c'était ça ou la mort de phpBB !
Pour en revenir au sujet initial, Kobuta.fr avait fermer son forum dès que le contrôle en a été perdu : inscription et posts de robots spammeurs, hacking et donc risque pour l'hébergeur.
Depuis, j'ai repris l'hébergement de Kobuta.fr et des sites associés (tel que le blog de Oni). Oni souhaitait que nous réinstallions l'ancien forum phpBB 2 en lecture seule afin de permettre aux membres d'accéder au contenu de certains billets et à leurs messages privés.
Les problèmes techniques commencent ici
Je ne vous cache pas que j'en ai chi*er ! Et comme toujours, à cause de la même problématique dans le cas d'une migration d'un ancien système vers un plus récent : l'encodage des caractères !
En effet, la plupart des anciennes plateformes à la phpBB étaient déployées "à l'européenne", c'est à dire :
- un frontend en ISO-8859-1
- une BDD en latin1_swedish_ci
De ce fait, quand on passe une plateforme full UTF-8 telle que la dernière mouture de phpBB, on se reprend en pleine face les bidouilles d'encodage de l'époque, misère...
Voici, en quelques lignes, ce qu'il faut faire pour migrer un phpBB 2 ISO/latin vers un phpBB 3 UTF-8/utf8_bin.
Si vous n'utilisez pas la dernière version de phpBB 2 :
Il va donc falloir commencer à mettre à jour votre installation vers la version 2.0.23.
- téléchargez le package "files" de la dernière release de la branche 2 (2.0.23). Si vous avez une installation antérieure à la 2.0.12, allez mourir !
- rapatriez en local (on travail toujours en local avant de tout casser !) votre forum
- mettez à jour votre BDD via le script "install/update_to_latest.php"
- remplacez vos fichiers par ceux présent dans l'archive correspondant à votre mise à jour de version (si vous avez installer des mods dans tout les sens, je ne peux pas vous aider, le forum phpBB FR est là pour ça)
Vous utilisez déjà la dernière version de phpBB 2 :
- phpBB 2 :
- modifier l'encodage de votre BDD actuelle pour utf8_bin (tables comprise)
- modifier la valeur de la variable
$lang['ENCODING'] = 'ISO-8859-1'
pour
$lang['ENCODING'] = 'UTF-8'
(voir le fichier "language/lang_french/lang_main.php")
- phpBB 3 :
- téléchargez la dernière version de phpBB 3 en version complète
- décompressez les fichiers dans un autre répertoire que votre forum actuel : la migration se base sur la BDD, mais pas sur les fichiers : dites au revoir à votre thème custom !
- démarrer l'installation d'une version vierge de phpBB 3, en prenant garde à utiliser la même BDD que celle utilisée par votre phpBB 2 : choisissez un autre préfixe de table afin de ne pas risquer d'en écraser une.
- la dernière étape de l'installation vous propose d'utiliser votre forum fraichement installer : ne le faite pas et cliquez sur l'onglet "Convertor"
- si vous avez suivi les étapes précédente, c'est du gâteau : soyez simplement vigilant afin de bien indiquer le paramétrage du forum source et du forum de destination
- suivez les étapes une à une et appliquer les corrections nécessaire : les messages d'erreurs sont assez explicite
En cas de soucis, vous pourrez toujours recommencer, car l'outil de migration fourni pas phpBB n'écrase pas votre ancien forum : il alimente votre nouveau forum avec les données de l'ancien.
Bref, quand j'y pense, sans ces soucis d'encodage et les temps de chargement/traitement, ça aurait été plié en quelques minutes...
Le résultat ici : http://www.kobuta.fr/forum :-)

Bonjour Arnaud,
J'ai eu besoin de faire la migration en question aujourd'hui, et je trouve amusant que ce soit ton site qui ressorte en seconde position sur google, et surtout de voir comment il a évolué depuis. Je me suis permis de le bookmarker, car bon... déjà c'est toi, et en plus un blog informatique sympa est toujours bon à prendre.
Pour faire un retour sur le contenu du billet, je viens de faire l'installation et la conversion, c'est assez incroyable de voir le progrès fait dans l'installeur, on suit les menus et ça passe tout seul. Entre autre, je n'ai pas eu besoin de faire la mise à jour vers la dernière version de phpBB2 (j'ai préféré sauter cette étape de par ma méfiance envers phpBB2, et puis les backups sont là au cas ou), de même la conversion des tables s'est effectuée sans problèmes en ligne.
Bonne journée, en espérant lire prochainement de nouveaux billets ;-)
Teddy Red M3CL de LFO
Bonjour,
Un amis et moi même gérons un jeux de rôle en ligne justement basé sur un forum PHPBB2. Nous n'avons toujours pas osé franchir le pas pour migrer en PHPBB3 et ce pour plusieurs raisons qui nous freinent fortement.
La première et pas des moindre, est qu'il est impossible de retrouver des version mises à jour de tous les modules complémentaires que nous avons installé. Et donc en gros, passer au PHPBB3 reviendrait pour nous à sacrifier certains outils indispensable au fonctionnement du jeu(Ex: Cash module développé par Zarath...). Même si en effet il serait bien de résoudre les failles de sécurité...nous ne voulons pas pour autant revenir à l'age de pierre en terme de fonctionnalités ^^.
La seconde est qu'il est vrai qu'un tel changement nous fait un peu peur, surtout que nous nous sommes beaucoup investis pour que le jeu atteignent aujou'dhui plusieurs centaines d'inscrits...Je ne vous explique pas le choc si jamais nous perdions tout ^^
Bref, est-ce que d'autres d'entre vous ont rencontré les mêmes craintes?
PS: Pour ceux que ça interesse il s'agit de http://www.pagon.org/v1
Merci de partager ce poste. Il s'agit d'un matériau très utile et informatif. Good post et keep it up. Les sites web sont toujours utiles dans un sens ou dans l'autre, c'est cool stuff, anyways, mortgages un bon moyen pour commencer à rénover vos rêves dans le monde de la réalité.
Merci
Michael,
Bonjour voila j'aimerais procéder à une migration de phpbb2 en phpbb3 mais je ne comprends vraiment rien à la migration je me débrouille bien informatique mais niveau forum zéro j'aimerais avoir une aide en ligne savoir ou extraire exactement ect.. voila mon mail si vous pouvez m'aider merci
totocris@hotmail.fr
Cldt Anonyme.
Bonjour. Tu as beaucoup plus simple : le site forumactif. C'est le seul site gratuit que je connaisse qui te propose d'emblée plusieurs versions de forums comme phpbb ou invision. De même ils ont une version phpbb2 (avec modif de templates) et phpbb3. Le panneau d'administration du forum te permet de zapper d'une version á l'autre lorsque tu le désire sans perdre aucune données voire ton thème. tu peux te rendre sur le site et faire un essai. tu verras c'est simple. Cdt
C'est des mecs comme toi qui font vivre le net...
Merci pour cet article !