[Présentation] Un passionné autodidacte, en quête d'un système plus juste

Bonjour à toutes et à tous,

Ici “cypherfury”, passionné par l’informatique et les technologies depuis mes 14 ans. Mon parcours est un peu atypique, mais je pense qu’il reflète une quête constante de liberté, d’apprentissage et d’équité.


Mon parcours

  • Les débuts : J’ai découvert la programmation à 14 ans en réalisant un petit jeu de snake en C avec la librairie SDL, grâce au fameux “Site du Zéro”. Depuis, j’ai exploré divers langages comme le Python, JavaScript, et plus récemment Java, sans jamais cesser d’apprendre.

  • Des obstacles : Après le bac, des soucis de santé m’ont contraint à mettre les études de côté. Malgré tout, j’ai pu me former en autodidacte et décrocher mon premier poste en tant que développeur après une formation accélérée en Java.

  • Expériences professionnelles : J’ai travaillé pour des clients comme Xerox, DGFIP, Enedis ou encore la Caisse des Dépôts (aaah dissonance cognitive…), principalement sur des projets utilisant :

    • Java et Spring Boot.
    • Bases de données relationnelles (MySQL/PostgreSQL).
    • Kafka, Docker, et des pipelines CI/CD.
    • Parfois, j’ai aussi dû travailler avec React pour des besoins front-end.

Ces expériences m’ont permis de développer des compétences en architecture logicielle et en bonnes pratiques de développement, en “méthodologie agile” (SCRUM), tout en découvrant les défis d’un environnement professionnel.

  • Passion pour la cybersécurité : En parallèle de mes expériences en développement, j’ai cultivé une véritable passion pour la cybersécurité et le pentest. J’ai participé à des CTFs, pratiqué sur HackTheBox, et obtenu un accès à la plateforme de bug bounty Yogosha après un concours. Ces expériences m’ont permis de développer une approche méthodique pour identifier des vulnérabilités et sécuriser des systèmes.

Mes réflexions et ma quête de sens

Ayant grandi dans un environnement qui m’a poussé à réfléchir autrement sur le monde, j’ai développé une sensibilité pour les alternatives au modèle économique actuel. Pour moi, c’est un système qui pousse à une compétition permanente et qui, au final, bénéficie à une minorité aux dépens du plus grand nombre.

Je sais que les mots sont forts, mais j’ai souvent eu l’impression que nous sommes pris dans une forme d’“esclavage moderne”, où tout le monde travaille pour enrichir indirectement une poignée de milliardaires, tout en consommant leurs produits, pour un nombre légèrement limité de semaines de repos par an. Ce constat m’a souvent poussé à m’interroger sur des alternatives plus justes et humaines.

Cependant, ces réflexions m’ont aussi conduit à une certaine solitude. La philosophie stoïcienne, que j’ai découverte récemment, m’a aidé à prendre du recul et à me concentrer sur ce que je peux maîtriser. Cela m’a redonné l’envie de m’ouvrir au monde et d’agir, petit à petit, pour construire quelque chose de mieux.


La découverte de June

C’est à travers une discussion initialement basée sur l’Espéranto que j’ai découvert Ğ1. Après notre discussion, je me suis plongé dans l’univers de June et j’ai tellement accroché que je n’ai pas vu le temps passer !

En explorant l’écosystème, j’ai eu une véritable révélation :

  • Une monnaie équitable et solidaire.
  • Une communauté humaine et engagée.
  • Une alternative concrète à un modèle économique qui me semblait sans issue.

Depuis, j’ai commencé à mettre en place un nœud, et j’aimerais beaucoup contribuer à ce projet. Je ne suis pas encore certain de la meilleure manière d’aider, mais je maîtrise bien Java, Python, ainsi que certaines notions d’architecture et de bonnes pratiques de développement. Je suis aussi curieux de découvrir d’autres outils ou langages si cela peut être utile à la communauté.

J’ai une grande capacité d’apprentissage et d’adaptation, notamment en travaillant de manière autonome.


Disponibilités et ambitions

  • Disponibilité : Après une période de surcharge professionnelle, je peux maintenant prendre le temps de me recentrer sur des projets qui ont du sens, en fonction des besoins et du rythme de la communauté.

  • Certifications : Bien que je sois attaché à mon anonymat en ligne, je suis prêt à échanger avec certains d’entre vous, en visio ou en personne, pour prouver ma bonne foi et devenir membre.


Je suis ravi de découvrir une communauté aussi inspirante, et j’ai hâte de contribuer à ce projet porteur de sens tout en continuant à apprendre et à partager.

Merci pour votre accueil et vos conseils !

13 Likes

