Bienvenue sur Think-Underground.com

Logiciels libres, photographie, musique, énigmes, humour et coups de cœur

mercredi 19 octobre 2011

Exif2CSV : exporter les EXIF de mes photos en CSV

Exif2CSV est un petit script Ruby que j'ai développé pour exporter les informations EXIF de plusieurs images das un fichier CSV. En d'autres terme, il sert à récupérer diverses informations sur vos photos (date de prise de vue, temps d'exposition, ouverture, type d'objectif utilisé, …) de manière traiter ces données dans un tableur ou un autre outil de votre choix.

Je l'utilise personnellement pour savoir les objectifs que j'utilise le plus (pour savoir quoi prendre quand je voyage léger), et essayer de comprendre les paramètres techniques qui font que d'autres photos sont plus réussies que d'autres.

Je diffuse ExifCSV sous licence libre (GPLv3) afin que vous puissiez l'adapter à vos besoins.
Suivez ce lien pour télécharger la dernière version d'Exif2CSV.

Mes Exifs dans un tableur

Installation sous Debian GNU/Linux

Sous Debian (et probablement les autres distributions dérivées), lancez les commandes suivantes en tant que root

apt-get install ruby rubygems libimage-exiftool-perl
gem install mini_exiftool

Téléchargez ensuite la dernière version de Exif2CSV et générez des CSV avec la commande

./ruby2csv.rb /répertoire/de/mes/photos

Installation sous Windows

L'installation sous Windows est un peu plus longue :

  • Téléchargez Exif2CSV ;
  • Téléchargez et installez RubyInstaller ;
  • Téléchargez et dézippez ExifTool dans le répertoire de Exif2CSV (ou un répertoire de votre PATH) ;
  • Renommez exiftool(-k).exe en exiftool.exe ;
  • Lancez cmd.exe et exécutez gem install mini_exiftool. (Vous aurez peut-être besoin de spécifier le chemin complet vers gem.exe, par exemple C:\Ruby186\bin\gem.exe install mini_exiftool)

Vous pouvez ensuite générer des CSV avec la commande ./ruby2csv.rb C:/répertoire/de/mes/photos. De nouveau, en fonction de votre PATH vous aurez peut-êre besoin de spécifier le chemin complet vers ruby.exe, par exemple : C:\Ruby186\bin\ruby.exe ruby2csv.rb C:/répertoire/de/mes/photos.

Ensuite

N'hésitez pas à vous emparer du script ou à me faire remonter des idées. Vous pouvez aussi adapter le script pour remonter plus d'informations que celles par défaut. Personnellement pour mon Nikon D50 je remonte toutes ces infos :

@@header = [ 'FileName'
           , 'Model'
           , 'ShutterCount'
           , 'SubSecCreateDate'
           , 'Orientation'
           , 'ExposureProgram'
           , 'ShutterSpeed'
           , 'Aperture'
           , 'FocalLength'
           , 'ISO'
           , 'WhiteBalance'
           , 'MeteringMode'
           , 'ExposureCompensation'
           , 'ExposureDifference'
           , 'ExposureBracketValue'
           , 'FlashMode'
           , 'FlashSetting'
           , 'FlashExposureComp'
           , 'LensID'
           , 'Lens'
           , 'FocusMode'
           , 'AFAreaMode'
           , 'AFPoint'
]

Bonnes stats ;)

mercredi 7 septembre 2011

GParted en Live CD

GPartedCe week-end je suis intervenu sur le PC d'une amie pour supprimer sa partition Windows et récupérer la place ainsi gagnée sur son espace Linux Mint Debian Edition (dire qu'il y a un an elle ne connaissait pas Linux ! Bref…). Je cherchais une solution simple et libre pour effectuer ces opérations. Je connaissais GParted — sorte de Partition Magic libre — que j'avais déjà utilisé à maintes reprises pour manipuler les partitions sur mon PC ; j'ai découvert GParted Live CD qui permet de démarrer une mini distribution Linux (basée sur Debian) pour effectuer quelques opérations de maintenance.

Une fois la traditionnelle sauvegarde des données réalisée (on n'est jamais trop prudent), j'ai pu supprimer des partitions, déplacer des partitions et redimensionner des partitions sur le disque système sans aucun problème. Étant sur un live CD, le disque n'était pas utilisé… sans quoi les opérations auraient été bien plus délicates.

À garder sous la main pour d'autres interventions du genre !

mercredi 20 juillet 2011

Se débarasser de « rt2500usb_init_eeprom: Error » au boot

La Linux Mint Debian Edition m'a toujours affiché deux petits messages d'erreur au démarrage qui m'ont toujours un peu énervé (j'aime pas les messages d'avertissement) :

phy0 -> rt2500usb_init_eeprom: Error - Invalid RT chipset detected.
phy0 -> rt2x00lib_probe_dev: Error - Failed to allocate device.

Pour me débarrasser de ces messages j'ai décidé de blacklister rt2500usb qui n'est de toutes façons pas le driver de ma carte Wifi. Un petit lsmod m'a permis de confirmer que ce module n'était pas utilisé par mon système.

La documentation de Debian explique clairement comment s'y prendre pour blacklister un module :

  1. Créer le fichier /etc/modprobe.d/rt2500usb.conf contenant le texte blacklist rt2500usb.conf ;
  2. Lancer depmod -ae en root ;
  3. Et recréer l'initrd avec update-initramfs -u.

L'erreur n'est plus là au boot et je peux de nouveau dormir tranquille :)

