Les fichiers de configuration

et de fonctionnement

de darktable

Ce document est également disponible en format PDF


À propos

Ce document décrit les fichiers et dossiers conformes à la version 5.6 de Darktable.

  • Les précédentes éditions mentionnaient la conformité avec les différentes versions de Darktable. Pour une lecture plus fluide, ces informations ont été supprimées, car les modifications entre les versions intervenues ne remettent pas fondamentalement en question le contenu de ce document, qui reste tout à fait utilisable pour toutes les versions depuis la 3.8.
  • La version 5.6 introduit entre autres la possibilité d’utiliser des modèles d’intelligence artificielle. Cela entraîne l’ajout d’un fichier de configuration supplémentaire. Cela amène également l’ajout de dossiers dédié au téléchargement et au stockage des modèles téléchargés. Les masques raster externes sont disponibles dans Darktable depuis la version 5.2. Leur usage nécessite la création d’un dossier destiné à leur stockage. Je ne l’avais pas mentionné précédemment, mais, puisqu’ils sont utilisés par les traitements IA, j’ai ajouté un paragraphe à ce sujet. Dans le même esprit, j’ai ajouté un paragraphe sur le stockage des fichiers LUT. Ces différents changements m’ont amené à restructurer ce document.

Préambule

Indépendamment de vos propres fichiers d’images, Darktable utilise un certain nombre de fichiers pour fonctionner. Ces fichiers sont de plusieurs ordres.

  1. On distinguera d’abord les fichiers qui sont propres à chaque utilisateur de Darktable de ceux qui sont communs à tous les utilisateurs. Ces derniers sont fournis systématiquement avec chaque nouvelle version de Darktable. Les modifications que vous feriez sur ces derniers seront donc perdues lors de chaque mise à jour. Je les référencerai comme fichier Ⓤtilisateur ou Ⓢystème.
  2. On distinguera ensuite les fichiers de configuration qui régissent le fonctionnement du logiciel, des fichiers de traitement qui matérialisent toutes les modifications que vous faites sur vos photos. En effet, Darktable ne modifie JAMAIS vos fichiers d’images. Toutes vos modifications sont enregistrées dans ces fichiers de traitement. Je les référencerai respectivement comme fichier de Ⓒonfiguration, ou de Ⓓéveloppement.
  3. On distinguera enfin les fichiers de type « texte », qui n’ont besoin que d’un éditeur de texte pour être consultés ou modifiés, des fichiers de type « binaire », qui nécessitent des outils spécialisés pour être consultés ou modifiés. Je les référencerai également comme Ⓣexte ou Ⓑinaire.

Tous les fichiers seront suivis de trois lettres entourées précisant pour chacun les trois caractéristiques décrites ci-dessus. Exemple ⓊⒸⓉ pour Utilisateur, Configuration, Texte.

Emplacement des fichiers.

Ces fichiers sont stockés à différents endroits sur votre machine.

  1. Dans votre espace utilisateur Les fichiers Ⓤtilisateur sont naturellement enregistrés dans votre espace. Plusieurs emplacements sont utilisés à cet effet :

    1. Un emplacement dédié aux fichiers de configuration et de traitement. Je le nommerai dossier configuration.
    2. Un emplacement dédié aux vignettes de vos photos ainsi que quelques données d’exécution de Darktable. Je le nommerai dossier Cache.
    3. Un emplacement dédié aux plugins que vous pouvez ajouter à Darktable. Je le nommerai dossier plugin.
  2. Dans l’espace système Les fichiers Ⓢystème sont également enregistrés dans plusieurs emplacements :

    1. Un emplacement dédié aux fichiers de configuration et de traitement que je nommerai dossier système.
    2. Un emplacement qui sera utilisé pour les enregistrements des journaux de débogage que je nommerai dossier Temporaire.

Selon le système que vous utilisez, ces dossiers ne sont pas situés au même endroit dans l’arborescence de fichiers. Voici leurs emplacements, décrits système par système. Notez qu’il est possible de définir vous-même l’emplacement de ces dossiers grâce aux options de lancement de Darktable.

Sous Linux.

