Aller au contenu | Aller au menu | Aller à la recherche


samedi 13 avril 2013

Urban Lightscape : Un logiciel de retouche de photo dédié au traitement de la lumière

Présentation

Parfois on tombe sur des outils très simples certes, mais aussi très efficaces ! C'est le cas d'Urban Lightscape ! Issu de mon Shaarli : http://www.slobberbone.net/shaarli/?searchtags=editor

Urban Lightscape

Son travail jouer sur les effets de lumière. Point bar ! Si vous voulez faire d'autres choses, il faut aller voir du coté de pinta, gimp ou encore photofiltre lx.

Je vous propose de l'installer sous Fedora avec intégration dans GNOME !

Prérequis

# yum install wxGTK-devel boost-devel

Téléchargement : 

Se rendre ici : http://www.indii.org/software/urbanlightscape/download ou

$ wget http://www.indii.org/files/urbanlightscape/releases/urbanlightscape-latest.tar.gz

Compilation

$ tar xvfz urbanlightscape-1.2.3.tar.gz

$ cd urbanlightscape-1.2.3/

$ ./configure --disable-assert CXXFLAGS="-O3 -g3"

$ make

$ cd ..

$ mv urbanlightscape-1.2.3/ /opt/

# chown -Rf user:user /opt/urbanlightscape*

Votre logiciel est compilé et placé dans /opt/ un répertoire pour ces logiciels n'ayant pas de rpm pour les installé là où il faut :) !

Intégration Gnome Shell

Nous allons créer le fichier urbanlightscape.desktop dans /usr/share/appplications/ et y copier ce qui suit.

# vi /usr/share/applications/urbanlightscape.desktop

[Desktop Entry]
Version=1.2.3
Type=Application
Name=Urban Lightscape
GenericName=Image Light Editor
Comment=For photographers who love light
Exec=/opt/urbanlightscape-1.2.3/urbanlightscape
Icon=urbanlightscape
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
StartupNotify=false
MimeType=image/bmp;image/g3fax;image/gif;image/x-fits;image/x-pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;

Une fois fais, il reste à placer une icône issue du site :

# cd /usr/share/icons/

# wget http://www.indii.org/images/urbanlightscape_48.png

# mv urbanlightscape_48.png urbanlightscape.png

Et voilà, le tour est joué !

À lire également :

mardi 26 mars 2013

Quand VMware Workstation cherche les sources du kernel ...

Votre VMware Workstation se lance et vous demande le chemin des source de votre kernel, et à chaque mise à jour du noyau, ça sera le cas !

Que faire pour qu'il retrouve ces petits ? soit utiliser une des nombreuses alternatives libres (^^), soit à chaque fois exécuter ce qui suit :

# cp /usr/include/linux/version.h /lib/modules/maversiondemondernierkernel.fc17.x86_64/build/include/linux/

vmware kernel sourceVoilà, mémo à 2 balles, mais j'en avais ras le bol de rechercher dans l'historique de mon terminal !

À lire également :

mercredi 20 mars 2013

Monter un partage NFS sous CentOS/Fedora

Aujourd'hui, une petite note permettant de monter un partage NFS. Ca sert toujours de garder ça dans un coin ;) !

Prérequis

Installation du client nfs :

# yum install nfs-utils nfs-utils-lib

Démarrage des services :

# service rpcbind start
# service nfs start

On s'assure de les lancer au démarrage de notre machine :

# chkconfig rpcbind on

# chkconfig nfs on

Vérifions le bon démarrage des services avec :

# netstat -nlp

Configuration

Ajouter dans /etc/fstab :

ip_du_serveur:/data/mon_rep_nfs  /mnt/mon_rep_nfs   nfs      rw,sync,hard,nointr,_netdev  0     0

Voici quelques explication (Merci à penthium2 ;) ) :

  • L’option rw indique que le système de fichier à monter est accessible en lecture et écriture
  • L’option sync indique que le système de fichier à monter est synchrone
  • L’option hard indique que le s'il y a un problème d'accès au partage NFS, alors la requête est ré-exécutée en boucle
  • L’option nointr indique qu'in signal peut interrompre les opérations sur le montage (si hard, éviter intr qui pourrait entrainer une corruption des données
  • L’option _netdev indique que le système de fichier à monter est un système de fichiers distant et doit donc être monté une fois que le réseau est actif
  • En savoir plus : http://linux.die.net/man/5/nfs

Ensuite on recharge le fichier de montage :

# mount -a

Nous voilà avec notre client configuré !

À lire également :

lundi 18 mars 2013

check_file_content : Plugin Nagios tout terrain pour consulter le contenu d'un fichier

Présentation

Ce projet est un projet sous licence GPL v2. Cette commande est un plugin pour Nagios 3.x, développé en PERL et oui, on prend les mêmes et on recommence ;) )

Son objectif est de permettre de consulter un fichier local ou sur le réseau et de retourner des alertes selon la présence ou non d'une suite de mots passés en paramètre. Dans un premier temps, le plugin ne prend en compte que le protocol samba, mais ça ne devrait pas être compliqué d'en intégrer d'autres.

Ce plugin permet de :

  • Retourner le nombre d'occurrences d'un mot ou d'une expression contenue dans un fichiers local ou distant.Des alertes peuvent être levées si le nombre d'occurrences est inclue un minimum de fois ou à l'inverse s'il est exclu du fichier (ou présent au maximum n fois). Les limites étant définies par les seuils critique et warning passés en paramètres

Pour le reste, je vous laisse parcourir le fichier, tout doit être dedans ;)  et assez explicite ! Sinon, vous savez où me trouver ;)

Installation

Vous l'aurez compris, pour l'utiliser, il suffit d'un serveur Nagios (Installer Nagios sur CentOS sans RPM) sur lequel vous aurez installé les packages suivant :