lundi 18 juillet 2011

Linux : mes expérimentations et mes choix

TimCruz de Geek De France.fr a lancé récemment un appel à retours d'expérience d'utilisateurs sous Linux. J'ai répondu à son appel et j'ai apprécié de me prêter au jeu pour finalement prendre un peu de recul sur mes choix actuels.

Voici peu ou prou le retour que je lui ai fait. Je ne cherche pas à polémiquer : chacun est libre de ses choix, j'exprime juste les miens.

Premiers pas

J'ai fait mes premiers pas à l'époque avec Mandrake qui était réputée pour sa convivialité. L'installation était plutôt simple à réaliser et clairement c'était une solution vraiment accessible pour débuter. Le plus gros reproche que j'ai rapidement pu faire à cette distribution était la lenteur effroyable de son système de paquets et sa complexité pour un débutant. Enfin une montée de version qui s'est mal passée m'a éloigné définitivement de cette distribution. Vous pouvez lire un article que j'ai écrit sur le sujet il y a six ans. C'est vieux, mais bon, ça reflète ma vision de l'époque.

Migration vers Debian

À l'époque quatre choses (au moins) m'ont poussé vers Debian :

  • Le système de paquets reconnu comme très performant, robuste et proposant un choix colossal de paquets ;
  • La stabilité légendaire de cette distribution ;
  • La branche « sid » pouvant être considérée comme du rolling-release ;
  • La documentation foisonnante et surtout celle d'Alexis de Lattre qui permet de bien comprendre l'ensemble du système et d'acquérir l'autonomie nécessaire pour utiliser pleinement Debian.

C'était en 2003 et depuis mon point de vue n'a pas vraiment évolué : Debian est resté ma distribution de prédilection. Debian est devenu plus simple à installer et reste toujours aussi fiable. Je n'ai jamais eu besoin de réinstaller une machine Debian et pourtant je les torture régulièrement[1].

Mon utilisation de Debian depuis 2003

J'ai plusieurs machines aujourd'hui, toutes sous Debian… ou dérivée :

  • Des serveurs (sites internet, mails, serveur DNS, proxy, media center, etc.) ;
  • Un PC fixe sur lequel je fais principalement de la retouche photo et de l'enregistrement de musique (home studio), mais j'ai aussi une utilisation plus classique (surf internet, écoute de musique, bureautique, jeu, …) ;
  • Un portable qui me sert que ponctuellement quand je pars en vacances ou que je suis cloué au lit.

Mes serveurs utilisent Debian stable, accusant certes un léger retard des logiciels en terme de version, mais au profit d'une stabilité réellement à toutes épreuves. J'utilise ponctuellement les backports lorsque j'ai besoin d'une version plus à jour d'un logiciel (typiquement pour ce qui tourne autour de Ruby[2]).

Mon fixe est sous Debian Sid. Malgré son nom « unstable » c'est une distribution qui reste très utilisable. Clairement, j'ai vraiment très rarement besoin de mettre les mains dans le cambouis. J'utilise parfois des paquets de la branche expérimentale lorsque j'ai besoin des toutes dernières versions d'un logiciel en acceptant qu'il présente des instabilités (RawTherapee, Shotwell, Ardour, …).

Enfin mon portable tourne sur Linux Mint Debian Edition (LMDE). Je voulais une distribution :

  • 100% compatible Debian (LMDE *est* une Debian Testing) ;
  • Qui fonctionne « out-of-the box » quitte à sacrifier un peu de liberté (codecs, flash, …)[3] ;
  • Qui soit en rolling release.

LMDE est aussi la distribution que j'installe à des amis curieux de découvrir Linux ou que je recommande à des personnes qui désirent se lancer seuls dans Linux et ayant un peu de connaissances informatiques.

Et le reste ?

Au fil des années et des humeurs j'ai testé pas mal d'autres distributions ; j'ai toujours été ramené à Debian. Voici quelques raisons (tout du moins pour les distributions majeures qui me passent par la tête) :

  • Ubuntu : j'aimais la facilité d'accès mais la distribution est d'une stabilité parfois déplorable à la sortie d'une version (je pense à PulseAudio intégré alors que le projet balbutiait ou Firefox 3 Alpha qui était vraiment instable)[4] ;
  • Fedora : j'aimais l'aspect propre et travaillé de l'interface mais le gestionnaire de paquets est vraiment lent et beaucoup moins avancé qu'apt ;
  • SuSE : j'aimais le panneau de configuration avec une multitude d'outils bien pensés (c'est avec SuSE que j'ai en premier réussi à faire marcher ma tablette graphique) mais les changements majeurs de version ne se sont jamais faits de manière transparente[5] ;
  • Gentoo : j'aimais le concept, mais les temps de compilation effroyables (je pense à OpenOffice ou KDE 3.5) justifiaient difficilement un gain de temps à peine mesurable[6].

