Depuis longtemps, on me demande de faire évoluer Cesium pour que le noeud Duniter ne soit pas toujours celui par défaut (cad celui du fichier config.js
à la racine de Cesium). Typiquement souvent : g1.duniter.org
.
J’ai travaillé ces jours-ci à clarifier le code de démarrage de Cesium, avec une meilleur ordonnancement du démarrage des services
. Je vais donc pouvoir avancer sur ce point plus facilement.
Principe
Au 1er démarrage de Cesium, Cesium pourrait ainsi demander à l’utilisateur de choisir un noeud Duniter. Ce noeud serait celui utiliser pour toute la session.
Voici l’algo executé :
- Trouver un noeud Duniter accessible (avec BMA) :
- D’abord le noeud par défaut (du fichier
config.js
), ou à défaut un des noeuds de fallback; - Utiliser le fichier
config.js
à l’avantage de partir de noeuds « réputés fiables », depuis une liste qu’on peut maintenir (exemple ici).
- A partir de ce noeud Duniter, faire un scan réseau et ouvrir la fenêtre de sélection de nœuds :
- Avec seulement les noeuds BMA (et éventuelle seulement les noeuds SSL, si le navigateur est lui même déjà en SSL)
- Enregistrer le nœud sélectionné, pour que le service d’accès réseau l’utilise, ET aussi dans les Paramètres.
- Si l’utilisateur ne choisit aucun noeud (s’il annule = « il ne sait pas ») on garde le noeud UP, trouvé à l’étape n°1.
A la prochaine session (2ème, 3ième lancements, etc.) plusieurs options sont alors possibles :
- Soit on propose la même chose : choix d’un nœud, etc.
- Et ceci tant que l’utilisateur n’a pas cocher une case (par exemple « Toujours utiliser ce nœud » - qui reste à ajouter dans l’écran)
- Soit on utilise le même nœud que celui choisi au premier lancement. Mais cette option me plaît moins, car il se peut que, ne sachant rien de la monnaie et de son fonctionnement, l’utilisateur est choisi la première fois au hasard… Ne pas lui redemander me parait risqué…
- Dans les Paramètres, tant que l’utilisateur ne choisit pas explicitement un nœud (par exemple via la case à cocher « Toujours utiliser ce noeud »), un message en rouge indique : « nœud utilisé temporairement » :
(en corrigeant le problème d’affichage avec les icones)
- Ce message disparait si l’utilisateur choisi explicitement un noeud
@elois suggérait de choisir le noeud aléatoirement. Mais n’est-ce pas également risqué ?
A moins d’ajouter une option (case à cocher) « Choisir automatiquement un noeud ». Dans ce cas, à chaque session un scan est fait, et un noeud de la branche principale de la blockchain est choisi.
Vos remarques, suggestions, commentaires ?