Bonjour
Bienvenue sur ce forum technique.
C’est toujours bon de voir de nouvelles compétences rejoindre l’équipe des développeurs.

Connaissez-vous le forum utilisateur ?
https://forum.monnaie-libre.fr/
Pour toutes questions non techniques concernant la monnaie libre Ğ1.

Avez-vous pris connaissance des différents projets sur le GitLab : https://git.duniter.org/
Souhaitez-vous crée un compte sur ce GitLab ? Pour participer à l’évolution des logiciels ?

Vous serez, je pense, le bienvenu à la visio des développeurs Development talks - #19 by Moul, pour faire connaissance avec les autres développeurs.

Si vous voulez être contributeur technique, vous pouvez rejoindre le groupe Contributors - Duniter Forum.

Prenez le temps de parcourir ce forum, à votre rythme.
Bienvenue dans l’équipe.

4 Likes

Bienvenue ici ! Nous sommes nombreux à avoir beaucoup de points communs avec ce que tu présentes :

  • passionnés d’informatique depuis un jeune âge
  • autodidactes étant passé par le Site du Zéro
  • expériences professionnelles pas toujours en accord avec notre vision du monde
  • un goût pour la cyber, le hacking
  • une révélation en découvrant la monnaie libre

Et beaucoup sont restés au fil des années pour contribuer à ce beau projet et relever des défis à la fois techniques et humains ^^

Pour découvrir les prédilections de chacun, nous avons un tableau en wiki : Recensement des compétences informatiques, qui te permettra de voir les interlocuteurs en fonction des sujets.

L’écosystème logiciel Duniter est actuellement dans une transition de la v1 à la v2, vers laquelle les efforts sont actuellement concentrés pour arriver à un lancement en mars 2025, une sorte de nouvelle naissance qui fait écho au lancement en mars 2017 :slight_smile:

En Java, il y aurait eu une possibilité de reprendre les pods Cesium+ elasticsearch et les adapter à la v2, mais la temporalité est un peu courte. En Python, il y a Tikka sur lequel @vit travaille, ça vaut le coup d’en discuter avec lui. En C, il y a @d0p1 qui a commencé à construire une petite lib client (cf le sujet Libduniter).

Pour ce qui est des certifications, la plupart d’entre nous interprètent le “bien connaître” de la licence comme une rencontre physique. La carte monnaie libre (Carte Ğ1) permet (quand elle fonctionne) de trouver des personnes proches qui partagent leur localisation. Cela permet d’avoir un premier contact et ensuite de passer par des réseaux hors ligne.

Merci pour ta présentation, et bonne découverte du monde Duniter !

4 Likes

Bonvenon!

Si tu veux essayer de faire tourner un nœud v2 et de forger des blocs, n’hésite pas à créer un compte sur la ğdev et à demander des certifications. Comme c’est un réseau de test on se permet de certifier sans avoir vu la personne physiquement. Il y a un wiki pour Duniter v2.

Si tu veux des Ğ1 (que ce soit pour utiliser la monnaie ou juste pour tester les wallets) on peut te faire un don de départ, tu peux vendre des trucs, et si tu contribues à l’écosystème logiciel ou à l’infra il y a une caisse de rémunération.

4 Likes

Hello et merci à tous :blush:

@Maaltir :

Oui je suis également inscrit sur le forum utilisateur, et je vais prendre le temps de mieux l’explorer. C’est super inspirant de voir autant de personnes, pas forcément issues du domaine technique, adopter cet écosystème avec enthousiasme !

Concernant GitLab, je n’ai pas encore tout parcouru en détail, mais l’idée de contribuer me motive beaucoup. Je vais me donner un petit temps de “digestion” pour comprendre les projets en cours et cerner les besoins avant de passer à l’action. Quant à la visio des développeurs, c’est une excellente idée pour faire connaissance avec l’équipe. Je vais noter ça dans mon agenda, merci pour la suggestion !


@HugoTrentesaux :

C’est motivant de voir qu’on partage tant de points communs ! :smile: J’ai commencé à parcourir le tableau de recensement des compétences informatiques, et je trouve que c’est une excellente initiative. Cela m’aidera à identifier les bonnes personnes pour échanger selon mes centres d’intérêt.

Pour les certifications, merci pour les précisions. Je vais explorer la carte monnaie libre pour organiser une rencontre avec des membres locaux. Cela m’aidera à m’intégrer à la communauté tout en respectant les principes de la licence.


@Tuxmain :

Merci pour le lien vers le wiki en anglais, je n’avais pas remarqué que la version française se concentrait sur la v1. Avec ces informations, j’ai réussi à faire tourner un nœud v2 sur gdev qui s’affiche bien sur la télémétrie Polkadot et semble synchronisé ! :tada:

