Discourse répondrait-il à tous ces besoins spécifiques pour un forum de communauté de jeux vidéo ?

Bonjour à la communauté Discourse,

Je développe un jeu vidéo indépendant et je prévois de lui consacrer un forum. Mes ambitions sont peut-être un peu ambitieuses, aussi souhaitais-je savoir auprès de quelqu’un de plus expérimenté sur cette plateforme si Discourse est vraiment le bon choix. Je vise une intégration complète : une notification du forum doit apparaître dans le jeu, et inversement. Par exemple, l’envoi d’un message privé à un joueur hors ligne serait redirigé vers sa boîte de réception forum, et lors de sa connexion, il serait notifié de ses messages en attente.

J’ai déjà installé mon premier serveur de développement et j’ai été impressionné par les nombreuses fonctionnalités. Cependant, après avoir exploré le panneau d’administration, je me suis senti un peu submergé et j’ai encore plus de questions.

Je souhaiterais savoir dans quelle mesure les fonctionnalités suivantes sont déjà intégrées à Discourse et lesquelles je devrai implémenter moi-même :

  1. Générer automatiquement un compte forum lié à un compte de jeu.
  2. Synchroniser le secret OAUTH (authentification à deux facteurs) d’un utilisateur avec celui de son compte de jeu (source externe).
  3. Révoquer ou accorder des permissions via l’API (ajouter/supprimer des modérateurs joueurs).
  4. Ajouter des badges ou des titres à un utilisateur via l’API (récompenser les joueurs avec des « flairs » pour des compétitions).
  5. Envoyer des webhooks lorsqu’un utilisateur reçoit un message ou une notification (pour les transmettre à mon serveur de jeu afin de les afficher comme des notifications en jeu).
  6. Déclencher un webhook en cas de bannissement d’un utilisateur sur le forum (pour le muter également sur les serveurs de jeu).
  7. Bannir ou supprimer un utilisateur via l’API (en cas de bannissement dans le jeu).
  8. Modifier un nom d’utilisateur via l’API (celui utilisé pour la connexion, pas les emails de notification, par exemple si le joueur change son nom d’affichage dans le jeu).

Vous devrez mettre en œuvre une sorte de connexion sociale pour cela.

Je ne suis pas sûr de comprendre. Pourriez-vous préciser ?

C’est possible.

Cela pourrait être possible via un plugin personnalisé, mais je ne connais aucune fonctionnalité interne permettant de le faire.

Encore une fois, vous devrez le faire via un plugin personnalisé.

C’est possible.

Cela pourrait être possible, mais je ne l’ai ni essayé ni mis en œuvre.

Tout d’abord, merci. Vous avez répondu de manière excellente à beaucoup de ces questions.

Pour développer le point 2 :

L’authentification à deux facteurs (2FA) utilise une clé partagée, généralement masquée derrière un code QR. Chaque fois que vous scannez un code QR, vous scannez en réalité une clé privée pour générer vos codes 2FA basés sur le temps. J’ai remarqué que la 2FA est possible sur ce site web, mais je ne suis pas certain qu’il soit possible de distribuer ou d’assigner moi-même ces codes 2FA aux comptes, plutôt que de laisser les utilisateurs les générer.

Cas d’usage : Imaginons que je gère la 2FA sur le site web de mon jeu. Les utilisateurs s’inscrivent à la 2FA sur mon site, et celui-ci leur fournit une clé privée pour leur téléphone afin de se connecter au jeu et au forum. Ainsi, je souhaite que le même code 2FA fonctionne à la fois pour le compte du jeu et celui du forum. Par conséquent, en coulisses, j’assignerai leur clé privée 2FA à leur compte forum dès qu’ils auront terminé avec succès leur inscription.

Je veux dire, ne pourrais-je pas simplement insérer un utilisateur dans la base de données ? Ou n’y a-t-il pas d’appel d’API pour créer un compte ? Ce serait surprenant si ce n’était pas le cas.

@simbleau, certaines de vos réponses précédentes étaient incorrectes. En voici de bonnes :

Nous avons des clients qui le font ; il vous suffit d’un seul appel API pour créer le compte forum depuis votre système de comptes de jeu.

Dans ce cas, il est plus simple de configurer le forum pour qu’il utilise votre système de comptes de jeu comme fournisseur d’identité. Vous pouvez implémenter DiscourseConnect - Single-Sign-On officiel pour Discourse (sso) pour cela.

Cela se fait facilement via l’API.

Cela se fait aussi facilement via l’API !

Nous prenons en charge les webhooks pour l’événement Notification ; c’est tout à fait réalisable sans aucune personnalisation.

Le webhook « Événement utilisateur » couvre ce cas.

Il suffit également d’un appel API.

C’est possible, mais cela peut être assez coûteux si l’utilisateur a de nombreux messages.

Merci @Falco ! Ce sujet peut désormais être verrouillé.

J’apprécie vos retours.