# yum install perl perl-Filesys-SmbClient

Une fois fais, il ne vous reste qu'à placer check_file_content.pl dans le répertoire libexec de votre arborescence Nagios :

# chmod +x check_file_content.pl

Et voilà, le tour est joué !

$ perl check_file_content.pl --help

Check_file_content for Nagios, version 1.0
GPL licence, (c)2013 Slobberbone

Site http://www.slobberbone.net

Usage: check_file_content.pl -f <file> -P <protocol> [-u <user> -p <password> -d <domain>] -s <"search_expression"> -t <check_type> [-w <warn_level> -c <crit_level>] -V
-h, --help
print this help message
-f, --filepath=PATHTOFILENAME
full path to file to analyze
-P, --protocol=PROTOCOL
protocol used to acess file :
LOCAL for local file (default),
SMB for CIFS file
-u, --user=USER
user to login
-p, --password=PASSWORD
password
-d, --domain=DOMAIN
domain name
-s, --search="EXPRESSION", if empty looks for lines present in the file
expression to search in the specified file
-t, --check_type=TYPE
Type of search :
INCLUDE for include at least the critical option, then the warning option
EXCLUDE for exclude with a maximum of founded expression smaller than critical option
-w, --warn=INTEGER
number that will cause a warning
-c, --critical=INTEGER
number that will cause an error (Default: 1)
-V, --version
prints version number
Note :
The script will return
* With warn and critical options:
OK if we are able to found expression and the count result respect <warn_level> and depending check_type,
WARNING if we are able to found expression and the count result unrespect <warn_level> and depending check_type,
CRITICAL if we are able to found expression and the count result unrespect <crit_level> and depending check_type,
UNKNOWN if we aren't able to read the file

Configuration

Pour que ce plugin soit opérationnel avec notre serveur de supervision Nagios (ou Shinken), il faut ajouter dans le fichier commands.cfg :

# 'check_file_content' command definition
define command{
    command_name    check_file_content
    command_line    $USER1$/check_file_content.pl -f $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ -d $ARG5$ -t $ARG6$ -s $ARG7$ -w $ARG8$ -c $ARG9$
    }

Puis, il ne vous reste plus qu'à l'appeler de la manière suivante :

define service{
    use            generic-service
    host_name        my_file_server
    service_description    Include at least 4 instances of "Provider : OK" in mytest.log
    check_command        check_file_content!smb://server/dir/file.log!SMB!user!password!domain!INCLUDE!"Provider : OK"!5!3
    normal_check_interval    10
}

Et voilà, il ne reste plus qu'à modifier ce projet pour vos propres besoins ! Pour ça, direction SourceForge.net !

Si vous avez des questions, les commentaires sont ouverts !

À lire également :

mercredi 13 mars 2013

Authentification SSH par agent sur CentOS/Fedora

Contexte

Lorsque l'on manipule des serveurs sous GNU/Linux, on utilise de manière quasiment exclusive nos si chères et si pratiques/efficaces/magiques commandes en utilisant très souvent le Secure Shell aussi appelé : SSH !

J'ai un serveur qui héberge ce blog entre autre et un NAS chez moi afin d'y entreposer ces indispensables sauvegardes ! Quoi de mieux que de passer par un script pour effectuer les différentes opérations ! Voilà que notre script peut très rapidement avoir besoin de copier un certains nombre de fichiers vers ce NAS via la commande scp par exemple. Tout ceci est parfait mais comment ne pas devoir entrer son mot de passe ou le stocker en clair à l'aide d'une quelconque bidouille ou commande bizarres ? Utiliser un système d'authentification proposé par ce formidable outil !

Prérequis

Tout d'abord vérifions coté serveur que nous disposons bien des paquets nécéssaires et l'autorisation d'authentification par clé RSA :

# yum install openssh-server openssh-client openssh

$ grep RSA /etc/sshd_config RSAAuthentication yes

Que notre serveur SSH est lancé et se lance au démarrage du serveur ( ;) ):

# /etc/init.d/sshd status ou # service sshd status

# chkconfig sshd on

S'il n'est pas démarré, un simple # service sshd start doit suffire !

Fonctionnement

Un schéma vaut mieux qu'une explication :
cle-rsa.pngSource : http://geekfault.org - license Creative Commons

Génération d'une clé RSA ou DSA

Une fois ce qu'il faut d'activé et de configuré côté serveur, nous nous rendons sur le client. C'est sur cette machine que nous ne voulons plus rentrer ce mot de passe si long et compliqué :)

Rendez vous dans votre home de l'utilisateur qui voudra se connecter au serveur SSH sans donner de mot de passe mais en utilisant ce système d'authentification.

$ cd

$ ssh-keygen -t rsa

