Comment créer un thème que les administrateurs ne peuvent pas utiliser ?
Je ne suis pas sûr de comprendre ce que vous voulez dire. Pourriez-vous être un peu plus précis ?
De nombreux problèmes surviennent sur mon forum, j’en ai déjà parlé ici sur meta, et comme je ne pouvais pas désactiver les fonctions dangereuses des modérateurs, car Discourse n’a pas cette option, j’ai fait un bricolage via CSS, pour supprimer les options qui sont dangereuses pour mon forum auxquelles ils ont accès, quand je l’ai fait via CSS, il s’est avéré que cela m’a été retiré aussi, des options comme voir l’IP, bannir, supprimer tous les messages etc… Je l’ai retiré de tous les thèmes, je voudrais laisser un seul thème sans CSS pour pouvoir voir les options, mais que moi seul puisse utiliser ce thème.
Je ne sais pas pourquoi vous utilisez CSS et des thèmes pour gérer vos modérateurs, mais ce n’est pas comme ça qu’il faut faire. Utilisez des niveaux de confiance pour créer des mods de catégorie et choisissez également vos mods plus soigneusement. Vous risquez de créer plus de problèmes pour vous-même en essayant de limiter les fonctions des modérateurs via CSS et des thèmes.
J’ai résolu tous mes problèmes en modifiant les rôles de mes modérateurs via CSS. C’est une situation très complexe et la seule vraie solution était celle-ci. J’avais déjà essayé la modération par catégorie et ce n’était pas viable pour mon forum, ce n’était pas intéressant pour la demande. La seule façon qui a résolu mes problèmes a été les modifications via CSS. Comme Discourse laisse les mêmes options de modérateur à l’administrateur, c’était la seule solution. Mais maintenant, j’ai juste besoin d’un moyen pour pouvoir utiliser un thème qui n’a pas de modifications CSS. Donc, je n’ai pas à le désactiver à chaque fois que je l’utilise.
Je vais vous raconter un peu ce qui s’est passé : J’habite au Brésil, il y a 214,3 millions d’habitants, la plupart au chômage et sans pouvoir d’achat. Beaucoup de gens utilisent Internet comme moyen de divertissement, donc mon forum correspond à cela. Mais l’existence de mon forum en menace beaucoup un autre, qui a déjà mené de NOMBREUSES attaques contre le mien, et a déjà acheté beaucoup de mes modérateurs, d’innombrables modérateurs ont déjà supprimé des utilisateurs, supprimé des messages, divulgué des adresses IP à d’autres, m’ont vraiment détruit. J’ai déjà passé des mois sans aucun modérateur, mais il est très difficile d’avoir un forum sans modérateur, je veux remettre des modérateurs, mais ça ne sert à rien de bien choisir, je ne connais pas la culture des pays nordiques, mais au moins dans la culture du secteur des forums de mon pays, les gens ne prennent pas cela très au sérieux et sont facilement corrompus, un jour ou l’autre l’argent parle plus fort et ils peuvent utiliser leurs pouvoirs pour détruire mon forum, la seule solution que j’ai est que les modérateurs n’aient pas les mêmes pouvoirs que les administrateurs, et c’est la seule chose qui a résolu cela, grâce au CSS.
J’avais déjà créé un sujet à ce sujet, qui a déclenché un grand débat qui n’a mené nulle part. Beaucoup m’ont conseillé de mieux choisir les modérateurs, afin que j’aie un sens des critères et que je choisisse des personnes plus fiables. Eh bien, mais cela ne s’applique pas aux forums mondiaux sur lesquels je suis. La seule solution a été de retirer certains pouvoirs aux modérateurs (IP, Bannir, Supprimer tous les messages, vérifier l’e-mail, etc.), mais cela m’a aussi affecté.
Bonjour ![]()
Vous pouvez utiliser le mode sans échec (tout comme vos modérateurs) pour désactiver les thèmes.
Avec les sections personnalisées, vous pouvez créer votre raccourci vers /safe-mode
-
Créez une section personnalisée dans votre barre latérale comme ceci.
Cela devrait ressembler à ceci. (Ajoutez un titre, un nom et un lien/safe-mode) Assurez-vous de ne pas cocher la caseRendre cette section publique et visible par tout le monde.
-
Elle sera placée dans la section personnalisée du menu de navigation (barre latérale).
-
Ici, vous pouvez désactiver les thèmes et les composants de thème. Cliquez sur le bouton Entrer en mode sans échec.
Peut-être consulter les modérateurs de catégorie ?
Si un acteur malveillant découvre le mode sans échec, vos contre-mesures CSS seront inefficaces.
La seule façon de sécuriser Discourse est par une attribution minutieuse des privilèges via le backend.
C’est-à-dire qu’il faudrait un plugin personnalisé qui apporterait ces modifications. À moins que vous n’ayez un budget (peut-être 1000 à 5000 ?), vous devrez essayer les modérateurs de catégorie ou tl4.
Ils en ont déjà parlé ici : ![]()
Je pense qu’il devrait être possible de faire en sorte que le composant de thème masque les éléments pour tout le monde sauf pour les administrateurs.
Mais le mode sans échec serait toujours un moyen facile de contourner cela. Peut-être qu’un plugin rapide et sale pourrait désactiver ces fonctionnalités sans prendre autant de temps que je ne l’avais initialement estimé.
Je suis d’accord avec à peu près tout ce que tout le monde a dit ici.
Si vous voulez vraiment utiliser la méthode CSS, voici comment vous pouvez faire en sorte que vos modifications CSS ne s’appliquent qu’aux non-administrateurs :
Dans l’onglet Head de votre thème, écrivez ceci :
<script type="text/discourse-plugin" version="1.4.0">
let currentUser = api.getCurrentUser();
if (currentUser.admin == true) {
document.querySelector("body").classList.add("is-admin");
}
</script>
Encapsulez toutes vos règles CSS avec body:not(.is-admin) { (votre CSS) } comme ceci :
body:not(.is-admin) {
#main {
background: pink;
}
}
Dans mon exemple, le fond rose sera appliqué à tout le monde sauf aux utilisateurs administrateurs.
Discourse ajoute automatiquement des classes basées sur les groupes à \n\n~~\u003cbody\u003e, il devrait donc être possible de sauter le JS et de faire quelque chose comme\nbody:not(.group-admins) #main {\n background: pink;\n}\n~~
Je n’ai pas d’autre classe spécifique au groupe que staff en tant qu’administrateur sur mon instance de test (dernière version de Discourse) :
<body> class="chat-enabled staff has-sidebar-page navigation-topics docked"
Autant que je puisse voir, ni dans <html> ni dans aucune autre balise.
Sur meta, nous utilisons CSS Classes for Current User's Groups, qui pourrait également être utilisé dans le cas de daniela. ![]()
Ahhhhh c’est ça qui m’a embrouillé - Je regardais juste sur Meta
Merci @Canapin
JE T’AIME TELLEMENT
Merci de m’avoir montré cela, je n’arrivais pas à résoudre ce problème depuis plus d’un an



