fedora fr planet

Add your email:  Fedora Tunisia Group

 

Syndicate content Planet Fedora-Fr
Sélection de blogs autour de Fedora
Updated: 17 hours 15 min ago

Guillaume Kulakowski : Changement de nom pour le blog

Fri, 08/15/2014 - 12:46

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.

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

Tue, 08/12/2014 - 11:45

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.

Remi Collet : PHPUnit 4.2

Mon, 08/11/2014 - 15:56

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.

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

Fri, 08/01/2014 - 19:57

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.

Matthieu Saulnier : Mon livre des rôles

Tue, 07/29/2014 - 10:42

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).

Remi Collet : PHP 5.4.31 et 5.5.15

Fri, 07/25/2014 - 08:30

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 :

Merci 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:

À 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

Informations, lire :

Matthieu Saulnier : Installation à risque: serveur Bitcoin

Thu, 07/24/2014 - 07:02

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...

Thomas Bouffon : Git via http : régler REMOTE_USER sans conflits

Wed, 07/09/2014 - 13:00

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

 

Premier Samedi : août 2014

Tue, 07/08/2014 - 21:51
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 […]