Aide pour Cesium


#1

Bonjour à tous,

J’ai découvert la G1 il y a pas longtemps et en tant que développeur j’ai proposé mon aide.

Je n’ai pas eu trop de mal à installer le code de Cesium pour voir à quoi il ressemblait (liste des points de blocage à la fin du sujet).

J’ai ensuite regardé le tuto pour un peu mieux comprendre (c’est rare d’avoir un tuto aussi complet sur des projets open source comme celui-ci gg :wink: ).

Je trouve qu’utiliser ionic pour développer Cesium est un très bon choix car ce framework s’applique parfaitement à ce type d’application. Après la version utilisé commence à se faire vieille mais j’ai vu que vous comptiez passer sur les nouvelles versions de ionic avec le nouveau angular d’ici peu.

Le projet G1 m’intéresse sur plusieurs points, déjà l’application réel de la TRM est une expérience très intéressante et la technologie de la blockchain est sûrement l’avenir.

C’est pour ça que j’aimerais participer à ce projet. :blush:

Étant donné que je ne connais pas le framework ionic et angularJS ça m’embête un peu d’apprendre une technologie qui est sur le point d’être dépassé. Je vous propose donc de commencer le développement de la futur version de Cesium avec le nouveau ionic (ou une autre technologie, je pense à l’environnement react par exemple). Cela me permettra d’apprendre une technologie nouvelle et de découvrir le fonctionnement de la G1 avec mon propre code et non en essayant de comprendre le code de quelqu’un d’autre ce qui beaucoup plutôt fastidieux.

Dîtes-moi ce que vous en pensez :slight_smile:

Liste des points de blocage pendant l’installation de Césium (peut-être en faire une issue je sais pas trop) :

  • sur windows utiliser un powershell et non un bash embarqué type babun/git bash (quelle idée d’être sur windows aussi :sweat_smile: )
  • set la variable d’environnement ANDROID_HOME pour tester sur android
  • j’ai eu 2 erreurs de linter, 2 point virgules oubliés (c’est pas très grave mais j’ai pas compris sur le coup)

#2

Super ! On a créé un salon XMPP dédié à Cesium si ça te dit :

cesium@muc.duniter.org


#3

Bonjour @eleba !

Bravo pour ton enthousiasme. tu as posté au bon endroit pour discuter de cela.

Oui, c’est à toi de voir suivant le temps que tu peux consacrer au projet. Cependant le Cesium v1 actuel va continuer de vivre encore (au minimum) une année. La nouvelle version s’appuyera en effet sur une API de Duniter qui est en cours de développement (qui utilisera notamment le GraphQL).

Je suis en train de poser les base technique de cette version 2. Tu peux déjà regarder du côté de cette appli ou de celle-ci (plus spécialisée mais plus aboutie). Il s’agit d’applications pour d’autres sujets, mais tout y est (Cryptographie, GraphQL, base de l’ergonomie, gestion de compte). Il te manquera cependant la partie serveur (ou noeud) qui est développé en Java. Mais un mock est faisable (cf le dossier server)

On pourrait par exemple créer le repo de code cesium2 (sur le gitlab duniter) pour commencer ensemble les travaux ? Je peux faire cela dans les prochaines semaines.
Peut-etre pourrais tu adapter les tuto pour cette architecture ? :slight_smile:

Mieux qu’une issue, peux tu forker le repo gitlab (et non github) puis faire un pull request ? :slight_smile:

J’ai aussi un DockerFile pour reproduire l’environnement de dev plus rapidement. => à tester cependant - c’est un bon axe de contribution, aussi…

Ah super ca ! Merci @paidge et @Moul !
Je pourrais donc pointer dessus avec le chat intégré à Cesium, comme a fait Paidge ici.


#4

Je te donne mes réflexions :

  • Cesium “pure” devrait proposer un client qui ne prend que les données blockchain sans tromper les utilisateurs sur ce qui est partagé dans la monnaie comme le fait Cesium+ (noms prénoms qui n’existent pas, mail intégré qui ne sera pas utilisé par tous les utilisateurs qui utilisent d’autres clients etc.), notamment le fait de proposer une boîte aux lettres qui n’a rien à voir avec la monnaie est très dangereux, les utilisateurs en contactent d’autres via ce moyen laissant ainsi des mails perdus et facilitant les attaques sybil. Actuellement Cesium tel qu’il existe est une grosse faille conceptuelle sur la nature de la blockchain / Ğ1 en tant que vecteurs d’attaques multiples basées sur l’ignorance des utilisateurs quant à la notion d’identité et de bonne connaissance (confusion entre données numériques et personnes), en cela il ne peut que fortement ralentir la croissance de la monnaie par la chute de confiance qu’il provoque chez qui en analyse l’utilisation (et sans confiance pas d’adoption).

  • Un gestionnaire de plusieurs milliers de paquets Debian fait partie de Ğ1, mais après étude ne peut pas intégrer Cesium dans les paquets Debian standards alors qu’il voudrait le faire du fait que Cesium utilise en version actuelle certaines librairies non-libres. Une réflexion en amont sur comment aboutir à une version Cesium “pure” 100% libre permettrait à ce profil de contributeurs de réaliser les paquets Debian qui permettraient de ce fait une confiance accrue en l’utilisation de la monnaie par les informaticiens qui savent distinguer libre et non-libre, ainsi que blockchain / BDD centralisée (décentralisé / centralisé).