Generating public/private dsa key pair. Enter file in which to save the key (/home/monuser/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/monuser/.ssh/id_rsa. Your public key has been saved in /home/monuser/.ssh/id_rsa.pub. The key fingerprint is: 8f:80:d8:c5:3d:9s:0b:10:66:42:9c:84:45:a1:d0:14 monuser@monserveur

Nos clés se trouvent en théorie dans /home/monuser/.ssh/ avec comme nom id_rsa et id_rsa.pub.

Retenez bien la passphrase renseignée car elle nous servira encore ! Elle sert de base à l’algorithme de génération de la clé privée, donc plus elle est compliquée en combinant des chiffres/lettres/ponctuations majuscules/minuscules, mieux c'est !

Sécurisation de la clé privée

Nous allons mettre la clé privée en lecture seule pour le propriétaire de la clé et aucun droit pour les autres utilisateurs :

$ chmod 400 ~/.ssh/id_rsa

Modifier la passphrase

$ chmod u+w ~/.ssh/id_rsa
$ ssh-keygen -p -f ~/.ssh/id_rsa
$ chmod u-w ~/.ssh/id_rsa

Exporter la clé publique

Comme vu ci-dessus, 2 clés ont été générées ; une privée que l'on ne communique pas et une publique que l'on va transférer sur le serveur SSH :

$ cat .ssh/id_rsa.pub | ssh monuser@monserveur \ "cat - >>~/.ssh/authorized_keys"

Votre mot de passe est demandée, normal, vous effectuez l'opération et ensuite on teste en listant le contenu du répertoire home de monuser :

$ ssh monuser@monserveur ls

Là il nous demande la passphrase et affiche le résultat de la commande ls ! Plus de mot de passe ! ... mais une passphrase ... :(

Automatiser le stockage de la clé privée (passphrase)

Démarrer l'agent

Pour cela nous allons utiliser un agent SSH, c'est lui qui va s'occuper de stocker en mémoire la clé privée :

Pour cela nous allons lancer l'agent, puis un shell supplémentaire avec les variables d'environnement qui l'identifient :

$ ssh-agent /bin/bash

Ajouter une clé

Nous fournissons notre clé privée à l'agent via un simple :

$ ssh-add

Qui nous demande une dernière fois la passphrase et le tour est joué !

Vérifions :

$ ssh monuser@monserveur ls

Nous obtenons le résultat de la commande ls sans avoir rentré quoique ce soit !

Supprimer une clé

$ ssh-add -d ~/.ssh/id_rsa

À lire également :

lundi 29 octobre 2012

gSharkDown - un client GTK du site de musique en ligne GrooveShark

Petit tour d'horizon des plateformes de musique en streaming

Depuis un moment je n'utilisais plus Spotify, tout simplement parce qu'il faut obligatoirement un compte Facebook ... no comment. Deezer, il faut du flash alors évidemment, ça n'attire pas !

J'avais découvert Myousic.me, il y a  des applications pour smartphones et l'interface est en HTML. Jusque là tout va bien. Cependant, évidemment on veut toujours plus et une application pour GNU/Linux-Fedora ou une interface plus complète manque (à mon goût).

myousicme

J'ai redécouvert Grooveshark interface sympa, j'ai trouvé les quelques morceaux que je cherchais, impeccable.

grooveshark

Cependant, ne demandez pas pourquoi, j'avais envie d'avoir une application cliente plutôt que le navigateur. En cherchant rapidement je suis tombé sur gSharkDown !

En plus de gérer ses playlist, tout comme on peut le faire en ligne sur le site, ce logiciel permet le téléchargement des pistes au format mp3. Peut mieux faire pour le format de stockage, j'en conviens, mais je n'ai qu'à acheter le CD et l'extraire en FLAC !

gSharkDown-download

Bref un logiciel sympa, qui vaut le coup de connaitre !

Installation sous Fedora

# yum install python-configobj

# wget https://bitbucket.org/vkolev/gsharkdown/downloads/gsharkdown-0.7.0-2.noarch.rpm

# yum localinstall gsharkdown-0.7.0-2.noarch.rpm

Le tour est joué !

gSharkDownLe petit plus, gSharkDown se met dans la barre de notification, très pratique pour gérer vos lectures :) !

À lire également :

vendredi 26 octobre 2012

Mise à jour d'ownCloud depuis mon ReadyNas Ultra 4

Version française

Note avant toute migration d'ownCloud

Je ne saurai vous conseiller de faire des sauvegardes à la fois régulièrement mais aussi avant chaque mise à jour ! De plus, il est conseillé de monter de version dans le dernier patch d'ownCloud avant d'upgrader à la version majeur ou mineur du dessus !

Vous l'aurez deviné, j'ai donc migré en 2 étapes, 2 fois la même manipulation d'affilé vu que le plugin ReadyNas que je cite dans ce billet : OwnCloud - Partage de fichiers est en version 4.0.4.

Migration d'ownCloud pour ReadyNas basé sur l'add-on de ReadyNasXtras

Connectez-vous en SSH à votre ReadyNas, si besoin vous pouvez utiliser ce plugin : Enable SSH

Téléchargement et installation

#!/bin/bash

cd /tmp
rm -Rf owncloud*.*
#wget http://mirrors.owncloud.org/releases/owncloud-latest.tar.bz2
wget http://mirrors.owncloud.org/releases/owncloud-4.5.5.tar.bz2
#rm -Rf /usr/share/owncloud_*
mv /usr/share/owncloud/ /usr/share/owncloud_save
#tar -xjf owncloud-latest.tar.bz2
tar -xjf owncloud*.bz2
mv owncloud /usr/share/
chown -R admin:admin /usr/share/owncloud/
cd /usr/share/owncloud/
ln -s /c/.owncloud/data/ data
cp -R ../owncloud_save/config/ ./
cp -R ../owncloud_save/.htaccess ./
cp -Rn ../owncloud_save/apps/ ./
chown -R admin:admin /usr/share/owncloud/
cd /etc/frontview/
apache-ssl -f /etc/frontview/apache/httpd.conf -k restart

Explication

Bon, je vous dois qd même une petite explication, une fois le fichier téléchargé, on sauvegarde l'ancienne instance d'ownCloud afin d'un de sécuriser l'opération et surtout parce qu’il y a des fichiers de configuration que l'on souhaite récupérer :

3 répertoires et 1 fichier:

  • config
  • data (qui se trouve être un lien symbolique vers /c/.owncloud/data, car me demandez pas pourquoi, mais /c/ est un autre point de montage ayant le plus d'espace ! pourquoi un /c/ et non /home ... ??? merci Netgear !!!)
  • .htaccess
  • apps (contient les plugins éventuellement ajoutés)

Sans ça, vous retrouveriez pas vos petits et surtout, sans le dernier, La planète aurait accès à vos fichiers :D !

Votre nouvelle version est maintenant déployée ! Il ne vous reste plus qu'à vous rendre sur https://mon_ip_ou_mon_dns/owncloud/ et vous connecter !

Migration du client ownCloud en 1.1.1 pour Fedora

Tout d'abord, il faut penser à désactiver ou enlever le dépôt utilisé précédemment :

# vi /etc/yum.repo.d/isv\:ownCloud\:community.repo

...
enabled=1
...

...
enable=0
...

Personnellement, j'ai dû désinstaller owncloud-client et mirall :

# yum remove owncloud-client mirall

Ensuite, même combat que pour la version 1.0.5 du client :

# cd /etc/yum.repos.d/
# wget http://download.opensuse.org/repositories/isv:ownCloud:devel/Fedora_16/isv:ownCloud:devel.repo
# yum install owncloud-client

On se retrouve avec un nouveau dépôt dédié à ce nouveau client ownCloud ... l'histoire ne dit pas comment le repository va évoluer, quid de la prochaine version ?

Pour le client mobile android, une reconfiguration peut être nécessaire après le passage à la 4.5.1 d'ownCloud.

Bilan 4.5.1 d'ownCloud

J'avoue être réellement conquis ! Avec cette mise à jour, les quelques bugs comme la déconnexion qui ne fonctionnait pas sur l’interface web, ou une synchronisation via cette même interface qui était limite. Là on à vraiment l'impression d'un outil plus abouti et toujours si prometteur ! Seule ombre au tableau, l'"Instant Upload" qui fonctionnait bien avant à l'air de vouloir faire des siennes ... à vérifié car le client Android m'indique bien que le fichier à été téléversé ! :) !

Je pense attaquer le reste maintenant que l'installation et la mise à jour sont fiables :) ! J'ai commencé d'ailleurs à utiliser les modules d'édition de fichier texte ou LibreOffice :) C'est très très sympa !

