Catégories
Musique Open-source Web

Gérer sa bibliothèque musicale en 2011

L’informatique en général et Internet en particulier a révolutionné la manière de gérer sa bibliothèque musicale. Sans remonter aux temps des disques vinyles et des K7 que l’on rembobinaient avec des stylos Bic, le numérique a permis de faciliter la vie de l’amateur de musique.

Au commencement vint le CD, une qualité professionnelle accessible au commun des mortel. Je me rappelle encore, non sans émoi, de la première écoute du CD de Jean-Michel Jarre (on ne se moque pas j’étais jeune à l’époque) sur la chaine HIFI flambant neuve de mon père.

Rapidement, quand les ordinateurs sont devenus assez puissant, nous avons commencés (nous les geeks et pas encore la ménagère de moins de 50 ans) à ripper nos chers ($$$) albums. Il fallait à l’époque être patient et pas trop regardant sur la qualité: il était impensable, vu le prix et la capacité des disques durs, de ne pas utiliser des codes compressés (ouha tu encodes en MP3 VBR à 96Kbps, le fou !). Il fallait ensuite connecter sa chaine HIFI avec son PC en perdant encore en qualité. Bref le résultat était loin de la source (CD).

Le coût du stockage, la puissance des ordinateurs et il faut le souligner la facilité d’utilisation de logiciels comme iTunes (ou je sais le mal absolu) ont facilité le passage en douceur du support physique (le CD encore et toujours lui) vers de bons vieux fichiers (MP3 ou AAC) stockés sur votre disque dur. C’était la belle époque des compilations en tout genre et il faut le souligner du piratage à outrance (même de la part de la ménagère de moins de 50 ans). Rien de plus facile que d’insérer un CD (pas forcement le sien) dans son lecteur, d’appuyer sur le bouton importer puis de remettre ce même CD dans sa boî”te.

C’est à cette période que les ventes des « lecteurs MP3 » portables explosent. Il était alors possible d’emporter la totalité (ou une grande partie) de sa bibliothèque musicale lors de ses déplacements. Le rêve ultime pour l’amateur de musique. Le CD meurt, c’est même à se demander si le vinyle ne lui survivra pas…

Pour éviter « l’hémorragie du piratage » (c’est leurs mots pas les miens), les majors se sont donc tournés, à la vitesse d’un éléphant centenaire, vers d’autres modèles de ventes basées sur la musique dé-matérialisée. Plus besoin d’acheter les albums sur un support physique. On achète directement des fichiers qui sont téléchargés directement sur votre disque dur à travers Internet. La révolution est en marche. Le DRM meurt. Apple touche le pactole avec son iTunes Store.

En parallèle, un autre modèle voit alors le jour. Pourquoi télécharger alors que les fichiers existent sur un serveur permettant de les diffuser en streaming (c’est-à-dire un téléchargement au moment de l’écoute et de manière transparent) ? C’est l’ère des Deezer et Spotify.

Les « lecteurs MP3 » sont remplacés par les « smartphones » et on utilise sa liaison 3G pour accéder en streaming à sa musique.

Que nous réserve l’avenir ? Difficile de le prévoir vu à la vitesse dont les choses évoluent. De nouveaux modèles essayent de s’imposer (iCloud Music par exemple) mais qui restent, pour l’instant, des déclinaisons des deux modèles précédents.

Pour en revenir au sujet de ce billet, je vais maintenant vous dire comment je gère ma bibliothèque musicale à la date d’aujourd’hui (en juin 2011). Mes CD ont été vendus ou classés dans deux beaux EasyCase. Ma bibliothèque iTunes comporte un RIP d’assez bonne qualité (MP3 384Kbps ou AAC) de ces CDs. Je l’utilise tous les jours depuis de mon iPod 160 Go pour écouter de la musique chez moi à travers mon installation HIFI. En parallèle, j’utilise le service Premium de Spotify (j’ai un abonnement depuis plus d’un an). Au début, je n’utilisais Spotify que pour écouter des nouveautés, mais il remplace de plus en plus mon lecteur iTunes (surtout depuis que Spotify permet d’importer automatiquement sa bibliothèque iTunes sur son compte et que j’ai pu retrouver mes compilations). Sur mon smarthphone, c’est également Spotify que j’utilise le plus sauf quand je suis à l’étranger ou dans une zone non 3G.

