Rôles et permissions

circle-exclamation

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)

circle-info

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.

circle-info

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

  1. Connectez-vous en tant que propriétaire

  2. Allez dans Administration > Extensions

  3. Trouvez Discord Authentication dans les modules principaux

  4. Cliquez sur l'icône configuration (engrenage)

Étape 2 : Configurer les champs

L'éditeur de configuration affiche les champs suivants :

Champ
Description
Exemple

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

  1. Ouvrez Discord sur PC

  2. Allez dans Paramètres utilisateur > Avancé > Mode développeur : activez-le

  3. Dans les paramètres de votre serveur Discord, allez dans Rôles

  4. 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 :

Champ
Valeur

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

Utilisateur
Accès

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

circle-info

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

Configuration
Owner
Membre avec rôle requis
Membre sans rôle

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

  1. Allez dans Administration > Extensions

  2. Cliquez sur l'icône configuration (engrenage) de l'extension à restreindre

  3. Renseignez le champ requiredDiscordRole avec l'ID du rôle Discord

  4. 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 :

Champ
Valeur

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 :

  1. Propriétaire (Owner Discord ID) → toujours autorisé

  2. Admin Role → autorisé (bypass toutes les restrictions par extension)

  3. Rôle de l'extension (requiredDiscordRole) → autorisé si le membre possède ce rôle

  4. Sinon → accès refusé

Ce que voit le staff vs le propriétaire

Fonctionnalité
Propriétaire
Staff
Restreinte par rôle ?

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