[niveau: expert]
J’ai récemment dû migrer différents forums vers du phpbb3. Sans rentrer dans le détail du moyen de le faire, je vais dire ici les tables qu’il faut mettre à jour dans votre base MySQL de phpbb3.
On va supposer que tous les utilisateurs seront déclarés en anonyme ; ainsi on pourra définir les pseudonymes que l’on souhaite pour chaque message, sans s’assurer que l’utilisateur existe déjà dans la base.
Deux tables sont importantes : phpbb_topics et phpbb_posts. Comme on le devine, la première contient les topics, et la seconde est pour les messages postés.
Vous pouvez commencer par créer tous vos topics dans phpbb_topics. Les champs suivants doivent être utilisés :
forum_id => l’id du forum où les topics doivent être postés (cf phpbb_forums)
topic_title => titre du topic
topic_views => le nombre de fois que le topic a été lu
topic_poster => l’ID du poster — ici nous mettrons ‘1’ pour indiquer que le poster est anonyme
topic_time => temps UNIX qui représente le moment où le topic a été créé
topic_first_post_id => l’ID du premier post du topic (post_id de la table phpbb_posts)
topic_first_poster_name => le nom de celui qui a créé le topic
topic_last_post_id => l’ID du dernier post du topic (post_id de la table phpbb_posts)
topic_last_poster_id => l’ID du dernir poster — ici nous mettrons 1 pour indiquer sur le poster est anonyme
topic_last_poster_name => nom du dernier poster
topic_last_post_subject => le sujet du dernier post du topic (typiquement: « Re: topic_title »)
topic_last_post_time => temps UNIX du dernier message du topic
topic_replies => le nombre de messages postés dans ce topic
topic_replies_real => idem
Pour la table phpbb_posts:
topic_id => l’ID du topic (pris dans phpbb_topics) auquel ce post appartient
forum_id => l’ID du forum (cf phpbb_forums)
poster_id => l’ID du poster — ici nous mettrons 1 pour indiquer qu’il est anonyme
poster_ip => l’IP du poster (si vous l’avez)
post_time => temps UNIX où le post a été fait
post_username => le nom du poster
post_subject => le sujet du post (si c’est le premier ce sera le titre tu topic, sinon on peut mettre « Re: topic_title »)
post_text => le contenu du post
post_checksum => le MD5 de post_text
Je vous conseille de faire un petit script PHP qui va vous permettre de bien lier correctement les topics aux posts pour ensuite tout insérer dans la base de données.
Il reste encore une table à mettre à jour : phpbb_forums. Voici les champs à updater :
forum_topics_real => même chose
forum_last_post_id => l’ID du dernier post
forum_last_poster_id => l’ID du dernier poster — nous utiliserons ‘1’
forum_last_post_subject => le titre du dernier post
forum_last_post_time => le temps UNIX du dernier’ post
forum_last_poster_name => le nom du dernier poster
Si jamais vous voulez avoir un exemple des scripts que j’ai fait (en PHP), contactez moi.
Hello,
Merci pour ta super-explication. Je suis justement en train de migrer un forum qui est en ce moment sur une plateforme web (forumactif)sur un propre forum. Comme je n’ai pas accès à la base de données, c’estz pas facile… J’ai pour l’instant créé le script PHP qui permet de d’aller chercher tous les membres et qui me crée le code SQL que je peux ensuite importer sur mon forum.
Maintenant, le plus dur m’attends. Celui des messages, forum et catégories. Pour déjà pouvoir avancer un peu, je me suis dit que ton petit script me serait certainement utile. Serait-il possible de me l’envoyer ?
Merci d’avance.
rafmos> c’est fait!
Bonjour, je me demandais si je pouvais également te demander ce script 🙂
En te remerciant 🙂
Nico> Cela ne t’aidera pas beaucoup… rafmos devait travailler sur un script qui s’en occupe vraiment, mais la dernière fois que je lui ai demandé il n’avait toujours pas fini…. Peut-être qu’il a avancé cette fois et pourrait nous transmettre son travail ? Sinon je peux t’envoyer ce que j’ai mais pas sûr que cela te serve beaucoup….