J’ai vu par contre que pas mal d’entre vous étaient déjà en 0.9.2 et moi en 0.8.0, sniff…


Cependant, j’ai rencontré quelques difficultés techniques au départ. Je sais pas si je dois créer un topic dédié à ça ou continuer ici…

Mais voici ce que j’ai fait, au cas où cela pourrait être utile à d’autres :

  1. Avec un VPS Debian 12 tout neuf, l’image issue du docker-compose du wiki ne générait pas de clé et affichait un message “unknown runtime” comme pour cette personne: Panique docker synchro forgeron

  2. En utilisant l’image duniter/duniter-v2s:latest, la clé s’est générée, mais des erreurs sont apparues lors de la synchro.

  1. Finalement, j’ai tout supprimé dans le volume docker à part la clé “node.key” générée, supprimé mes containers, et suis revenu à duniter/duniter-v2s-gdev-800. Cela a permis de synchroniser correctement le nœud.

(Je ne suis pas certain que ce soit la solution idéale, mais cela semble fonctionner pour le moment.)

Pour l’oracle, j’ai également dû adapter la configuration du docker-compose pour établir un réseau explicite entre les conteneurs, comme suit :

services:
  # --- smith node ---
  duniter-smith:
    image: duniter/duniter-v2s-gdev-800 # <--- image du nœud Duniter
    container_name: duniter-smith # <-- nom explicite du conteneur
    restart: unless-stopped
    ports:
      # prometheus endpoint for monitoring
      - 127.0.0.1:9615:9615
      # private rpc endpoint (do not expose publicly)
      - 127.0.0.1:9944:9944
      # public p2p endpoint
      - 30333:30333 # <--- port public P2P
    volumes:
      - duniter-data:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev # <--- le réseau Duniter
      - DUNITER_NODE_NAME=cypherfury-smith # <--- nom de ton nœud
      - DUNITER_VALIDATOR=true # <--- activer le mode validateur
      - DUNITER_PRUNING_PROFILE=light # <--- profil pruning
      - DUNITER_PUBLIC_ADDR=/dns/cypherfury.space/tcp/30333 # <--- domaine
      - DUNITER_LISTEN_ADDR=/ip4/0.0.0.0/tcp/30333
    networks:
      - duniter-network

  # --- distance oracle ---
  distance-oracle:
    image: duniter/duniter-v2s-gdev-800 # <--- image identique pour l'oracle
    container_name: distance-oracle # <-- nom explicite du conteneur
    entrypoint: docker-distance-entrypoint
    environment:
      ORACLE_RPC_URL: ws://duniter-smith:9944 # <--- connexion au nœud smith
      ORACLE_RESULT_DIR: /var/lib/duniter/chains/gdev/distance/ # doit correspondre au réseau
      ORACLE_EXECUTION_INTERVAL: 200 # <--- intervalle ajusté
    volumes:
      - duniter-data:/var/lib/duniter # partage les données avec duniter-smith
    networks:
      - duniter-network

volumes:
  duniter-data: # Volume partagé pour les données Duniter

networks:
  duniter-network:
    driver: bridge # Réseau privé Docker pour connecter les services

Depuis, de la part de l’oracle j’ai des messages de ce type de temps en temps (je ne sais pas si cela est normal, mais la situation semble s’être “améliorée” depuis mes modifications) :

distance-oracle | INFO [distance_oracle] Nothing to do: Pool does not exist
distance-oracle | Waiting 200 seconds before next execution…


Pour la partie “création de compte” et validation, je suis un peu perdu. Voici où j’en suis :

  1. J’ai tenté de créer un compte via Cesium, mais cela ne semble pas fonctionner avec des connexions wss pour me connecter à un node gdev.

  2. Avec Polkadot App, j’ai réussi à créer un compte et à me connecter au réseau gdev.

  3. Je suis maintenant bloqué sur la création d’identité, car il faut apparemment un peu de monnaie pour soumettre la transaction. Existe-t-il un “faucet” pour obtenir de la monnaie sur gdev svp ?

(car j’ai vu que pour soumettre des certificats, il ne faut pas spécifier de clé publique mais un identifiant u32?)

J’ai également vu des captures d’interfaces graphiques spécifiques sur le forum. Si Polkadot App n’est pas l’outil idéal pour cette étape, je suis curieux d’en apprendre plus sur ces outils.

Voici ma clé publique si un don de monnaie (sur gdev) est possible pour avancer :
5CQFCtfAJUP73R51XSDLfWR1U88nV2qYroiiQ8BfWtzMtBei


