PROJET AUTOBLOG


®om's blog

Site original : ®om's blog

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Prompt Bash pour GIT

mercredi 4 avril 2012 à 23:22

J’utilise git depuis quelques mois, et je trouve ça vraiment génial. Si vous ne connaissez pas, ou peu, vous ne pouvez pas ne pas lire le livre Pro Git (sous licence cc-by-nc-sa). Les explications très claires permettent en quelques heures de maîtriser toutes les fonctions de base, et d’être à l’aise avec la gestion des branches (et bien plus encore).

Branches visibles

Le but de ce billet est de répondre à un problème particulier : par manque d’attention, il m’est arrivé plusieurs fois de commiter des changements sur une mauvaise branche (j’étais persuadé d’être sur une branche, en fait j’étais sur une autre). Ce n’est pas très grave (on peut s’en sortir), mais c’est pénible.

Je souhaiterais donc avoir le nom de la branche dans le prompt bash.

Des solutions existent déjà : le paquet git embarque même un script qui répond au besoin. Certains utilisent aussi des scripts personnalisés. Mais aucun de ceux que j’ai trouvés ne me convenait. J’ai donc écrit mon propre script.

Mes prompts

Version simple

J’ai commencé par une version simple, qui ajoute en couleur @nomdelabranche à la fin du prompt. Un exemple vaut mieux qu’un long discours :

rom@rom-laptop:~/dev$ cd myproject/
rom@rom-laptop:~/dev/myproject@master$ git checkout testing
Switched to branch 'testing'
rom@rom-laptop:~/dev/myproject@testing$ cd img
rom@rom-laptop:~/dev/myproject/img@testing$ 

Dans une arborescence ayant plusieurs projets GIT imbriqués (dans le cas de l’utilisation de sous-modules), la branche des projets parents n’est pas affichée :

rom@rom-laptop:~/dev$ cd mybigproject/
rom@rom-laptop:~/dev/mybigproject@master$ cd submodule/
rom@rom-laptop:~/dev/mybigproject/submodule@master$ git checkout exp
Switched to branch 'exp'
rom@rom-laptop:~/dev/mybigproject/submodule@exp$ cd ..
rom@rom-laptop:~/dev/mybigproject@master$ 

Version améliorée

Dans cette version simple, le nom de la branche est toujours affiché à la fin. Cela ne me convient pas, je le voudrais toujours à la racine du projet en question. C’est ce que permet la version améliorée.

Voici le résultat avec les mêmes commandes :

rom@rom-laptop:~/dev$ cd myproject/
rom@rom-laptop:~/dev/myproject@master$ git checkout testing
Switched to branch 'testing'
rom@rom-laptop:~/dev/myproject@testing$ cd img
rom@rom-laptop:~/dev/myproject@testing/img$ 

Et avec des sous-modules, la branche des projets parents est affichée :

rom@rom-laptop:~/dev$ cd mybigproject/
rom@rom-laptop:~/dev/mybigproject@master$ cd submodule/
rom@rom-laptop:~/dev/mybigproject@master/submodule@master$ git checkout exp
Switched to branch 'exp'
rom@rom-laptop:~/dev/mybigproject@master/submodule@exp$ cd ..
rom@rom-laptop:~/dev/mybigproject@master$ 

En image :

gitbashprompt

Script

Le script, sous licence WTFPL, est disponible sur un dépôt git :

git clone http://git.rom1v.com/gitbashprompt.git

(ou sur github)

Une fois cloné, éditez le fichier ~/.bashrc pour remplacer l’initialisation de la variable PS1 :

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

par :

. full/path/to/your/gitbashprompt

Pour tester, ouvrir un nouveau terminal.

Conclusion

Tout d’abord, je suis content d’avoir exactement le comportement que je souhaitais pour mon git.

Ensuite, j’ai découvert le fonctionnement du prompt, avec notamment les subtilités d’échappement de caractères de la variable PS1 et la prise en compte des caractères de contrôle \[ et \].

Enfin, je me suis enfin décidé à étudier la gestion des couleurs de Bash (qui, à première vue, est assez repoussante, il faut bien l’avouer). Mes scripts seront donc plus jolis à l’avenir ;-)

Android en ligne de commande

samedi 31 mars 2012 à 20:41

Ce billet décrit comment développer et compiler des applications pour Android en ligne de commande (en plus ou à la place d’Eclipse avec ADT).

EDIT : Il a été écrit à l’époque où Android n’utilisait pas Gradle. Il est maintenant obsolète.

