DigiKam : retrouver ses images après une migration du dossier Images

Temps de lecture : 3 minutes

Force est de constater que le confinement me pousse à résoudre des problèmes informatiques que je repoussais allègrement avant... Comme réparer digiKam pour qu'il accède à nouveau à ses propres bases de données qui avaient changé de répertoire.

Origine du problème

J'avais un disque dur ssd de 128 Go avec KDE Neon dessus et un disque HDD de 1 To monté comme /home/olivier/data. Oui, je sais, j'aurai du faire du lvm...

Sur ce disque data, j'ai mis toutes mes images dans un répertorie Images et dit à KDE et digiKam que ça se trouvait là.

Black friday 2019. Oui, je sais, c'est mal, mais je n'ai acheté qu'une seule chose : un lot de deux disques dur SSD de 1 To. Un pour un ordinateur Windows d'un adolescent qui aime jouer et un pour moi. Après clonage de mon linux (clonezilla et gparted), j'ai rapatrié toute ma partie du disque data sur mon ssd 1 To afin de tout avoir sur le même disque.

Mes images, ainsi que les bases de données digiKam se trouvaient désormais dans /home/olivier/Images.

Cela posa problème à l'application que n'a pas su demander son chemin... Elle m'affiche «Erreur lors de l'ouverture de la base de données.
digiKam tentera automatiquement de se reconnecter à la base de données.»

J’attends quelques minutes avant de cliquer sur annuler. Cela m'envoie un nouveau message :

«Impossible d'ouvrir la base de données.

Impossible d'utiliser digiKam sans base de données opérationnelle. digiKam va tenter de démarrer maintenant mais ne sera pas fonctionnel. Veuillez vérifier la configuration de la base de données dans le menu de configuration

Je clique sur OK. Ensuite, cette image s'affiche indéfiniment sans jamais lancer l'application ou alors peut être au bout d'un temps supérieurs à trois minutes. Je ne sais pas car passé ce délai je clique sur l'image et cela s'arrête...

Plutôt frustrant...

Résolution

Après un rapide tour sur internet qui se révéla stérile en tous points. Je me suis souvenu que sous Linux, pour comprendre ce qui ne va pas, on peut lancer l'application via un terminal. j'ai tapé digiKam dans Konsole :

Cela m'a confirmé que l'application cherche toujours les images dans le répertoire /home/olivier/data/Images...

Alors que j'aurai aimé voir :

Pour aller plus loin, j'ai vu qu'il y avait dans les options de digiKam un help-all, j'ai donc arrêté le processus digiKam en cours (CTRL + C) et tapé dans Konsole :
digikam --help-all

Cela m'a donné accès aux options de digiKam en ligne de commande dont une qui se nomme database-directory qui permlet de lancer digiKam avec un répertoire spécifique.

J'ai donc tapé digikam --database-directory /home/olivier/images.
Cela s'est traduit dans le terminal :

Et cela afficha une nouvelle fenêtre :

J'ai opté pour l'option par défaut et je suis enfin arrivé sur digiKam.

Si les images s'affichent, elles ne sont pas accessibles car pour digiKam elles se trouvent sur un répertoire amovible qui n'est pas monté.

Il faut modifier la configuration de digiKam (menu configuration->Configurer digiKam
) et redéfinir les Collections locales (je n'ai pas pris Images car je ne voulais pas du dossier wallpaper).

Après un temps de scan des répertoires.

Tout est là mais en double. En effet, l'arborescence de digiKam comprend les collections locales fraîchement reconstruites et l'ancienne qui est sur le support amovible.

Il faut donc supprimer cette dernière en allant de nouveau sur la configuration de digiKam (CTRL+MAj+,)

Dernier réglage.

Une fois fait, tout est rentré dans l'ordre...

Conclusion

C'est une méthode qui fonctionne mais je ne sais pas si c'est la meilleure méthode, la plus rapide.

Peut être que j'aurai dû laisser l'application tourner dix, vingt minutes voire plus pour voir s'afficher l'application et régler le problème encore plus simplement.

Peut être il y avait un fichier de configuration à modifier mais je ne sais pas trop où il se trouve et je n'ai pas trop cherché non plus.

J'ai utilisé une méthode qui fait souvent ses preuves, passer par un lancement de l'application via la ligne de commande pour voir ce qui ne va pas avec les infos dans la console. Ce fut le cas, la ligne de commande a permis de faire ce qui était indiqué dans le second message : modifier la configuration via l'application.

D'où l'intérêt quand on est développeur de faire ce genre de sortie dans un terminal, mais ce n'est plus le sujet...