Encore merci à tous pour vos conseils et votre accueil chaleureux. Je suis ravi de rejoindre cette aventure et impatient de contribuer davantage !

Je m’excuse si mes questions sont un peu nombreuses pour l’instant, mais je vais continuer à me documenter et faire de mon mieux pour rester autonome et déranger le moins possible.

Merci encore pour votre patience et votre soutien !

3 Likes

Je t’ai fait un virement et une certification (avec identity.createIdentity, que tu peux confirmer avec identity.confirmIdentity). D’autres membres peuvent te certifier avec certification.addCert(14601).

Cesium est seulement compatible v1. Pour la v2 il y a PolkadotJS et les nouveaux clients en développement.

3 Likes

Idem que @tuxmain : virement et certif

Merci de nous avoir rejoint🙏

2 Likes

Ça prend un peu de temps de devenir à l’aise avec le forum, donc c’est bien de continuer ici au début, et plus tard tu pourras utiliser les catégories (un bon exemple est la présentation de vjrj Presentation and new light web client Ğ1nkgo, qui a commencé dans un fil Presentations avant de s’approprier le forum).

La 0.9.2 n’est pas nécessaire pour les miroirs, mais elle l’est pour les forgerons (notamment pour l’oracle). Cependant tu aurais dû tomber sur la bonne version directement avec l’image duniter/duniter-v2s-gdev-800, mais elle avait été écrasée un moment (cf ce message Nouvelle image docker duniter/duniter-v2s-gdev-800 - #17 by cgeek). Et les erreurs que tu as rencontrées (unknown runtime, node key…) étaient corrigées dans la nouvelle version (normalement, il faut que je reteste ça de zéro pour être sûr).

Les erreurs pour contacter la télémétrie peuvent arriver, mais ne sont pas graves et ne dépendent pas de nous.

L’oracle calcule la règle de distance quand de nouvelles identité rejoignent (dont la tienne prochainement), mais ne fait rien quand il n’y a rien à faire (“nothing to do”) donc c’est normal.

Il y a plein d’outils en développement, c’est bien de les essayer pour comprendre l’écosystème.

Cesium (v1) ne se connecte qu’à la v1. Il faudrait utiliser Cesium² (Cesium² : top départ!) mais il en est encore à ses débuts. Heureusement le financement participatif devrait permettre d’accélérer un peu les choses pour qu’il soit suffisamment mature en février.

C’est une appli générique exhaustive qui permet de bien comprendre le fonctionnement de substrate, mais qui n’est pas très pratique quand il s’agit des fonctionnalités spécifiques à la Ğ1.

Je dirais que pour l’instant tu as :

Exemple dans Duniter Panel (Duniter panel) :

Je vois que tu as nommé ton identité “14601” c’est un pseudo possible mais pas très parlant ! (Tu es la deuxième personne avec @bgallois / 14572 à avoir fait ça :smiley:).

Dans polkadotjs on ne voit pas bien (IdtyName est un vec u8 avec certaines contraintes cf https://duniter.org/wiki/g1v2/become-member/#name-your-identity), mais dans les applis plus grand public, ça aurait été plus clair.

Je t’ai quand même certifié et ai demandé l’évaluation de distance pour toi afin que tu deviennes membre. Normalement ça passe dans une durée inférieure à 3 × 100 blocs = 30 minutes).

déjà 7 forgerons ont publié la même évaluation
{
  evaluations: [
    [
      14,601
      {
        samples: [
          [
            92.37%
            7
          ]
        ]
        medianIndex: 0
        medianSubindex: 6
      }
    ]
  ]
  evaluators: [
    5D6aqdN9m5uhAsJycKPQra6WqaaxzVb6BptgiY5HsrPkAotL
    5Dq8xjvkmbz7q4g2LbZgyExD26VSCutfEc6n4W4AfQeVHZqz
    5GBVhdJUdsGhxozu6R8X6x2pTZvuuW46s7JSU4tiW7Zd3WmY
    5GpEXoZ3YQPtB6tGP3y5yKQWEUFfBs2WKLBHdRxDm81TfKQ3
    5H6AjTQZtuzvGbXBFG7zw6eZg9EkCKQurWD26XRTcznghsU1
    5HDikVWZ2xHfqvVVFwex5zmRsH4LuR3KqMgKZYEbCSjStSKw
    5HE6gH87fVuGj6akXneNceBtgEiaUZua43TJbVBRQTT77gp6
  ]
}

Pendant que j’écris ce message, tu es devenu membre au bloc 4527000 :slight_smile:
Je t’ai invité à devenir forgeron dans la foulée (dans duniter panel “invite in smith panel” puis “invite”), il te faut accepter l’invitation et recevoir deux certifications forgeron.

3 Likes