English Version

Notes before ownCloud update

At first, make backup !!!! Daily or weekly, and before update ! On the ownCloud website, it advice to update all patches before upgrade to the new version.

So, has you supppose, I updates in 2 steps with the same way because ReadyNas add-on that I use in this article : OwnCloud - Partage de fichiers is in 4.0.4 version.

OwnCloud update on ReadyNas based on ReadyNasXtras's add-on

Connect with SSH to your ReadyNas, for that you need this plugin : Enable SSH

Download and installation

#!/bin/bash

cd /tmp
rm -Rf owncloud*.*
#wget http://mirrors.owncloud.org/releases/owncloud-latest.tar.bz2
wget http://mirrors.owncloud.org/releases/owncloud-4.5.5.tar.bz2
#rm -Rf /usr/share/owncloud_*
mv /usr/share/owncloud/ /usr/share/owncloud_save
#tar -xjf owncloud-latest.tar.bz2
tar -xjf owncloud*.bz2
mv owncloud /usr/share/
chown -R admin:admin /usr/share/owncloud/
cd /usr/share/owncloud/
ln -s /c/.owncloud/data/ data
cp -R ../owncloud_save/config/ ./
cp -R ../owncloud_save/.htaccess ./
cp -Rn ../owncloud_save/apps/ ./
chown -R admin:admin /usr/share/owncloud/
cd /etc/frontview/
apache-ssl -f /etc/frontview/apache/httpd.conf -k restart

Explanation

So, I give you some explanation, after the download of the last version (maybe, the link is not good and you have to update to link to the version you want, each time), we save the old ownCloud instance to secure our operation ;) and also because there are some configuration files which we want to keep :

3 folders and 1 file :

  • config
  • data (which is a symbolic link to /c/.owncloud/data,I don't know why, but /c/ is an other mounted point with more space (all HDD added in the nas)! Why a /c/ and not an /home directory like under linux... ??? thanks Netgear !!!)
  • .htaccess (for secure access)
  • apps (contains owncloud add-on)

Less that, you lose all you specific configuration ... it would be bad :/

so your new ownCloud version is up to date ! Go to https://my_ip_or_my_dns/owncloud/ and connect you !

Update sync client ownCloud in the 1.1.1 version on Fedora

So you have to disable or remove the old repository :

# vi /etc/yum.repo.d/isv\:ownCloud\:community.repo

...
enabled=1
...

...
enable=0
...

In my case, I have to remove owncloud-client and mirall :

# yum remove owncloud-client mirall

then, same way for install version 1.0.5 of sync-client :

# cd /etc/yum.repos.d/
# wget http://download.opensuse.org/repositories/isv:ownCloud:devel/Fedora_16/isv:ownCloud:devel.repo
# yum install owncloud-client

It works, you have only one last thing : configure it ;) !

for the android client cell, just a new configuration may be necessary when you'll be in 4.5.1 of ownCloud server.

Resume ownCloud 4.5.1

I'm very exited about this program ! And after this last update, many bugs are fix, like this one about the logout on the website ! It seems really a good job and on all sync-client too (InstantUpload works fine on my Android, etc ...)

Have fun !

À lire également :

mardi 23 octobre 2012

Rotation de vidéo avec Mencoder

Ceci est une note afin de ne pas oublier comment faire la prochaine fois que j'utiliserai ma caméra embarquée pour une rando VTT comme un manche :) !

En effet, j'ai eu la bonne idée de filmer ce que je faisais avec une caméra Oregon. Super, sauf qu'évidemment, je l'ai tourné un quart de trop ! Donc soit je tourne mon écran si je veux regarder le résultat, soit je fais un fichier vidéo retouché pour ne plus avoir à faire fonctionner mon muscle stérno-cléido-mastoïdien, car admettons-le tourner son écran de 90° n'est pas toujours simple ... du coup on préfère tourner la tête !