Remarque préliminaire : la variable $HOME contient le chemin absolu (à partir de la racine du système) du dossier personnel de l’utilisateur. C’est-à-dire, en général, /home/<login de l'utilisateur>. Cette variable est couramment utilisée dans les scripts et en mode ligne de commande. Elle n’est pas universellement utilisable dans les gestionnaires de fichiers graphiques ; par exemple, Nautilus ne la reconnaît pas alors que Dolphin la reconnaît. Je l’ai employée dans cette description, car c’est une façon assez élégante de décrire cette partie du chemin d’accès à des fichiers. Nota bene : le caractère ~ remplace avantageusement la variable $HOME en saisie ; de plus, il est utilisable partout.

  1. Dossier configuration : $HOME/.config/darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement --configdir.

  2. Dossier cache : $HOME/.local/share/darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement --cachedir.

  3. Dossier plugin : $HOME/.local/darktable/. Il n’y a pas, pour l’instant, d’option de lancement pour modifier cet emplacement.

  4. Dossier temporaire : /tmp par défaut. Cet emplacement peut être modifié avec l’option de lancement --tmpdir. L’emplacement des journaux de débogage peut aussi être modifié avec l’option --dumpdir.

  5. Dossier système : /usr/share/darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement --datadir. Si vous compilez vous-même la version la plus récente de Darktable, le dossier système se trouve par défaut dans /opt.

Les dossiers .config, .local et .cache sont des dossiers cachés (le ‘.’ au début du nom). Pour y accéder, il suffit de taper leur nom. Voici les moyens pour les visualiser :

  • Dans un terminal : ls -a
  • Avec les outils graphiques, cela dépend de l’outil, mais le raccourci Ctrl+h permet le plus souvent de le voir.

Sous MacOS.

Remarque préliminaire : macOS et Linux partagent le même ancêtre commun, UNIX. La remarque préliminaire concernant la variable $HOME, héritée d’UNIX, s’applique donc également ici.

  1. Dossier configuration : $HOME/.config/darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement --configdir.

  2. Dossier cache : $HOME/.cache/darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement --cachedir.

  3. Dossier plugin : $HOME/.local/darktable/. Il n’y a pas, pour l’instant, d’option de lancement pour modifier cet emplacement.

  4. Dossier temporaire : /private/var/folders/h_/<hashcode>/T par défaut. Cet emplacement peut être modifié avec l’option de lancement --tmpdir. L’emplacement des journaux de débogage peut aussi être modifié avec l’option --dumpdir.

  5. Dossier système : /Applications/darktable.app/Contents/Resources/share/darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement –-datadir.

Les dossiers .config, .local et .cache sont des dossiers cachés (le ‘.’ au début du nom). Pour y accéder, il suffit de taper leur nom. Pour y accéder, il y a plusieurs méthodes selon qu’on utilise un terminal ou le “Finder ”. Plusieurs de ces méthodes sont décrites dans ce fil de discussion du forum darktable.fr

Sous Windows.

  1. Dossier configuration : %LOCALAPPDATA%\darktable par défaut. Cet emplacement peut être modifié avec l’option de lancement --configdir

  2. Dossier cache : L’emplacement par défaut est (était ? Changement de version de Windows ?) %LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\darktable\ Je l’ai vu aussi ici (version de Windows ?) : %LOCALAPPDATA%\Microsoft\Windows\NetCache\darktable\ Cet emplacement peut être modifié avec l’option de lancement --cachedir.

  3. Dossier plugins : Contrairement aux autres systèmes, il n’y a pas sous Windows d’emplacement particulier pour les plugins. L’emplacement est le même que pour le dossier configuration, soit : %LOCALAPPDATA%\darktable\models. Il n’y a pas, pour l’instant, d’option de lancement pour modifier cet emplacement.

  4. Dossier temporaire : %LOCALAPPDATA%\Temp\ par défaut. Sous Windows, le dossier dans lequel Darktable écrira les fichiers journaux est différent du dossier temporaire. Précédemment ces fichiers étaient enregistrés dans les sous-dossiers système du profil de l’utilisateur, ainsi que dans un répertoire caché (il était donc impossible de cliquer dessus dans l’explorateur de fichiers avec les paramètres système par défaut). C’est emplacement a été modifié en %USERPROFILE%\Documents\Darktable.

Cet emplacement peut être modifié avec l’option de lancement --tempdir. Il peut aussi être modifié avec l’option de lancement --dumpdir.

  1. Dossier système : C:\Program Files\darktable\share\darktable\ par défaut. Cet emplacement peut être modifié avec l’option de lancement –-datadir.

La variable %LOCALAPPDATA% correspond au chemin des fichiers de configuration des applications propres à chaque utilisateur. C’est-à-dire, en général, C:\Users\<login de l'utilisateur>\AppData\Local\.

