Diagrammes UML de Duniter v1 et v2

Salut Vit,
Super tes diagrammes UML, ça donne de quoi approfondir.

J’ai envie de partager qu’avec @Nicolas on travaille aussi sur la vulgarisation du code.
On a lancé callGraph et GraphViz sur toute l’architecture de dossiers de Duniter et on obtient ça :

Voilà, on continue à essayer de comprendre comment tout ça fonctionne,
On est toujours preneur de quelqu’un qui nous explique et à qui on peut poser des questions sur comment Duniter a été pensé.

À bientôt :wink:

2 Likes

et voici une version lisible du graphe obtenu ci-dessus :


(Note : ce graphe n’étudie que les fonctions en typescript)

1 Like

Et de la même manière pour les fonctions en Rust on obtient pour Duniter_V2s le graphe ci-dessous : (grace au logiciel GitHub - koknat/callGraph: A multi-language tool which parses source code for function definitions and calls )


pas très lisible mais pouvant etre bien lu ici :
duniterV2s_graph.pdf (77.2 KB)
ou encore un fichier yaml des appels des fonctions, du style :

---
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/balances.rs:__MAIN__:
  calls:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/oneshot.rs:to_account_id: 1
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/runtime/common/src/weights/pallet_balances.rs:transfer_all: 1
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/cert.rs:__MAIN__:
  calls:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/oneshot.rs:to_account_id: 1
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/node/src/service/client.rs:storage: 1
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/identity.rs:__MAIN__:
  calls:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/oneshot.rs:to_account_id: 1
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/cucumber_tests.rs:read: 1
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/node/src/service/client.rs:storage: 1
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:__MAIN__:
  calls:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:new: 1
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:spawn_full_node: 1
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:from:
  calls:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:new: 1
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:kill:
  called_by:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:kill: 1
  calls:
    /media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:kill: 1
/media/donneesbis/git_bis/duniter_V2s/duniter-v2s/end2end-tests/tests/common/mod.rs:new:
...etc....

Evidemment ces graphes demandent de la mise en page pour rendre cela plus lisible…
En tout cas nous sommes motivés pour apporter de la clarté et ainsi faciliter l’accès au code pour les nouveaux dévelopeurs (tels que nous mêmes). Toute suggestion dans ce sens sera bienvenue.
à bientot

Et pour info, les discussions concernant duniter V2s ont maintenant lieu sur un fil plus récent :