Bienvenue sur le forum de la Communauté EzCom !

En ces lieux, nous vous aidons à mettre en place et à personnaliser votre forum phpBB 3.1.x, 3.2.x, 3.3.x & 4.0.x grâce à :

Une fois inscrit.e, vous pouvez :

Dernières nouvelles :

Coup d’œil : « EzCom Blog » idéal pour trouver des conseils et des services pour son forum phpBB !

Soutenir le projet de la Communauté EzCom.

Image Tu as un forum et tu veux aussi un site web ? Regarde par ici.

Welcome on the Ezcom Community board! | English visitors, may I help you? Image | Make a donation to EzCom.

DOCUMENTATION : Fusionner deux forums phpBB 3.2.x ou 3.3.x | Merge two phpBB 3.2.x or 3.3.x boards

Comment combiner, assembler les données (forums, messages & sujets) d’un forum A dans un forum B sous phpBB 3.2.x & 3.3.x | How to merge forums, posts, topics from a phpBB 3.2 board into another one.

Assistance & documentations pour phpBB et son environnement.

Modérateurs : Graphistes, Traducteurs

Avatar de l’utilisateur
Raphaël
Chef de projets
Chef de projets
Messages : 2997
Enregistré le : ven. 24 oct. 2014 18:02
Localisation : Marseille

DOCUMENTATION : Fusionner deux forums phpBB 3.2.x ou 3.3.x | Merge two phpBB 3.2.x or 3.3.x boards

Messagepar Raphaël » mar. 19 déc. 2017 01:48

Salut,

rien de tel que d’intégrer le contenu d’un vieux forum archivé dont on aurait sauvegardé la base de données dans un nouveau forum phpBB 3.2.x ou 3.3.x. Au départ j’avais :
  • un forum A actif sous phpBB 3.2.x de type : 7,5K messages • 700 sujets • 70 membres ;
  • et un forum B archive mis à jour sous phpBB 3.2.x de type : 280K message(s) • 20K sujet(s) • 2,2K membre(s)
Étant donné que je n’avais pas d’exigence de perdurer les comptes utilisateurs du forum B, mais seulement les catégories, forums, sujets et messages (incluant les sondages) la démarche fut simplifiée mais il est aussi possible d’intégrer les comptes utilisateurs.




► Qu’est-ce que la fusion du contenu de deux forums ?

La fusion permet d’intégrer tout ou partie du contenu, voire même les utilisateurs d’un forum dit A dans un forum B. Tout est question de connaissance des requêtes SQL adaptées à la situation, mais le plus important c’est d’avoir deux forums identiques en terme de structures : même version de phpBB, mêmes styles (voire un seul, prosilver recommandé), mêmes extensions installées (voire aucune) et de réaliser tout cela en local, environnement propice pour effectuer des tests et recommencer si besoin très rapidement (merci mes SSD SAMSUNG 960 ^_^).



► Qu’est-ce que phpMyAdmin permet d’effectuer comme tâches sur les bases de données ?

Il s’agit ici de savoir quelles requêtes SQL exécuter sur les bases de données des deux forums au moyen d’un outil de gestion de base de données tel que phpMyAdmin.

Le principe : l’intégration des données (forums, messages & sujets) d’un forum B (le plus ancien & important des deux) dans un forum A (le plus récent mais aussi le moins riche en contenu) pour obtenir un seul forum avec le meilleur des deux.