Je trouve que c’est utile dans certains cas ; par exemple, il vaut mieux utiliser un script de build automatique, que chacun pourra réutiliser, plutôt qu’un wizard sur un IDE particulier.

Installation

Avant tout, nous avons besoin du SDK Android :

wget http://dl.google.com/android/android-sdk_r17-linux.tgz
tar xf android-sdk_r17-linux.tgz
sudo mv /android-sdk-linux /opt

Sur un système 64 bits, ia32-libs est nécessaire (le SDK n’est disponible qu’en 32 bits) :

sudo apt-get install ia32-libs

Java et Ant doivent également être installés :

sudo apt-get install openjdk-6-jdk ant

Pour accéder facilement aux outils du SDK Android, il est préférable de rajouter leurs répertoires dans le PATH, en ajoutant la ligne suivante à la fin de ~/.bashrc :

PATH="$PATH:/opt/android-sdk-linux/tools:/opt/android-sdk-linux/platform-tools"

Configuration et téléchargement des packages

Ouvrir un nouveau terminal, et exécuter :

android

Une fenêtre s’ouvre, permettant d’installer de nouveaux packages.

Sélectionner “Available packages” et installer les “Tools” ainsi que les “SDK Platforms” pour les versions souhaitées, puis cliquer sur Install packages :

android-sdk-manager

Il est aussi possible de créer un AVD (Android Virtual Device) à partir du menu Tools → Manage AVDs…. Dans la fenêtre qui s’ouvre, cliquer sur New…, puis configurer le téléphone et lui donner un nom :

android-avd

Les AVD sont indifféremment configurables ici ou à partir d’Eclipse (au final, ils seront stockés dans ~/.android/avd).

Projet en ligne de commande

Pour créer un nouveau projet :

android create project \
    -p path> \
    -t target \
    -n name \
    -k package \
    -a activity

Par exemple :

android create project -p HelloWorld -t 1 -n HelloWorld \
     -k com.rom1v.helloworld -a HelloWorld

Le projet généré est un hello world fonctionnel.

Pour connaître la liste des targets disponibles avec leurs _id_s :

$ android list targets
Available Android targets:
----------
id: 1 or "android-7"
     Name: Android 2.1
     Type: Platform
     API level: 7
     Revision: 3
     Skins: WVGA854, WQVGA432, QVGA, HVGA, WQVGA400, WVGA800 (default)
     ABIs : armeabi
----------
id: 2 or "android-13"
     Name: Android 3.2
     Type: Platform
     API level: 13
     Revision: 1
     Skins: WXGA (default)
     ABIs : armeabi

Pour modifier un projet existant :

android update project \
    -p path \
    -t target \
    -n name

Par exemple, pour en changer la target (ici celle qui a pour id 2) :

android update project -p HelloWorld -t 2

Pour le compiler ou l’installer sur le téléphone, toutes les tâches Ant ont été générées (dans un fichier build.xml à la racine du projet). Voici les principales :

Android Ant Build. Available targets:
   help:      Displays this help.
   clean:     Removes output files created by other targets.
   compile:   Compiles project's .java files into .class files.
   debug:     Builds the application and signs it with a debug key.
   release:   Builds the application. The generated apk file must be
              signed before it is published.
   install:   Installs/reinstalls the debug package onto a running
              emulator or device.
              If the application was previously installed, the
              signatures must match.
   uninstall: Uninstalls the application from a running emulator or
              device.

Par exemple, pour générer un APK signé avec une clé de debug :

ant debug

Le fichier sera créé à l’emplacement bin/HelloWorld-debug.apk.

Eclipse ET la ligne de commande

Dans la majorité des cas, nous voulons que le projet soit utilisable à la fois dans Eclipse (pour développer) et en ligne de commande (pour automatiser la compilation, le déploiement…).

Manipuler un projet Eclipse en ligne de commande

Eclipse ne génère pas le script Ant lors de la création d’un projet Android. Heureusement, il est très simple de le générer manuellement :

android update project -t target -n nom_du_projet \
     -p répertoire_du_projet

Importer dans Eclipse un projet créé en ligne de commande

Si vous avez créé un projet entièrement en ligne de commande et que vous décidez de l’importer par la suite dans Eclipse (parce qu’un IDE, c’est quand même bien pratique), c’est possible également.

Le projet restera dans le répertoire où il se trouve, donc si vous le voulez dans votre workspace Eclipse, déplacez-le maintenant.

Ensuite, il ne faut pas importer, mais créer un nouveau projet : File → New → Android Project, sélectionner Create project from existing source et indiquer le chemin du projet dans Location.