Comme pour Linux et MacOS, j’ai utilisé la notation lisible dans une fenêtre de commande (terminal ou cmd). Donc “Users” et “Program Files”. Ces noms apparaîtront cependant sous une forme francisée dans l’explorateur de fichiers : “Utilisateurs” et “Programmes”. Le dossier AppData est un dossier caché. Pour l’afficher, passer par les options de l’explorateur : Organiser → Options des dossiers et de recherche → Affichage → Afficher les fichiers, dossiers et lecteurs cachés.

Description des fichiers.

Fichiers du dossier configuration.

Voici la liste alphabétique des fichiers contenus dans ce dossier avec la description de leur rôle. Ils ne sont pas obligatoirement tous présents sur votre installation, car ils se créent au fil du temps et des besoins ; parfois même, leur création nécessite une intervention manuelle.

  • color Dossier utilisateur contenant les éventuels profils de couleur d’entrée et/ou de sortie. Ce dossier ne contient pas directement les profils. Il contient uniquement deux dossiers in et out. Les dossiers color, color/in et color/out ne sont pas créés automatiquement lors de la configuration initiale de Darktable. Si vous avez besoin de ces dossiers pour y déposer des profils, vous devez les créer.

    • color/in Dossier utilisateur contenant les profils de couleur d’entrée. Ces fichiers de profil sont au format ICC.
    • color/out Dossier utilisateur contenant les profils de couleur de sortie. Ces fichiers de profil sont au format ICC.
  • darktablerc ⓊⒸⓉ Fichiers contenant les données de configuration du logiciel. La plupart des données de configuration contenues dans ces fichiers peuvent être modifiées via les différents onglets de la fenêtre Préférences de Darktable. Il existe cependant quelques valeurs très peu utilisées ou « un peu trop sensibles » qui ne sont manipulables que par la modification de ces fichiers. Darktable réécrit ces fichiers chaque fois que l’on quitte le logiciel. Les éventuelles personnalisations doivent donc se faire quand Darktable n’est pas actif.

    • darktablerc-common Fichier contenant les données de configuration du logiciel communes à tous les espaces de travail.
    • darktablerc Fichier contenant les données de configuration du logiciel pour l’espace de travail par défaut.
    • darktablerc-<nom-de-l-espace> Fichier contenant les données de configuration du logiciel pour l’espace de travail <nom-de-l-espace>.
  • data.db ⓊⒹ Fichier qui contient la seconde partie de la base de données (BdD). Contient les mots-clés, les styles, les préréglages, la géolocalisation. L’emplacement de ce fichier peut être modifié avec l’option de lancement –-library. L’utilisation de cette option modifiera simultanément l’emplacement de data.db et de library.db. Fichier au format SQLite. Ce fichier est commun à tous les espaces de travail.

  • data.db.lock ⓊⒸⓉ Fichier de verrouillage de la seconde partie de la BdD. Il est créé au moment de l’ouverture de celle-ci et supprimé lors de sa fermeture. Dans de rares cas, Darktable ne peut pas supprimer ce fichier avant de s’arrêter. S’il subsiste, le prochain lancement de Darktable avortera puisque celui-ci considérera que la BdD est déjà ouverte par un autre logiciel. Dans ce cas, la suppression de ce fichier .lock réglera le problème. Il contient le « Process Id » du processus qui a ouvert la BdD. Ce fichier suit le fichier data.db. Si l’emplacement de data.db a été modifié avec l’option –-library, l’emplacement du fichier de verrouillage le sera également. Ce fichier est commun à tous les espaces de travail.

  • data.db-pre-<version> ⓊⒹⒷ L’installation d’une nouvelle version majeure de Darktable nécessite parfois (souvent) une modification du schéma de la base de données rendant incompatible la BdD avec la version antérieure. Avant cette modification, une sauvegarde est créée automatiquement par copie du fichier data.db. Ce fichier peut être supprimé s’il n’est pas envisagé de retour vers une version antérieure. Dans le nom de ce fichier, <version> correspond au numéro de la nouvelle version de Darktable en cours d’installation. Fichier au format SQLite. Ce fichier est commun à tous les espaces de travail.

  • data.db-snp-<date> ⓊⒹⒷ Ces fichiers contiennent des instantanés (snapshots en anglais, d’où l’abréviation snp) de la BdD. C’est-à-dire, une sauvegarde de la BdD faite automatiquement et à cadence régulière, afin de pouvoir revenir à une situation correspondant à la date mentionnée dans le nom du fichier. La date est enregistrée sous forme compacte - sans séparateurs -, selon la séquence suivante AAAAMMJJhhmmss. Vous pouvez régler les paramètres de maintenance de la BdD dans la fenêtre Préférences de Darktable → onglet Stockage → paragraphe Base de données. Fichier au format SQLite. Ce fichier est commun à tous les espaces de travail.

  • library.db ⓊⒹⒷ Fichiers qui contiennent la première partie de la BdD. Ces fichiers contiennent toutes les données de développement. L’emplacement de ces fichiers peut être modifié avec l’option de lancement –-library. L’utilisation de cette option modifiera simultanément l’emplacement des fichiers data.db et library.db. Fichiers au format SQLite.

    • library.db Fichier qui contient la première partie de la BdD pour l’espace de travail par défaut.
    • library-<nom-de-l-espace>.db Fichier qui contient la première partie de la BdD pour l’espace de travail <nom-de-l-espace>.
  • library.db.lock ⓊⒸⓉ Fichiers de verrouillage de la première partie de la BdD. Lire les précisions concernant le fichier data.db.lock ci-dessus. Si l’emplacement des fichiers library.db a été modifié avec l’option –-library, l’emplacement des fichiers de verrouillage le sera également.

    • library.db.lock Fichier de verrouillage de la première partie de la BdD pour l’espace de travail par défaut.
    • library-<nom-de-l-espace>.db.lock Fichier de verrouillage de la première partie de la BdD pour l’espace de travail <nom-de-l-espace>.
  • library.db-pre-<version> ⓊⒹⒷ Fichiers de reprise de la première partie de la BdD. L’installation d’une nouvelle version majeure de Darktable nécessite souvent une modification du schéma de la base de donnée, rendant incompatible la BdD avec la version antérieure. Avant cette modification, une sauvegarde est créée automatiquement par copie des fichiers library.db. Ces fichiers peuvent être supprimés s’il n’est pas envisagé de retour vers une version antérieure. Dans le nom, <version> correspond au numéro de la nouvelle version de Darktable en cours d’installation. Fichiers au format SQLite.

    • library.db-pre-<version> Fichier de reprise de la première partie de la BdD pour l’espace de travail par défaut.
    • library-<nom-de-l-espace>.db-pre-<version> Fichier de reprise de la première partie de la BdD pour l’espace de travail <nom-de-l-espace>.
  • library.db-snp-<date> ⓊⒹⒷ Fichiers de sauvegarde de la première partie de la BdD. Ces fichiers contiennent des instantanés (snapshots en anglais, d’où l’abréviation « snp ») de la BdD. C’est-à-dire, des sauvegardes de la BdD faites automatiquement et à cadence régulière, afin de pouvoir revenir à une situation correspondant à la date mentionnée dans les noms des fichiers. La date est enregistrée sous forme compacte – sans séparateurs –, selon la séquence suivante AAAAMMJJhhmmss. Vous pouvez régler les paramètres de maintenance de la BdD dans la fenêtre Préférences de Darktable → onglet Stockage → paragraphe Base de données. Fichiers au format SQLite.

    • library.db-snp-<date> Fichiers de sauvegarde de la première partie de la BdD pour l’espace de travail par défaut.
    • library-<nom-de-l-espace>.db-snp-<date> Fichiers de sauvegarde de la première partie de la BdD pour l’espace de travail <nom-de-l-espace>.
  • lua Dossier utilisateur contenant les éventuels scripts additionnels, ceux que vous avez importés comme ceux que vous avez éventuellement créés. Les scripts sont écrits en langage Lua. Pour découvrir Lua, outre le site lua.org, vous disposez sur le site darktable.org d’un chapitre dans le manuel de Darktable ainsi que d’un manuel dédié. Le dossier lua n’est pas créé automatiquement lors de la configuration initiale de Darktable. « Le script manager » le créera pour vous si vous importez les scripts proposés et packagés par la communauté. Si vous avez besoin d’y déposer vos propres scripts et qu’il n’a pas été créé par le script manager, vous devez le créer.

  • luarc ⓊⒸⓉ Fichier qui contient la liste des scripts Lua à charger lors du lancement de Darktable. « Le script manager » créera et modifiera ce fichier pour vous si vous importez les scripts proposés et packagés par la communauté. Sinon, pour intégrer vos propres scripts, il faudra le créer ou le modifier vous-même avec un éditeur de texte, en respectant strictement la syntaxe du langage Lua. Pour créer des scripts, voir des exemples dans le manuel de référence Lua disponible sur lua.org ainsi que dans le manuel de Darktable et le manuel dédié aux scripts Lua sur le site darktable.org.

  • presets.json ⓊⒸⓉ Fichier contenant les profils de bruits calculés par l’utilisateur en vue d’effectuer des tests. Ce fichier n’existe que si vous l’avez copié vous-même à cet endroit. Il est le résultat du calcul du profil de bruit d’un boîtier. Ce fichier est au format json.

  • shortcutsrc ⓊⒸⓉ Fichier qui contient les raccourcis clavier, éventuellement personnalisés. Les raccourcis peuvent tous être modifiés via l’onglet “raccourcis” de la fenêtre Préférences de Darktable ou via la fenêtre dédiée accessible via l’icône représentant un clavier.

  • shortcutsrc.backup ⓊⒸⓉ Fichier qui contient les valeurs sauvegardées des raccourcis, lors d’une modification de ceux-ci.

  • shortcutsrc.default ⓊⒸⓉ Fichier qui contient les valeurs par défaut des raccourcis. C’est le seul fichier système qui est stocké dans le dossier utilisateur.

  • shortcutsrc.edit ⓊⒸⓉ Fichier utilisé par la boite de dialogue « restauration raccourci »

  • styles Dossier utilisateur contenant les fichiers de styles que vous avez créés. La suppression d’un de vos styles dans Darktable ne supprime pas le fichier dans ce répertoire. Le dossier styles n’est pas créé automatiquement lors de la configuration initiale de Darktable. Il est créé par Darktable quand vous créez un premier style. Il n’est pas nécessaire d’y déposer les styles que vous importez.

    • <vos styles>.dtstyle ⓊⒹⓉ Les fichiers du dossier styles sont des fichiers au format xml, mais le contenu, bien que de format texte, est plutôt un BLOB (Binary Large OBject), donc non modifiable. Ces fichiers sont suffixés avec l’extension “.dtstyle”.
  • themes Dossier utilisateur contenant les éventuels fichiers de configuration personnalisés de l’aspect de l’interface de Darktable. Ces fichiers sont au format CSS (Cascading Style Sheets) tel que décrit par le W3C. Cependant, toutes les fonctionnalités CSS ne sont pas prises en charge par l’interface graphique Gtk utilisée par Darktable. Si vous avez besoin de ce dossier pour y déposer vos propres feuilles de styles, vous devez le créer.

    • <vos thèmes>.css ⓊⒸⓉ Fichier(s) CSS. Le nommage est libre, mais il est recommandé d’utiliser un nom de fichier différent des fichiers de style fournis par défaut (voir ci-dessous le dossier thèmes dans le chapitre ‘Fichiers du dossier système’). Si vous complétez ou modifiez un de ces fichiers, ne le copiez pas en totalité. Créez votre fichier, commencez-le par une instruction d’importation telle que décrite dans la norme CSS, puis ajoutez simplement vos modifications.
  • user.css ⓊⒸⓉ Fichier CSS. Ce fichier contient les personnalisations des feuilles de style que vous faites à partir de la fenêtre Préférences de Darktable → onglet Général → option Modifier le thème via les ajustements CSS ci-dessous et la zone de saisie située juste en dessous.

  • watermarks Dossier utilisateur contenant les fichiers des filigranes. Ces fichiers doivent être au format SVG. Ils peuvent être créés avec n’importe quel outil capable de produire ce type de format de fichier. Le dossier watermarks n’est pas créé automatiquement lors de la configuration initiale de Darktable. Si vous avez besoin de ce dossier pour y déposer des fichiers de filigranes, vous devez le créer.

