Ce guide explique comment fusionner plusieurs comptes utilisateurs en un seul compte Discourse. Il couvre la fusion des utilisateurs non-staff via l’interface utilisateur de Discourse et la fusion des utilisateurs staff via la console.
Niveau d’utilisateur requis : Administrateur
La fusion des comptes utilisateurs dans Discourse vous permet de combiner plusieurs comptes en un seul. Ce processus peut être utile dans plusieurs scénarios :
- Lorsqu’un utilisateur crée plusieurs comptes, peut-être en oubliant son inscription précédente.
- Si un utilisateur crée un nouveau compte avec une nouvelle adresse e-mail au lieu de mettre à jour son compte existant.
- Lorsqu’un utilisateur souhaite consolider plusieurs comptes utilisés à des fins différentes (par exemple, personnel, professionnel ou test) en un seul compte.
Fusion des utilisateurs non-staff
Les administrateurs peuvent fusionner les utilisateurs non-staff directement via l’interface utilisateur de Discourse.
Cette action est irréversible. Le compte utilisateur source sera supprimé après la fusion.
Pour fusionner deux utilisateurs non-staff :
- Accédez à la page d’administration de l’utilisateur source (le compte que vous souhaitez fusionner à partir de).
- Faites défiler vers le bas de la page.
- Cliquez sur le bouton « Fusionner ».
- Dans la première fenêtre contextuelle, saisissez le nom d’utilisateur du compte cible (le compte dans lequel vous souhaitez fusionner) et cliquez sur « Transférer et supprimer ».
- Une boîte de dialogue de confirmation apparaîtra. Saisissez le texte de confirmation affiché (par exemple,
transfer @source to @target) et cliquez sur « Transférer et supprimer » pour initier la fusion.
La fusion de comptes volumineux peut être gourmande en ressources et peut prendre un certain temps à traiter, selon la quantité de données associées à l’utilisateur source.
Que fusionne-t-on ?
Lors de la fusion des comptes utilisateurs, Discourse combine les données de plus de 50 tables, y compris :
- Les publications et les sujets
- Les « J’aime » donnés et reçus
- Les messages personnels
- Les informations du profil utilisateur
- Les préférences et paramètres de l’utilisateur
- Les actions et l’activité de l’utilisateur (par exemple, marque-pages, vues de sujets)
- Les badges et les réalisations
- Le niveau de confiance et les affiliations aux groupes
- Les comptes associés (par exemple, connexions sociales)
En cas de conflit, les détails de l’utilisateur cible sont conservés. Si les deux utilisateurs avaient un utilisateur anonyme associé à leur compte, celui appartenant à l’utilisateur source sera perdu.
Les liens entrants faisant référence à l’utilisateur source (par exemple,
https://discourse.example.com/t/some-topic/17/3?u=source_username) ne seront pas associés à l’utilisateur cible après la fusion.
Note importante concernant la fusion des utilisateurs et DiscourseConnect
La fusion des comptes utilisateurs peut potentiellement affecter DiscourseConnect (anciennement SSO), selon l’implémentation :
- Si DiscourseConnect est basé sur l’adresse e-mail, il ne devrait y avoir aucun problème tant que l’e-mail du compte cible est utilisé dans le système DiscourseConnect. Notez que l’e-mail de l’utilisateur source deviendra un e-mail secondaire sur le compte cible après la fusion, ce qui peut causer des problèmes de connexion si cet e-mail est utilisé ultérieurement avec DiscourseConnect. Envisagez de supprimer les e-mails secondaires après la fusion si nécessaire.
- Si le système DiscourseConnect utilise un identifiant utilisateur unique différent de l’ID utilisateur Discourse, la fusion peut causer des problèmes si l’ID unique du compte source n’est pas correctement mappé au compte cible.
Fusion des utilisateurs staff
Pour des raisons de sécurité, la fusion des utilisateurs staff doit être effectuée via la console.
Si votre site est hébergé par Discourse, contactez team@discourse.org pour obtenir de l’aide pour la fusion des utilisateurs staff.
Pour fusionner les utilisateurs staff via la console :
root@host:/var/discourse# ./launcher enter app
root@host-app:/var/www/discourse# rake users:merge['source_username','target_username']
Users merged!
root@host-app:/var/www/discourse#
Assurez-vous qu’il n’y a pas d’espaces avant ou après la virgule dans la commande.
FAQ
Q : Que se passe-t-il si le processus de fusion semble bloqué ?
R : Si l’écran de progression de la fusion ne montre aucun changement pendant une période prolongée, essayez de rafraîchir la page. La fusion a peut-être été terminée, mais l’interface utilisateur ne s’est pas mise à jour.
Q : Puis-je annuler une fusion d’utilisateurs ?
R : Non, une fois que deux utilisateurs sont fusionnés, l’action ne peut pas être annulée. Le compte utilisateur source est définitivement supprimé après la fusion.
Q : La fusion des utilisateurs affectera-t-elle leurs publications et sujets ?
R : Toutes les publications et les sujets de l’utilisateur source seront transférés à l’utilisateur cible. L’auteurship de ces éléments changera pour refléter l’utilisateur cible en tant que créateur.