Exécution

Un projet Android s’exécute soit sur un téléphone physique, soit sur un émulateur.

Émulateur

Pour démarrer un émulateur :

emulator -avd NomAVD

Par exemple :

emulator -avd MyPhone

Téléphone

Pour utiliser le téléphone branché en USB plutôt que l’émulateur, il est nécessaire d’activer l’option Paramètres → Applications → Développement → Débogage USB.

S’il n’est pas reconnu, c’est peut-être un problème de droits. Dans ce cas, trouver le Vendor ID du matériel sur cette page puis créer un fichier /etc/udev/rules.d/51-android.rules (sauf sous Debian) contenant :

SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0666", GROUP="plugdev"

(remplacez XXXX par le Vendor ID)

Alternativement, il est possible de donner les droits à n’importe quel matériel. Pour cela, il suffit de ne pas filtrer par Vendor ID, et d’écrire simplement :

SUBSYSTEM=="usb", MODE="0666", GROUP="plugdev"

Installation et désinstallation

Ant

Il suffit d’utiliser les tâches Ant install et uninstall :

ant install

Dans ce cas, un seul périphérique doit être présent dans la liste :

$ adb devices
List of devices attached 
emulator-5554	device

Adb

adb (Android Debug Bridge) permet de communiquer avec le téléphone ou l’émulateur.

Pour installer une application :

adb install fichier.apk

Si à la fois le téléphone et l’émulateur sont détectés, il faut choisir grâce à -d ou -e (respectivement) :

adb -e install fichier.apk

Pour désinstaller, il faut connaître le nom du package (celui défini dans AndroidManifest.xml).

adb uninstall le.package.de.lapplication

Pour extraire le nom du package à partir d’un fichier.apk :

aapt d badging fichier.apk | grep ^package

Signature d’un APK

Pour signer une application, nous avons tout d’abord besoin d’un keystore. Pour en créer un :

keytool -genkey -v -keystore ~/.android/rom.keystore -alias rom -validity 10000

(Google recommande de choisir une validité de plus de 25 ans, d’où les 10000 jours dans la commande ci-dessus)

Pour permettre à Ant de signer, il suffit de lui indiquer la clé à utiliser dans ant.properties (à la racine du projet) :

key.store=/home/rom/.android/rom.keystore
key.alias=rom

Il est également possible de pré-remplir les mots de passe :

key.store.password=PASSWORD
key.alias.password=PASSWORD

Ainsi, il signera automatiquement lors de l’exécution de :

ant release

Signature différée

Il est également possible de générer un APK non signé (par Ant, qui génère un fichier monprojet-unsigned.apk), et de le signer manuellement plus tard :

jarsigner -verbose -keystore ~/.android/rom.keystore monprojet-unsigned.apk rom

La clé de debug générée par le SDK se trouve dans ~/.android/debug.keystore, son alias est androiddebugkey et son mot de passe est android.

Pour vérifier que la signature a bien fonctionné :

jarsigner -verbose -verify -certs monprojet-unsigned.apk

(si c’est le cas, le fichier monprojet-unsigned.apk peut être renommé en monprojet-unaligned.apk)

Il ne reste plus qu’à aligner le fichier final :

zipalign -v 4 monprojet-unaligned.apk monprojet.apk

Sources

Merci aux billets de Freelan et de DMathieu dont je me suis beaucoup inspiré, en plus de la documentation officielle (incontournable).

L'argument économique contre le partage

dimanche 29 janvier 2012 à 14:54

Posons comme principe que le partage d’œuvres sur Internet sans but de profit ne doit en aucune manière être restreint. Quelles justifications peuvent amener à le rejeter ?

Il n’y en a qu’une, elle est économique : permettre aux auteurs d’être rémunérés. Effectivement, une offre illimitée, accessible à tous (grâce au partage), et un coût marginal nul impliquent un prix nul. Il faudrait alors restaurer une certaine rareté afin de pouvoir vendre.

Mais par ailleurs, l’objectif de l’économie, c’est de surmonter au mieux la rareté. C’est là que la justification économique devient absurde : il s’agirait de restaurer une certaine rareté dans le but de résoudre un problème économique, alors que le but de l’économie est de résoudre les problèmes que pose la rareté. Ce serait lutter contre l’objectif afin de conserver ce contre quoi on lutte.

En clair, l’économie ne peut pas être une justification en soi, en dernier ressort, car elle ne s’applique qu’à la rareté. Tout ce qui est surabondant, non-rival, devrait être hors-marché. Sinon, il faudrait interdire le soleil.

