Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

PHP version 5.6.0 finale !

Remi Collet

Les RPM de PHP version 5.6.0 sont disponibles dans le dépôt remi-php56 pour Fedora et Enterprise Linux (RHEL, CentOS).

Un peu plus d'un an après la sortie de PHP version 5.5.0, la version 5.6.0 est publiée.

Annonce de la version : PHP 5.6.0 Release Announcement

Remplacement de la version par défaut du système :

yum --enablerepo=remi,remi-php56 update php\*

Installation en parallèle, en Software Collections :

yum --enablerepo=remi install php56

Et bientôt dans les mises à jour officielles de Fedora 21.

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.0
  • la version EL6 est construite avec RHEL-6.5
  • beaucoup d'extensions sont aussi disponibles, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collection (php56)

PHP 5.6 en Software Collection

Remi Collet

Les RPM de la prochaine nouvelle version majeure de PHP 5.6, sont disponibles dans le dépôt remi pour Fedora 19, 20 et Enterprise Linux 6, 7 (RHEL, CentOS, ...) dans une nouvelle Software Collection (php56) permettant son installation en parallèle de la version système.

Comme je crois fortement au potentiel des SCL pour fournir un moyen simple d'installer plusieurs versions en parallèle, et qu'il me semble utile d'offrir cette possibilité pour PHP 5.6 afin de permettre aux développeurs de tester leur application, aux sysadmin de préparer une migration, ou simplement d'utiliser cette version pour une application spécifique, j'ai décidé de créer cette nouvelle SCL.

Installation :

yum --enablerepo=remi install php56

emblem-important-2-24.pngA noter :

  • comme la SCL est totalement indépendante du système, et ne le modifie pas, cette SCL est dans le dépôt remi.
  • l'installation est dans le dossier /opt/remi
  • le module pour Apache, php56-php, est disponible, mais évidement un seul mod_php peut être utiliser (il faudrait donc désactiver ou désinstaller tout autre module afin de l'utiliser, celui fournit par le paquet "php" reste prioritaire)
  • le service FPM (php56-php-fpm) est disponible, il écoute par défaut sur le port 9000, il faudrait donc adapter la configuration si vous souhaitez utiliser plusieurs services FPM en même temps.
  • la commande php56 permet d'accéder simplement à cette version, cependant l'utilisation de la commande scl reste la meilleure méthode.
  • Il s'agit pour l'instant de la version 5.6.0RC4, mais la version stable devrait être rapidement disponible.
  • les extensions PECL seront aussi progressivement disponibles dans la collection.
  • seulement pour  x86_64, pas de plan pour les autres architectures.

emblem-notice-24.pngLire aussi les autres articles concernant les SCL.

$ scl enable php56 'php -v'
PHP 5.6.0RC4 (cli) (built: Aug 24 2014 20:24:53)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0-dev, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

Comme d'habitude, vos retours sont les bienvenus, un forum dédié aux SCL est ouvert.

Migration vers Oh my Zsh!

Guillaume Kulakowski

Cela fait déjà plusieurs années que j'utilise Zsh comme shell principal sur mes PCs et serveurs. Jusquà présent j'avais mon propre fichier /etc/zshrc que je déployais sur mes machines. Ce déploiement passait par un RPM et le fichier de configuration était long de plus de 500 lignes qu'il fallait mettre à jour au grès des évolutions de Zsh. Je connaissais déjà la projet Oh My Zsh!, mais je n'avais pas encore sauté le pas.

Oh my Zsh!

Puis, suite à des échanges avec un collègue de boulot, lui même adepte  de Zsh, et qui m'a bien vendu la chose (couplée à l'utilitaire Z), j'ai enfin adopté cette solution. Du coup, j'ai transposé mes 500 lignes de configuration en 200 lignes plus un thème. Le tout est disponible sur mon comptes GitHub.

My Zsh/Oh My Zsh configuration.

Migration vers Oh my Zsh!

Guillaume Kulakowski

Cela fait déjà plusieurs années que j'utilise Zsh comme shell principal sur mes PCs et serveurs. Jusquà présent j'avais mon propre fichier /etc/zshrc que je déployais sur mes machines. Ce déploiement passait par un RPM et le fichier de configuration était long de plus de 500 lignes qu'il fallait mettre à jour au grès des évolutions de Zsh. Je connaissais déjà la projet Oh My Zsh!, mais je n'avais pas encore sauté le pas.