Ce sont les deux points fondamentaux qui à mon sens sont les plus essentiels pour démarrer véritablement le développement de Ğ1 qui en l’état est encore un prototype qui ne peut pas à cause de ces 2 points générer une adoption d’informaticiens plus conséquente.


#5

J’ai pas exactement compris le second point.
Tu proposes que le code de Césium soit 100 % libre pour pouvoir être intégré dans la logithèque Debian ?
À ma connaissance, il n’y a pas de bibliothèque non-libre dans Césium.


#6

Il y avait, avant (à cause des services de localisation google)

Mais kimamila les a retiré depuis il me semble.


#7

Dans ce cas il faut prévenir @jonas que le code de Cesium est effectivement 100% libre et donc compatible Debian.


#8

I see my name mentioned here.

Unfortunately I do not speak french - I am happy to contribute in discussions if done in english.


#9

It seems that no proprietary dependencies are left in Cesium code, thus allowing it to be published in Debian package repositories.


#10

Yes, it seems to be mostly free: Seems that 8 PNG images below doc/fr/img/ has an embedded ICC profile copyright Apple without license.

So from a licensing point of view the code seems quite good.

Seems, however, to depend on an old version 1.1. of Ionic (including a draft version of the font Roboto 2), which may possibly be problematic to package for Debian.


#11

hmm - there are more issues - possibly minor, but still:

resources/fonts/icomoon.io/cesiumicons.json seems to be a font embedded in JSON data, which is missing source and copyright + licensing.


#12

Ah, copyright and licensing is included - and it is free, but source is missing which I believe is a requirement for both of those free licenses (GPL and CC BY 4.0). Also, “GPL” is not a license, it needs to be e.g. “GPL-3-or-newer” or “GPL-2-only”


#13

C’est vrai que le site d’une banque en ligne ne me permet pas de contacter les autres membres de la monnaie non-libre. De plus, en effet, certains messages n’aboutissent pas et je suis d’accord que cela facile les attaques sybil potentielles.

En fait ces fonctionnalités devraient plus être dans une place de marché/réseau social autour de la monnaie libre effectivement. J’ai plusieurs personnes d’intéressées ds le développement d’une place de marché plus fonctionnelle que gchange/gannonce. Quand j’aurai fini la wotmap (je suis en train de refondre la User Interface), je vais essayer de coordonner tout ça… Mais on sort du sujet, ça méritera sûrement un topic dédié.


#14

Oui boite de messagerie pratique mais pas essentielle (dans mon cas, quelqu’un qui chercherait sérieusement à me contacter trouverait facilement mon adresse email personnel et/ou mes contacts). De plus après 2 mois d’abscence, je constate (à coté de quelques messages pertinents) des messages de spams que j’ai recue sur cette boite cesium me demandant des certifications. De personne totalement inconnue et geographiquement éloignée. Je pense fortement à un spam envoyé en masse, car elle envoie exactement le meme message sur le compte d’autres membres que je connais bien de facon totalement inaproprié. J’ai tout de meme répondu en disant que cette facon de faire était vraiment contraire à la licence (mais bon je pense que elle le savait déjà et que mon explication a été vaine).


#15

j’en profites pour te/vous demander si vous ne pensez pas qu’il y aurait quelque chose à faire/continuer avec les devs de COmmunecter… ils font parti de la Ğ1 et l’ont intégré à leur place de marché… par contre pour l’heure, il n’est pas possible de payer directement via CO… je dis ça parce que je sais qu’ils aimeraient le faire et sont très ouvert… je trouve cet outil particulièrement pertinent et porteur d’encore d’autres développements. Est ce que ça te/vous parle ?


#16

Oui ça fait presque 2 ans que j’en entend parler. J’ai d’ailleurs croisé un 2 membres de communecter lors de RMLs. Mais je n’ai jamais pris le temps de me pencher vraiment dessus.


#17

Cesium v2 fera attention à ces points. promis :slight_smile:

Thank you for this details, @jonas ! I will remove this icons when writing Cesium v2

Cesium 2 will use Ionic v3 (or v4 not released yet).
Should be fine :slight_smile:


#18

J’attends les vacances pour pouvoir me plonger dans le code, j’espère pouvoir donner un coup de main également. C’est toujours plus sympa de pouvoir bosser sur des projets actuels que dépassé, en même temps pour les utilisateurs le maintien des versions en ligne est important.

@yoann il faut contacter qui pour communecter ? Ca m’intéresse.


#19

tu peux te créer un compte perso sur COmmunecter et les contacter via la messagerie (rocket chat intégré). en allant sur le canal #CO tu trouveras du monde là bas particulièrement tibor katelbach peut être. mais je n’ai pas vérifié s’il avait un compte ici… @oceatoon ?


#20

Salut tout le monde,

Est-ce qu’une gestion de projet a été mis en place pour cesium 2 ?