Bien sûr, je ne dis pas qu’il faut supprimer l’économie ; je dis juste qu’elle ne s’applique qu’aux domaines de rareté. Dans le cas limite où tout serait surabondant, n’appliquer l’économie qu’aux domaines de la rareté conduirait effectivement à la suppression totale de l’économie. Dans ce monde imaginaire, ce serait très logique : si chacun pouvait tout avoir sans effort, pourquoi restreindre l’accès aux biens en le conditionnant à une “rémunération” qui n’aurait alors aucun sens ? Tout le monde y serait perdant.

Toute la difficulté est de vivre dans un monde composé à la fois de rareté et d’abondance. Et beaucoup tentent de restaurer la rareté partout uniquement pour faire fonctionner l’économie. Quel paradoxe !

Solutions

Ce billet a pour unique but de rejeter l’argument économique contre le partage sans but de profit, pas de conclure sur une solution définitive.

Selon moi, les solutions à envisager, quelles qu’elles soient, doivent respecter le principe que nous avons posé.

C’est le cas de la contribution créative (ou licence globale). Mais cette proposition amène quelques critiques (ici et par exemple).

Pour ma part, vous le savez, je suis convaincu que le financement de la création est un cas particulier d’un problème plus général, dont (au moins une partie de) la solution est le dividende universel.

Billets en relation

Héberger un serveur Jabber simplement (prosody)

vendredi 6 janvier 2012 à 22:12

jabber

J’ai enfin décidé d’héberger mon propre serveur Jabber, pour plusieurs raisons :

Et c’est simple !

Installation et configuration

Tout d’abord, installer le paquet prosody :

apt-get install prosody

Puis ajouter à la fin du fichier /etc/prosody/prosody.cfg.lua :

Host "<em>nom.de.domaine</em>"

Pour moi :

Host "rom1v.com"

Créer un utilisateur en ligne de commande et choisir un mot de passe :

prosodyctl adduser utilisateur@nom.de.domaine

Certificat

Un certificat TLS/SSL est créé par défaut, mais les champs sont renseignés avec des valeurs non pertinentes (localhost au lieu de nom.de.domaine par exemple). Il est donc préférable d’en générer un nouveau.

Dans le répertoire /etc/prosody/certs, exécuter :

openssl req -new -x509 -nodes -out nom.de.domaine.cert -keyout \
    nom.de.domaine.key -days 1000

Renseigner les champs demandés . » pour laisser un champ vide).

Remplacer le certificat dans le fichier de configuration :

ssl = {
        key = "/etc/prosody/certs/nom.de.domaine.key";
        certificate = "/etc/prosody/certs/nom.de.domaine.cert";
}

Empreinte

Comme c’est un certificat auto-signé, les clients Jabber ne lui feront pas confiance : ils demanderont une confirmation, en présentant son empreinte. Il faudra alors vérifier que le certificat présenté est bien le bon, c’est-à-dire que l’empreinte est la même.

Pour la connaître :

openssl x509 -fingerprint -noout -in nom.de.domaine.cert

Par exemple :

$ openssl x509 -fingerprint -noout -in rom1v.com.cert
SHA1 Fingerprint=C3:6D:9B:65:06:55:C4:84:B4:A5:8D:4B:12:68:2F:08:71:7E:AC:DD

Ports

Les ports TCP 5222 et 5269 doivent être ouverts.

Démarrer

Il ne reste plus qu’à démarrer le service.

service prosody start

Clients

Il est maintenant possible de se connecter en utilisant le nom d’utilisateur et le mot de passe créés :

empathy

Backup

Les données du serveur sont stockées dans /var/lib/prosody. Il est donc important de ne pas oublier ce répertoire dans le processus de sauvegarde.

Merci à Cyrille Borne et nicolargo.

Comprendre le mystère de l'argent et le problème des intérêts manquants

samedi 3 décembre 2011 à 14:23

Peu avant 1940, Louis Even a écrit une célèbre robinsonade pour comprendre le mystère de l’argent : L’île des naufragés.

Si vous ne la connaissez pas encore, je vous conseille de la lire avant de poursuivre. À cette époque, la monnaie était basée sur l’or, mais ça ne change pas fondamentalement le problème. Ses écrits sont parfois très imprégnés de religion, aussi faut-il faire preuve de discernement.

Cette fable met en évidence l’injustice du système monétaire, dans lequel l’argent est créé par le crédit (j’en ai déjà parlé).

Création monétaire par le crédit

