Le panneau d’administration est protégé par OAuth Discord et les rôles du serveur officiel.
Accès
Le propriétaire défini dans les variables dispose du niveau owner. Les rôles Discord
configurés attribuent les niveaux viewer, tester et
operator.
Inventaires
- La vue Installations réunit les serveurs connus, leur configuration et les erreurs, avec un onglet dédié aux User Apps.
- La vue User Apps liste les installations utilisateur observées, leur état et leur activité.
- Discord ne fournit pas d’API permettant de resynchroniser toute la liste des User Apps. Le webhook et les commandes maintiennent donc un inventaire best effort.
Explorateur de données
La vue Données est strictement en lecture seule. Elle permet de consulter les participants, calendriers officiel et Team G-Doc, mesures ZEvent, état et journal des collecteurs, ainsi que l’outbox des livraisons Discord. Chaque ligne ouvre la représentation normalisée et, si elle existe, la charge source stockée. Les donation goals détaillés ne sont pas persistés en D1 : ils sont récupérés à la demande.
Aperçu & test
Les testeurs peuvent envoyer une notification réelle uniquement dans les salons autorisés du serveur de test. Chaque action est journalisée et limitée en fréquence.
Simulation globale Twitch
Le propriétaire peut lancer une campagne de test qui simule un début de live, un changement de titre ou un changement de catégorie. Elle évalue les mêmes abonnements que le collecteur Twitch sur les guildes et les User Apps, sans modifier l’état réel du streamer. L’interface décompte les salons et DMs éligibles avant confirmation ; tous les embeds affichent clairement qu’il s’agit d’une notification de test. Une campagne globale est limitée à une toutes les dix minutes.
Messages système
La vue Messages système, réservée aux opérateurs et au propriétaire, envoie une
notification globale dans chaque salon explicitement configuré avec /setup channel.
Les types disponibles sont information, mise à jour, maintenance, incident et retour à la normale.
Vérifier le rendu Discord et le nombre de destinations avant de confirmer. Si l’audience change entre l’ouverture de la page et l’envoi, l’API annule l’opération et demande une nouvelle confirmation. Chaque message est enregistré dans l’outbox D1, transmis par la Queue et suivi comme les autres notifications. Les mentions Discord sont désactivées.
Contrôle des collecteurs
La liste des sources de la page d’accueil permet aux opérateurs d’activer ou de suspendre les collecteurs ZEvent, Team G-Doc et Twitch. La décision est conservée dans D1 et ajoutée au journal d’audit. Aucun redéploiement n’est nécessaire.
- Une suspension arrête les appels externes au prochain passage planifié.
- Le Durable Object vérifie ensuite toutes les minutes si la source a été réactivée.
- Une source volontairement suspendue apparaît comme inactive, pas comme défaillante.
- Les identifiants Twitch doivent être déployés avant l’activation de Twitch.
Le lien Paramètres actuels affiche la configuration réellement annoncée par le Worker concerné via un Service Binding interne : URL de source, fenêtre de l’édition, cadences, taille des lots Twitch et état des options Twitch. Les valeurs des secrets ne sont jamais retournées ; l’interface indique seulement si les identifiants Twitch sont présents.