Oh my Zsh!

Puis, suite à des échanges avec un collègue de boulot, lui même adepte  de Zsh, et qui m'a bien vendu la chose (couplée à l'utilitaire Z), j'ai enfin adopté cette solution. Du coup, j'ai transposé mes 500 lignes de configuration en 200 lignes plus un thème. Le tout est disponible sur mon comptes GitHub.

My Zsh/Oh My Zsh configuration.

PHP 5.4.32 et 5.5.16

Remi Collet

Les RPM de PHP version 5.5.16 sont disponibles dans le dépôt remi pour Fedora et dans le dépôt remi-php55 pour Enterprise Linux.

Les RPM de PHP version 5.4.32 sont disponibles dans le dépôt remi pour Enterprise Linux (RHEL, CentOS...).

security-medium-2-24.pngCes versions corrigeant plusieurs failles de sécurité, la mise à jour et vivement recommandée.

Annonces des versions :

emblem-important-4-24.pngMerci de noter que ces versions corrigent un problème de compatibilité détectée dans les versions 5.4.29 et 5.5.13. Cependant, le correctif peut encore casser quelques rares situations. La sécurité, concernée par ce correctif, reste le premier objectif du projet. Lire upgrading guide.

Installation de PHP 5.5

yum --enablerepo=remi-php55,remi update php\*

Installation de PHP 5.4

yum --enablerepo=remi update php\*

Et bientôt dans les mises à jour officielles:

Pour mémoire, Fedora 21 fournira PHP 5.6.

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.0
  • la version EL6 est construite avec RHEL-6.5
  • pour php 5.5, l'extension Zip est désormais fournit dans le paquet php-pecl-zip.
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

septembre 2014

Premier Samedi Date : samedi 6 septembre 2014 Horaires : de 14h00 à 18h00 Lieu : Carrefour Numérique, Cité des Sciences et de lIndustrie, Paris Pour une nouvelle installation ou pour des ajustements de votre distribution GNU/Linux Fedora, Mageia ou Ubuntu, venez nous retrouver le samedi 6 septembre 2014 au Carrefour Numérique de la Cité des Sciences […]

Utiliser la Garmin Forerunner 220 sans Windows (Linux / Android)

Guillaume Kulakowski

Depuis quelques temps je me suis mis à courir pas mal. En terme de suivi et d'informations relatives à mes sorties, J'avais envie d'aller un peu plus loin que ce que pouvait me donner une application comme RunKeeper. Pour faire simple, javais envie d'avoir les informations toujours disponibles (à mon bras) et également d'avoir mon rythme cardiaque. Je me suis donc lancé dans la recherche d'une montre GPS avec quelques près requis:

  • Bonne qualité,
  • Bon site de suivie des activités,
  • Informations récupérables et si possible transférables vers d'autre (RunKeeper, etc...),
  • Windows non obligatoire.

La marque Garmin à tout naturellement retenu mon attention et plus particulièrement le modèle Forerunner 220 pour les raisons suivantes:

Comble du bon goût, le projet dispose d'un dépôt YUM pour l'installer et le maintenir à jour !

garmin_forerunner_220_plugin_linux.png

Après plus de 2 mois d'utilisations voici un petit retour :

  • En ce qui concerne mes activités (run, records), la synchronisation Android joue parfaitement son rôle.
  • Pour ce qui est des entrainements je dois relier ma montre à mon PC et le plugin Garmin Communicator pour Linux fonctionne à merveille. Juste une petite règle SELinux à rajouter:
setsebool -P mozilla_plugin_use_gps 1

garmin_forerunner_220_linux.png

Au jour daujourdhui une seule déception: la mise à jour du firmware. Bien que l'application Android me notifie d'une nouvelle version (tout comme le site web), celle-ci reste incapable de mettre à jour la montre. Ceci est d'autant plus dommage, qu'au final la mise à jour consiste à pousser le nouveau firmware dans la mémoire de la montre et de la redémarrer. Je pense que si le plugin Garmin Communicator gérait cette opération (en lieu est place de Garmin Express), sa version Linux ferait également le job. Pour le moment je n'ai trouvé que 2 solutions de contournement: mon PC du boulot ou ma VirtualBox Windows 7.

garmin_forerunner_220_firmware.png