Commençons par un petit rappel, grâce à un résumé du fonctionnement de la création monétaire :

3. La création de monnaie en échange d’une promesse

Comment se créent alors les plus de 90 % restants de monnaie qui circulent sur la planète ?

Cette part de monnaie est créée par un mécanisme peu connu et étonnant : par le simple fait que vous signiez une demande de prêt à la banque, vous reconnaissez que vous rembourserez cette somme (ou qu’à défaut vous serez saisis sur vos biens pour un montant équivalent à cette valeur). Les banques créent alors purement et simplement cette somme par une simple opération d’écriture, et elles le déposent sur votre compte. Cet argent est ensuite détruit au fur et à mesure du remboursement de la dette. L’argent créé est qualifié de monnaie scripturale : de l’argent créé par un jeu d’écriture…

Plus de 90 % de l’argent disponible sur la planète est ainsi constitué des dettes en cours auprès des banques. Les banques maîtrisent donc plus de 90 % des moyens de paiement qui permettent les échanges entre les hommes.

Pour un peu plus de détails : La création monétaire pour les nuls (pdf).

Intérêts manquants

Revenons à notre île des naufragés.

Cet extrait d’un texte de James Crate Larkin résume bien un élément important de la thèse de l’auteur :

La dette ne peut jamais s’éteindre sous un tel système, parce que tout argent mis en circulation l’est par des prêts bancaires et que l’emprunteur doit rembourser plus que le montant reçu. Il doit rembourser le principal, créé par le banquier, plus l’intérêt créé par personne ! … Le procédé est cumulatif — la dette grossit toujours, parce que, pour payer l’intérêt, il faut nécessairement quelque part une nouvelle alimentation de monnaie, et cette nouvelle émission est elle-même porteuse d’intérêt. Comment la dette serait-elle remboursable ?

C’est le problème des intérêts manquants : si seul l’argent correspondant au principal est créé, comment rembourser les intérêts ? Cet argument, s’il est valide, ne dénonce pas seulement une injustice, il met en évidence une parfaite impossibilité : il n’existe aucun moyen pour la population de rembourser toutes ses dettes envers la banque, puisqu’il n’y a pas assez d’argent en circulation.

Réfutation ?

Cependant, certains critiquent la fable et prétendent en fournir une réfutation, dont l’argument central peut se formuler ainsi : il existe au moins un moyen pour la population de rembourser toutes ses dettes envers la banque, il faut considérer que le banquier va dépenser les intérêts dans l’économie.

Et sur ce point, ils ont raison. Il est possible de trouver une suite d’échanges entre les individus permettant à la population de rembourser toutes ses dettes : la banque peut dépenser les intérêts perçus au fur et à mesure, permettant ainsi à la population de les regagner.

Voici un exemple avec 3 individus :

État initial

Au départ, tous les comptes sont à zéro.

individu compte dettes produits
B 0    
X 0   bread bread bread bread bread bread bread
Y 0   apple apple apple apple apple

Étape 1

X souhaite acheter des pommes à Y, pour un montant de 5.

Il emprunte donc 5 à B, qui les crée, pour une période donnée (plusieurs années). B demandera des intérêts, disons 40%. En tout, X devra donc rembourser 7.

individu compte dettes produits
B 0 X me doit 5
je dois 5 à X
X me doit 2 (intérêts)
 
X 5 B me doit 5
je dois 5 à B
je dois 2 à B (intérêts)
bread bread bread bread bread bread bread
Y 0   apple apple apple apple apple

Étape 2

X peut maintenant acheter des pommes à Y.

individu compte dettes produits
B 0 X me doit 5
je dois 5 à Y
X me doit 2 (intérêts)
 
X 0 je dois 5 à B
je dois 2 à B (intérêts)
bread bread bread bread bread bread bread
apple apple apple apple apple
Y 5 B me doit 5  

Nous nous rendons bien compte ici que la monnaie n’est qu’une dette de banque qui circule.

Étape 3

Y décide d’acheter des baguettes à X, pour un montant de 5.

individu compte dettes produits
B 0 X me doit 5
je dois 5 à X
X me doit 2 (intérêts)
 
X 5 B me doit 5
je dois 5 à B
je dois 2 à B (intérêts)
bread bread apple apple apple apple apple
Y 0   bread bread bread bread bread

Les comptes se retrouvent exactement dans la même situation qu’à l’étape 1.

Étape 4

X rembourse les intérêts à B, d’un montant de 2.

individu compte dettes produits
B 2 X me doit 5
je dois 3 à X
 