Après tout ce blabla, et un # yum install mencoder lame lame-libs

Il ne me reste plus qu'à utiliser la commande suivante :

mencoder -ffourcc XVID -oac mp3lame -lavcopts acodec=mp3:abitrate=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -vf rotate=2 mon_fichier.avi -o mon_nouveau_fichier.avi

Ici, la "seule" option qui m'interesse se trouve être rotate qui peut prendre 4 valeurs :

0 Rotation de 90 degres sens horaire et flip (par defaut).  
1 Rotation de 90 degres sens horaire   
2 Rotation de 90 degres sens anti horaire   
3 Rotation de 90 degres sens  anti-horaire et flip. 

Et voilà le travail, rien d'extraordinaire, mais ça me permettra de l'avoir sous la main pour la prochaine bourde :) !

À lire également :

mercredi 29 février 2012

Installation de Heimdall sur Fedora 15-16

Comme déjà présenté dans ce billet sur le flashage de ma Galaxy Tab 7" , J'utilise l'outil Heimdall sur Fedora en remplacement d'Odin sur Windows.

heimdall-frontend.png

Installation

Pour l'installation, que ca soit un système 32 ou 64 bits, nous allons utiliser des rpms tout prêts fais, disponibles ici : http://users.linpro.no/ingvar/heimdall/f15/x86_64/

Il va falloir user du wget et yum install :

$ su -

# wget http://users.linpro.no/ingvar/heimdall/f15/x86_64/libpit-1.3-0.0.git.20110817.ed9b08e5.fc15.i686.rpm http://users.linpro.no/ingvar/heimdall/f15/x86_64/libpit-static-1.3-0.0.git.20110817.ed9b08e5.fc15.i686.rpm http://users.linpro.no/ingvar/heimdall/f15/x86_64/heimdall-1.3-0.0.git.20110817.ed9b08e5.fc15.i686.rpm http://users.linpro.no/ingvar/heimdall/f15/x86_64/heimdall-frontend-1.3-0.0.git.20110817.ed9b08e5.fc15.i686.rpm

# yum localinstall libpit*.rpm  heimdall*.rpm

Utilisation

Toujours en root (sinnon, vous n'avez pas les droits pour utiliser l'usb...), vous pouvez ensuite utiliser Heimdall en ligne de commande ou via l’interface graphique via heimdall-frontend !

# heimdall-frontend

À lire également :

mercredi 30 novembre 2011

Migration Fedora 15 à Fedora 16 via preupgrade

fedora-16.jpgVoilà, après quelques semaines, je me décide enfin à passer à Fedora 16 ! Au vu des nouveautés je n'ai pas pu attendre plus longtemps ! (Notamment tout ce qui touche à la virtualisation ;) )

Seulement voilà, quelques petits problèmes sont apparus lors de cette mise à jour ... c'est rare, mais ca arrive !

Voici la procédure à suivre, si après le preupgrade,, vous arrivez sur un écran "Oh no! ..." ou "Oh mince! ...

Changement uid et gid

Tout d'abord il faut éditer 2 fichiers, dans lequel nous allons remplacer les uid de notre (nos) utilisateur(s), le tout avec les droits root :

# vi /etc/passwd
# vi /etc/group

J'ai passé mon uid de 500 à 1000. Rappel pour vi : i pour insérer, /monuser pour rechercher la chaine monuser, [echap]wq pour enregistrer et quitter et [echap]q! pour quitter sans enregistrer.

Ensuite :

# find / -gid 500 -exec chgrp -h 1000 {} \; # find / -uid 500 -exec chown -h 1000 {} \;

Enfin on change le propriétaire de /home/monuser :

# chown -Rf 1000 /home/monuser

Voilà, en théorie, plus de problèmes au niveau des droits ...

Problème avec Gnome

J'ai été contraints de supprimer l'ensemble des extensions :

# yum remove gnome-shell-extension*

Par sécurité, j'ai aussi enlevé le driver propriétaire Nvidia :

# yum remove *nvidia*

Après tout cela, j'avais toujours cette erreur.

# yum reinstall gnome-shell

Et voilà, je peux enfin me connecter !
Fedora 16 me voilà !

jeudi 20 octobre 2011

Quand MySQL WorkBench cherche ses tables ...

MySQL WorkBenchDepuis hier, je me suis rendu compte que MySQL Workbench n'arrivait plus à lister les tables de mes schémas MySQL.

Dès que je voulais afficher les tables, "Fetching" apparaissait de manière interminable et systématique ... Serait-ce parce que le paquet fourni par Fedora est corrompu ???

# yum reinstall mysql-workbench ne change rien ...

Je passe alors par le dépôt de Remi, mais rien n'y fait ... Cela doit alors provenir de mes données ... seulement voilà, avec un bon vieux MySQL Query, cela fonctionne ... Il m'aura fallu chercher 2 secondes pour tomber sur cet incident ouvert chez MySQL, lire quelques réponses et tester ce qui suit :

$ mysql_upgrade -u myuser -pmypassword -P myport -h myhost

Je relance MySQL WorkBench et ... tadaaa ! Voilà mes tables !!!

Je pensais que partager cette astuce pourrait servir ou me servir à nouveau ;) !

À lire également :

jeudi 22 septembre 2011

CentOS + Tomcat + beaucoup d'ouvertures de fichiers = java.net.SocketException: Too many open files

ExceptionTout est dans le titre !!! Comme d'habitude, c'est plus un pense-bête qu'un véritable article ... si ça peut aider ...

J'ai eu une surprise ce matin sur un serveur client de constater cette erreur :

java.net.SocketException: Too many open files


