🍇 La toile de confiance animée

Je montre ici une visualisation de la toile de confiance animée :

[edit] mise Ă  jour

Le fil ci-dessous permet de suggérer des améliorations ou poser des questions.

Améliorations suggérées / ce que j’en pense :

  • @qoop : reprĂ©senter les transactions → bonne idĂ©e, demande pas mal de dev, patience !
  • @tuxmain : ajouter la dĂ©tection de communautĂ© comme sur la wotmap → c’est au programme :slight_smile:
  • @qoop : fournir une version interactive avec curseur → ok, faisabilitĂ© Ă  Ă©tudier (par ex en sigmajs)
  • @tuxmain : faire apparaĂ®tre les membres près de leur position d’équilibre → :heavy_check_mark:
  • @Brunov974 : fonctionnalitĂ© pour restreindre Ă  une communautĂ© locale → bonne idĂ©e, nĂ©cessite de rĂ©flĂ©chir
  • @Mateo : prĂ©fère une autre version → ah. (dans la version interactive je pourrai mettre une interface de personnalisation, mais pour l’instant il faut aller dans le code)
17 « J'aime »

:hugs:
superbe animation de la WOT!

on pourrait appliquer la mĂŞme technique aux DU et TX?

1 « J'aime »

Bien sûr, il faut juste trouver un moyen d’afficher ça de manière lisible. Pour les transactions, on pourrait faire briller les blocs pendant un petit temps, mais pour les DU, je n’ai aucune idée de comment faire. Enfin, avant d’ajouter des fonctionnalités inédites, je vais plutôt améliorer l’existant. J’aimerais :

  • avoir plus de contrĂ´le sur le nombre de frames gĂ©nĂ©rĂ©es (pour l’instant il y a une frame pour chaque bloc contenant une certification, ce qui est beaucoup)
  • rendre la carte plus lisible (ajustement de la densitĂ© du graphe, de la taille des cercles, couleurs)
  • implĂ©menter ForceAtlas2, l’algorithme utilisĂ© par la wotmap
  • intĂ©grer ça Ă  la wotmap en sigmajs pour gagner l’interactivitĂ©
  • faciliter la prise en main

Mais le code est là, si tu as une idée, je t’en prie !

1 « J'aime »

C’est très joli !

Si tu veux t’inspirer de la wotmap pour colorier les communautés : script/wot_json.py · master · Pierre-Jean CHANCELLIER / Wotmap · GitLab (ça risque d’augmenter considérablement le temps de rendu j’imagine)

Ça serait bien d’avoir la date et N écrits dans un coin.

1 « J'aime »

Oui, la détection de communautés est aussi au programme (couleurs). Il y a une version en Julia dans LightGraphs donc ça devrait être plus rapide que du python et pas trop difficile à ajouter. Sinon, la date et N c’est une bonne idée, je n’y avais pas pensé ! À noter que pour l’instant le N monte jusqu’à 3700 puisque je prends pas en compte pas les départs.

1 « J'aime »

je suis trop vieux pour redevenir codeur, alors je suis rĂŞveur.

En fait ce que tu as a fait et permis de visualiser est fondamental aux chaines de blocs. Parcourir ses index selon un flux temporel et visuel

Dans ce cas d’usage, avoir un curseur A|B comme dans un logiciel de montage video lui donnerait une bonne interface. je ne me rends pas compte si ton code peut devenir un module pour Blender, AviDemux ou OpenShot… mais y’en a plein d’autres, peut-être compatible avec ta techno.

J’aimerai bien aussi pratiquer le même exercice sur les chaines de blocs scuttlebutt.
branché à un algo de machine learning, on aurait des résultats visuels et des méta interprétations.
https://machinelearningforkids.co.uk/"

1 « J'aime »

J’ai légèrement avancé sur le code pour prendre en compte (approximativement) l’expiration des certifications et pour afficher une image par jour (avant il y avait une image par nouvelle certification). Une visualisation est disponible ici :

8 « J'aime »

Cette arrivé de @Pi_Nguyen en force sortie de nulle part quoi … ahahah

1 « J'aime »

À mitiger parce que dans cette vidéo je me suis trompé pour l’expiration des certifications (1 an au lieu de 2). Donc pas mal de nœuds diminuent de taille alors que Pi a encore des certifs toutes fraiches :rofl:

2 « J'aime »

Les nœuds qui apparaissent sortent tous du centre, est-ce un effet du layout ou est-ce pour faire joli ?

1 « J'aime »

