Lister les instances publiques des logiciels


#1

La Ğ1 c’est trop bien, il y a plein de développeurs qui participent à l’écosystème Duniter avec plein de logiciels. Quand on veut aller voir les différentes interfaces web comme la wotmap, g1-monit ou wotwizard, et qu’on ne se souvient plus de l’adresse… c’est plus compliqué. Et zut, le post de présentation du logiciel est au fin fond de l’historique du forum et le lien dans le dépôt GitLab donne une erreur ou une vieille version.

Voilà pourquoi je me suis dit que ça serait pratique de lister plein d’instances publiques de logiciels de la Ğ1, sur un wiki éditable par tout le monde pour rester à jour. C’est ici, pas besoin de se créer un compte.

Les logiciels sont classés par ordre alphabétique (sans compter l’éventuel Ğ préfixal) et les instances sont classées par… rien du tout en fait. Si on peut mettre les responsables de chaque instance ça peut être pratique aussi.

Amélioration possible : automatiser des tests pour savoir si chaque instance est en ligne et a une blockchain à jour.


#2

Bonne idée j’ai rajouté ton wiki dans les infos utiles


#3

J’aimerais faire une liste dynamique des instances, avec une vérification périodique de l’état de chaque instance. Ça serait pratique que chaque outil en ligne utilisant directement la blockchain expose une API très simple pour obtenir quelques infos, comme le numéro du dernier bloc et la version du logiciel.

Techniquement c’est déjà faisable avec la wotmap et la WorldWotMap, avec quelques petites modifs. Mais je vois que pour g1-monit toutes les données sont données au client dans le HTML, alors c’est pas top pour les récupérer et ça demande beaucoup de travail au serveur.

Proposition : à une adresse donnée, le serveur répond un JSON comme ceci :

{
    "instance": {
        "software": "nom_du_logiciel",
        "version": "0.1.0",
        "working": true, // false en cas d'erreur, maintenance...
        "maintainers: ["Alice <alice@foo>", "Bob <bob@bar>"],
        "custom": { // ou plutôt "settings" ou "state" ?
            "currency": "g1",
            "block": 123456,
            // ... autres paramètres spécifiques au logiciel
        }
    }
}