Précisions sur le contenu de la base de données

Parmi ces fichiers, deux fichiers constituent la BdD ; ce qu’ailleurs, on appelle le catalogue. Ces fichiers sont au format SQLite. Il est possible de les consutler avec un utilitaire dédié à SQLite. Sqlitebrowser, par exemple.

  • library.db : qui contient toutes les données de développement. En fait, tout ce que l’on retrouve dans les fichiers “sidecar“ associés à chaque fichier de photo et portant l’extension .xmp.

  • data.db : qui contient tout le reste, les mots-clés, les styles, les pré-réglages, la géolocalisation, …

La scission en deux fichiers de la BdD a été faite pour pouvoir la régénérer à partir des fichiers XMP sans perdre les mots clés, les styles et les pré-réglages. Pour faire cela, il suffit de réinitialiser uniquement library.db.

L’option de lancement --library permet de faire fonctionner Darktable avec une base de données située à un autre emplacement. Avec le nom d’emplacement :memory: une base de donnée sera crée uniquement en mémoire, et sera effacée lors de la fermeture du logiciel.

Sauvegarde

Comme vous pouvez le constater, la plupart de ces fichiers contiennent des données qui vous sont propres. Et même si la plupart d’entre eux peuvent être reconstitués facilement, il est certainement plus facile d’avoir une sauvegarde du tout. Donc sauvegarder le dossier complet n’est pas une mauvaise idée. D’autant plus que les fichiers qu’il contient ne représentent qu’un tout petit volume d’informations. L’essentiel en termes de volume, ce sont les deux fichiers de la BdD. La sauvegarde du dossier devra être réalisée lorsque Darktable n’est pas actif.