C'est un serveur sous CentOS 5.5 hébergeant un serveur MySQL, un serveur tomcat avec plusieurs Webapps, un serveur Apache et enfin un serveur propriétaire qui utilise pas mal de socket et a une base de donnée en interne ...

Cocktail génial pour visiblement dépasser la limite par défaut du système s'élevant à 1024 que l'on obtient en faisant un :

ulimit -n

Il y a 2 valeurs possibles à modifier, celle présente dans le fichier /proc/sys/fs/file-max par défaut, celle-ci est assez élevée (plus de 64000). Au besoin il faut modifier la ligne suivante :

...

fs.file-max = 64000

...

Si (comme tel était mon cas) la valeur de ce fichier est plus élevée, il reste à ajouter une entrée au fichier /etc/security/limits.conf :

user         -          nofile          8192

ou

@group         -          nofile          8192

La première colonne désigne l'utilisateur ou le groupe (grâce à @) ou encore n'importe qui grâce à *.
La seconde colonne, on détermine si la limite est soft ou hard, ou les 2 grâce à -.
La troisième colonne indique sur quel paramètre cette configuration s'exécute, ici nofile correspond au paramètre open files retourné par ulimit.
Enfin la dernière colonne indique la valeur.
Dans mon cas, j'ai rajouté :

@tomcat         -          nofile          8192
optitime           -          nofile          8192

Il est indiqué sur la documentation Red Hat de redémarrer le serveur pour que cela prenne effet. La solution peut consister à relancer le ou les services concernés ainsi que les sessions utilisateurs.

Voilà, en espérant que ça puisse aider et surtout m'éviter de rechercher cette information à nouveau ;) !

À lire également :

mercredi 17 août 2011

Création d'un dépôt RPM à base de Fedora

Introduction

Je vais partir du principe que nous allons créer un dépôt RPM pour Fedora 14 et CentOS/RHEL 5 dans /var/www/html/linux/. Voici l'arborescence :

/var/www/html/linux/fedora/14/i386/
/var/www/html/linux/fedora/14/x86_64/
/var/www/html/linux/el5/5/i386/
/var/www/html/linux/el5/5/x86_64/

Chacun des chemins cités ci-dessus est un dépôt. Ainsi, dans ce qui suit on remplacera /path/myrepo par /var/www/html/linux/fedora/14/i386/ puis pour l'ensemble des commandes par /var/www/html/linux/fedora/14/x86_64/ et ainsi de suite pour chacune des architecture des distributions que concerne notre dépôt.

Vos rpm seront donc présents avant la génération de createrepo et repoview ;)
MyRepo

Préparation des chemins contenant les RPM

su -lc 'mkdir -p /var/www/html/linux/fedora/14/i386/'
su -lc 'mkdir -p /var/www/html/linux/fedora/14/x86_64/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/i386/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/x86_64/'


Pour el5, on peut installer des pré-configuration lors de l'installation de l'OS, du coup, $releaseversion n'est pas forcément 5, mais peut être 5Workstation, 5client ou 5Server. Dans ce cas on en profite pour créer des liens symboliques :
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Workstation'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Client'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Server
'

Installer un dépôt RPM

Installation d'un serveur web

Tout d'abord commençons par installer un serveur Apache :
su -lc 'yum install httpd'

Configuration du dépôt

Pour configurer notre dépôt, nous allons utiliser l'outil createrepo :
su -lc 'yum install createrepo'

Créons dans /etc/httpd/conf.d/ un fichier de configuration pour notre dépôt dans Apache :
su -lc 'vi /etc/httpd/conf.d/repository.conf'

Voici le contenu du fichier :

<Directory /var/www/html/>
    Options Indexes
    Options Indexes FollowSymLinks
    Order allow, deny
    Allow from all
</Directory>

Création du dépôt

La commande de base pour créer une dépôt est createrepo :
createrepo /path/monrepo

Le plus souvent, on crée un dépôt en générant une base sqlite (cela nous sera utile pour repoview), pour cela, il faut utiliser l'option -d :
createrepo -d  /path/monrepo

L'option -g permet de prendre en compte un groupe de RPM définit dans un fichier comps.xml :
createrepo -d -g /path/comps.xml /path/monrepo

Ainsi, nous pourrons utiliser les commandes yum grouptruc avec notre dépôt !

L'option --unique-md-filenames semble utile, notamment lorsque 'lon a plusieurs mirroir, permet ede donner un nom unique aux metadatas.
L'option --checksum sha est indispensable pour le dépôt EL-5 (la valeur par défaut, sha256, est ok pour fedora >= 11 et EL >= 6)

Donc au final on se retrouve avec :

createrepo --unique-md-filenames --checksum sha -d -g /path/comps.xml /path/monrepo

Génération de repoview

Un dépôt, c'est bien, de quoi le parcourir avec un design sympa, c'est mieux !

Installation de Repoview

su -lc 'yum install repoview'

Utiliser l'option -d sur la commande createrepo afin de créer la base sqlite qui sera utilisée par repoview.

Création des page html via repoview

Ensuite, c'est très simple on demande à repoview de créer les pages qui permettront de naviguer dans notre dépôt !
repoview /path/monrepo

Pour terminer, assurons-nous de disposer des droits pour l'utilisateur apache :
su -lc 'chmod o+rX /path/monrepo'

Exemple de fichier Comps.xml afin de créer des groupes de rpm