Et donc ?

Et donc Debian a été ma deuxième distribution et plus rien ne semble pouvoir m'en éloigner. Elle a progressivement pris la main sur mon Windows pour finalement éradiquer complètement ce dernier. J'avoue avoir même arrêté de regarder d'autres distributions car franchement je ne vois pas ce qu'une distribution pourrait m'apporter de plus. LMDE — sur laquelle je prévois un article — est de plus une extension parfaite de Debian pour un solution un peu plus clef en main mais qui ne cache pas ce qu'elle a sous le capot.

Notes

[1] sauf une fois dont je rigole encore.

[2] … un peu compromis ces derniers temps.

[3] Un peu à la manière de MEPIS.

[4] voir mon vieil article sur (k)Ubuntu pour quelques réflexions de l'époque.

[5] voir mon vieil article sur SuSE pour quelques réflexions de l'époque.

[6] voir mon vieil article sur Gentoo pour quelques réflexions de l'époque.

mercredi 22 juin 2011

Changer sa partition racine de disque

Dans ma petite folie de nettoyage de printemps annuel, j'ai décidé de changer ma partition racine de disque. Je voulais donc migrer un système (Debian Sid) d'un disque dur vers un autre disque dur, si possible depuis ce système directement (c'est-à-dire typiquement en m'évitant de booter avec un live CD).

Attention, soyez certains de comprendre ce que vous faites en lisant la suite de cet article. En particulier, une copie d'un système « à chaud » n'est pas forcément la chose la plus intelligente à laquelle j'ai pu penser ces dernières années… mais ça a très bien marché.

Admettons — arbitrairement mais pas tout à fait par hasard — que mes partitions s'appellent /dev/hda1 (origine) et /dev/sda1 (cible).

Recopie du système et « chroot »

  • Monter le nouveau disque et y copier les données :
mkdir /media/newroot
mount /dev/sda1 /media/newroot
cp -xa / /media/newroot
  • Se connecter sur le nouveau système et adapter son /etc/fstab !!!.
chroot /media/newroot
vim /etc/fstab

Installation de Grub

À partir de là, tout semble bien sauf que update-grub ou grub-install m'insulte en me disant que la partition root n'est pas montée. Un peu étonnant car j'y suis connecté, mais pas si fou si on considère que le répertoire /dev est vide…

Solution ? Greffer /dev et autres joyeusetés sur ceux du système existant :

mount -o bind /dev/ /path/to/chroot/dev
mount -t proc none /path/to/chroot/proc
mount -t sysfs none /path/to/chroot/sys

Et là, miracle, Grub accepte de s'installer.

Ensuite

Ensuite… Ensuite… Ben on redémarre (proprement, après avoir démonté — virtuellement — les disques…) puis on croise les doigts. Moi ça s'est bien passé :) Au pire, j'avais toujours le système d'origine sous la main…

vendredi 11 mars 2011

Problème d'écran externe qui devient noir toutes les 30 secondes sur Linux

J'ai eu récemment un problème qui m'a rendu fou (littéralement). L'écran externe de mon portable s'est mit à s'éteindre à intervalles réguliers pendant une petite seconde. Vous imaginez une peu à quel point ce problème est frustrant, surtout quand vous avez prévu une petite soirée DVD.

Symptômes

  • L'écran du portable ne présente aucun problème ;
  • L'écran externe flashe en noir toutes les trente secondes ;
  • L'appel à la configuration des écrans dans Gnome ou d'autre commandes comme xrandr force un clignotement de l'écran.
  • L'écran externe cesse de clignoter lorsque je démarre Linux en mode dépannage (traditionnelement la deuxième entrée dans Grub) ;
  • L'arrêt de certains services comme dbus désactive ce comportement horripilant.

Explication

Une anomalie dans le logiciel upower (sur mon PC en version 0.9.8-2) qui coupe le flux vidéo lorsqu'il interroge l'écran. Cette anomalie semble corrigée dans la dernière version de upower qui n'est pas encore dans Debian Testing (ou Linux Mint Debian Edition).

Solutions possibles

  • Rétrograder le paquet upower à une ancienne version
    • par exemple en regardant les versions de upower dans le cache APT (/var/cache/apt/archives/) et en installant une version plus ancienne que la dernière version (apt-get install upower-version)
    • ou en passant par /etc/apt/preferences et des sources multiples (Debian Stable et Debian Testing) ;
  • Installer une version expérimentale du paquet apt-get install upower/experimental ;
  • Tuer comme un cochon le processus upowerd qui est une solution non pérenne mais rapide à mettre en place.

Voilà, j'espère que ça vous aidera à dépanner le souci si vous le rencontrez. Croyez-moi, c'est affreux à identifier comme problème.

- page 1 de 16