Réinitialisation / restauration

À la lecture de ce qui précède, vous pouvez imaginer qu’une réinitialisation partielle ou complète de la configuration peut se faire en supprimant une partie ou la totalité des fichiers de configuration utilisateur. Attention cependant, car il existe un lien entre certaines informations contenues dans la base de donnée et les vignettes stockées dans le dossier cache (voir chapitre ci-dessous). Si vous supprimez la BdD, il vous faudra également réinitialiser le cache des vignettes.

Fichiers du dossier cache.

Voici la liste des dossiers et sous-dossiers du dossier cache, ainsi que la description des fichiers qu’ils contiennent.

  • ai_downloads Dossier de télécahrgement temporaire des modèles d’intelligence artificielle.

cached_kernels_for_<référence de votre carte graphique> Dossier contenant les versions compilées à la volée par Darktable des kernels openCL (Voir dans le chapitre Fichiers du dossier Système ci-dessous le dossier kernels). Si vous avez plusieurs cartes graphiques, vous aurez plusieurs dossiers de ce type, un par carte graphique.

  • mipmaps-<mipmaps ID>.d Dossier contenant le cache des vignettes utilisées en table lumineuse et dans les bandeaux. Le mipmaps ID est un hashcode calculé lors de l’initialisation d’une instance de Darktable. Ce dossier contient lui-même plusieurs sous-dossiers nommés de 0 à 9. Lors d’une première utilisation, seuls les dossiers 0, 1 et 2 sont créés. Les autres dossiers seront créés à la demande et de façon transparente par Darktable ou explicitement lors de l’utilisation de l’outil darktable-generate-cache. Chaque dossier correspond à une taille de vignette ; de la plus petite taille dans le dossier 0, à la plus grande dans le dossier 9. Les tailles des vignettes sont de 110, 225 et 450 pixels sur le plus grand côté pour les dossiers 0, 1 et 2.

    Les vignettes elles-mêmes sont des fichiers JPEG qui sont nommés selon le numéro de photo. Ce numéro est créé lors de l’importation, de manière totalement automatique et désigne univoquement la photo dans la BdD de Darktable. Il est visible dans le module Informations de l’image, à la ligne “numéro”.

    Attention ! Comme cela a déjà été évoqué à la fin du chapitre traitant des fichiers du dossier utilisateur, si vous réinitialisez la BdD de Darktable, il faudra également réinitialiser le cache des vignettes, car comme dit ci-dessus, celles-ci sont nommées avec le numéro de la photo. Après réinitialisation de la BdD, il sera donc certain que les numéros des anciennes vignettes ne correspondront plus avec les numéros des nouvelles photos importées. L’affichage en table lumineuse sera très étrange !

