Salut,\n\nJ’ai plusieurs produits en ligne, chacun avec sa propre communauté en ligne. Cependant, comme ces produits sont interopérables, de nombreux clients utilisent plusieurs produits simultanément.\n\nDans cette optique, je souhaite utiliser une seule instance Discourse pour tous mes produits, mais afficher un thème différent pour la communauté en fonction du domaine utilisé pour y accéder.\n\nPar exemple :\n- app1 → affiche le logo et les couleurs d’App1\n- app2 → affiche le logo et les couleurs d’App2\n\nDe plus, comme tous les fils de discussion doivent être étiquetés en fonction du nom du produit, je souhaite masquer les fils de discussion avec des étiquettes d’autres produits. Par exemple, masquer #app1 si vous accédez à app2.com.\n\nCela devrait se produire à moins que l’utilisateur n’opte pour la navigation simultanée dans plusieurs communautés.\n\nJe pourrais utiliser toute aide ; cependant, je comprends que quelque chose comme cela pourrait ne pas être disponible immédiatement. En tant que développeur, je peux créer un plugin et écrire du code JavaScript supplémentaire pour y parvenir.\n\nJe suppose que le premier obstacle est de permettre à la même instance Discourse de fonctionner sur plusieurs domaines. Comment puis-je commencer avec cela ?
Avoir les mêmes informations sur plusieurs sites est une mauvaise pratique en matière de référencement. Je ne le recommande pas. J’ai un composant de thème (qui, je pense, est cassé, mais je vais le réparer bientôt) qui changera la page d’accueil en fonction du groupe auquel appartient une personne, afin que vous puissiez définir son groupe en fonction d’un champ personnalisé que vous obtenez lors de la création de son compte pour définir sa page d’accueil sur la catégorie de son produit préféré.
Si vous ne vous souciez pas que votre site soit indexé, vous pouvez examiner le modèle web_only qui redirige et ajouter à votre fichier yml pour annuler cela. Je pense que Configurer la configuration multisite avec Let’s Encrypt et sans proxy inverse en offre un exemple.