J’essaie de comprendre comment permettre aux utilisateurs de créer des sous-forums qui fonctionneraient comme des canaux Slack.
L’une des suggestions était d’utiliser des tags. Ainsi, un utilisateur créerait un tag (ou une application que je développe le ferait via l’API), et la page de ce tag fonctionnerait comme la page du sous-forum.
La question est alors de savoir comment faire en sorte que seuls les membres du sous-forum puissent publier dans ce sous-forum. Autrement dit, seuls les membres de ce sous-forum pourraient avoir le tag du sous-forum lié à leurs publications.
Existe-t-il un moyen d’utiliser les « champs personnalisés utilisateur » pour y parvenir ? D’une manière ou d’une autre, pour marquer un utilisateur comme étant autorisé à publier avec un certain tag ?
Je ne comprends pas tout à fait à quoi servent les champs personnalisés utilisateur, j’espère donc en savoir plus.
Merci pour vos réponses, les gars. Je suis d’accord pour dire que les catégories semblent être la méthode la plus simple pour cela. Cependant, il s’agirait de sous-forums que les utilisateurs pourraient créer en grand nombre. Il pourrait y en avoir des centaines, voire plus (les sous-forums sont un élément clé de l’application, ils grandiront donc à mesure que la base d’utilisateurs s’accroît).
On m’a dit que la création de centaines ou de milliers de catégories poserait un gros problème, et que je devrais donc chercher d’autres solutions. Avez-vous d’autres suggestions ? Je suis prêt à développer une application distincte qui interagit avec l’API. Ce que je veux surtout de Discourse, c’est l’excellente fonctionnalité de messages/réponses/étiquettes.
Ce que vous souhaitez créer n’est pas l’objectif de Discourse.
Vous voulez une plateforme de type Reddit/Discord, où les utilisateurs peuvent créer des subreddits/serveurs qu’ils « possèdent », tout en conservant vous-même le contrôle total et la monétisation de la plateforme.
Discourse vise exactement le contraire : permettre à chaque subreddit/serveur/guilde d’être son propre site, de posséder ses propres données et d’exister sous son propre URL.
Bien que vous puissiez modifier considérablement un projet open source, je vous recommande d’utiliser une autre solution plus proche de vos besoins.
J’apprécie que ce ne soit pas un cas d’usage habituel, mais je souhaiterais vraiment trouver un moyen de le faire avec Discourse, étant donné à quel point Discourse est génial. Je peux m’en rapprocher pas mal : je crée une étiquette via l’API et j’envoie les utilisateurs vers la page de cette étiquette, qui se comporte comme une page de sous-forum. Ce qui me manque essentiellement, c’est la possibilité de limiter les utilisateurs autorisés à publier avec cette étiquette.
Discord ne conviendrait pas à ces fins en raison des limites qu’il impose en matière d’intégration avec des applications. Je ne connais pas bien les possibilités d’intégration de Reddit avec une application.
Suggérez-vous que je puisse réellement faire fonctionner cela avec Reddit, ou vouliez-vous simplement dire que c’est le « type » de fonctionnalité que j’ai en tête ?
Dans tous les cas, l’avantage principal de Discourse, à mes yeux, est qu’il s’agit d’un forum et non d’un chat. C’est cette fonctionnalité de type forum que je recherche ici. Je n’ai pas vu d’alternatives à Discourse qui pourraient fonctionner dans ce domaine, mais je suis tout à fait ouvert aux suggestions.
Je les ai vus. Une différence ici est que je suis prêt à développer une application entièrement distincte qui interagit ensuite avec l’API Discourse pour offrir à l’utilisateur l’expérience de la création d’un sous-groupe. Ainsi, je peux créer le sous-groupe moi-même dans l’application distincte, associer des membres à celui-ci, etc.
Cependant, j’aimerais toujours pouvoir utiliser les fonctionnalités de publication de l’interface Discourse (création de sujets, réponses, liens vers des catégories et ajout de tags principalement) sur la page de ce sous-forum que mon application a créée.
On m’a dit qu’il existait un moyen de lier les champs personnalisés des utilisateurs aux tags, ou quelque chose de similaire, pour limiter les tags auxquels un utilisateur peut poster.
Mais l’espoir sous-jacent est ce que j’ai mentionné : je peux gérer une grande partie de la configuration du sous-forum de mon côté, mais il m’économiserait beaucoup de temps de pouvoir toujours utiliser les fonctionnalités de publication de Discourse.
Je vous remercie pour toutes vos réponses. Quelqu’un pourrait-il fournir des exemples d’utilisation courante des champs personnalisés des utilisateurs ?
Il me semble que je pourrais simplement ajouter un champ personnalisé lié au sous-forum donné (par exemple, ‘subforum123’) à chaque utilisateur autorisé, puis, lorsqu’un utilisateur accède à une page de sous-forum, interroger l’API pour vérifier si l’utilisateur possède le champ personnalisé requis. Si oui, il peut y publier. Si non, il ne le peut pas, et je pourrais simplement masquer les boutons « Nouveau sujet » et « Répondre ».
Ils sont généralement utilisés pour collecter des informations (localisation, titre professionnel, etc.) lors de l’inscription, qui sont ensuite affichées sur la carte de profil.
Peut-être que ce que vous souhaitez, c’est permettre aux gens de créer leur propre instance Discourse (par exemple, nomutilisateur.votresite.com) hébergée sur une installation multisite, où votre instance Discourse « principale » sert de serveur SSO pour les sous-sites utilisateurs. Vous pourriez théoriquement développer un plugin qui créerait automatiquement un nouveau site Discourse nomutilisateur.votresite.com à chaque création d’un nouvel utilisateur. Cependant, il est possible que tous les utilisateurs ne souhaitent pas leur propre sous-forum ; dans ce cas, vous pourriez mettre en place . . . quelque chose . . . qui leur permettrait de créer leur propre sous-site.
Je pense que cela commence à se rapprocher de ce que vous essayez de réaliser.
Cela se rapproche effectivement de ce que j’avais en tête (« sous-forums » était l’objectif). Merci. Je vais me pencher davantage sur le multisite.
J’aurais pensé qu’autoriser les utilisateurs à créer leur propre sous-site dans une structure multisite serait beaucoup plus gourmand en ressources que, par exemple, leur permettre de créer leurs propres catégories. Le multisite peut-il fonctionner avec des centaines, voire plus, de sous-sites ? Je me demande quel impact cela aurait sur le serveur, ou peut-être que la charge n’est pas bien plus importante que celle d’un site unique très actif ?
C’est le cas, mais cela présente l’avantage d’être possible.
Oui, je connais au moins une entreprise qui gère des centaines de sous-sites ou plus, avec au moins deux ensembles différents de plugins, pour un coût de 100 à 300 par mois. D'autres facturent 20 par mois et par site.
Pour être clair, vous êtes en train de créer une entreprise d’hébergement Discourse.
Vous aurez besoin de 4 à 16 Go de RAM pour commencer, par exemple pour quelques dizaines de sites.
Pour confirmer, voulez-vous dire que cette entreprise paie 100 à 300 $ par mois pour maintenir des centaines de sous-sites ? (Il semble que ce soit bien ce que vous dites — c’est un montant assez bas pour des centaines de sous-sites)
Je veux dire qu’une entreprise (celle qui développe Discourse) facture entre 100 et 300 par site que vous souhaitez créer. D'autres facturent [de l'ordre de 20 par mois](Discourse Hosting Plans and Pricing - Communiteq) ; on peut supposer qu’elles font tranquillement des bénéfices.
Il faut probablement au moins cent heures pour résoudre le problème que j’ai proposé. Mais sans doute plus.
EDIT : Mais peut-être que si vous voulez simplement un seul site multisite, vous pourriez le lancer en moins de temps que cela.