Fichiers du dossier plugins

  • models Dossier contenant les modèles d’IA que vous pouvez télécharger à partir de la fenêtre Préférences de Darktable → onglet IA. Chaque modèle est matérialisé par un dossier au nom de modèle, contenant plusieurs fichiers :

    • config.json ⓈⒸⓉ Fichier de description et de configuration du modèle.

    • <nom générique>.onnx ⓈⒹⒷ Fichier(s) contenant le code du modèle. Fichier(s) à la norme onnx

Fichiers du dossier temporaire.

Voici la description des fichiers que ce dossier peut contenir.

  • darktable_bt_<numéro>.txt ⓊⒹⓉ Fichier de débogage. Ce fichier peut être produit par Darktable en cas de plantage. Il pourra être utile aux développeurs pour identifier la partie du code à l’origine du plantage. Dans ce cas, cependant, il sera nécessaire de reproduire le plantage avec une version de Darktable compilée afin que les “symboles” soient inclus dans ce fichier. Le numéro est variable à chaque lancement de Darktable (probablement le numéro de processus, mais je n’ai pas pu le vérifier, car je n’ai pas de plantages ;-)).

Fichiers du dossier système.

Voici la liste des fichiers de ce dossier avec la description de leur contenu.

  • ai_models.json | Système | Configuration | Texte | Fichier contenant la liste avec leurs caractéristiques, des modèles IA utilisables par Darktable. Vous retrouvez le contenu de ce fichier dans la fenêtre Préférences de Darktable → onglet IA. Fichier au format json.

  • darktable.bash ⓈⒸⓉ En sourçant ce script dans une fenêtre Terminal, vous pourrez ensuite utiliser l’autocomplétion des arguments de la ligne de commande pour les exécutables fournis suivants : darktable, darktable-chart, darktable-cli, darktable-cltest et darktable-generate-cache. Pour faire ceci systématiquement, ajoutez la ligne : source /usr/share/darktable/darktable.bash à votre fichier .bashrc Ne fonctionne pas sous Windows.

  • darktablerc ⓈⒸⓉ Fichier contenant les données de configuration du logiciel lui-même. Il s’agit du fichier par défaut qui est copié lors du premier démarrage d’une nouvelle instance de Darktable.

  • gdb_commands ⓈⒸⓉ Fichier contenant quelques commandes utilisées lors d’un lancement de Darktable via la commande gdb à des fins de débogage.

  • kernels Dossier contenant les codes support OpenCL des modules correspondants. Ces fichiers sont au format langage “c”.

  • latex Dossier contenant un fichier de configuration utilisé lors de l’exportation sous forme de “modèle de livre LaTex” (langage LaTex)

  • lua Dossier contenant un fichier utilisé pour le debug des scripts Lua (langage Lua)

  • luarc ⓈⒸⓉ Fichier initial de Lua.

  • lua-scripts Dossier contenant les scripts Lua fournis de base avec darktable ainsi que leurs fichiers d’internationalisation. Tous les scripts disponibles dans ce dossier sont utilisables dans darkatble à partir du module Scripts.

  • noiseprofiles.json ⓈⒸⓉ Fichier contenant tous les profils de bruits connus de Darktable. Ce fichier peut être masqué en totalité ou en partie par un fichier de même nom créé dans le dossier Utilisateur. Fichier au format json.

  • ort_gpu.json [à compléter !]

  • pixmaps Dossier contenant les icônes utilisées en interne par Darktable.

  • pswp Dossier contenant les fichiers nécessaires pour l’exportation sous forme de “galerie web”. Voir également le dossier style.

  • rawspeed Dossier contenant les fichiers de configuration de Rawspeed. Rawspeed est la librairie sous-jacente de Darktable qui décode les fichiers raw. Ce dossier contient deux fichiers :

    • cameras.xml ⓈⒹⓉ Ce fichier XML décrit tous les boîtiers pris en charge par rawspeed et donc par Darktable. Il contient sa propre DTD. Chaque entrée décrit toutes les caractéristiques du capteur du boîtier.
    • showcameras.xsl ⓈⒹⓉ Ce second fichier est la feuille de style nécessaire pour imprimer le fichier cameras.xml, le cas échéant,
  • style Dossier contenant les feuilles de style (CSS), ainsi que quelques fichiers JPEG, GIF et ICO, nécessaires à l’exportation sous forme de “galerie web”. Voir aussi le dossier pswp.

  • styles Dossier contenant les styles spécifiques aux appareils photo pris en charge par Darktable (plus de 500). L’utilisation de ces styles permet d’obtenir rapidement un rendu plus proche de celui des fichiers JPEG fournis par l’appareil photo.

    • darktable_<marque>_<modèle>.dtstyle ⓈⒹⓉ Fichiers de style fournis par Darktable. Pour obtenir le nom réel du fichier, il faut bien sûr remplacer <marqueè> et <modèle> par le nom de la marque et le nom du modèle. Par exemple : darktable_Fujifilm_X100F.dtsyle
  • themes Dossier contenant les fichiers de configuration de l’aspect de l’interface de Darktable. Ces fichiers sont au format Cascading Style Sheets (CSS) tel que décrit par le W3C. Cependant, toutes les fonctionnalités CSS ne sont pas prises en charge par l’interface graphique GTK utilisée par Darktable. Ce dossier contient les fichiers suivants. Tous sont classifiés ⓈⒸⓉ

    • chunk-fonts.css Feuille de style définissant les polices utilisées par Darktable (importée par les feuilles de style des thèmes ci-dessous).

    • darktable.css Feuille de style du style d’origine de Darktable.

    • darktable-elegant-dark.css Feuille de style élégante sombre.

    • darktable-elegant-darker.css Feuille de style élégante plus sombre.

    • darktable-elegant-grey.css Feuille de style élégante gris clair.

    • darktable-elegant-highcontrast.css Feuille de style élégante contrastée.

    • darktable-icons.css Feuille de style avec icônes.

    • darktable-icons-dark.css Feuille de style sombre avec icônes.

    • darktable-icons-darker.css Feuille de style plus sombre avec icônes.

    • darktable-icons-grey.css Feuille de style gris clair avec icônes.

    • darktable-icons-highcontrast.css Feuille de style contrastée avec icônes.

  • tools Dossier qui contient quelques programmes utilitaires d’administration de Darktable. Actuellement ce sont des scripts bash (Linux, MacOS). En voici la liste :

    • common.sh
    • extract_wb_from_images.sh
    • purge_from_cache.sh
    • purge_non_existing_images.sh
    • purge_unused_tags.sh Attention ! Ces scripts ne sont pas disponibles dans la version Windows, car ce sont des scripts écrits en langage Bash qui nécessitent donc l’interpréteur bash, non disponible nativement sous windows. Le seul script disponible dans la version Windows est :
    • purge_nonexistent_images.bat Néanmoins si vous avez besoin d’utiiser les scripts disponibles dans les versions Linux et MacOS, il est tout à fait possible de les télécharger à partir du dépôt Github de darktable et de les exécuter dans le sous-système Linux (WSL) disponible dans Windows.
  • watermarks Dossier contenant les quelques fichiers de filigrane disponibles par défaut avec Darktable. Ces fichiers sont au format SVG. En voici la liste. Tous ces fichiers sont classés ⓈⒹⓉ

    • darktable.svg
    • fixed-size-text.svg
    • hasselblad.svg
    • metadata-template.svg
    • promo.svg
    • simple-text-shadow.svg
    • simple-text.svg Vous pouvez copier ces fichiers dans votre propre dossier de configuration afin de les utiliser comme base de travail et créer vos propres filigranes.
  • wb_presets.json ⓈⒸⓉ Fichier contenant tous les préréglages de balance des blancs des appareils photos connus de Darktable. Fichier au format json.