Si vous désirez installer l'ensemble de vos rpm dans votre repo, ou un sous-ensemble spécifique, vous devrez créer un fichier de groupes : comps.xml. Pour notre exemple, si nous voulions que myrpm.noarch.rpm soit installé par défaut et mybinrpm.i386.rpm soit une option, nous créerions un fichier de comps.xml comme ceci :

    <comps>
    <!--  <meta> -->
    <!-- Meta information will go here eventually -->
    <!--  </meta> -->
      <group>
        <id>mygroup</id>
        <name>MyGroup</name>
        <default>true</default>
        <description>Default RPMS from MyRepo</description>
        <uservisible>true</uservisible>
        <packagelist>
          <packagereq type="default">myrpm</packagereq>
          <packagereq type="optional">mybinrpm</packagereq>
        </packagelist>
      </group>
    </comps>

Pensez à relancer createrepo afin que vos groupes soient accessibles par les personnes ayant votre dépôt de configuré !

Ajout de pages manquantes

Cette opération est effectuée qu'un seule fois à la création de l'arborescence, puis à l'ajout d'un release ou d'une distribution.

Index principal dans /var/www/html/

Notre dépôt est prêt, reste à y ajouter quelques pages et feuilles de style !
su -lc 'vi /var/www/html/index.html
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<head>
        <meta content="text/html; charset=utf-8" http-equiv="content-type" />
        <title>RepoView: MyRpo</title>
        <link href="css/repostyle.css" type="text/css" rel="stylesheet" />
        <meta content="index,follow" name="robots" />
        <link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="index.html">My - Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.opti-time.com/">Site</a> | <a href="index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                    <h2>Download mirrors</h2>
                    <ul class="pkglist">
                        <li><a href="index.html" class="inpage">http://monurl/linux/</a> - <strong>primary</strong></li>
                    </ul>
                    <h2>Distribution choice</h2>
                    <h3>Fedora - Maintained version</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="linux/fedora/14/index.html" class="inpage">Fedora 14 (Laughlin)</a> -
                                                        repository auto-configuration package : <a href="linux/fedora/14/x86_64/my-repo-fedora-2.0-0.0.fc14.noarch.rpm">My-repository-fc-14.rpm</a>
                        </li>
                    </ul>
                    <h3>Enterprise Linux (RHEL / CentOS / Other clones)</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="linux/el5/5/index.html" class="inpage">Enterprise Linux 5.5</a> -
                            repository auto-configuration package : <a href="linux/el5/5/x86_64/my-repo-el5-2.0-0.0.el5.noarch.rpm">My-repository-el-5.rpm</a>
                        </li>

                    </ul>
                    <h2>Other resources</h2>
                    <ul class="pkglist">
                        <li>
                            <a href="linux/RPM-GPG-KEY-MyRepo.gpg" class="inpage">RPM-GPG-KEY-MyRepo</a>: the GnuPG public key of the key pair used to sign MyRepo's packages
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myRepo.org/">MyRepo</a>
            </p>
        </div>
    </div>
</body>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

su -lc 'vi /var/www/html/css/repostyle.css
Voici le contenu :

ul, ul li {
    list-style: none;
    }
a:link, a:visited {
    color: #000;
    text-decoration: underline;
    }
a:hover {
    color: #000;
    text-decoration: none;
    }
.nav {
    text-align: right;
    color: gray;
    font-size: small;
    }
.nactive {
    border-bottom: 1px dotted blue;
    background-color: lavender;
    color: blue;
    font-size: small;
    text-decoration: none;
    }
.ninactive {
    color: gray;
    font-size: small;
    }
.nlink {
    text-decoration: none;
    color: blue;
    font-size: small;
    }
.nlink:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    font-size: small;
    }
.inpage {
    text-decoration: none;
    color: blue;
    }
.inpage:hover {
    background-color: mistyrose;
    color: red;
    border-bottom: 1px dotted red;
    }
.levbar {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 11em;
    height: 100%;
    border-right: 4px dotted gray;
    border-bottom: 4px dotted gray;
    background-color: gainsboro;
    }
.main {
    position: absolute;
    left: 13em;
    width: 75%;
    }
h1,h2,h3,h4,h5 {
    border-bottom: 1px dotted gray;
    border-top: 1px dotted gray;
    background-color: whitesmoke;
    font-weight: normal;
    }
.pagetitle {
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    padding-top: 5%;
    padding-bottom: 5%;
    margin-top: 5%;
    margin-bottom: 5%;
    text-align: center;
    width: 100%;
    color: gray;
    background-color: white;
    }
dt  {
    font-weight: bold;
    margin-top: 1%;
    }
th  {
    background-color: whitesmoke;
    text-align: left;
    }
.field  {
    background-color: whitesmoke;
    text-align: right;
    }
.levbarlist {
    list-style-type: none;
    padding: 5%;
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    background-color: whitesmoke;
    }
.pkglist {
    padding-top: 2%;
    padding-bottom: 2%;
    list-style-type: circle;
    }
.letterlist {
    background-color: whitesmoke;
    }
.letterlist a {
    padding-left: 0.2em;
    padding-right: 0.2em;
    }
.footernote {
    text-align: right;
    font-size: small;
    background-color: whitesmoke;
    border-top: 1px dotted gray;
    color: gray;
    }
.repoview {
    text-decoration: none;
    color: gray;
    border-bottom: 1px dotted gray;
    font-size: small;
    }
.repoview:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    color: blue;
    font-size: small;
    }

NB : Ce style est très fortement/probablement inspiré de celui qu'utilise Remi pour ses dépôts !

Index de redirection dans /var/www/html/linux/

su -lc 'vi /var/www/html/linux/index.html'
Voici le contenu :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="0; url=../index.html" />
<title>Repository MyRepo</title>
<meta name="robots" content="noindex,follow" />
<link href="../css/repostyle.css" type="text/css" rel="stylesheet" />
</head>

<body>
<p><a href="../index.html">Packages MyRepo</a></p>
</body>
</html>

Index dans chacun des dépôts

