# Ğ1Cotis - Script de cotisations

**URL:** https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827
**Category:** Silkaj
**Tags:** g1cotis, application
**Created:** [11 March 2019 20:26 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827 "2019-03-11T20:26:56Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [11 March 2019 20:26 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/1 "2019-03-11T20:26:56Z")

</div>

Bonjour !

Je vous présente Ğ1Cotis.sh, un script qui permet de verser un pourcentage de cotisations sur des transactions qu’on reçoit. Il utilise un compte intermédiaire, sur lequel vont s’appliquer les % de cotisations. Le restant est versé sur un compte final.

EDIT 21/04/19 - [version 0.1](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/12) publiée.

J’ai codé ce script pour financer le développement de l’écosystème Duniter et la rémunération des noeuds, mais il pourrait servir à financer n’importe quel projet, groupe local, association… Qui a besoin d’un financement récurrent. Voire même verser des cotisations à sa commune, sa région, une mutuelle !

Il peut être utilisé pour un usage personnel, mais j’ai aussi prévu (et testé) une version à plusieurs comptes, que je vais proposer en région lyonnaise. Cette version permet d’héberger ce service pour un groupe local, des connaissances, etc… Je ne compte pas le proposer à des inconnu.e.s et devenir tiers de confiance. Si un tel projet vous semble souhaitable, je vous invite à installer votre instance de Ğ1Cotis et à en proposer son utilisation autour de vous !

Ce script dépend de Silkaj. Pour le moment, le paramétrage se fait à la main directement dans le fichier du script, mais j’ai prévu de créer un script de configuration. C’est encore un peu brouillon, mais utilisable, et déjà utilisé à l’adresse [bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT](http://g1.duniter.be/#/app/wot/bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT/).

> **[matograine / G1-Cotis · GitLab](https://git.duniter.org/matograine/g1-cotis)**
>
> Script de cotisation volontaire sur certains comptes, lors de la réception de transactions.

Si vous avez quelques retours à me faire, j’en serais très heureux ❤

(J’attends d’avoir écrit le script de configuration pour publier une première version)

---

<div class="post-metadata">

### Author: ![Moul](https://forum.duniter.org/user_avatar/forum.duniter.org/moul/32/9145_2.png) [@Moul](https://forum.duniter.org/u/Moul)
#### Post date: [11 March 2019 20:41 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/2 "2019-03-11T20:41:38Z")

</div>

Tu as écrit une application autour de Silkaj, tu as le droit de la lister ici :

> **[clients / python / silkaj · GitLab](https://git.duniter.org/clients/python/silkaj#wrappers)**
>
> Command line client for Ğ1 libre currency powered by Duniter

Pow, je viens de penser que Ğ1SMS n’y est pas listé 😕

Bon, je m’en occupe, y’a aussi ĞMixer de tuxmain.

Il commence à devenir utile ce Silkaj dis-donc.

---

<div class="post-metadata">

### Author: ![Moul](https://forum.duniter.org/user_avatar/forum.duniter.org/moul/32/9145_2.png) [@Moul](https://forum.duniter.org/u/Moul)
#### Post date: [11 March 2019 21:32 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/3 "2019-03-11T21:32:19Z")

</div>

6 messages ont été scindés en un nouveau sujet : [Authentification Scrypt automatisée](https://forum.duniter.org/t/authentification-scrypt-automatisee/5828)

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [11 March 2019 21:18 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/8 "2019-03-11T21:18:40Z")

</div>

Conceptuellement, je ne vois pas la logique d’un prélèvement proportionnel au volume d’échange. Verser une partie de la création monétaire, par exemple, a une logique car ça revient à consacrer une partie de la richesse produite (si j’ai bien compris, N DU est en moyenne la valeur de toutes les richesses produites en un jour par les membres).

Donc si je reverse 0,1 DU par jour à une collectivité, ça a un sens&nbsp;: je donne à la collectivité une proportion de ce que je produis. Par contre, qu’est-ce qui justifierait que les revenus de cette collectivité soient proportionnels à ce que je vends ou reçois ? (à part si ses besoins sont proportionnels à la quantité d’argent échangé, par exemple si les nœuds Duniter étaient des humains devant compter des billets à la main pour valider une signature.)

Ce script est une bonne idée, mais ça serait encore mieux de pouvoir choisir le mode de prélèvement : la transaction reçue, envoyée, le DU, le montant du compte, fixe… En fonction de ce qui est le plus logique selon le cas.

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [11 March 2019 21:33 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/9 "2019-03-11T21:33:34Z")

</div>

> [@tuxmain](#):
>
> Verser une partie de la création monétaire, par exemple, a une logique car ça revient à consacrer une partie de la richesse produite

au contraire. La monnaie n’est pas la richesse.

La soi-disant “richesse produite” (les valeurs monétisées) sont mesurables à partir du moment où elles ont été échangées. La monnaie créée n’est pas une richesse produite, c’est simplement l’outil de mesure de cette richesse. Pour verser une partie de la soi-disant “richesse produite”, il faut la mesurer sur les échanges réalisés.

J’ai choisi d’écrire ce script car j’ai choisi (de façon personnelle) de consacrer 5% de la monnaie _gagnée_ (pas _créée_) au financement de la monnaie libre. Ce n’est certainement pas le seul modèle de cotisation, on peut aussi avoir le même montant chaque jour, ou une progression par paliers comme l’impôt sur le revenu, etc…

Il ne s’agit pas d’un _prélèvement_ mais d’une _cotisation volontaire_. Je ne l’ai pas appuyé sur une réflexion théorique forte. Mais c’est un premier script, à partir duquel n’importe qui (et peut-être moi) pourra proposer un système plus développé.

edit - comme vous le voyez, je botte en touche sur votre question. Je fais ce que je peux à mon modeste niveau.

Il me semble sain de vouloir contribuer à financer le réseau à la mesure de ce que je l’utilise, et le montant de ce que je reçois est _à mon sens_ une bonne mesure de _mon_ utilisation du réseau.

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [11 March 2019 21:57 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/10 "2019-03-11T21:57:47Z")

</div>

Je partais juste du principe que pour avoir du sens, la masse monétaire doit correspondre à la quantité de marchandises existantes. Le DU est donc, à l’image du dividende d’un actionnaire qui est une part de la production de l’entreprise, une part de la production de la société. On fixe les prix relativement au DU, c’est ça qui le fait correspondre à la production.

Sinon bravo pour le script, pour moi le bash est une horreur barbare avec des caractères bizarres dans tous les sens et avec plein d’espaces.

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [11 March 2019 22:03 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/11 "2019-03-11T22:03:15Z")

</div>

> [@tuxmain](#):
>
> pour avoir du sens, la masse monétaire doit correspondre à la quantité de marchandises existantes

Ce qui n’est absolument pas le cas dans une monnaie libre 🙂 vu qu’elle reconnaît les Ğvaleurs et le Ğtravail, qui par définition ne sont pas des “marchandises existantes”.

> [@tuxmain](#):
>
> bravo pour le script

merci. Le bash est aussi le langage le plus rapide d’accès quand on débute sous GnuNux. Mais j’en vois bien les limites 😉

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [20 April 2019 16:42 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/12 "2019-04-20T16:42:56Z")

</div>

Bonjour,

J’ai publié la [version 0.1](https://git.duniter.org/matograine/g1-cotis/tags/v0.1) de Ğ1Cotis. La peinture est encore fraîche. Fonctionne sous GNU/Linux avec Silkaj et Diceware installés. C’est à installer chez vous, ou à faire installer chez un.e ami.e, ce n’est pas un service “grand public”.

Il existe une petite page d’explications : [http://g1pourboire.fr/G1cotis.html](http://g1pourboire.fr/G1cotis.html)

Pour l’installer, téléchargez une version compressée (zip, tar, etc…) et décompressez-la où bon vous semble, puis configurer config.sh.

Un script nouveau-compte.sh facilite la création de comptes de cotisation.

### Appel à béta-test :

Il y manque (peut-être) un aspect important : je sais lancer Silkaj s’il a été installé par paquet ou par Pipenv. Par contre, je n’ai aucune idée de comment le lancer s’il a été installé par d’autres moyens.

Si vous avez une autre installation, pouvez-vous me dire comment vous lancez Silkaj (hors de `sikaj` ou `pipenv run silkaj`) ? Faut-il se placer dans le bon dossier pour exécuter la commande ? Pouvez-vous modifier le fichier `config.sh` pour que votre Silkaj se lance ? Merci d’avance.

### Dons

Si vous voulez le tester, vous pouvez faire un don sur la clef [5QAE7UAruPcBL7LeWrrRMUBdw3nMSGcMHSUnq27VPUnK](https://g1.duniter.fr/api/#/v1/payment/5QAE7UAruPcBL7LeWrrRMUBdw3nMSGcMHSUnq27VPUnK?name=G1Cotis-dons%20%7C%205QAE7UAr&amount=20%7C50%7C100%7C1000&comment=Merci%20pour%20G1Cotis&preferred_node=duniter.moul.re:443) qui la re-répartira entre plusieurs comptes. 50% me reviendra directement, 20% financeront les Ğ1Pourboires, et 30% financeront plusieurs services de développement de la Ğ1 (clef [bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT](http://g1.duniter.be/#/app/wot/bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT/)).

Une annonce sur le [forum.monnaie-libre.fr](http://forum.monnaie-libre.fr) prochainement !

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [13 May 2019 18:25 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/13 "2019-05-13T18:25:39Z")

</div>

Salut salut !

G1cotis est de retour dans le [tome 0.2](https://git.duniter.org/matograine/g1-cotis/tags/v0.2) ! Plus d’explications sur [g1pourboire.fr/G1cotis.html](http://g1pourboire.fr/G1cotis.html).

Je gère déjà 7 comptes, et tout roule 🙂

Au menu :

- Grande amélioration de la gestion de la périodicité. La v 0.1 ne permettait qu’une seule périodicité, à choisir entre quotidienne, hebdomadaire, mensuelle. La v 0.2 permet de gérer plusieurs périodicités, c’est bien plus pratique pour proposer ce service aux copines.

- Gestion des virements récurrents. En attendant mieux (notamment un service web, à bonne entendeure 😉 ), il est possible de proposer facilement un service de virements récurrents à son groupe local, pour peu qu’on aie pas trop peur de la ligne de commande et qu’on aie déjà un petit serveur dispo (micro-PC ou autre).

- des dossiers plus propres et mieux rangés.

TODO : je ferai quand ça me prendra :

- la gestion d’alertes pour les virements récurrents, lorsque le compte “de réserve” est vide.
- un petit script de nettoyage, pour supprimer un compte et/ou les fichiers en trop ou incomplets.

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [6 June 2019 08:32 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/14 "2019-06-06T08:32:22Z")

</div>

Je réponds à ce post : [https://forum.monnaie-libre.fr/t/promouvoir-les-financements-participatifs-en-monnaie-libre/6351/29](https://forum.monnaie-libre.fr/t/promouvoir-les-financements-participatifs-en-monnaie-libre/6351/29)

Oui, un fournisseur G1Cotis est tiers de confiance, et il n’y a aucun moyen de faire autrement àma connaissance et dans mes compétences.

Pour cela, sur mon instance, **je** crée les comptes, et les utilisateurices n’ont pas accès aux clefs privées. Iels doivent me faire confiance, et je ne connais aucun autre moyen de m’autoriser à faire des transactions en leur nom. Une fois que de la monnaie est envoyée sur leurs comptes de cotis, iels n’y ont pas accès avant qu’elle soit envoyée.

Donc, je n’ai pas accès aux identifiants/mdp des comptes _personnels_ des utilisateurices, uniquement des comptes G1Cotis. Tout est nettement séparé, je ne demande pas aux utilisateurices des identifiants de compte.

edit- mais effectivement, il n’y a aucune défense en cas de prise de contrôle du serveur par un.e attaquant.e. C’est pour cela que je conseille l’utilisation de G1Cotis à petite échelle, pour limiter les risques.

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [30 August 2019 18:41 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/15 "2019-08-30T18:41:35Z")

</div>

Bonjour !

J’annonce la version 0.3 de [Ğ1cotis](http://g1pourboire.fr/G1cotis.html).

Elle utilise une version “maison” de Silkaj qui gère l’envoi de plusieurs montants dans une même transactions. Cette amélioration évite la perte de transactions, c’est un grand ajout pour la robustesse de Ğ1cotis. Elle devrait etre mergée dans silkaj-v0.8.

Le code est [ici](https://git.duniter.org/matograine/g1-cotis/tree/master)

et le compte de réception des dons, qui fait une répartition automatique pour le financement de Ğ1 :

> 5QAE7UAruPcBL7LeWrrRMUBdw3nMSGcMHSUnq27VPUnK

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [19 January 2020 16:50 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/16 "2020-01-19T16:50:42Z")

</div>

> [@Grève généraaaaale! Augmentation rémunération des contributeurs et des forgeurs](https://forum.duniter.org/t/greve-generaaaaale-augmentation-remuneration-des-contributeurs-et-des-forgeurs/6778/45):
>
> Pourriez vous me dire pourquoi il y a un autre compte  
> G1Cotis-répartition  
> bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT

Si vous allez regarder les transactions sortantes de ces deux comptes :

- bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT
- EUt3FqkmpUg8UdyrB2dGXtZoTo7GRXadEkHagL2q2AKb

Vous observerez qu’ils ne font pas la même répartition. L’un est pour financer plusieurs projets de développement de la Ğ1 selon mon bon plaisir, l’autre pour financer exclusivement les caisses des devs et des noeuds.

Il y a encore d’autres comptes G1Cotis dans la nature, qui font des répartition selon le bon plaisir de leurs propriétaires.

---

<div class="post-metadata">

### Author: ![coucoudidier](https://forum.duniter.org/user_avatar/forum.duniter.org/coucoudidier/32/5609_2.png) [@coucoudidier](https://forum.duniter.org/u/coucoudidier)
#### Post date: [19 January 2020 17:14 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/17 "2020-01-19T17:14:58Z")

</div>

Bonjour,  
Je m’étonne de l’initiative «&nbsp;mon bon plaisir&nbsp;» mais bon c’est la nature humaine? Cela reste perplexe et…  
Les projets de développement devraient à mon sens être définis par la collectivité .

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [19 January 2020 17:50 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/18 "2020-01-19T17:50:55Z")

</div>

- Quand j’achète un pain au chocolat, c’est également selon mon bon plaisir.
- Quand je donne à la caisse des devs, idem.
- Quand je crée Ğ1Cotis, toujours pareil.
- Quand je préfère lire un bon roman ou dormir, c’est encore selon mon bon plaisir.

Et si je n’avais pas créé Ğ1Cotis selon mon bon plaisir, il n’y aurait pas de sujet de discussion à savoir si les taux doivent ou non être définis par la collectivité. **Si vous souhaitez installer une instance Ğ1Cotis et, selon votre bon plaisir, soumettre les taux de cette instance à un vote, vous pouvez le faire en toute liberté**. Si cette proposition est meilleure que la mienne, nul doute que la majorité s’y reportera.

D’autre part, le compte bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT, c’est chez moi et je ne suis engagé envers rien ni personne concernant ce compte, comme c’est stipulé sur la page Cesium+. Le fait que d’autres personne l’utilisent me convient très bien.

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [29 January 2020 09:43 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/19 "2020-01-29T09:43:19Z")

</div>

Une [nouvelle version](https://git.duniter.org/matograine/g1-cotis/-/releases) «&nbsp;cosmétique&nbsp;» de Ğ1Cotis est sortie.

Cette version 0.3.1 n’apporte aucune amélioration fonctionnelle, mais seulement une doc légèrement plus complète et des explications plus précises dans le script de création de compte. Elle vise les nouvelles installations. Les anciennes n’ont pas besoin d’être mises à jour.

Elle fait suite aux retours des béta-testeurs @Attilax et @Paulart.

La [page de présentation](http://g1pourboire.fr/G1cotis.html) a également été mise à jour.

* * *

Les dons concernant ce projet se font sur le compte Ğ1Cotis :

```
5QAE7UAruPcBL7LeWrrRMUBdw3nMSGcMHSUnq27VPUnK

```

Merci à vous !

---

<div class="post-metadata">

### Author: ![Frederic\_Renault](https://forum.duniter.org/user_avatar/forum.duniter.org/frederic_renault/32/3778_2.png) [@Frederic\_Renault](https://forum.duniter.org/u/Frederic_Renault)
#### Post date: [29 January 2020 23:17 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/20 "2020-01-29T23:17:28Z")

</div>

Je pense que nous avons réalisé le même genre de code.  
Ici les virements sont notés dans un fichier tableau (tu utilises des répertoires et fichiers là je crois) chiffré.

> **[G1sms/sms\_REC.sh at dev-fred](https://git.p2p.legal/axiom-team/G1sms/src/branch/dev-fred/shell/sms_REC.sh)**
>
> G1sms

Ensuite ce cron s’en charge tous les jours à 12:12

> **[G1sms/cron\_VIR.recurrent.sh at dev-fred](https://git.p2p.legal/axiom-team/G1sms/src/branch/dev-fred/shell/cron_VIR.recurrent.sh)**
>
> G1sms

Il s’agit de la commande “REC” du serveur [g1sms.fr](http://g1sms.fr) (06-51-13-65-20)  
Elle s’active par SMS (les scipts ./shell/sms\_\*), et depuis peu par email en TODO better, et TX en TODO tout court 😉  
[G1sms/cron\_MINUTE.sh at dev-fred - G1sms - P2Git](https://git.p2p.legal/axiom-team/G1sms/src/dev-fred/shell/cron_MINUTE.sh#L60)  
Il faut que j’ajoute un ordonnanceur de tache IFPS pour la version en Essaim…  
Reste à vérifier le bon chiffrement, anonymiser les wallets par sha256, ajouter des API…

---

<div class="post-metadata">

### Author: ![Attilax](https://forum.duniter.org/user_avatar/forum.duniter.org/attilax/32/4237_2.png) [@Attilax](https://forum.duniter.org/u/Attilax)
#### Post date: [30 January 2020 10:48 UTC](https://forum.duniter.org/t/g1cotis-script-de-cotisations/5827/21 "2020-01-30T10:48:12Z")

</div>

Je t’ai rajouté sur mon site, en liens pratiques…