Pourquoi Spotify et pas Deezer ? Je pense que les deux services sont de qualité mais j’ai quelques points qui me semblent à l’avantage de Spotify:

  • je n’aime pas être dépendant d’une liaison Internet pour écouter ma musique (Spotify propose un mode d’écoute off-line ou les fichiers sont téléchargés sur votre machines, PC ou smartphone)
  • la bibliothèque proposé par Spotify me semble plus complète (du moins pour mes goûts musicaux)
  • le client Spotify Linux natif fonctionne très bien et évolue presque au même rythme que les clients Windows et Mac OS
  • la fonction d’importation de sa bibliothèques iTunes est vraiment un plus

Et vous ? Vous en êtes ou avec la fameuse dématérialisation de la musique ?

Catégories
Blog Open-source Planet-libre Systeme Web

WordPress et le trop plein de fichiers sess_*

Hier, plusieurs lecteurs (merci à eux :)) m’ont signalés que le message suivant s’affichait en haut de mon blog (sous WordPress 3.1.3):

Warning: session_start() [function.session-start]: open(/var/lib/php5/sess_7cad11067bb359c89ee47b9e692e47bf, O_RDWR) failed: No space left on device (28) in/www/wp-content/plugins/twitconnect/twitconnect.php on line 95

Ce message n’apparaissait que pour les lecteurs non authentifiés et uniquement sur certaines pages. Dans une premier temps j’ai donc décidé de désactivé le plugin incriminé dans le message d’erreur (TwitConnect qui permet de s’authentifier sur le blog avec son compte Twitter). J’ai ensuite regarder l’espace disque de mon serveur sans voir de problème. C’est en allant regarder les fichiers dans le répertoire /var/lib/php5 que j’ai commencer à comprendre pourquoi le plugin en question n’arrivait plus à générer de fichiers de sessions PHP (les fameux fichier sess_*). Il y avait en effet plus de 200.000 fichiers de ce type dans ce répertoire. On arrivait donc en limite maximale du nombre de fichiers par sous répertoire sous GNU/Linux en ext3.

Le problème vient sûrement d’un des plugins que j’utilise qui doit créer ces fichiers de sessions sans jamais les purger. Je suspecte (sans avoi de confirmation) le plugin TwitConnect et j’ai donc ouvert un incident sur le forum officiel du plugin.

Pour ne plus avoir de mauvaises surprises dans le futur, j’ai donc mis en place dans la crontab root journalière une commande qui va effacer les fichiers de sessions de plus de deux jours:

find /var/lib/php5/ -type f -atime +2 -name ‘sess_*’ -exec rm -f {} \;

Si vous utilisez également le plugin WordPress TwitConnect, je vous conseille donc de jeter un oeil sur ce répertoire et le nombre de fichiers sess_*.

Pour obtenir le nombre de fichier dans ce répertoire il suffit de saisir la commande suivante:

sudo ls -l /var/lib/php5/ | wc -l

En journée (après la purge de la nuit) je tourne autour des 45.000 fichiers (environ 25 nouveaux fichiers par minutes, mais cela dépend du nombre de visites non authentifiées sur votre blog…).

Catégories
Open-source Planet-libre Systeme

Mon desktop 201106

Comme chaque mois, je vous  présente un de mes bureaux. Ce mois ci, zoom sur mon PC portable perso sous Ubuntu 11.04 (le PC portable pro étant retourné sous Debian 6). Je peaufine ici la customisation de ce bureau sous Unity en y ajoutant notamment Conky pour afficher des informations systèmes directement sur le fond d’écran.

Voici donc ce que cela donne:

Les principales caractéristiques

Conky

Pour installer le thème Conky Orange, il faut bien sur dans un premier temps installer Conky sur votre système (en cliquant directement ici si vous êtes sous Ubuntu) ou en suivant la documentation Ubuntu-fr.

Ensuite, il suffit de saisir les commande suivante dans un terminal:

wget http://gnome-look.org/CONTENT/content-files/137503-conky_orange.zip

mkdir ~/.conky/