J’ai adopté la technique suivante pour pouvoir calculer rapidement toutes les images (15 minutes seulement pour les 667 images de cette vidéo) :

  1. calculer un premier layout pour le jour zéro
  2. conserver les coordonnées obtenues pour le jour suivant
  3. ajouter les nœuds au moment de leur apparition (les noeuds sont ajoutés à peu près au milieu)
  4. laisser la simulation tourner pour quelques itérations et retourner à l’étape 2

Comme je laisse peu d’itérations pour la simulation, les nœuds n’ont pas le temps de bouger jusqu’à une position d’équilibre, c’est pour ça qu’on les voit sortir du centre.

Si on laisse plus d’itérations, on se retrouve plus près d’une position d’équilibre, mais les nœuds dérivent plus de leur position sur l’image précédente. J’aimerais donc procéder en deux étapes :

  1. calculer une position pour les nouveaux nœuds avec beaucoup d’itérations en gardant tous les autres nœuds fixés
  2. laisser tourner la simulation sur peu d’itération pour équilibrer le graphe

Pour arriver à un état d’équilibre plus représentatif, on pourrait ajouter un nouveau nœud au barycentre de ses certificateurs.

De manière générale, j’aimerais pouvoir fixer la position de certains nœuds par exemple selon des coordonnées géographiques, mais ça demande d’adapter un peu l’algo de layout.

Tu peux regarder le code, ça tient en vingt lignes et c’est assez lisible comme langage.

3 « J'aime »

Salut Hugo, c’est un super boulot en tout cas. Je me demandais si c’était possible de faire ça sur la Réunion ? :wink:

1 « J'aime »

je prefere cette version:

Bonne idée, je vais réfléchir à comment faire pour une communauté ciblée ! (J’aimerais d’ailleurs ajouter un critère géographique, mais ça demande un peu de développement, ce sera pour plus tard.)

Merci, je ne connaissais pas cette version ! Qu’est-ce que tu préfères dans celle-ci ? Si c’est le fait que tous les nœuds aient la même taille et l’étiquette soit dedans, c’est assez simple à faire, je peux changer quelques lignes de code (et n’importe qui peut : HugoTrentesaux/animwotmap: Script pour obtenir une animation de la toile de confiance duniter. [dépôt archivé] le code a été intégré à DataJune (https://git.42l.fr/HugoTrentesaux/DataJune.jl) - animwotmap - Service Git).

3 « J'aime »

comme l’a remarqué justement tuxmain , il est incorrect de faire naître les membres par un centre .

Les etiquettes nominatives ainsi que leur dimensions n’a aucun intérêt ici excepté celui de renforcer l’egocentrisme (si deletere pour l’eveil au vu des constats et habitudes reflexes).

Je prefere la version originale aussi selon un point de vu esthetique (personnel donc).

J’aurais préféré que tu contribues à mettre à jour cette version originale de Framsky.

Sujet déjà abordé, on peut considérer ça comme un bug, dans les versions suivantes, je ferai attention à ce que chacun apparaisse près de ses certificateurs.

On peut faire un version sans étiquette nominative et avec une dimension égale pour tous, mais pour ma part je trouve que ça rend le résultat plus lisible. On verra bien ! Pour info, il suffit de modifier ces trois lignes :

graph = gplot(g, x, y, # graph and layout
    nodesize=in_degrees, nodelabel=pseudo, nodelabelsize=in_degrees, NODESIZE=N/200000+0.05, # node shape
    nodefillc=colorant"#4093e0", edgestrokec=colorant"#77777744") # colors

en retirant nodesize, nodelabel, et nodelabelsize.

On peut facilement changer les couleurs pour que les nœuds soient mauves et les liens bleus. C’est dans les trois mêmes lignes que précédemment, il faut changer nodefillcet edgestrokec. Libre à chacun de faire une version suivant ses préférences esthétiques !

J’aurais préféré moi aussi, ça m’aurait évité de répéter un travail qui avait déjà été fait, mais je n’avais pas connaissance de cette carte, et même avec le lien qu tu as donné, je n’ai aucune indication de où trouver le code source !

2 « J'aime »

Une recherche du mot clé «wot» sur framagit.org et je suis tombé dessus :

1 « J'aime »

Ah oui, un script perl non documenté qui utilise une librairie js plus maintenue, on fait mieux en terme de réutilisabilité ! Je suis pas fâché d’avoir fait ma propre version :smiley:

3 « J'aime »

Je trouve l’idée motivante pour les entrants. Si c’est possible je serais comptant de pouvoir te rémunérer en June. Les Réunionnais aime bien qu’on parlent d’eux, ça les motives.

1 « J'aime »

Pour ceux que ça intéresse, je viens de publier une vidéo de 30 min dans laquelle j’explique les idées et concepts derrière la toile de confiance animée :

5 « J'aime »