X 3 B me doit 3
je dois 5 à B
bread bread apple apple apple apple apple
Y 0   bread bread bread bread bread

Étape 5

B achète des baguettes à X pour un montant de 2 (il dépense les intérêts dans l’économie).

individu compte dettes produits
B 0 X me doit 5
je dois 5 à X
bread bread
X 5 B me doit 5
je dois 5 à B
apple apple apple apple apple
Y 0   bread bread bread bread bread

Étape 6

X rembourse sa dette à B.

individu compte dettes produits
B 0   bread bread
X 0   apple apple apple apple apple
Y 0   bread bread bread bread bread

Voilà, tout est remboursé. CQFD, Louis Even racontait n’importe quoi, sa fable n’est que pure manipulation. Circulez, y’a rien à voir.

Attendez, pas si vite ! Tout au plus, nous pouvons en déduire que le récit est incomplet, car il n’a traité que le cas où les intérêts n’étaient pas dépensés dans l’économie. Traitons donc la partie manquante, quand les intérêts sont dépensés.

Avec intérêts dépensés

Remarquons avant tout que si seulement une partie des intérêts est dépensée, nous sommes confrontés exactement au même problème (il manquera juste un peu moins d’argent pour rembourser, mais il en manquera). Seule l’hypothèse où 100% des intérêts sont dépensés pourrait donc permettre, éventuellement, la pénurie de monnaie. Et si effectivement nous pouvions éviter cette pénurie, le système serait-il juste ?

Injustice visible

Dans l’exemple détaillé où tout a été remboursé, qui a produit quoi et qui a consommé quoi ?

**B a gagné des intérêts sur de l’argent qu’il a créé ex nihilo, sans aucun travail, qu’il a pu ensuite dépenser dans l’économie.

James Crate Larkin écrivait :

Ce paiement d’intérêt, par la société, au système bancaire, sur de la monnaie nouvellement créée et qui ne coûte rien, n’est pas du tout semblable ni comparable à l’intérêt qu’un prêteur ordinaire exige sur de l’argent déjà en existence, qu’il a gagné, épargné et prêté à l’industrie.

Si je dis uniquement cela, vous allez tout de suite me rétorquer que j’ai oublié de prendre en compte le service qu’a fourni le banquier : B a rendu service à X pour une valeur de 2, et X a “consommé” le service de la dette. Le banquier fournit un service, et comme tout service, il est normal qu’il le fasse payer.

Mais cet argument ne tient pas.

D’abord, le service fourni n’est pas un service comme un autre : le banquier demande, en échange de quelque chose, ce même quelque chose en quantité plus importante, alors que lui seul a le droit de créer ce quelque chose. Cela n’implique pas strictement, nous l’avons vu, que le remboursement sera impossible (en pratique, il le sera, nous le verrons), mais cela en fait à l’évidence un service singulier.

Ensuite, remarquons que la banque perçoit un pourcentage sur toute la monnaie en circulation. Modifions l’exemple précédent pour qu’il y ait un banquier, 1 million de X et 1 million de Y. Dans ce nouvel exemple, regardons ce qu’il se passe :

Le déséquilibre est flagrant. Il n’est pas défendable que le banquier puisse (et doive) récupérer, à son profit, un pourcentage de toutes les richesses créées. Un tel gain ne peut raisonnablement pas correspondre au service fourni.

Vous me répondrez qu’en réalité, tout n’est pas pour la banque : elle doit par exemple verser des intérêts à ses clients. Mais d’une part, les intérêts qu’elle perçoit (sur de l’argent créé !) sont supérieurs aux intérêts que perçoivent les clients (sur de l’argent gagné) ; l’argument reste donc le même avec simplement un pourcentage moins important. Et d’autre part, nous pouvons appliquer le raisonnement sur l’ensemble constitué des banques et des personnes les plus riches (les fameux 1%), qui sont évidemment les principaux bénéficiaires de ces intérêts. Vous me ferez peut-être également remarquer que la banque verse des salaires. Oui. Les autres entreprises aussi.

Injustice cachée

En plus de cela, le banquier profite d’une déflation.

Pour le comprendre, reprenons l’exemple détaillé ci-dessus, et considérons à chaque étape non seulement la masse monétaire dans son ensemble, mais également l’argent qui circule au sein de la population (entre X et Y).