Bref, pour faire court: si vous êtes Linuxien et que vous aimez courir alors les montres de cette liste sont faites pour vous.

Utiliser la Garmin Forerunner 220 sans Windows (Linux / Android)

Guillaume Kulakowski

Depuis quelques temps je me suis mis à courir pas mal. En terme de suivi et d'informations relatives à mes sorties, J'avais envie d'aller un peu plus loin que ce que pouvait me donner une application comme RunKeeper. Pour faire simple, javais envie d'avoir les informations toujours disponibles (à mon bras) et également d'avoir mon rythme cardiaque. Je me suis donc lancé dans la recherche d'une montre GPS avec quelques près requis:

  • Bonne qualité,
  • Bon site de suivie des activités,
  • Informations récupérables et si possible transférables vers d'autre (RunKeeper, etc...),
  • Windows non obligatoire.

La marque Garmin à tout naturellement retenu mon attention et plus particulièrement le modèle Forerunner 220 pour les raisons suivantes:

Comble du bon goût, le projet dispose d'un dépôt YUM pour l'installer et le maintenir à jour !

garmin_forerunner_220_plugin_linux.jpg

Après plus de 2 mois d'utilisations voici un petit retour :

  • En ce qui concerne mes activités (run, records), la synchronisation Android joue parfaitement son rôle.
  • Pour ce qui est des entrainements je dois relier ma montre à mon PC et le plugin Garmin Communicator pour Linux fonctionne à merveille. Juste une petite règle SELinux à rajouter:
setsebool -P mozilla_plugin_use_gps 1

garmin_forerunner_220_linux.png

Au jour daujourdhui une seule déception: la mise à jour du firmware. Bien que l'application Android me notifie d'une nouvelle version (tout comme le site web), celle-ci reste incapable de mettre à jour la montre. Ceci est d'autant plus dommage, qu'au final la mise à jour consiste à pousser le nouveau firmware dans la mémoire de la montre et de la redémarrer. Je pense que si le plugin Garmin Communicator gérait cette opération (en lieu est place de Garmin Express), sa version Linux ferait également le job. Pour le moment je n'ai trouvé que 2 solutions de contournement: mon PC du boulot ou ma VirtualBox Windows 7.

garmin_forerunner_220_firmware.png

Bref, pour faire court: si vous êtes Linuxien et que vous aimez courir alors les montres de cette liste sont faites pour vous.

Changement de nom pour le blog

Guillaume Kulakowski

