La belle image de la toile de confiance

https://wotmap.duniter.org/#
J’adore l’image interactive, c’est beau y a de jolies couleurs…
MAIS…
Ça corresponds à quoi? :thinking:
Un rond pour chaque membre de la toile.
Plus le membre à de certifications plus le rond est gros.
Chaque couleur correspond à une « communauté » ces communautés sont calculées par le logiciel, mais je sais pas comment.
D’un jour à l’autre une personne peu changer de communauté, sans doute quand de nouvelles certifications viennent d’ailleurs, je sais pas?

L’aide ne dit rien la dessus, si un jour vous avez le temps ce serait sympa de complété un poil l’aide en ligne.

1 « J'aime »

Les algos de calcul des communautés et de positionnement des points se base sur la théorie des graphes. Les seuls facteurs sont les certifications entrantes et sortantes.

Pour le calcul des communautés, l’algo est le Label Propagation Algorithm (publication originale).

Pour le positionnement, un premier algo de dessin basé sur les forces est utilisé côté serveur, celui de Fruchterman-Reingold, puis pour affiner côté client, ForceAtlas2.

Mais tout cela est bien compliqué et je ne saurais l’expliquer plus en détail…

3 « J'aime »

On peut étudier les graphes de réseaux sociaux, les liens entre les abonnés et les abonnements avec le logiciel de graphes Gephi disponible en open source, on pourra y découvrir les différents algorithmes tels que celui de Fruchterman-Reingold et ForceAtlas2. Fruchterman-Reingold me plaît bien, il permet d’avoir un visuel en cercle comme ici : https://i.pinimg.com/originals/c8/85/c6/c885c64a6b1e2fde19de92c30405f4bc.png

2 « J'aime »

Plus exactement, c’est le nombre total de certifications entrantes et sortantes qui définit la taille du cercle.

Comme expliqué, il s’agit de l’algorithme LPA. Cet algorithme ne donne pas le même résultat à chaque fois, même si il il n’y a pas eu de modifications dans les certifications. L’avantage de cet algorithme est sa rapidité d’exécution. Il existe d’autres algos de détection de communautés, comme l’algorithme de Louvain que j’utilisais au départ mais qui n’est pas implémenté dans la bibliothèque Python qu’on utilise pour générer le graphe côté serveur. Il a été décidé de faire ce calcul de communautés côté serveur pour alléger la charge de calcul du navigateur web utilisé.

Dis-nous exactement ce que tu souhaites voir apparaître :wink: Sinon dans le « A propos », l’algorithme utilisé pour la détection de communautés est bien précisé.

2 « J'aime »

Je dois avouer que exactement je sais pas trop.
J’avais pas remarquer le LPA dans le « A propos », sans doute parce que cela ne me disait rien du tout. Je suppose que le simple texte que tu as mis ici aurait été un bon début.

Si en plus il y avait un lien vers des explications en français sur le fonctionnement de cet algorithme ce serait super.
Ajouter communauté dans le lexique :
Genre qu’est-ce que cela signifie de faire partie d’une communauté? Qu’est-ce que cela implique pour le fonctionnement de la toile?
Dire aussi que le positionnement sur l’image n’a rien de Géographique. (Oui j’y ai cru pendant 5mn) :clown_face:

Ajouter dans le lexique pourquoi certain nœud sont plus gros (même si on le devine assez vite)

Le top ce serait en plus des liens directs vers l’appli cesium pour avoir les détails d’un nœud. Qui a dit « tête de nœud »? :innocent:

1 « J'aime »

Si tu veux, il y a une carte pour ça … :stuck_out_tongue:
https://zettascript.org/tux/g1/worldwotmap.html

Il y en a déjà un :wink: Quand tu cliques sur nœud pour avoir les infos, la pubkey est cliquable ^^

Capture

Nouveauté : la wotmap n’a désormais plus besoin de charger au démarrage, elle est donc bien plus rapide et peut être utilisée plus facilement sur téléphone !

Cela grâce à l’implémentation de l’algorithme qui calcule les positions des points côté serveur plutôt que côté client. Elle était commencée depuis des mois et des mois mais on a pu l’optimiser et la terminer sur la piniche avec @Hugo-Trentesaux.

Inconvénient : comme il n’y a plus de chargement, on ne peut plus admirer la pièce qui tournait en 3D…

4 « J'aime »

Les avatars ne semble plus se charger, tous ont le même par défaut.

Le téléchargement des avatars est optionnel, car c’est long et lourd. (c’est le serveur de la wotmap qui télécharge les avatars de Cesium+ et qui les donne au client) Peut-être que @paidge l’a désactivé…

Possibilité : réaliser un cache contenant tous les avatars sous forme d’archive ou de sprite. Au programme du prochain hackathon ? Ça demande des compétences plutôt js.

Ah oui un sprite ça allégerait côté client, mais ça serait toujours aussi long à télécharger pour le serveur.

Je peux faire ça en Python, et en JS ça ne doit pas être trop compliqué.

Non, c’est très différent de faire 3000 requêtes et une requête dont la réponse est plus volumineuse.

1 « J'aime »

Mais Cesium+ ne propose pas de sprite à ma connaissance, donc le serveur doit toujours télécharger plein d’images.

La première fois, oui, mais il peut garder en cache et ne télécharger que les nouvelles quitte à vider le cache de temps en temps pour les éventuels changements d’image.

Oui, c’est déjà ce qu’il fait. Si l’option est activée, pour chaque compte qui a un avatar on télécharge l’avatar si il n’est pas dans le cache ou s’il est trop vieux dans le cache.

@Paidge est-ce que le téléchargement des avatars pose problème côté serveur ?

J’ai corrigé :wink:

Pas à ma connaissance. Je pense que c’est parce que je viens de déployer la release et que les avatars seront téléchargés ce weekend (pour ne pas surcharger le noeud ElasticSearch de Cesium, le CRON télécharge les avatars une fois par semaine alors qu’il met à jour les données tous les jours). Allez pour vous faire plaisir, je vais lancer le script avec téléchargement des avatars :wink:

2 « J'aime »

Il me semble que la WotMap n’est plus mise à jour depuis le noeud 521540.
C’est normal?

Edit du 07/06
La wotmap n’a pas été mise à jour depuis le noeud 531224, la blockchain en est au noeud 531646 :thinking:

Edit du 16/08:
La wotmap est mise à jour, mais elle oublie des liens entre membres.
Par exemple, ma certification (JusteAlex) à Joailes38 en date du 07/08…
@paidge ? @tuxmain ?

@cgeek Je me demande si cela à un lien avec ça : Quand la règle de distance est-elle ré-évaluée? - #30 par cgeek - Duniter - Duniter Forum

Oui c’est possible. Je vais poster un message sur le forum technique pour que le réseau migre vers la version 1.8.3 de Duniter qui règle ce problème.

2 « J'aime »