Étape Qté en circulation Qté entre X et Y Commentaire
0 0 0  
1 5 5  
2 5 5  
3 5 5  
4 5 3 Déflation locale, les prix ont tendance à baisser. C’est à ce moment que le banquier achète à X.
5 5 5 Une fois l’argent réinjecté dans l’économie, les prix ont tendance à réaugmenter. Ce qu’a acheté le banquier retrouve donc sa valeur.

Il faut bien avoir à l’esprit que la déflation se produit au fur et à mesure du remboursement des intérêts au banquier, sur une longue période, et non brutalement comme l’exemple pourrait le laisser penser.

Le banquier peut racheter les actifs de X et Y à bas prix, puisqu’ils ont baissé suite à la déflation. Cette réinjection de monnaie fera augmenter le prix de ces mêmes actifs en proportion mais ils auront changé de main de façon forcée (vers le banquier).

Merci à Galuel pour cette explication.

Hypothèse vérifiée ?

Nous avons vu qu’il était nécessaire que 100% des intérêts soient dépensés dans l’économie pour éviter la pénurie d’argent. Remarquons que rien ne montre que cette hypothèse, fût-elle injuste, serait suffisante.

Mais est-elle seulement vérifiée dans la réalité ? Car la simple possibilité théorique de cette situation idéalisée ne peut suffire à prétendre qu’elle serait vérifiée en pratique.

Nous pouvons même nous convaincre du contraire.

Les prêts que nous avons considérés jusqu’à présent sont ceux effectués par le système bancaire, qui sont les seuls créateurs de monnaie. Mais l’argent ainsi créé peut être reprêté par quelqu’un à quelqu’un d’autre, avec intérêts. Dans ce cas, cet argent sera grevé de 2 intérêts.

Supposons que la banque promette de dépenser 100% des intérêts dans l’économie, et qu’une personne, libre de toutes dettes, possède de l’argent en excès. Elle va pouvoir le prêter (ou l’investir) perpétuellement pour percevoir perpétuellement des intérêts. Tout dépenser dans l’économie ne serait pas à son avantage, car cela représente pour elle une source intarissable de revenus. Ses emprunteurs, pour lui payer les intérêts, devront nécessairement récupérer de l’argent dans le stock disponible… qui n’en contient pas assez pour rembouser le prêt principal et le prêt secondaire avec intérêts. Dans ce cas, il est inévitable de rembourser les anciens prêts avec… de nouveaux prêts plus importants.

Plus généralement, ceux qui ont de l’argent s’attendent à percevoir un intérêt dessus. L’investissement peut créer de nouvelles richesses réelles, mais seules de nouvelles dettes peuvent créer plus d’argent. Donc toute attente de profits, à partir de l’argent investi ou de prêts, crée de la demande pour plus d’argent, qui peut être :

C’est ce qu’a expliqué Paul Grignon en réponse aux critiques contre sa fameuse vidéo L’argent dette, qui l’ont poussé à publier L’argent dette 2 : promesses chimériques.

Légitimité

Mais avant de rentrer dans tous ces détails, peut-être aurait-il simplement fallu questionner, sur le principe, la légitimité d’un tel système.

L’argent est créé par le crédit. Donc la société est forcément endettée (sinon, il n’y aurait pas d’argent). Ce qui implique qu’elle devra perpétuellement payer des intérêts aux banques, des acteurs privés.

Ceci est d’autant plus étonnant que c’est la population, dans son ensemble, qui produit les richesses. La banque ne fait que créer l’argent permettant de les échanger. Ce sont donc ceux qui produisent les richesses qui sont endettés envers ceux qui créent l’argent.

Louis Even l’expliquait très bien :

Soulignons aussi un point frappant: C’est la production qui donne de la valeur à l’argent. Une pile d’argent, sans produits pour y répondre, ne fait pas vivre. Or, ce sont les cultivateurs, les industriels, les ouvriers, les professionnels, le pays organisé, qui font les produits, marchandises ou services. Mais ce sont les banquiers qui font l’argent basé sur ces produits. Et cet argent, qui tire sa valeur des produits, les banquiers se l’approprient et le prêtent à ceux qui font les produits. C’est un vol légalisé.

Maurice Allais, prix Nobel d’économie, écrivait même :

Dans son essence, la création monétaire ex nihilo actuelle par le système bancaire est identique, je n’hésite pas à le dire pour bien faire comprendre ce qui est réellement en cause, à la création de monnaie par des faux-monnayeurs, si justement condamnée par la loi. Concrètement elle aboutit aux mêmes résultats. La seule différence est que ceux qui en profitent sont différents.

(La Crise mondiale aujourd’hui. Pour de profondes réformes des institutions financières et monétaires., Maurice Allais, éd. Clément Juglar, 1999, p. 110)