Vous avez peut-être remarqué que je n’ai pas parlé des fichiers de caractérisation des objectifs. Il y a plusieurs raisons à cela :

  • Ces fichiers n’appartiennent pas à Darktable. Ils dépendent d’une librairie tierce : Lensfun.
  • Puisqu’ils appartiennent à Lensfun, ils sont fournis par cette librairie ; pas par Darktable.
  • Darktable utilise plusieurs versions différentes de Lensfun, selon les distributions et / ou les packages.
  • L’emplacement des fichiers dépend de la version de Lensfun, et du mode de mise à jour de ces fichiers ; parfois aussi de la distribution.
  • L’entête des fichiers de Lensfun change légèrement selon la version.

Bref tout cela fait beaucoup de variables et il faudrait probablement un document aussi volumineux que celui-ci pour faire l’inventaire exhaustif de toutes les hypothèses. Ce sujet a déjà été traité abondamment sur le forum darktable.fr, sans que quelques règles simples puissent être établies. Donc, pour l’instant, je n’en parle pas.

Fichiers dans vos dossiers de photos.

ⓊⒹⓉ En plus de tous ces fichiers de configuration ou de fonctionnement, Darktable produit des fichiers XMP qui sont associés à chaque fichier image que vous avez importé dans Darktable. Ces fichiers sont nommés en ajoutant l’extension “.xmp” au nom complet de vos fichiers images (nom + extension). Ces fichiers contiennent toutes les données nécessaires pour pouvoir reproduire le traitement de vos images, même si vous avez supprimé l’intégralité des fichiers que j’ai listés ci-dessus. Tant que vous avez ces fichiers, vous n’avez rien perdu. Ces fichiers sont au format XMP (sur une base XML). La norme XMP est maintenant une norme ISO sous le numéro ISO-16684-1:2012.

Utilisation des dossiers créés par l’utilisateur dans l’application.

Dans Darktable vous pouvez enregistrer le chemin de dossiers que vous aurez créés. Ces chemins sont utilisés dans deux modules :

  • Dans le module 3D LUT, vous utilisez des fichiers LUT que vous aurez préalablement importés sur votre ordinateur. Vous pouvez le choisir directement dans l’arborescence de votre ordinateur, mais vous pouvez aussi vous simplifier la tâche en déclarant au préalable dans la fenêtre Préférences de Darktable → Onglet Traitement → item Répertoire 3D LUT racine, le dossier racine pour le stockage des LUT.

  • Comme pour les fichiers 3D LUT, dans le module Masque raster externe, vous choisissez un fichier de masque. Vous pouvez de la même façon, pour un accès facile, déclarer au préalable dans la fenêtre Préférences de Darktable → onglet Traitement → item Dossier racine des masques raster, le chemin d’accès à ces fichiers.


Voilà, j’espère ne pas en avoir oublié. N’hésitez pas à me signaler toute erreur ou omission !

Jean-Pierre Verrue