Welcome back!
J'en ai profité pour ajouter quelques détails (affichés au clic sur le lien).
MàJ : pseudos triés partout par ordre alphabétique.
MàJ 2 : ajout des chemins des canaux, le bouton détails est masqué si le serveur est vide, passage au JSON pour les données (plus long à parser, mais j'oubliais que les noms des canaux peuvent contenir toute sorte de caractères spéciaux dont des points-virgules que j'utilisais comme séparateur). Déplacement du code de l'accueil.
MàJ 3 : mis à jour toutes les 15 secondes au lieu de 60 auparavant.
Note technique (pour maintenance)
Ice n'étant toujours pas dispo pour PHP, ceci est implémenté via Mice, une version Python d'Ice. Les scripts sont dans /home/www/mumble, et update_mumble.py est exécuté toutes les quinze secondes par quatre crons de www-data. Les infos sont stockées dans /home/www/mumble/mumble_status.json sous la forme ci-dessous, et c'est ce fichier que l'accueil du forum lit.
{
"channels": [
{
"name": "Zcraft",
"path": [
"Zcraft"
],
"users": [
{
"deaf": false,
"mute": false,
"name": "Amaury",
"prioritySpeaker": false,
"recording": false
},
{
"deaf": false,
"mute": false,
"name": "Ichi",
"prioritySpeaker": false,
"recording": false
},
{
"deaf": false,
"mute": false,
"name": "ordstir",
"prioritySpeaker": false,
"recording": false
},
{
"deaf": true,
"mute": true,
"name": "Tyrano",
"prioritySpeaker": false,
"recording": false
}
]
},
{
"name": "Vaycoin",
"path": [
"Zcraft", "Taverne", "Vaycoin"
],
"users": [
{
"deaf": false,
"mute": false,
"name": "Vayquor",
"prioritySpeaker": false,
"recording": false
}
]
}
],
"current_users": 1,
"max_users": "100",
"updated": 1478174416,
"users": [
"Amaury", "Ichi", "ordstir", "Tyrano", "Vayquor"
]
}
Les clefs sont assez claires à comprendre normalement. channels.path contient une liste qu'est le chemin dans l'arborescence de Mumble, le premier étant le salon racine (chemin affiché au survol sur un salon).
Ce fichier est traité par /home/www/forum.zcraft.fr/mumble_details.php, qu'est inclut dans l'accueil au bon endroit (il affiche le HTML).