Le texte est accessible ici.

Conséquences

Ne vous paraît-il pas étonnant qu’il faille toujours travailler plus (au point de réformer les retraites), alors que nous avons considérablement amélioré notre productivité ces dernières décennies ? Et la crise viendrait d’un manque de travail, d’un manque de production, vraiment ?

La véritable raison, ce n’est pas que nous manquons de richesses réelles. Nous ne devons pas lutter contre une rareté de produits dont nous avons besoin, mais contre la rareté de l’argent permettant d’accéder à ces produits. Et la rareté de cet argent dépend du crédit, qui dépend de la croissance.

En clair : sans croissance, nous avons (toujours) une abondance de produits, mais une pénurie de monnaie pour y accéder. Grâce à la croissance, nous limitons temporairement la pénurie de monnaie.

C’est la raison pour laquelle nous devons toujours produire (et consommer) plus. Ce qui, d’ailleurs, amplifie le problème :

A mesure que le pays se développe, en production comme en population, il faut plus d’argent. Or on ne peut avoir d’argent nouveau qu’en s’endettant d’une dette collectivement impayable.

Il reste donc le choix entre arrêter le développement ou s’endetter; entre chômer ou contracter des emprunts impayables. C’est entre ces deux choses-là qu’on se débat justement dans tous les pays.

Dans un récent discours, Naomi Klein dénonçait cette pénurie artificielle (citation rapportée par Zoupic) :

Nous savons tous, ou du moins nous sentons que le monde est à l’envers : nous agissons comme s’il n’y avait pas de limites à ce qui, en réalité, n’est pas renouvelable – les combustibles fossiles et l’espace atmosphérique pour absorber leurs émissions. Et nous agissons comme s’il y avait des limites strictes et inflexibles à ce qui, en réalité, est abondant – les ressources financières pour construire la société dont nous avons besoin.

Vivre “au-dessus de ses moyens”

Si nous sommes endettés, ce n’est donc pas parce que nous vivons au-dessus de nos moyens, comme nous pouvons l’entendre parfois, mais bien parce que le système monétaire entraîne inévitablement l’endettement.

Cela rejoint un point de l’argumentaire de MrQuelquesMinutes, à propos de sa vidéo sur la dette publique :

B-2) L’État doit emprunter aux marchés financiers pour fonctionner, cela veut-il dire que l’État utilise l’argent qu’il n’a pas ? Et que l’État vit donc “au dessus de ses moyens” ?

Si l’on poursuit ce raisonnement, alors toute la société vit au dessus de ses moyens puisque toute la monnaie qu’elle utilise provient à l’origine du crédit bancaire. Pourtant, cela n’a pas de sens de dire cela, puisque c’est la société elle-même qui produit les biens et les services qu’elle utilise.

Qu’une nation ou qu’un État s’endette dans un système monétaire où la monnaie est créé uniquement par le crédit, ne veut pas dire qu’il “vit au-dessus des ses moyens”, mais que ce système monétaire, de part sa nature, provoque l’endettement généralisé de cette nation ou de cet État.

Conclusion

La possibilité très théorique que la société soit capable de rembourser ses dettes (afin qu’elles n’augmentent pas perpétuellement) ne remet nullement en cause les critiques fondamentales que porte Louis Even (et bien d’autres) sur le fonctionnement de la création monétaire, manifestement injuste.

Un système où la pénurie de monnaie est quasiment garantie, et où les richesses sont redistribuées massivement de la population vers les banques, n’est pas acceptable. Ne devons donc le corriger. Comment ?

La première étape est de comprendre comment fonctionne le système actuel, pour envisager plusieurs réponses. L’une d’elles est le 100% monnaie.

Personnellement, je suis convaincu que la meilleure est le dividende universel, pour plusieurs raisons (et beaucoup d’autres).

À vous de vous forger votre avis…

Error happened! 0 - Call to undefined function simplexml_load_string() In: /var/www/Projet-Autoblog/autoblogs/autoblog.php:364 http://www.couturat.fr/Projet-Autoblog/autoblogs/blogrom1vcom_4af8d17d34d978843ff2ff40339aa5760e6458bc/?12 #0 /var/www/Projet-Autoblog/autoblogs/autoblog.php(932): VroumVroum_Blog->update() #1 /var/www/Projet-Autoblog/autoblogs/blogrom1vcom_4af8d17d34d978843ff2ff40339aa5760e6458bc/index.php(1): require_once('/var/www/Projet...') #2 {main}