Rôles et permissions
Cette section s'adresse aux propriétaires d'instances QuantumLogs.
QuantumLogs utilise les rôles Discord pour gérer les permissions d'accès au dashboard. Toute la configuration se fait depuis l'interface web.
Niveaux d'accès
Propriétaire (Owner)
Le propriétaire est le compte Discord défini lors de la création de l'instance. Il a accès à :
Toutes les pages du dashboard
La gestion des extensions (activation, désactivation, configuration)
La configuration de l'authentification Discord
Les pages d'administration (Extensions, Connector Health)
Le propriétaire bypass toutes les vérifications de rôles. Il a toujours accès à tout, même si aucun rôle n'est configuré.
Staff (membres avec rôle requis)
Les membres Discord ayant le Required Role ont accès au dashboard. Par défaut, ils voient :
La consultation des logs (toujours accessible)
QuantumQL
Le journal
Les autres extensions (Analytics, Kanban, Pterodactyl, etc.) peuvent être restreintes par rôle individuellement via le champ requiredDiscordRole dans la configuration de chaque extension (voir ci-dessous).
Admin (membres avec Admin Role)
Si un Admin Role ID est configuré, les utilisateurs ayant ce rôle bypasse les restrictions par extension. Ils ont accès à toutes les extensions, sans avoir besoin du rôle spécifique de chaque extension.
L'Admin Role ne donne pas accès à la page Administration / configuration des extensions. Seul le propriétaire y a accès.
Membres sans rôle
Les membres Discord qui n'ont pas le rôle requis voient la page "Mauvais rôle" et ne peuvent pas accéder au dashboard.
Configurer les rôles depuis l'interface
La configuration des rôles se fait dans Administration > Extensions, section Discord Authentication.
Étape 1 : Ouvrir la configuration Discord
Connectez-vous en tant que propriétaire
Allez dans Administration > Extensions
Trouvez Discord Authentication dans les modules principaux
Cliquez sur l'icône configuration (engrenage)
Étape 2 : Configurer les champs
L'éditeur de configuration affiche les champs suivants :
Guild ID
ID de votre serveur Discord. Restreint l'accès aux membres de ce serveur.
1335950166645276732
Required Role ID
ID du rôle Discord obligatoire pour accéder au dashboard. Si vide, tous les membres du serveur peuvent accéder.
1356921755176013886
Admin Role ID
ID du rôle admin Discord. Les utilisateurs avec ce rôle bypasse les autres vérifications de rôle.
1356921755176013887
Étape 3 : Obtenir un ID de rôle Discord
Ouvrez Discord sur PC
Allez dans Paramètres utilisateur > Avancé > Mode développeur : activez-le
Dans les paramètres de votre serveur Discord, allez dans Rôles
Clic droit sur le rôle souhaité > Copier l'identifiant
Étape 4 : Sauvegarder
Cliquez sur Sauvegarder dans l'éditeur. Les changements sont appliqués immédiatement, sans redémarrage.
Exemple : 2 niveaux d'accès (Fondateur + Staff)
Voici comment configurer un accès fondateur avec tous les droits et un accès staff limité aux logs :
1. Créer les rôles Discord
Sur votre serveur Discord, créez deux rôles :
Fondateur (ou utilisez votre rôle existant)
Staff QuantumLogs
2. Configurer QuantumLogs
Dans la configuration Discord Authentication :
Guild ID
L'ID de votre serveur Discord
Required Role ID
L'ID du rôle Staff QuantumLogs
Admin Role ID
(laisser vide)
3. Résultat
Vous (propriétaire)
Accès complet : logs, extensions, configuration, administration
Staff avec le rôle "Staff QuantumLogs"
Accès aux logs, QuantumQL, analytics, journal, kanban. Pas d'accès à la configuration des extensions ni à l'administration.
Membres Discord sans le rôle
Page "Mauvais rôle", aucun accès
Le propriétaire n'a pas besoin d'avoir le rôle Staff. Son Discord ID lui donne automatiquement accès à tout.
Tableau récapitulatif des accès
Sans Guild ID
Accès complet
Pas d'accès (propriétaire seul)
Pas d'accès
Guild ID seul (sans Required Role)
Accès complet
Accès (si membre du serveur)
Accès (si membre du serveur)
Guild ID + Required Role
Accès complet
Accès (si membre + rôle)
Refusé
Restreindre l'accès aux extensions par rôle
Chaque extension dispose d'un champ requiredDiscordRole dans sa configuration. Ce champ permet de limiter l'accès à cette extension à un rôle Discord spécifique.
Fonctionnement
Champ vide (par défaut) : l'extension est accessible à tous les membres authentifiés (qui ont le Required Role global)
Champ renseigné avec un ID de rôle : seuls les membres ayant ce rôle spécifique (ou le Admin Role, ou le propriétaire) peuvent accéder à l'extension
Exception : les Logs
La section Logs est la seule partie qui n'est pas soumise à cette restriction par extension. Tout membre ayant le Required Role global (configuré dans Discord Authentication) a automatiquement accès aux logs. C'est le socle de base de QuantumLogs.
Configurer une restriction par rôle
Allez dans Administration > Extensions
Cliquez sur l'icône configuration (engrenage) de l'extension à restreindre
Renseignez le champ requiredDiscordRole avec l'ID du rôle Discord
Sauvegardez
Exemple : accès Analytics limité aux fondateurs
Si vous voulez que seuls les fondateurs voient les analytics, mais que tout le staff voie les logs :
Discord Auth > Required Role ID
ID du rôle "Staff"
Analytics > requiredDiscordRole
ID du rôle "Fondateur"
Kanban > requiredDiscordRole
(vide = accessible au staff)
Résultat :
Fondateur : voit les logs + analytics + kanban + tout le reste
Staff : voit les logs + kanban, mais pas les analytics
Membre sans rôle : aucun accès
Hiérarchie d'accès
Quand un membre tente d'accéder à une extension avec un requiredDiscordRole configuré, QuantumLogs vérifie dans cet ordre :
Propriétaire (Owner Discord ID) → toujours autorisé
Admin Role → autorisé (bypass toutes les restrictions par extension)
Rôle de l'extension (
requiredDiscordRole) → autorisé si le membre possède ce rôleSinon → accès refusé
Ce que voit le staff vs le propriétaire
Logs
Oui
Oui
Non (toujours accessible)
QuantumQL
Oui
Oui
Non
Journal
Oui
Oui
Non
Analytics
Oui
Par défaut oui
Oui (via requiredDiscordRole)
Kanban
Oui
Par défaut oui
Oui (via requiredDiscordRole)
Dashboard/Widgets
Oui
Par défaut oui
Oui (via requiredDiscordRole)
Pterodactyl
Oui
Par défaut oui
Oui (via requiredDiscordRole)
Loading Screen
Oui
Par défaut oui
Oui (via requiredDiscordRole)
Extensions (config)
Oui
Non
-
Administration
Oui
Non
-
Connector Health
Oui
Non
-
Last updated