Alors qu'en Décembre, le blog va passer le cap des 10 ans, j'ai décidé de quelque peu le modifier. En effet, exit le pseudo llaumgui, exit le llaumgui.com (qui va fêter lui aussi c'est 10 ans le 26/08/2014) et bonjour blog.kulakowski.fr.

La raison est due au fait que lanonymat dont je pouvais jouir il y a 10 ans n'est plus avec les Facebook et autres et que du coup autant publier en son nom. De plus, professionnellement, ça fait un peu plus sérieux.

Voila, sinon le contenu ne change pas, je vais juste tacher d'augmenter la fréquence des mises à jour, qui en ce moment sont proches de 0.

Changement de nom pour le blog

Guillaume Kulakowski

Alors qu'en Décembre, le blog va passer le cap des 10 ans, j'ai décidé de quelque peu le modifier. En effet, exit le pseudo llaumgui, exit le llaumgui.com (qui va fêter lui aussi c'est 10 ans le 26/08/2014) et bonjour blog.kulakowski.fr.

La raison est due au fait que lanonymat dont je pouvais jouir il y a 10 ans n'est plus avec les Facebook et autres et que du coup autant publier en son nom. De plus, professionnellement, ça fait un peu plus sérieux.

Voila, sinon le contenu ne change pas, je vais juste tacher d'augmenter la fréquence des mises à jour, qui en ce moment sont proches de 0.

Koschei : intégration continue de la pile PHP dans Fedora

Remi Collet

L'intégration Continue est une préoccupation naturelle de tous développeurs.

La plupart des projets utilisent des outils comme Travis (disponible sous github.com). PHP dispose de sa propre suite de tests. Cela permet de vérifier que les modifications apportées au code source n'apportent pas de régression.

Cela semble suffisant pour une projet, mais pour la "pile PHP" dans sont ensemble, il faut pouvoir :

  • vérifier que la mise à jour d'une dépendance ne casse pas les projets l'utilisant
  • vérifier que la mise à jour de PHP n'entraine pas de régression dans les projets, dès les Release Candidate (les versions de PHP disponibles dans travis/github sont souvent en retard)
  • vérifier que les modifications liés au packaging ne cassent rien

Le projet Koschei permet de répondre à ces besoins en supervisant les mises à jour dans rawhide (la branche développement de Fedora) et en déclenchant une construction à blanc de tous les paquets dépendants.

Comme de nombreux outils et bibliothèques sont disponibles dans Fedora, nous les avons ajoutés pour qu'ils soient surveillés, en particulier :

  • PHP (uniquement la version 5.6 pour l'instant)
  • PHPUnit et toutes ses dépendances
  • Symfony
  • Doctrine
  • Horde
  • etc

Adresse de l'instance : http://koschei.cloud.fedoraproject.org/

Ce nouvel outil aurait pu nous permettre de détecter au plus tôt les régressions introduites dans PHP version 5.4.29 et 5.5.13. Je prévois donc d'importer les prochaines Release Candidate au plus tôt afin de bénéficier de l'outil.

Par exemple, il vient de permettre de détecter un FTBFS de symfony suite à la mise à jour de PHPUnit 4.2.0 (il s'agissait d'un problème spécifique au paquet et déjà corrigé).

Évidement, il est donc nécessaire de disposer de suite de test pour chaque projet et de les exécuter lors de la construction des paquets, mais cela fait, depuis longtemps, partie des bonnes pratiques.

Nous verrons à l'avenir comment l'outil se comporte, mais je pense qu'il apporte un vrai progrès pour l'intégration continue de l'ensemble de la pile PHP.

Il s'agit aussi et surtout d'un outil dont les résultats doivent bénéficier à chaque projet, prouvant l'utilité de la collaboration inter-projets (upstream / downstream), et donnant encore plus d'intérêt, pour chaque projet, à être intégré dans une distribution comme Fedora.

PHPUnit 4.2

Remi Collet

Les RPM de PHPUnit version 4.2 sont disponibles dans le dépôt remi pour fedora et Enterprise Linux (CentOS, RHEL...)

Documentation : PHPUnit 4.2 manual (english)

Jusqu'à la version 3.7, PHPUnit et ses composants était principalement distribué dans le canal PEAR "phpunit". Chaque composant étant donc distribué dans un RPM dédié de la même manière.

Depuis la version 4.0, le paquet pear fournit uniquement un grosse archive .phar, contenant l'ensemble des composants. C'est la méthode de diffusion choisi par l'auteur. Ce mode de distribution n'est, hélas, pas du tout acceptable pour une distribution RPM.

De plus, ce canal pear, doit être prochainement fermé (avant la fin de l'année).

Depuis la version 4.1 chaque composant est désormais construit à partir des sources github. Le mécanisme d'autoload étant maintenu.

Installation :

yum --enablerepo=remi install phpunit

Merci de tester cette nouvelle version, qui est aussi disponible dans Fedora 21, Rawhide et EPEL-7.

Apache httpd server 2.4.10 et PHP-FPM 5.6 dans Fedora 21

Remi Collet

Depuis la mise à jour dans Fedora 21 d'httpd version 2.4.10 et de php 5.6.0RC3, il est désormais possible de se passer de mod_php. php-fpm fonctionne désormais avec la configuration par défaut fournie.

Installation :

# yum remove php
# yum install php-fpm httpd

Démarrage des services

# systemctl start php-fpm.service
# systemctl start httpd.service

Test

# echo '<?php phpinfo()' >/var/www/html/info.php

URL: http://localhost/info.php

Vous devez voir le message : Server API: FPM/FastCGI

Configuration

La configuration fournie par défaut fonctionne donc désormais sans modification sous Fedora 21.

Il est possible de l'utiliser en Fedora 19 et 20 en appliquant les modifications au fichier de configuration de PHP /etc/httpd/conf.d/php.conf

Désactiver les directives php_* si mod_php n'est pas chargé

# mod_php options
<IfModule mod_php5.c>
...
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
</IfModule>

Activer la redirection vers le serveur php-fpm

# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php5.c>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>

Optimisation du serveur Apache

C'est l'occasion d'abandonner le MPM prefork dans /etc/httpd/conf.modules.d/00-mpm.conf

LoadModule mpm_event_module modules/mod_mpm_event.so

Pour les packageurs

php-fpm tire httpd-filesystem, uniquement pour la création de l'utilisateur apache et des dossiers de configuration, mais reste utilisable sans httpd, par exemple avec nginx. Cependant Apache httpd server reste, pour moi, le seul server adapté pour les applications web, en particulier parce qu'il permet de fournir un fichier de configuration par application contenant des alias globaux.

Je vous encourage à tester vos applications dans cette configuration, en particulier à mettre des conditions autour des directives php_* dans leur fichier de configuration.

La prochaine étape sera de supprimer la dépendance sur mod_php pour laisser le choix aux utilisateurs.

Conclusion

Cette fonctionnalité supprime enfin la difficulté d'utiliser PHP-FPM et les autres MPM d'apache. Dommage qu'elle ne soit pas disponible dans la version d'httpd fournie avec RHEL/CentOS-7.

Mon livre des rôles

Matthieu Saulnier

Pour configurer ou reconfigurer rapidement un poste sur Fedora, il existe quelques programmes appartenant à la catégorie des Managers de configuration. Dans cette catégorie on retrouve Cfengine, Puppet, Chef et Ansible. Chacun ayant des spécificités, je me suis orienté vers Ansible qui m'offrait le système de fonctionnement le plus simple. Il permet de déployer sur la machine locale ou bien tout le parc ma configuration personnalisée, sans avoir eu besoin d'installer un quelconque logiciel sur chaque poste, le gain de temps et d'énergie est vraiment non-négligeable. Contrairement à ses concurents, Ansible s'appuie sur des connexions SSH sortante depuis le poste maître, il n'y a donc aucun port d'écoute supplémentaire sur les postes esclaves à part le port du serveur SSH. De même, il n'est pas lancé au démarrage du poste maître comme un service, mais se lance manuellement avec une simple commande. Si les machines du parc ne sont pas compromises il n'y a pas de raison de le laisser tourner en tâche de fond comme un démon, la configuration d'un poste ne change pas toutes les dix minutes. Lors de l'exécution de la commande, Ansible va lire toute une arborescence de fichiers créés par vos soins, que l'on appelle livre des rôles (en anglais: playbook). Cet ensemble de scripts au format YML permet de faire exécuter à Ansible plein d'opérations complexes, automatiquement, afin de personnaliser toutes les machines du parc d'un seul coup. Les applications de cet atout sont diverses, on peut l'utiliser juste après avoir réinstallé Fedora, ou bien pour une nouvelle machine ajoutée au parc, ou encore pour déployer une application en particulier.

Je suis très heureux de vous partager mon livre des rôles sous license GPL, que je développe depuis quelques mois maintenant, et que j'utilise sur trois machines physiques et quatre machines virtuelles. Un livre des rôles n'est jamais fini, mes rôles actuellement fonctionnels mais en cours d'amélioration sont :

  • common
  • clients
  • ntpserver
  • yum-updatesd

Mes rôles actuellement inachevés sont :

  • cozycloud
  • mailserver
  • rpmbuilder

Il y a quelques astuces à prendre en compte au moment d'écrire son premier playbook. Commencer avec un seul script YML, puis lorsqu'il listera toutes vos personnalisations globales (appliquées à toutes vos machines) vous pourrez le splitter dans l'arborescence du rôle "common". À chaque tâche ou service important vous pourrez développer un nouveau rôle. Et enfin, commencer directement dans un dépôt git (git init --bare), pour bénéficier de la gestion de version même si vous ne voulez pas le partager en ligne. (Le partager c'est quand même plus cool).

PHP 5.4.31 et 5.5.15

Remi Collet

Les RPM de PHP version 5.5.15 sont disponibles dans le dépôt remi pour Fedora et dans le dépôt remi-php55 pour Enterprise Linux.

Les RPM de PHP version 5.4.31 sont disponibles dans le dépôt remi pour Enterprise Linux (RHEL, CentOS...).

Annonces des versions :

emblem-important-4-24.pngMerci de noter que ces versions corrigent un problème de compatibilité détectée dans les versions 5.4.29 et 5.5.13. Cependant, le correctif peut encore casser quelques rares situations. La sécurité, concernée par ce correctif, reste le premier objectif du projet. Lire upgrading guide.

Installation de PHP 5.5

yum --enablerepo=remi-php55,remi update php\*

Installation de PHP 5.4

yum --enablerepo=remi update php\*

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.0
  • la version EL6 est construite avec RHEL-6.5
  • pour php 5.5, l'extension Zip est désormais fournit dans le paquet php-pecl-zip.
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Installation à risque: serveur Bitcoin

Matthieu Saulnier

bitcoin-half.png

Je suis devenu complice. Complice de contribuer à l'établissement d'une nouvelle monnaie. Non, pire que ça, complice d'instaurer un nouveau système financier. Aussi révolutionnaire qu'a l'air cette intrigue, c'est pourtant exactement le point de vue du monde de la finance sur le dossier Bitcoin. Pire encore: Bitcoin est un changement non désiré par le monde de la finance, et donc comme toute bonne société panoptique qui se respecte, cette société veut erradiquer Bitcoin. Vouloir changer juste pour changer n'est pas une bonne solution, mais changer pour quelque chose de mieux semble tout à fait astucieux. Voyons plus en détail pourquoi je préfère avoir des bitcoins au lieu d'une poignée d'euros. Je tiens à préciser dès maintenant que qualifier les euros de monnaie "réelle" (éventuellement palpable) est erronné depuis l'invention de la monnaie papier. Les bitcoins et les euros sont aussi virtuels les uns que les autres, sauf que certains remplissent mieux leur rôle que d'autres, d'une manière plus transparente. La plupart des détracteurs du systèmes financier Bitcoin utilisent la peur, car il est vrai que Bitcoin est un système expérimental, donc risqué. Il est tout aussi vrai que le risque de crise économique du système financier actuel existe, pourtant il n'est pas expérimental.

À notre époque, l'époque où nous achetons vraiment tout ce dont on a besoin sur Internet (sauf le pain, mais de toutes façons les boulangeries n'acceptent pas encore les bitcoins), le procédé des transferts d'euros par Internet est véritablement resté identique au processus utilisé dans la vie réelle. Pour transférer une partie de mon argent, je dois demander à mon banquier si j'ai suffisament d'argent pour transférer une certaine somme à ce commerçant, et si oui, de soustraire cette somme de mon compte puis indiquer à la banque du commerçant d'ajouter cette somme sur le compte du commerçant. Ce processus est appliqué lorsque je paye sur Internet, lorsque je paye par carte de crédit, lorsque je paye par espèces. Les espèces sont inclues car elles ne représentent qu'un solde négatif sur un compte (un retrait) et un solde positif sur un autre compte (un dépôt). Si pour vous ce transfert d'argent ressemble à trois tonnes d'opérations intermédiaires juste pour transférer de l'argent, vous n'êtes pas les seuls. Les intermédiaires, c'est pratique et c'est bien, tant que le travail est bien fait. Depuis 2008 nous savons que notre intermédiaire du monde de la finance ne travaille pas si bien que ça, est-ce par cupidité, incompétence, voire même fénéantise, je ne veux pas le savoir. Pour approfondir l'étude du système financier actuellement en activité, je vous invite à regarder le film L'argent Dette de Paul Grignon (2010) sur youtube ou dailymotion.

Le système financier Bitcoin permet de s'affranchir d'un certain nombre de contraintes, basé sur quelques idées simples remontant à l'époque où les humains commerçaient par le troc. Il vise à la suppression des intermédiaires. Dans l'échelle du temps, ce système est constitué de deux grandes phases, la première étant la fabrication de la masse monnétaire par inflation, cette masse ne peut dépasser les 21 millions de bitcoins, puis la phase des échanges renouvelables indispensable au développement durable. Ce contrôle de l'inflation va radicalement à l'opposé du système financier que nous connaissons, et évite ainsi la création de "bulle" d'argent tout en facilitant le libre échange. À l'heure où j'écris ces lignes il est moins intéressant de créer de la monnaie par minage que d'en gagner par échange de services ou de valeurs marchandes, d'ailleurs une grande partie des utilisateurs Bitcoin ne font pas de minage. On pourrait croire que la limite maximale à 21 millions de bitcoins en circulation est insuffisante, c'est faux mais pour le voir il faut changer de point de vue. Un bitcoin est divisible jusqu'à la huitième décimale. Si vous avez 0,00001000BTC vous êtes pauvre, si vous avez 0,00100000BTC vous êtes dans la classe moyenne et pouvez vous offrir plein de choses, si vous avez 0,10000000BTC le monde vous appartient. Le changement d'échelle numérique est toujours un peu perturbant au début. De plus, tout l'argent que je possède est présent sur mon ordinateur qui prend donc le rôle de porte-feuille électronique, sans un seul intermédiaire. Si je réplique mon ordinateur, je n'aurais pas le double d'argent bien sûr, et si je perds mon ordinateur il se passe la même chose que si je perdais mon porte-monnaie. C'est dans cet esprit d'équité et de simplicité qu'a été conçu Bitcoin.

L'unicité de chaque bitcoin présent dans mon porte-feuille est garanti par la mise en application de la cryptographie. Ainsi, si je donne un bitcoin à une personne il disparait définitivement de mon porte-feuille pour réaparaitre dans le siens. L'inverse est vrai, si quelqu'un me donne un bitcoin il ne pourra pas utiliser ce même bitcoin pour une autre transaction. Pour qu'il y ait transaction, nous sommes habitués dans le monde de la finance à devoir communiquer des information d'identification (prénom, nom, adresse postale), mais une fois encore le système financier Bitcoin se veut le plus simple. Il suffit de demander à son porte-feuille de générer une adresse Bitcoin, cette adresse est unique et vous appartient, elle vous permet d'effectuer un débit du solde de votre porte-feuille lorsque vous la communiquez à une autre personne. Selon le même principe, si je veux que quelqu'un puisse me transférer de l'argent, il suffit de demander à mon porte-feuille de générer une adresse Bitcoin qui permettra d'effectuer un crédit du solde de mon porte-feuille lorsque je la communique à une personne tierce. Au cours de ces transactions, je n'ai pas eu à fournir des informations d'identification donc mon anonymat est préservé. L'adresse Bitcoin ne fait pas seulement office d'identifiant de transaction, on peut la réutiliser plusieurs fois. Elle s'apparente plutôt à un compte bancaire et votre porte-feuille en serait la banque titulaire. Le solde d'une adresse peut donc être positif si cette adresse a servi à transferer de l'argent vers votre porte-feuille, ou bien négatif si l'adresse a servi à transférer de l'argent vers un autre porte-feuille. Le seul solde qui doit être positif ou nul étant celui de votre porte-feuille, et il est calculé en additionnant les soldes de toutes les adresses.

Chacun est son propre banquier certes, mais qu'est-ce qui empècherait d'effectuer des transactions frauduleuses en falsifiant son propre livre des comptes ? Avec un livre des comptes publique bien sûr, disponible au téléchargement pour tous, il est nommé Blockchain. À chaque transaction, le porte-feuille destinataire est informé de son crédit et l'inscrit dans son livre des comptes, et le porte-feuille débiteur inscrit l'opération de débit dans son livre des comptes, puis ils informent *tout* le réseau Bitcoin de cette transaction conclue. Les deux partis prennent le monde à témoin, et chaque témoin va inscrire cette transaction dans son propre livre des comptes. C'est pour cette raison que le système financier Bitcoin est neutre et acentré, le solde de chaque porte-feuille peut être retrouvé à partir du livre des comptes publique. Le réseau Bitcoin est en perpétuelle synchronisation, il se compose de toutes les personnes ayant un porte-feuille et le logiciel en cours de fonctionnement sur son ordinateur. C'est ici que je rejoins le titre de l'article après cette longue introduction, installer sur Fedora le logiciel bitcoin pour, en plus d'avoir un porte-feuille avec un solde nul ou éventuellement positif, être le témoin d'un système financier vraiment bien conçu et pouvoir accepter des valeurs dans cette devise.

L'installation doit se faire obligatoirement dans une machine virtuelle, car les RPMs que j'ai récupéré et modifié ne sont vraiment pas beaux, mais j'ai pas réussi à les améliorer hélas. Il ne faut en aucun les installer sur son système principal. Seconde précaution, prévoir un volume logique de 40Gio pour /var/lib/bitcoin/, ce répertoire va accueillir le fameux livre des compte publique qui pèse déjà 17Gio dans la balance. Enfin, prévoir le routage du port d'écoute 8333 depuis le routeur jusqu'à la VM afin de pouvoir remplir le rôle "serveur". Les RPMs sources que j'ai utilisé proviennent du développeur de RingingLiberty.com qui maintient ces paquets depuis un moment déjà. Les seules modifications que j'y ai apporté sont l'utilisation du fichier d'unité systemd pour le service ainsi qu'une mise à jour du programme. En aucun cas je ne recommande d'installer ces paquets sans en avoir examiné les sources, mes paquets ne sont pas plus dignes de confiance que les siens, le minimum syndical étant des les recompiler à partir des sources. Pour l'installation minimale les paquets suivants sont nécessaires :

openssl-compat-bitcoin-libs-1.0.1g-0.1.fc20.x86_64
bitcoin-server-0.9.2-1.fc20.x86_64
openssl-compat-bitcoin-1.0.1g-0.1.fc20.x86_64
bitcoin-cli-0.9.2-1.fc20.x86_64
bitcoin-0.9.2-1.fc20.x86_64

Puis il faut configurer le service avant de le démarrer :

# cat /var/lib/bitcoin/.bitcoin/bitcoin.conf
rpcuser=bitcoinrpc
rpcpassword=INSERT_A_RANDOM_STRING_HERE

Veuillez à avoir les bonnes permissions pour le fichier ainsi que ses répertoires parents :

# ll -a /var/lib/bitcoin/.bitcoin/|head -4
total 7428
drwxr-xr-x. 5 bitcoin bitcoin    4096 23 juil. 18:11 .
drwxr-x---. 3 bitcoin bitcoin    4096  7 juil. 13:17 ..
-rw-------. 1 bitcoin bitcoin      76 13 juil. 02:25 bitcoin.conf

Maintenant vous pouvez activer et démarrer le service :

# systemctl enable bitcoin
# systemctl start bitcoin

Juste après le démarrage du service, le démon va commencer par télécharger la blockchain de 17Gio, ce qui risque de prendre 1 ou 2 jours selon la vitesse de téléchargement. Une fois synchronisé, le serveur ne consomme pas trop de resources réseau, et la charge CPU baisse significativement. À partir de là vous avez un serveur Bitcoin opérationnel qui enregistre des transactions, maintenant voyons votre porte-feuille. Toutes les commandes pour contrôler votre porte-feuille sont de type :

$ bitcoin-cli -rpcuser=bitcoinrpc -rpcpassword=MA_PHRASE_PASSE_SUPER_LONGUE <commande>

Remplacer <commande> par "help" pour afficher la liste de toutes les commandes disponibles. Et pour afficher l'aide pour une commande particulière, taper "help <commande>". Pour créer une adresse pour recevoir des bitcoins, on utilise la commande :

getaccountaddress "nom_du_compte"

N'oubliez pas que cette adresse représente un compte et que son historique des transactions est publique. Pour consulter le solde du porte-feuille :

getbalance

La monnaie n'a de valeur que si on lui accorde notre confiance pour remplir le rôle que nous lui avons confié. Il ne vous reste plus qu'à lire beaucoup de documentations sur le système Bitcoin pour vraiment bien appréhender les possibilités sans limite qu'il a à nous offrir. Beaucoup de commerces en ligne acceptent déjà les bitcoins, mais il pourrait y en avoir encore plus à condition d'en faire la demande...

Git via http : régler REMOTE_USER sans conflits

Thomas Bouffon

Quand on veut accéder à un dépôt git via http, on est souvent confronté à l'erreur suivante :

$ git push origin mabranche
error: Cannot access URL http://serveur/git/depot/, return code 22
fatal: git-http-push failed

La solution la plus généralement recommandée est d'insérer

SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER

Dans le fichier de conf apache.

Cependant, comme cette directive est au niveau global, on se retrouve à copier cette variable dans tous les cas, mêle quand on n'utilsie pas git, ce qui peut avoir un impact pour les autres applis web qui utilisent l'authentification. La solution est de mettre une codition sur l'URL :

SetEnvIf Request_URI "^/git/" REMOTE_USER=$REDIRECT_REMOTE_USER

 

août 2014

Premier Samedi Date : samedi 2 août 2014 Horaires : de 14h00 à 18h00 Lieu : Carrefour Numérique, Cité des Sciences et de lIndustrie, Paris Pour une nouvelle installation ou pour des ajustements de votre distribution GNU/Linux Fedora, Mageia ou Ubuntu, venez nous retrouver le samedi 2 août 2014 au Carrefour Numérique de la Cité des Sciences […]

En direct des RMLL

En direct des RMLL

Page générée le 28 août 2014 à 16:00