Ici placez cet index autant de fois que de distributions supportée par votre dépôt
su -lc 'vi /var/www/html/linux/fedora/14/index.html'
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <title>Opti-Time - Fedora 14</title>
    <link href="i386/repoview/layout/repostyle.css" type="text/css" rel="stylesheet" />
    <meta content="index,follow" name="robots" />
    <link rel="shortcut icon" href="../../favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="../../../index.html">MyRepo- Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.myrepo.com/">Site</a> | <a href="index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                        <h2>Fedora 14 (Laughlin)</h2>
                    <h3>MyRepo</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>
                    <!--<h3>MyRepo-test</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="test/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="test/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>-->
                </div>
            </div>
            <div id="sidebar">
                <h2>fedora 14</h2>
                <ul class="levbarlist">
                    <li>
                        <a href="../../../index.html" class="nlink" title="Back to distribution choice">Back to distribution choice</a>
                    </li>
                </ul>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myrepo.com/">MyRepo</a>
            </p>
        </div>
    </div>
</body>

<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

NB : changez donc fedora et 14 par el5 et 5 pour CentOS et RHEL.

Terminons par redonner la propriété du répertoire /var/www/html/ à apache :
su -lc 'chown -Rf apache:apache /var/www/html/' Merci Remi !
su -lc 'chmod o+rX /path/monrepo'

Scripts de régénération automatique des dépôts

Tâche que vous allez vous trouvez à faire souvent, voici donc un script pour le dépôt el5.5 (effectué avec les droits root) :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/el5/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/x86_64/
repoview /var/www/html/linux/el5/5/i386/
repoview /var/www/html/linux/el5/5/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/x86_64/repoview/layout/
/etc/init.d/httpd reload

Et pour Fedora 14 :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/fedora/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/x86_64/
repoview /var/www/html/linux/fedora/14/i386/
repoview /var/www/html/linux/fedora/14/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/x86_64/repoview/layout/
/etc/init.d/httpd reload

Génération de la clé GPG et du fichier myrepo.repo

Pour finaliser votre dépôt, il vous faut une clé GPG qui va authentifier vos rpm présents sur le dépôt, je vous invite à lire GnuPG : Signature et Chiffrement afin de créer votre propre clé GPG.
Ensuite, il va falloir ajouter la définition de votre dépôt et la clé GPG à chacun de vos "clients" de votre dépôt.
Voici le fichier qui sera dans /etc/yum.repo.d/
su -lc 'vi /etc/yum.repo.d/myrepo.repo'

[MyRepo]
name=MyRepo Repository for Enterprise Linux $releasever - $basearch
baseurl=http://repository.opti-time.net:81/linux/el5/$releasever/$basearch/
enabled=1
#failovermethod=priority
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MyRepo.gpg

Et comme un exemple est toujours mieux qu'un beau discours, voici le contenu de mon fichier myrepo.spec qui me permet de générer un rpm pour ajouter MyRepo !

Name:           myrepo-repo-el5
Version:        1.0
Release:        0.0%{?dist}
Summary:        This package is the repository of MyRepo

Group:          Applications/ProjectManagement
License:        GPL
URL:            http://www.myrepo.org/linux/
Vendor:        Slobberbone
Source0:        %{name}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:    noarch

%description
Repository RHEL / Centos for MyRepo

%prep

%setup -q

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/yum.repos.d/
mkdir -p %{buildroot}%{_sysconfdir}/pki/rpm-gpg/
install -c -m 755  optitime.repo %{buildroot}%{_sysconfdir}/yum.repos.d/
install -c -m 755 RPM-GPG-KEY-Opti-TimeSA.gpg %{buildroot}%{_sysconfdir}/pki/rpm-gpg/

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{_sysconfdir}/yum.repos.d/optitime.repo
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Opti-TimeSA.gpg

%changelog
* Wed  Aug 17 2011 MyRepo <slobberbone@myrepo.org> 1.0-1.1
- initial release

Bien-sur, il faudra en faire un pour Fedora 14, en remplaçant el5 par fc ;)
Il ne faut pas oublier que lorsque vous mettez vos RPM sur le dépôt que ceux-ci soient signés grâce à la commande :
rpmsign --addsign monrpm.rpm

Conclusion

Vous voilà fin prêt ! La technique n'est peut-être pas orthodoxe, mais ça a le mérite de fonctionner ! Comme d'habitude, je vous invite à me laisser des commentaires afin de l'améliorer !

À lire également :

Les planètes su Système Libre

Bonjour à tous !

Je commence à avoir pas mal de liens que je garde dans un pauvre fichier texte ! Je n'ai pas encore pu m'installer une instance de Firefox Sync sur mon Nas, alors je ne déroge pas à la règle du cordonnier le moins bien chaussé !

Bref, tout ça pour vous annoncer une nouvelle catégorie sur mon blog ou je compte partager ces liens accumulés au fil des années ... C'est parti !!!

Un des outils dont je raffole particulièrement, c'est le planet ! Petit rappel de ce qu'est un planet grâce à Wikipédia :  http://fr.wikipedia.org/wiki/Planet

PlanetVoici une liste de planets forts intéressants pour tous libristes et/ou intéressés par l'informatique en général ! On y trouve souvent des sources qui nous donne envie de réaliser des projets qui nous inspirent et ça, c'est ce que je préfère dans ce domaine !!!

Totalement fan de ce concept, Communauté-SLA.org a très vite découvert un nouvel outil : son propre planet, source unique d'actualité concernant la SLA (Sclérose Latérale Amyotrophique ou maladie de Charcot).

Voici la liste :

Planets Général

Planets Distributions
Planets Basede Données
Planets Logiciels Planets Programmation
Cette liste n'est pas exhaustive, complétez-là et partagez-là ;) !

À lire également :