Les étapes :

  1. sauvegarder les bases de données des deux forums ;
  2. préparer le forum B ;
  3. exécuter les requêtes SQL nécessaires sur la base de données du forum B ;
  4. exporter les données de certaines tables de la base de données du forum B ;
  5. intégrer les données précédemment exportées dans la base de données du forum A ;
  6. resynchroniser les forums nouvellement intégrés et redéfinir leurs permissions sur le forum A.

    ► 1. Sauvegarde des bases de données des deux forums (A & B)

    Depuis phpMyAdmin ou MySQLDumper, pour les bases de données des forums A & B :
    Avant d’entreprendre tout action sur les bases de données il est nécessaire de se rendre dans l’outil de gestion de base de données phpMyAdmin ou tout autre utilitaire tel que MySQLDumper (voir ce tutoriel) afin d’effectuer une sauvegarde de la base de données de chacun des deux forums.


    ► 2. Préparation du forum B

    Depuis le forum B, se rendre dans le PCA (panneau d’administration) :
    1. créer un nouveau compte utilisateur défini comme administrateur fondateur sur le forum B  ;
    2. retirer le statut d’administrateur fondateur de tous les autres compte utilisateur du forum B :
    3. délester tous les utilisateurs du forum B en cochant l’option permettant de conserver les messages (seuls demeurent l’administrateur fondateur précédemment créé, l’invité et les robots).

    ► 3. Exécution des requêtes SQL nécessaires sur les bases de données

    Depuis phpMyAdmin, dans la base de données du forum B :
      Exécuter les requêtes SQL suivantes sur la base de données du forum B depuis l’outil phpMyAdmin :
      • Code : Tout sélectionner

        UPDATE phpbb_forums SET forum_id = forum_id + x-forums, parent_id = parent_id + x-forums, left_id = left_id + x-forums, right_id = right_id + x-forums, forum_last_post_id = forum_last_post_id + x-messages;
        UPDATE phpbb_forums SET parent_id = '0' WHERE parent_id = x-forums;
        UPDATE phpbb_forums SET forum_last_post_id = '0' WHERE forum_last_post_id = x-messages;
        UPDATE phpbb_poll_options SET topic_id = topic_id + x-sujets;
        UPDATE phpbb_poll_votes SET topic_id = topic_id + x-sujets;
        UPDATE phpbb_posts SET post_id = post_id + x-messages, topic_id = topic_id + x-sujets, forum_id = forum_id + x-forums;
        UPDATE phpbb_topics SET topic_id = topic_id + x-sujets, forum_id = forum_id + x-forums, topic_first_post_id = topic_first_post_id + x-messages, topic_last_post_id = topic_last_post_id + x-messages;
        UPDATE phpbb_topics_posted SET topic_id = topic_id + x-sujets;
      Où :
      • x-forums est une valeur supérieure à l’ID la plus élevée de tous les forums de la base de données du forum B
      • x-sujets est une valeur supérieure à l’ID la plus élevée de tous les sujets de la base de données du forum B
      • x-messages est une valeur supérieure à l’ID la plus élevée de tous les messages de la base de données du forum B

    ► 4. Export des données de certaines tables de la base de données du forum B

    Depuis phpMyAdmin, dans la base de données du forum B :
    1. exporter les données (faire une sauvegarde du contenu et non de la structure) des tables suivantes de la base de données du forum B :
      1. phpbb_forums,
      2. phpbb_poll_options,
      3. phpbb_poll_votes,
      4. phpbb_posts,
      5. phpbb_topics,

    ► 5. Import des données précédemment exportées (de la base de données du forum B) dans la base de données du forum A

    Depuis phpMyAdmin, dans la base de données du forum A :
    1. importer les données précédemment exportées.

    ► 6. Resynchronisation des forums nouvellement intégrés et redéfinir leurs permissions sur le forum A

    Depuis le forum A, se rendre dans le PCA (panneau d’administration) :
    1. onglet « FORUMS » ;
    2. catégorie « GÉRER LES FORUMS » ;
    3. page « Gérer les forums » ;
    4. naviguer dans chaque recoin des catégorie et forums, et sous-forums pour cliquer sur le bouton « Resynchroniser » représenté par un cercle orange composé des deux flèches qui se se suivent. Tous les catégories/forums, doivent avoir été resynchronisés ;
    5. onglet « Général » ;
    6. cliquer sur les bouton au centre pour « Actualiser… », « Resynchroniser… » & « Purger… » les informations, données.
    7. onglet « PERMISSIONS » ;
    8. catégorie « PERMISSIONS BASIQUES DES FORUMS » ;
    9. page « Permissions groupes/forums », redéfinir les permissions d’accès aux groupes pour les nouveaux forums importés.

Bonne utilisation !

Sources : http://forums.phpbb-fr.com/support-mise ... l#p1476195 & http://forums.phpbb-fr.com/documentatio ... -view.html.

Image Tu as un forum et tu veux aussi un site web ? Regarde par ici.

🔍 Recherches :
Questions : ✚ Extensions présentées 🎨 Styles présentés ★ Toutes autres questions

📖 Documentations :
✍ Traductions : Demander Proposer

Contenu publicitaire :

Retourner vers « Support pour phpBB »

Qui est en ligne

Utilisateurs parcourant ce forum : CommonCrawl [Bot] et 1 invité