Logo Shotwell

Compiler Shotwell depuis les sources

Shotwell
Vala


J’utilise régulièrement Shotwell, un gestionnaire de photos que je ne saurais que vous conseiller. Ce logiciel gère les photos au format RAW, JPEG ainsi que les vidéos. Il me permet de taguer l’ensemble de mes photos de manière simple et donc de retrouver les photos d’une personnes de manière encore plus simple. Cependant, Shotwell a pour moi 2 défauts, il ne range pas les photos comme je veux et il utilise une base de données de type SQLite qui trouve ses limites avec un nombre de photos grandissant. J’ai donc entrepris d’étudier son code afin d’analyser les possibilités d’amélioration, c’est pas fait pour ça le libre ? La particularité de Shotwell est d’être développé en Vala.

Qu’est ce que le Vala

Le Vala est un langage de programmation compilé utilisé pour le développement de programme sur la plateforme GNOME. Sa syntaxe est basé sur le C#. Lors de sa phase de compilation, il est tout d’abord converti en C puis compilé en code machine.

Installation des pré-requis

Le code de Shotwell est disponible dans un dépôt Git de GNOME. Nous avons besoin des paquets suivants afin de pouvoir débuter.

# apt-get install build-essential git

Shotwell a lui aussi ses pré-requis. Nous en trouverons la liste sur la page du Wiki Gnome de l’installation de Shotwell. La commande suivante permettra d’installer les dépendances requises à la compilation.

# apt-get install libgee-0.8-dev libgexiv2-dev libgio2.0-cil-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libexif-dev libgphoto2-2-dev libraw-dev librest-dev libsoup2.4-dev libxml2-dev m4 libsqlite3-dev libjson-glib-dev valac libwebkitgtk-3.0-dev desktop-file-utils gnome-doc-utils libgconf2-dev

La compilation

Dans un premier temps, nous récupérons les sources de Shotwell sur le dépôt Git de Gnome.

$ git clone git://git.gnome.org/shotwell

La création du binaire se fait de manière simple via les 2 commandes suivantes :

$ cd shotwell
$ ./configure
$ make

La compilation demande environ 600 Mo de RAM, si vous n’avez pas assez de RAM, la compilation s’arrêtera avec les 2 lignes suivantes :

$ make
...
Makefile:660: recipe for target 'src/.stamp' failed
make: *** [src/.stamp] Processus arrêté

L’utilisation

Nous pouvons maintenant tester la version qui vient d’être compiler.

$ ./shotwell

Pour avoir les logs, vous devez spécifier la variable SHOTWELL_LOG. Les logs se trouveront, par défaut, à l’emplacement ~/.cache/shotwell/shotwell.log ou sur la console si vous spécifiez SHOTWELL_LOG_FILE=:console:. La commande suivante vous permettra d’avoir les logs en direct sur la console.

$ SHOTWELL_LOG=1 SHOTWELL_LOG_FILE=:console: ./shotwell

L’installation

Si vous désirez utiliser cette version de manière régulière et donc l’installer sur votre ordinateur, vous pouvez l’installer avec la commande suivante :

# make install

Shotwell sera installé par défaut dans /usr/local/bin.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.