(Suite du sujet « Les fichiers de configuration de Darktable - Partie 1/2 »)
Précisions sur le contenu de la base de donnée
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ée 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 terme 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
-
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 dossierkernels). 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 de0à9. Lors d’une première utilisation, seuls les dossiers0,1et2sont 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’outildarktable-generate-cache. Chaque dossier correspond à une taille de vignette ; de la plus petite taille dans le dossier0, à la plus grande dans le dossier9. Les tailles des vignettes sont de 110, 225 et 450 pixels sur le plus grand coté pour les dossiers0,1et2.Les vignettes elles-mêmes sont des fichiers JPEGs 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 Temporaire.
Voici la description des fichiers qu’il peut contenir.
darktable_bt_<numéro>.txt
| Utilisateur | Développement | Texte |
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 de description des modèles AI.
[à compléter !
] -
darktable.bash
| Système | Configuration | Texte |
Script de lancement de Darktable.
[à compléter !] -
darktablerc
| Système | Configuration | Texte |
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
| Système | Configuration | Texte |
Fichier contenant quelques commandes utilisées lors d’un lancement de Darktable via la commande gdb à des fins de débogage. -
kernels
| Système | Configuration | Texte |
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
| Système | Configuration | Texte |
Fichier initial de Lua. -
noiseprofiles.json
| Système | Configuration | Texte |
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. -
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 dossierstyle. -
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
| Système | Développement | Texte |
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
| Système | Développement | Texte |
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 dossierpswp. -
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
| Système | Développement | Texte |
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 Sheet (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
| Système | Configuration | Texte |-
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.shextract_wb_from_images.shpurge_from_cache.shpurge_non_existing_images.shpurge_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 besoins d’utiiser les scritps disponibles dans les versions Linux et MacOS, il est tout à fait possible de les télécharger à partir du dépot 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
| Système | Développement | Texte |darktable.svgfixed-size-text.svghasselblad.svgmetadata-template.svgpromo.svgsimple-text-shadow.svgsimple-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
| Système | Configuration | Texte |
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.
| Utilisateur | Développement | Texte |
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.
Voilà, j’espère ne pas en avoir oublié. N’hésitez pas à me signaler toute erreur ou omission !
Jean-Pierre Verrue (contact at jpverrue point fr)