Table des matières

, ,

Darktable

Darktable est un gestionnaire de photos libre sous licence GPL v3. Son développeur le décrit comme une table lumineuse ainsi qu'une chambre noire pour les photographes : il gère vos « négatifs numériques » dans une base de données, et permet de les visionner à travers une « table lumineuse zoomable » ou un gestionnaire de fichiers. Il permet également de traiter et de retoucher les images RAW de façon entièrement non destructive. Il est conçu pour le bureau GNOME, et est disponible en français. Le logiciel existe aussi en version Windows©* et Apple MacOSX©. Ce logiciel libre est comparable à Adobe Lightroom© et répondra aux besoins des photographes les plus exigeants qui utilisent des reflex et hybrides numériques.

Darktable en mode « table lumineuse »

Plus de captures d'écran sur le site officiel.

Installation

Depuis les dépôts officiels

Pour installer ce logiciel, il suffit d'installer le paquet darktable.

Depuis le dépôt Open Suse (stable)

Ouvrir un terminal et entrer la commande suivante selon votre distribution (ligne par ligne) :

echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_23.04/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_23.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable.gpg > /dev/null
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_22.10/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_22.10/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable.gpg > /dev/null
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable.gpg > /dev/null

Une fois la commande propre à votre distribution, le reste est identique :

sudo apt update
sudo apt install darktable

Avec Flatpak

Vous trouvez le flatpak dans GNOME Logiciels (logithèque). Articles dédiés : flatpak, tutoriel pour l'utiliser.

Depuis Flathub, suivez les instructions qui vous concernent pour installer Darktable selon le niveau de privilèges qui vous convient.

Version Snap

Depuis GNOME Logiciels (logithèque) ou avec la commande :

snap install darktable

Profils d'objectifs

Des profils récents sont déjà présents dans la version installée par Flatpak (et probablement Snap).

Les manipulations suivantes sont seulement valables si Darktable est installé à l'aide d'un dépôt tiers (openSUSE Build Service ou de Panda Jim) ou de celui d'Ubuntu. Les modules de correction de Darktable (exemples : Correction des objectifs, Vignetage, Aberrations chromatiques, Réduction de bruit, etc) peuvent utiliser le profil de votre de votre objectif afin d'optimiser les réglages de votre photo.

Si vous ne voyez pas les profils de votre objectif dans le choix que proposent les modules de correction, ils ne se trouvent sans doute pas dans la liste Lensfun utilisée par Darktable.

Par contre, ils se trouvent très certainement sur la longue liste très à jour de Wilson Bronger.

Pour ajouter la liste à jour :

sudo apt install liblensfun-bin
sudo lensfun-update-data

Et relancer Darktable.

Utilisation

Lancez l'application comme indiqué ici ou via le terminal (toutes versions ou variantes d'Ubuntu) avec la commande suivante :

darktable

Vue générale

Darktable se compose de 3 vues : table lumineuse, chambre noire, capture.

L'interface se voulant épurée, il existe de nombreuses astuces pour vous faciliter la vie ou améliorer votre productivité. Un mode d'emploi est disponible sur le site de darktable (en version française non officielle sur le site darktable.fr).

Pour ceux qui seraient d'emblée rebutés par la police minuscule de l'interface, il suffit d'aller sous Darktable dans :

Préférences Général à la ligne contrôles et texte DPI et de remplacer -1 par 110, ce qui rend l'interface bien plus lisible ! (Après redémarrage de Darktable).

Flux de travail rapide

Modules de retouche disponibles

L'essentiel des manipulations est réalisée dans l'espace CIELab. La liste des modules de retouche s'allonge chaque mois, mais on peut citer, dans l'ordre (fixe) de leur application :

En ligne de commande

On peut utiliser darktable-cli pour par exemple convertir un fichier raw en jpeg ou autre. Se reporter à l'aide (en) pour plus d'informations : aide officielle sur darktable-cli

Désinstallation

Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, le configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.

Nettoyer la base de données

Installer sqlite3

Copiez le code ci-dessous, collez-le dans un fichier et lancez-le. Il supprimera de la base de données toutes les photos qui n'existent plus sur le disque.

#!/bin/bash
#
#    DARKTABLE DATABASE CLEANER
#
#       This script removes from the database the files
#   that are not located where they are supposed to be.
#
#       USAGE :
#   ./darktable_db_cleaner.sh
#       Will use the database located in :
#         ~/.config/darktable/library.db
#
#   ./darktable_db_cleaner.sh /path/to/library.ext
#       Will use the specified database
#
# Created by Rufus Wilson
#   contact : marsou75@gmail.com
#
 
sqlite3_call() {
	if [ -f "$1" ] ; then
		library="$1"
	else
		library="/home/$USER/.config/darktable/library.db"
	fi
	sqlite3 -noheader -list -interactive "$library" "$2"
}
 
command -v sqlite3 || echo "sqlite3 is required" && sudo apt-get install sqlite3
 
for film_roll_id in $(sqlite3_call "$1" "SELECT id FROM film_rolls WHERE 1 ORDER BY id ASC;")
do
    film_roll_folder=$(sqlite3_call "$1" "SELECT folder FROM film_rolls WHERE id=$film_roll_id ORDER BY id ASC;")
    echo "***  $film_roll_folder  ***"
 
    echo "-- cleaning database"
    for photo_id in $(sqlite3_call "$1" "SELECT id FROM images WHERE film_id=$film_roll_id ORDER BY filename ASC;")
    do
	    photo_filename=$(sqlite3_call "$1" "SELECT filename FROM images WHERE id=$photo_id ORDER BY filename ASC;")
        if [ ! -f "$film_roll_folder/$photo_filename" ] ; then
            echo "$photo_filename deleted"
            sqlite3_call "$1" "DELETE FROM images WHERE id=$photo_id;"
        fi
    done
    nb=$(sqlite3_call "$1" "SELECT count(id) FROM images WHERE film_id=$film_roll_id ORDER BY filename ASC;")
    if [ "$nb" -eq "0" ] ; then
        sqlite3_call "$1" "DELETE FROM film_rolls WHERE id=$film_roll_id;"
    fi
    echo "    ->cleaned"
done
 
# Shrink the size of database
sqlite3_call "$1" "VACUUM"

Voir aussi


Contributeurs principaux : Gemnoc, OlivierT(oulouse).