Commençons par planter le décor : utilisant KDE 4 et Dolphin (l'explorateur de fichiers), je voulais profiter d'une fonctionnalité bien sympa qui est le tri des dossiers et fichiers, selon certains critères tels que le nom (réglage par défaut), mais aussi la date, le poids, ... Bref, pour mon répertoire de photos, je voulais classer tout cela par date et par ordre décroissant (voir les dossiers les plus récemment modifiés en haut de la liste). Voulant appliquer ce réglage à tous les sous-dossiers, j'active l'option qui va bien et me voilà avec... des dossiers tous datés d'aujourd'hui 8-O

It's not a bug, it's a feature

La raison est en fait simple : pour que les paramètres précédemment évoqués soient pris en compte, Dolphin les enregistre dans un fichier '.directory' se situant dans chaque répertoire concerné. Mais comme ces fichiers n'existaient pas, ils ont été créés, modifiant ainsi la date de dernière modification du dossier concerné.

Mais heureusement il y a findus

Bon, pas de panique ! La solution est évidemment simple : il suffit d'aller chercher la date de dernière modification des fichiers contenus dans chaque répertoire, et d'appliquer cette date au dossier. Car oui, on peut modifier la date de dernière modification d'un fichier/dossier dans le passé (et peut-être même aussi dans le futur... À tester !).

La solution tient donc en quelques lignes de code Java (j'aurais voulu le faire en shell, mais je suis une quiche :( ) que vous trouverez joint à ce billet. Ça reste à améliorer mais en tout cas, ça a très bien fonctionné et mes répertoires sont maintenant triés comme ils l'étaient avant.