Super, ça marche ! Merci @cgeek
Cesium connecté avec le compte Alice sur un réseau local
Maintenant, au boulot ^^
Super, ça marche ! Merci @cgeek
Cesium connecté avec le compte Alice sur un réseau local
Maintenant, au boulot ^^
Ce n’est pas propre pour l’instant parce que je ne me suis pas approprié la structure du projet, mais j’ai ajouté l’affichage de la clé publique v1 et de l’adresse ss58 dans le formulaire de login v1 :
C’est sur ma branche hugo-dev
. Je continue à expérimenter, on verra ce qu’on en fait après.
J’ai aussi ajouté une POC pour se connecter à l’aide d’un mnemonic (à essayer par exemple avec le compte Alice (bottom drive obey lake curtain smoke basket hold race lonely fit walk//Alice
) et ai quelques observations :
account.service.ts
.createAddress
et register
, et je manque de docstring pour pouvoir refactorer ça en restant dans l’esprit du account.service
.account.service
utilise à la fois RegisterData
, un type du module register
et AuthData
, un type du module auth
? Est-ce que ce ne serait pas mieux de se mettre d’accord sur un type unique et une API claire pour faciliter la gestion ?En fait je me retrouve comme sur Ğcli au départ : devant un design que je ne comprends pas et avec une conception personnelle de ce à quoi ça pourrait/devrait ressembler. Pour Ğcli j’ai fini par complètement transformer l’architecture, en prenant soin de mettre des docstrings partout pour dire comment s’en servir, et je l’ai fait en sachant que je serai dispo pour assurer le support et la formation de futurs devs sur Ğcli.
Sur Cesium v2 je pourrais aussi entreprendre une grosse refacto pour me sentir plus à l’aise pour développer dessus, mais :
Au vu des avancés sur Duniter et l’indexeur, j’ai l’impression que Cesium v2 pourrait devenir le facteur limitant pour une migration de la Ğ1. D’un point de vue gestion du projet, j’aimerais avoir une idée de la date à laquelle on pourrait avoir un MVP pour Cesium v2, d’où mes expérimentations ci-dessus. Tant que le projet n’avance pas, difficile de se faire une idée, mais il suffirait d’une ou deux personnes qui y travaillent petit-à-petit dessus pour être rassuré de ce côté et concentrer mes efforts sur le futur live network afin de débugger, tester, et consolider le coeur (il reste des gros bugs comme #129 par exemple).
Peut-être parce que dans les deux cas on a un compte à la fin, et que tout l’application repose sur l’utilisation d’un compte. Par contre je trouve le service account.service.ts
bizarrement positionné dans la hiérarchie du code. Je l’aurais plutôt vu dans shared/services/
.
Moi non plus, mais comme tu dis Cesium v2 va bientôt devenir le facteur limitant. Et si @kimamila n’a plus de temps ou de motivation, nous serons bien obligés de le faire. En mode MVP dans un 1er temps bien sûr.
Mais c’est d’ailleurs un bon exercice de développer un client pour s’assurer que l’on a rien loupé côté Duniter.
Une idée comme ça: Pourquoi ne pas développer un client à partir de rien? Tout propre, il se servirait des paramètres et des variables de la V2 et serait optimisé. Au mieux, cela ferait un client performant, au pire cela ferait une concurrence loyale.
C’est le cas de Ğecko. Effectivement peut-être vaut-il mieux soutenir ce projet d’autant que son auteur de Ğecko semble motivé et actif !
C’est justement une bonne chose d’avoir plusieurs clients différents : ils répondent à des besoins différents, des goûts différents, ont des failles de sécurité différentes, des bugs différents, dépendent de personnes différentes (tant leurs mainteneurs que ceux de leurs dépendances).
Bonne question et tu as déjà deux bonnes réponses
J’aimerais apporter quelques précisions :
J’ajoute un point à ce sujet pour la prochaine visio dev.
Super @HugoTrentesaux tes retours et réflexions sur Cs2 !
Je pourrais aider pour
Sinon :
Prenez soin de vous les amis et merci pour ce que vous faites !
Non je ne fais plus d’Angular, tout juste un peu de Vue 3 (et encore). Si vous l’initiez je saurai suivre, mais pas mettre en place des fondations dans l’état de l’art pour un projet front. Et aujourd’hui ces derniers sont aussi poussés, voire plus, qu’on projet backend.
@HugoTrentesaux j’ai commencé à intégrer les modifs de ta branche (qui reprennent celle de @cgeek)
J’ai pu avancé sur ce point la semaine dernière. Je vais pousser des modifications structurelles, qui impactent beaucoup de code.
je préfère vous prevenir, au cas où vous aviez debuter d’autres chantiers sur Cs² ? Redites moi si c’est le cas
Concernant le lancement d’une G1v2 pour les 7 an de la G1, je suis bien motivé par ce défi, vis à vis de Cs² ! D’autant que cela collerait avec les RML à Laval en mars, juste la semaine d’après (du 11 au 15 mars 2024).
voilou
Super si tu fais les changements structurels ! Ça permettra de contribuer plus facilement. Pas de travail en cours pour ma part, si j’en ai je le publie dans une branche. Et le dépôt n’a pas de fork, donc on dirait que personne ne travaille secrètement dessus
on avait déjà la documentation de tous les calls : Duniter | Runtime calls
on a maintenant la documentation de tous les événements : Duniter | Runtime events
Ça va évoluer avec les discussions dans API des événements, mais au moins ça fait une bonne base pratique à utiliser.
Moi aussi, très motivé par ce défi !!
Salut à tous,
Je débarque ici et souhaiterai chercher à contribuer à faire avancer cette version 2, même si je ne connais pas trop angular.
J’ai lu déjà pas mal de choses à propos de duniter-v2s sur ce forum et sur duniter.org, et vu une bonne partie des vidéos de Hugo. Mais, il y a quand même pas mal de choses qui restent un peu floues pour moi pour l’instant.
J’ai la compilation et l’exécution d’un serveur duniter-v2s local fonctionnelles, ainsi que la compilation et l’exécution de cesium2s en utilisant ce serveur. J’ai exploré un peu le code de cesium et fait 2-3 petites modifications localement qui n’ajoutent pas de fonctionnalités mais améliorent un peu le code (du moins à mon avis ^^).
Y a-t-il une sorte de feuilles de route des fonctionnalités à implémenter ? Dans quel ordre ?
Bonne soirée !
I created an account for you on our GitLab : https://git.duniter.org/gma. You should have received an invitation email and should be able to fork or create a branch on clients / Cesium-grp / cesium2s · GitLab. (oups, pourquoi je parle en anglais, je ne sais pas).
Il n’y a pas vraiment de feuille de route, mais @cgeek a ouvert un ticket #142 à ce sujet qui liste déjà quelques points.
Ce qu’on fait sur Duniter-v2s, c’est de systématiquement pousser le travail en cours sur une branche et de créer une MR Draft tant que le travail est en cours. Quand le travail est prêt pour relecture, on n’a plus qu’à cliquer sur “mark as ready” pour retirer le statut draft et éventuellement tagger quelqu’un comme reviewer. C’est assez pratique pour coordonner le travail à plusieurs, je t’encourage à publier ton travail le plus tôt possible.
Merci Hugo pour la création de compte et pour le lien vers ce ticket qui donne effectivement des pistes de choses à regarder.
J’ai mis à jour les points de ce ticket, comme je suis en train de travailler sur #141 (stratégie de tests) je vois de mieux en mieux les besoins côté client.
Hum. Je vais voir comment faire. Sinon, peut etre prévoir une visio ensemble, pour que tu me contre les détails ?
Voila j’ai pousser sur /develop
. L’architecture est beaucoup mieux à mon gout.
@RxStateProperty()
: pour générer le code de getter/setter qui écrit/lit depuis RxState@RxStateSelect()
pour déclarer un observable écoutant une propriété du RxState.npm i
)Bon du coup j’ai du code qui ne marche plus, mais je vais retravailler tout ca.
@gma redis moi si tu as des questions.
Je vais déjà regarder et tester tes dernières modifs.
Pour ce que dis Hugo à propos des MR, c’est juste faire ce que tu as fais, c’est-à-dire créer une branche avec le dev que tu as fais (perso, j’aime bien préfixer le nom de mes branches avec “feature/” ou “fix/” par exemple en fonction de si c’est le développement d’une nouvelle fonctionalité ou un correctif) et ensuite dans l’interface de gitlab, tu crées une MR en sélectionnant ta branche nouvellement créée en source et la branche où tu voudras merger à terme (la majorité du temps master). Tu peux ensuite marquer cette MR comme Draft, ce qui évite de la merger malencontreusement si jamais le dev n’est pas terminé. Et puis il y a moyen d’assigner un reviewer pour faire revoir le code par quelqu’un d’autre avant de merger, ce qui permet bien souvent de trouver des petites coquilles
Il y a aussi moyen de conditionner la possibilité de merger au fait que les tests en CI passent, ce qui est plutôt une bonne pratique aussi.
Bonjour à tous, moi aussi je suis disponible pour aider avec Cesium v2, je n’ai pas de familiarité avec ce stack en particulier (ionic/angular) mais assez d’experience avec beaucoup de stacks differents comme pour me faire utile relativement vite… plus ça si quelq’un qui déjà connais bien le code comme @kimamila est disponible pour coordiner les contributeurs et nous guider vers quelles taches il fait sense de faire en ce moment.