cp conky_orange/* ~/.conky/

mv ~/.conkyrc ~/.conkyrc.old

ln -s ~/.conky/conkyrc_orange ~/.conkyrc

Le dock Unity

La configuration d’Unity avait déjà été détaillée dans un dernier billet. Dans le Dock, je configure les applications suivantes pour y être en permanence (bouton droit / conserver dans le dock):

  • Dossier personnel (accès direct à mon $HOME)
  • Chromium (Navigateur Web)
  • Terminator (client terminal)
  • Filezilla (client FTP / SFTP)
  • Hotot (client Twitter / Identi.ca)
  • Pidgin (messagerie)
  • Shutter (capture d’écran)
  • Spotify (ma musique !!!)

Et vous ? Cela donne quoi ?

A vous de nous montrer vos écrans (par exemple en utilisant yFrog puis en partagant l’URL) !

Catégories
Blog Open-source

Le panier du marché libre #10

Dixième édition du panier de liens plus ou moins intéressant que j’ai glané sur la toile.

En bonus la recette des artichauts à la barigoule, perso j’y ajoute un citron confit pendant la cuisson…

Catégories
Nagios Open-source Planet-libre Reseau

Installation pas à pas d’un serveur de supervision Icinga

Icinga est un des nombreux forks libres de Nagios qui font pas mal parler d’eux en ce moment. Il apporte son lot d’amélioration par rapport « à son père » comme une architecture distribuée, une utilisation possible des bases de données MySQL/PgSQL/Oracle ou encore une interface Web tirant partie des dernières technologies dans le domaine (cliquez ici pour tester la démonstration de l’interface Web Icinga). Pour voir une comparaison pas forcément impartiale entre Icinga et Nagios, vous pouvez consulter ce tableau.

Dans ce billet, nous allons installer et configurer un serveur de supervision Icinga sur un serveur Debian (version Lenny ou supérieure mais la procédure doit être facilement adaptable à Ubuntu Server).

Les caractéristiques du serveur Icinga seront les suivantes:

  • Icinga dernière version disponible
  • Données de surperision stockées dans une base de donnée MySQL
  • Interface Web basée sur Apache
  • Plugins Nagios 1.4.15

Cette procédure a été testé sur une machine virtuelle (VM) sous Debian 6.0 Squeeze fraichement installée.

Préparation de l’installation

Nous allons installer Icinga depuis les sources se trouvant dans le dépôt Git officiel. Nous aurons ainsi la dernière version disponible. Pour cela, il est nécessaire d’installer certaines librairies et outils sur votre système.

Note: Les commandes de ce billet ont été saisies dans un terminal administrateur. Il est également possible d’utiliser la commande sudo <cmd> pour executer certaines taches en tant qu’administrateur ou su – -c « <cmd> ».

On installe les pré-requis (à adapter si vous utilisez Ubuntu Server en lieu et place de Debian):

ETAPE 1

apt-get install apache2 build-essential libgd2-xpm-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev mysql-server mysql-client libdbi0 libdbi0-dev libdbd-mysql snmp libsnmp-dev git

En cas d’erreur (par exemple paquet introuvable), il faudra faire une recherche dans les dépots et remplacer la librairie manquante par la nouvelle version.

On passe ensuite à la création du compte utilisateur et du groupe avec lesquels Icinga sera exécuté.  Je préfère personnellement utiliser le compte nagios (et le groupe nagios) plutôt que icinga comme on le trouve sur la documentation officielle. En effet, cela permet de simplifier une migration éventuelle d’un serveur Nagios vers Icinga.

ETAPE 2

groupadd nagios

useradd -g nagios -c « Nagios User » -s /bin/noshellneeded nagios

passwd nagios

usermod -a -G nagios www-data

Installation depuis les sources (Git)

On passe ensuite à la récupération de la dernière version de Icinga sur le gestionnaire de version Git officiel.

ETAPE 3

cd /usr/src

git clone git://git.icinga.org/icinga-core.git

cd /usr/src/icinga-core/

git submodule init

git submodule update

Puis on compile « la bête » avec les commandes suivantes:

ETAPE 4

./configure –with-icinga-user=nagios –with-icinga-group=nagios –with-nagios-user=nagios –with-nagios-group=nagios –with-command-user=nagios –with-command-group=nagios –prefix=/usr/local/icinga –enable-idoutils –enable-ssl

make all

make fullinstall

Si vous souhaitez protéger l’accès à l’interface Web d’Icinga avec un login/password, il faut également saisir la commande suivante. Par exemple pour définir un compte icingaadmin:

htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

Installation des plugins Nagios

Comme Icinga est un fork de Nagios, il est possible d’utiliser directement les plugins de Nagios en version 1.4.15 au moment de la rédaction de ce billet.

Pour les installer on saisi:

ETAPE 5

cd /usr/src

wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz

tar zxvf nagios-plugins-1.4.15.tar.gz

cd nagios-plugins-1.4.15

./configure –prefix=/usr/local/icinga –with-cgiurl=/icinga/cgi-bin –with-htmurl=/icinga –with-nagios-user=nagios –with-nagios-group=nagios

make

make install

make install-root

Configuration de IDO

Arrivé à ce point de l’installation, vous devriez avoir un Icinga fonctionnel avec une base de donnée locale sous la forme de fichier texte (c’est le mode par défaut de Nagios). Pour avoir une installation évolutive et permettant d’exploiter les données issues de Nagios sur d’autres applications, il est nécessaire de configurer Icinga pour utiliser une base de donnée (MySQL dans notre exemple) en lieu et place de ces fichiers textes.

Pour cela, nous allons utiliser le module IDO qui fait l’interface entre Icinga et MySQL (ou PgSQL…). Ce module est l’équivalent du module NDO dans l’écosystème Nagios.

Le module IDO est installé par défaut suite à l’utilisation de l’option –enable-idoutils lors de la configuration de la compilation de Icinga. Il suffit donc de le configurer en suivant les indications suivantes:

ETAPE 6

cp /usr/local/icinga/etc/idomod.cfg-sample /usr/local/icinga/etc/idomod.cfg

sed -i -e « s/^use_ssl=0/use_ssl=1/g » /usr/local/icinga/etc/idomod.cfg

sed -i -e « s/^output_type=unixsocket/output_type=tcpsocket/g » /usr/local/icinga/etc/idomod.cfg

sed -i -e « s/^output=\/usr\/local\/icinga\/var\/ido.sock/output=127\.0\.0\.1/g » /usr/local/icinga/etc/idomod.cfg

cp /usr/local/icinga/etc/ido2db.cfg-sample /usr/local/icinga/etc/ido2db.cfg

sed -i -e « s/^use_ssl=0/use_ssl=1/g » /usr/local/icinga/etc/ido2db.cfg

sed -i -e « s/^socket_type=unix/socket_type=tcp/g » /usr/local/icinga/etc/ido2db.cfg

sed -i -e « s/^#broker_module=\/usr\/local\/icinga\/bin\/idomod.o\ config_file=\/usr\/local\/icinga\/etc\/idomod.cfg/broker_module=\/usr\/local\/icinga\/bin\/idomod.o\ config_file=\/usr\/local\/icinga\/etc\/idomod.cfg/g » /usr/local/icinga/etc/icinga.cfg

cat >> /usr/local/icinga/etc/modules/idoutils.cfg < EOF
define module{
module_name ido_mod
path /usr/local/icinga/bin/idomod.o
module_type neb
args config_file=/usr/local/icinga/etc/idomod.cfg
}
EOF

On doit enfin créer la base de donnée MySQL qui va stocker les données d’Icinga.

ETAPE 7

mysql -u root -p

mysql> CREATE DATABASE icinga; GRANT USAGE ON *.* TO ‘icinga’@’localhost’ IDENTIFIED BY ‘icinga’; GRANT SELECT , INSERT , UPDATE , DELETE ON icinga.* TO ‘icinga’@’localhost’;

mysql> FLUSH PRIVILEGES;

mysql> quit

mysql -u root -p icinga < /usr/src/icinga-core/module/idoutils/db/mysql/mysql.sql

Par défault, la base de donnée s’appelle icinga et elle sera accessible seulement en local (localhost) par l’utilisateur MySQL icinga avec le mot de passe icinga. (vous pouvez bien sur changer ces paramètres dans la base de donnée mais il faudra alors veiller à également les modifier dans le fichier ido2db.cfg).

Test de l’installation d’Icinga

On relance les processus pour prendre en compte notre configuration:

ETAPE 8

/etc/init.d/ido2db start

/etc/init.d/icinga start

/etc/init.d/apache2 restart

Puis on automatise le démarrage d’Icinga au prochain boot du serveur:

ETAPE 9

update-rc.d ido2db defaults

update-rc.d icinga defaults

Vous devriez avoir un Icinga fonctionnel ! Pour vérifier ceci, il suffit de pointer un navigateur Web vers l’URL suivante: http://<adresse ip serveur icinga>/icinga (ou http://localhost/icinga)

Migration de votre configuration Nagios (optionnel)

Comme nous l’avons vu au début de ce billet, Icinga est un fork de Nagios. C’est à dire qu’il est tout à fait possible d’utiliser les plugins et les configurations d’un serveur Nagios existant directement dans votre nouveau serveur Icinga.

Je vous conseille dans un premier temps d’archiver la configuration initiale de Icinga pour pouvoir revenir en arrière en cas de problème:

cp -R /usr/local/icinga/etc /usr/local/icinga/etc.default

Ensuite on copie la configuration depuis le répertoire de Nagios. Je pars sur l’hypothèse ou le serveur Nagios est installé sur la même machine que votre serveur Icinga. Si ce n’est pas le cas, il faudra transférer les fichiers depuis votre serveur Nagios.

cp -R /usr/local/nagios/etc/* /usr/local/icinga/etc/

On transforme ensuite la configuration pour l’adapter à Icinga:

mv /usr/local/icinga/etc/nagios.cfg /usr/local/icinga/etc/icinga.cfg

sed -i ‘s/nagios/icinga/g’ /usr/local/icinga/etc/icinga.cfg

sed -i ‘s/nagios/icinga/g’ /usr/local/icinga/etc/cgi.cfg

sed -i ‘s/nagios/icinga/g’ /usr/local/icinga/etc/resource.cfg

cp /usr/local/icinga/etc.default/htpasswd.users /usr/local/icinga/etc/

On devrait ainsi avoir une configuration mélangeant celle faite pour Icinga (notamment en ce qui concerne IDO) et votre ancienne configuration de Nagios.

On vérifie que la configuration ne comporte pas d’erreur:

/usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg

Si c’est le cas, il suffit de relancer Icinga pour prendre en compte cette configuration:

/etc/init.d/ido2db restart

/etc/init.d/icinga restart

/etc/init.d/apache2 restart

Vous pouvez faire fonctionner les deux services (Nagios & Icinga) en parallèle sans aucun problème. Cela peut être utile pour une phase de migration. Par contre il faut garder à l’esprit que vous aurez deux fois plus de requêtes vers vos serveurs…

Sources:

Catégories
Blog Open-source Planet-libre Systeme

Script de post installation de Debian Desktop

Comme la plupart d’entre vous, j’ai migré mon poste de travail vers la version 11.04 d’Ubuntu et je dois dire que pour une utilisation professionnelle, je trouve l’interface Unity encore perfectible. J’ai donc dans un premier temps testé la toute fraiche version de Fedora 15 avec Gnome 3 et je suis arrivé plus ou moin à la même conclusion.

J’ai donc décidé de « switcher » vers une Debian 6 (le script doit fonctionner sous Squeeze et Sid en adaptant le sources.list). Je voulais obtenir, au niveau du desktop, un résultat se rapprochant de ce que j’avais dans la version 10.10 d’Ubuntu. C’est à dire:

  • Gnome 2 avec un thème GTK Equinox Evolution Dawn + icônes Faenza
  • Conky avec le thème LUA 2011
  • Mes outils pour le blog et de tous les jours: Chromium, Hotot, Terminator, Shutter, Spotify, Dropbox
  • Une liste de dépôts utile pour mon boulot dans le sources.list (attention, le script utilise des dépôts « Sid » officiels et certains autres pouvant proposer des logiciels ou librairies « non libre »)

Comme je l’avais fait pour Ubuntu, j’ai donc développé un script post install pour Debian 6 qui va automatiser une partie de ces actions.

Le script est disponible dans le GITHub suivant (pour les remarques éventuelles, bug…):

https://github.com/nicolargo/debianpostinstall

Avant / Après

Voici un aperçu du bureau avant l’exécution du script…

… puis après (avec ce fond d’écran):

Téléchargement du script

Il faut saisir les commandes suivantes dans un terminal:

cd ~

wget https://github.com/nicolargo/debianpostinstall/raw/master/debian6postinstall.sh

chmod a+x debian6postinstall.sh

Exécuter le script

Le script nécessite les droits d’administrations. Le plus simple est donc de lancer un terminal administrateur (menu Applications > Accessoires > Terminal Administrateur) puis de saisir la commande suivante:

./debian6postinstall.sh

Un certain nombre d’informations va s’afficher sur l’écran. Si une question vous est posée, il suffit de choisir la réponse par défaut.

Si vous avez des remarques sur ce scripts, je suis comme d’habitude preneur !

Catégories
Blog Open-source Planet-libre

SophiaConf 2011

Le groupe de travail open-source de la Telecom Valley (06) organise juste avant les grandes vacances un cycle de conférences sur 4 jours (du 4 au 7 juillet 2011) sur des sujets pointus comme l' »Open Data« , l’Open Source sur plateforme mobile et embarquée, Android 3.0 et les méthodologies de développement agiles.

Détails du programme SophiaConf 2011:

Lundi 04 juillet : OPEN SOURCE, MOBILE ET EMBARQUE

Mardi 05 juillet : OPEN DATA

Mercredi 06 juillet : ANDROID 3.0 ET TABLETTES

Jeudi 07 juillet : DEVELOPPEMENT AGILE

Les conférences seront données sur le site de l’INRIA entre 17h30 et 20h et permettront d’apprendre et d’échanger. L’inscription gratuite peut être faite en ligne à partir de cette page sur le site officiel.

Pour ma part, je serais présent les mardi, mercredi et jeudi.

Qui viendra ?

Catégories
Blog Open-source Planet-libre Web

Comment je blogue ?

L’âge ou la notoriété aidant, vous êtes de plus en plus nombreux à me demander quel est la méthodologie et les outils que j’utilise pour bloguer. Loin de moi l’idée d’écrire un billet arrêté sur la question sachant qu’il y a autant de manières de bloguer que de blogueurs. Je vais donc vous donner ma méthode, que j’utilise maintenant depuis 2 ans et qui se base sur l’utilisation conjointe de services en ligne et de logiciels libres.

Les commentaires en fin de billet sont bien sûr et comme toujours ouverts pour nous faire partager vos méthodes/outils personnels.

La recherche d’information

C’est la base. Sans information, pas de billet, sans billet, pas de blog. Mes sources sont, par ordre d’importance, mes flux RSS, mes besoins personnels ou professionnels sur des sujets précis et enfin les réseaux sociaux Twitter et Identi.ca.

Les flux RSS

C’est ma principale source d’informations. Depuis que j’utilise les flux RSS des sites/blogs qui m’intéressent, c’est l’information qui vient à moi et pas le contraire. Leurs utilisations est une vraie révolution, il y a, pour moi, un avant et un après l’Internet des flux RSS. Je suis souvent surpris par le peu de personne utilisant cet outil de veille technologique même dans le milieu des technos / geeks.

Après avoir essayé pas mal de logiciels libres pour consulter mes flux RSS, je suis revenu au service en ligne Google Reader. Le principal avantage de ce service est de pouvoir lire mon flux sur différentes machines (boulot, domicile, téléphone…). De plus en plus de logiciel, notamment sur smarthphone mais également sur desktop, s’interface directement avec Google Reader en gérant une synchronisation des articles lus. Je bénéficie d'une offre mobile intéressante, me permettant d'accéder directement à toutes ces applications.

Quand un article m’intéresse et que je pense qu’il peut servir de base à un futur billet, je créé un billet de type brouillon dans l’interface Web de mon blog WordPress avec une description succincte et le lien (URL) vers la source. En parallèle, je marque l’article avec une étoile pour pouvoir le retrouver facilement.

Si l’article est intéressant mais que je ne souhaite pas en faire un billet sur mon blog, je le partage directement sur les réseaux sociaux Twitter /Identi.ca et la page Facebook du blog en appuyant sur le bouton « Share ».

J’essaye de conserver une liste ne dépassant pas 100 flux RSS et j’écarte systématiquement les sites qui publie à une fréquence trop élevée (par exemple les sites généralistes).

Mes besoins

J’ai la chance d’avoir un travail qui est une source d’inspiration pour mon blog, je peux notamment citer la supervision système et réseau (Nagios, Shinken, Centreon…)  et les frameworks multimédias (GStreamer, VLC, Flumotion…). Ainsi, si j’utilise des solutions libres dans certains de mes projets professionnels, j’essaye de faire un billet de synthèse sur le sujet. C’est pour moi un juste retour des choses.

A titre plus personnel, le fait de bloguer et d’héberger mon site sur un serveur dédié est également une source pour mes billets sur l’hébergement. Ce sont souvent des billets de tailles importantes nécessitant plusieurs heures de travail et différentes sources d’informations.

Les réseaux sociaux

Contrairement au flux RSS que j’utilise depuis longtemps, les réseaux sociaux Twitter et Identi.ca ne sont une source d’inspiration pour mon blog que depuis 2 ans. J’utilise principalement mon compte Twitter ou je « follow » environ 100 personnes.

Comme pour mes flux RSS, quand je trouve une information potentiellement intéressante pour un article sur mon blog, je prends un note de type brouillon dans WordPress. Si je pense que l’information peut intéresser mes abonnées Twitter/Identi.ca, je « retweet ». Il est important de faire attention à ce que l’on « retweet » sur son compte. En effet, je préfère limiter mes tweets à des informations intéressantes et originales.

La méthodologie

Une fois « la matière première » trouvée, il faut rédiger et mettre en forme son billet. Je travaille directement dans l’éditeur de WordPress qui c’est bien amélioré dans les dernières versions en mode brouillon et en améliorant petit à petit l’article. Le fond est important, mais la forme aussi. Il faut donc veillez à rédiger un texte aéré, fluide et illustré.

Pour que le référencement des mes billets soit bon, je veille également à bien renseigner les « metas data » (catégorie, tags, titre…). J’utilise le plugin WordPress All In One SEO pour m’aider dans cette tache.

Une fois le texte finalisé puis relu une dernière fois à tête reposé, je programme (fonction « schedule » de WordPress) la publication de mon billet à une heure donnée (le matin, entre 7h30 et 8h00 pour qu’il arrive tout chaud au moment de votre café dans votre flux RSS). Les billet en ligne, je veille également à répondre aux questions « intéressantes » (pas celle nécessitant un simple « RTFM »…), dans la limite de mes disponibilités et en gardant à l’esprit que le plus formateur pour un lecteur est de trouver par lui même la réponse à son problème.

Les moyens matériels

Coté serveurs, j’utilise un serveur dédié virtuel (Gandi) sous Ubuntu 10.04 LTS pour héberger mon blog. En parallèle j’utilise également un autre serveur (hébergé également chez Gandi) sous Debian 5 pour mes tests et validation de procédure. Je dispose également de serveur sous FreeBSD et RedHat dans le cadre de mon boulot.

Pour les articles nécessitant une machine « desktop », j’utilise mon PC personnel (laptop sous Ubuntu 11.04) ou mon PC boulot/test (sous Fedora 14 et bientôt Fedora 15). Je dispose également d’un appareil photo reflex pour illustrer avec une « belle » photo certains de mes billets.

Comme on a pu le voir, le CMS WordPress est à la base de mes outils pour bloguer. Quand je ne suis pas connecté à Internet, j’utilise un simple éditeur de texte (par exemple l’excellent TextAdept *) en éditant sauvegardant le/les fichiers dans une sous répertoire de ma Dropbox. Si j’ai besoin de faire des copies d’écrans ou des petites retouches photographiques, j’utilise le logiciel « bien connu » logiciel libre Shutter.

Mes outils pour la recherche d’informations sont les navigateurs web Chromium ou Firefox avec les extensions Google Reader et AddThis pour le partage rapide d’information vers les réseaux sociaux. Pour consulter et contribuer à ces derniers, j’utilise le logiciel de micro-blogging Hotot.

Gérer son temps

Quand on commence à bloguer, le temps passé à cette activité et aux taches que l’on vient de décrire est une des choses les plus difficile à gérer. Au début, on a plutôt tendance à faire le yoyo avec des journées ou l’on passe plusieurs heures sur son blog et d’autres ou l’on ne fait rien du tout. Cela à tendance à se lisser après quelques mois.

Personnellement, sur une journée type, je consacre moins d’une heure à mon blog (1/4 d’heure sur les flux RSS, 1/4 d’heure sur les réseaux sociaux et 1/2 heure à la rédaction des billets). Ces chiffres sont bien sûr une moyenne 🙂

Et vous amis blogueurs: « Comment bloguez-vous ? ».

Catégories
Gstreamer Musique Open-source Planet-libre Video

Présentation « powerpoint » du framework GStreamer

Comme vous avez pu le remarquer, depuis quelques mois la fréquence des billets sur le blog est en chute libre. La « faute » à mon boulot (celui qui paye les factures) pour lequel je suis pas ma en déplacement. J’ai pu juger comme il était difficile de bloguer loin de ses terres. J’ai donc vite renoncer à écrire des articles depuis les chambres d’hôtels et j’ai préféré visiter les belles villes de Rennes et de Paris.

Cependant ces fameuses mission m’ont permis de poser sur quelques planches « powerpoint » (c’est votre chef qui va être heureux) une introduction au framework GStreamer que j’aborde souvent dans mon blog (voir la page dédiée ici).  Cette présentation est bien évidemment distribuée sous licence CC BY v3.  L’idéal si vous avez à l’utiliser est de la faire tourner sur PC sous GNU/Linux avec l’ensemble des plugins GStreamer installés. puis à chaque planche ou il y a un exemple de faire un copier/coller de ce dernier dans un terminal (effet démo garanti).

Pour d’évidentes raisons de compatibilité, je diffuse la présentation au format PDF (il suffit de cliquer sur l’image ci-dessous pour lancer le téléchargement). Pour les personnes voulant modifier cette présentation, vous pouvez également la télécharger au format ODP.

Je vous rappelle, que l’ensemble des billets sur GStreamer est regroupé sur cette page. Si vous voulez être tenu au courant des nouveaux articles sur le sujet, je vous conseille de vous abonner au flux RSS du blog, à mon compte Twitter ou à partir de Facebook.

Enfin pour finir, si vous utilisez cette présentation merci de laisser un petit commentaire sur cette page…

Catégories
Nagios Open-source Planet-libre Reseau Systeme

Shinken découvre votre réseau pour vous

Si vous avez mis en place un serveur de supervision sur votre réseau, vous devez savoir que cette phase est souvent longue, fastidieuse et source d’erreur de configuration. Heureusement, la dernière version (0.6) de Shinken (le fork compatible Nagios développé de main de maitre par Jean Gabes) intègre un mesure de découverte de votre réseau.

Nous allons dans ce billet détailler les étapes pour utiliser ce module. Nous partons sur l’hypothèse ou vous avez un serveur Shinken/Thruk opérationnel. Si ce n’est pas le cas, j’ai développé un petit script shell permettant de faire cette installation pour vous.

C’est quoi donc ce module ?

Shinken-discovery est un programme qui va scanner les machines de votre réseau puis en déduire les services à superviser pour ensuite générer les fichiers de configurations pour Shinken.

Installation

Le scan de votre réseau se base sur le bien connu programme nmap qui doit donc être présent sur votre système.

Sur Debian / Ubuntu:

sudo aptitude install nmap

Sur Fedora:

yum install nmap

Le reste des programmes est inclue dans la version 0.6 (et supérieure) de Shinken.

Configuration

Si vous avez bien suivi, il faut maintenant dire à Shinken quel est le ou les réseaux à scanner. Cette configuration permet non seulement de découvrir des machines sur votre réseau local mais également (sous réserve de règles de filtrages compatible dans vos firewalls/routeurs) sur des réseaux distants.

La liste des réseaux à scanner est à configurer dans le fichier /etc/shinken/resource.cfg dans la variable $NMAPTARGETS$ (en fin de fichier):

# sudo vi /etc/shinken/resource.cfg

$NMAPTARGETS$=192.168.0.0/24 blog.nicolargo.com

Dans l’exemple ci-dessus je vais donc scanner:

  • 192.168.0.0/24: les 254 adresses de mon réseau local
  • blog.nicolargo.com: un serveur sur Internet que je surveille de près

Lancement de la découverte

Il suffit de saisir la commande suivante:

sudo shinken-discovery -o /etc/shinken/objects/discovery -r nmap

Selon la taille de votre réseau, cette opération peut prendre plus ou moins de temps (« I’m launching nmap »).

Comme on peut s’en douter, la configuration sera générée dans le répertoire /etc/shinken/objects/discovery. Le principal avantage est que l’on ne pert pas la configuration existante.

Note

Pour partir sur une nouvelle configuration basée uniquement sur le module de découverte (c’est à dire juste après une installation propre de Shinken), vous pouvez suivre la procédure suivante (au cas ou la configuration initiale est archivé dans /tmp/shinken-backup.tgz):

tar zcvf /tmp/shinken-backup.tgz /etc/shinken

sudo rm -f /etc/shinken/objects/hosts/*

sudo rm -f /etc/shinken/objects/services/*

sudo rm -f /etc/shinken/hostgroups.cfg

sudo touch /etc/shinken/hostgroups.cfg

sudo rm -f /etc/shinken/servicegroups.cfg

sudo touch /etc/shinken/servicegroups.cfg

/Note

On doit ensuite fixer les droits des fichiers générés:

sudo chown -R shinken:shinken /etc/shinken/objects/discovery

Prise en compte de la nouvelle configuration

Il suffit ensuite de redémarrer Shinken pour voir votre réseau:

sudo /etc/init.d/shinken restart

Si vous aviez déjà une configuration existante, il y a de forte chance pour que Shinken vous affiche un message d’erreur lors de la vérification de vos fichiers. Le résultat de la commande de check se trouve dans le fichier /tmp/shinken_checkconfig_result.

Par exemple, le module de découverte peut générer une entrée pour un host existant. Il faut alors éditer et ou supprimer le host en question pour que la configuration soit valide.

Conclusion

Ce billet n’est qu’une courte introduction à ce module qui peut être paramétré de manière beaucoup plus fine lors de la transformation du scan vers une configuration Shinken. J’aurai l’occasion de revenir prochainement sur ce vaste sujet.