orgmode-to-gemini-blog/sources/cipherbliss_blog/lang_fr/20230410T150434__outils-pour-un-nommage-de-fichiers-retrouvables.org

394 lines
16 KiB
Org Mode
Raw Normal View History

2024-11-19 13:49:39 +01:00
:PROPERTIES:
:ID: 294c870d-2e70-4b99-8254-271e7c53c735
:END:
#+title: outils-pour-un-nommage-de-fichiers-retrouvables
#+post_ID: 1749
#+post_slug: outils-pour-un-nommage-de-fichiers-retrouvables
#+post_url: https://www.ciperbliss.com/2023/outils-pour-un-nommage-de-fichiers-retrouvables
#+post_title: Outils pour un nommage de fichiers retrouvables
#+post_tags: pim, archives
#+post_type: post
#+post_mime_types:
#+post_guid: undefined
#+post_status: publish
#+post_date_published: <2023-04-10T15:04:34>
#+post_date_modified: <2023-04-13T10:00:30>
#+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9
#+retrieved_from_db_at: <2024-11-18 16:25:08>
* Outils pour un nommage de fichiers retrouvables
:PROPERTIES:
:CUSTOM_ID: outils-pour-un-nommage-de-fichiers-retrouvables
:END:
Pour se conformer à une gestion de l'information
durable il faut adopter des méthodes fiables sur le long terme, voici
donc quelques outils respectueux de la vie privée qui vont nous
permettre de mettre tout ceci en place. Mais avant cela, on doit définir
ce qui représente une archive propre.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Qu'est-ce qu'une archive propre?
:PROPERTIES:
:CUSTOM_ID: quest-ce-quune-archive-propre
:END:
- Aucun fichier en double
- des noms de fichiers uniques, et qui ont du sens
- un système d'étiquetage flexible qui permette des recherches ultra
rapides
- des automatismes pour ranger et renommer les choses
- les données sont chiffrées
** Les difficultés courantes pour avoir des archives cohérentes et propres telles que définies ci-dessus sont les suivantes:
:PROPERTIES:
:CUSTOM_ID: les-difficultés-courantes-pour-avoir-des-archives-cohérentes-et-propres-telles-que-définies-ci-dessus-sont-les-suivantes
:END:
- on a plusieurs supports de taille différentes, datant d'époques
différentes
- on a à notre disposition les données de plusieurs personnes
différentes, qui ont donc chacun leur façon de ranger leurs archives
- des informations liées aux fichiers sont parfois stockées non pas dans
les fichiers, mais ailleurs comme dans les dossiers qui la
contiennent, ou dans des outils séparés, voire pire, en SaaS. Ce qui
rend leur déplacement périlleux.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
- certains fichiers sont redimensionnés pour être publiés en ligne, et
peuvent aussi être caché dans des archives zip
- les informations de date de création sont erronées et pourrissent les
données exif
- les noms de fichiers ne sont pas forcément supportés par votre système
d'exploitation (coucou windows)
- les rythme de changement des données sont inégaux entre les sources
qui les produisent. Je ne prends pas autant de photos que de médias
sont publiés sur [[https://peertube.cipherbliss.com][mon instance
peertube]] par exemple.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Différentes tailles de support dans le bazar
:PROPERTIES:
:CUSTOM_ID: différentes-tailles-de-support-dans-le-bazar
:END:
Pour pouvoir travailler confortablement, il faut
regrouper vos données dans un support de stockage le plus grand
possible. On va désigner cet espace par "mon ordinateur d'archivage", en
ce qui me concerne c'est une tour dans laquelle j'ai mis des disques en
redondance par système de fichier ZFS pour avoir au final 10 To d'espace
maximum fort bien répliqué. C'est largement suffisant pour ce que j'ai à
gérer, surtout qu'avec BorgBackup les contenus que je sauvegarde sont
compressés et dédupliqués. Mais commençons par le tri le plus simple, en
utilisant notre explorateur de fichiers.Nos angles
d'attaque pour réduire le bazar quand on a aucun outil avancé:
l'aplatissement des hiérarchies de dossier, la recherche par format de
fichier, la suppression, et le couper coller. On va voir quelques façons
plus efficaces bientôt.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
*** Centralisons le bazar dans un seul dossier
:PROPERTIES:
:CUSTOM_ID: centralisons-le-bazar-dans-un-seul-dossier
:END:
Certains préféreront avoir toutes leurs archives dans
leur dossier /home/ personnel. Mais je ne le conseille pas, car j'ai des
dossiers home variés sur divers ordinateurs, qui n'ont pas tous de quoi
stocker l'intégralité de mes archives dans le home personnel. J'ai donc
créé un volume ZFS chiffré monté dans un home séparé, le /home/poule
(comme un pool de disques, haha!). Et la phrase de passe déchiffrant ce
volume est stockée dans mon
[[https://www.cipherbliss.com/comment-ne-plus-perdre-de-temps-avec-ses-mots-de-passe/][gestionnaire
de mots de passe]].Pour commencer vous pouvez faire
plus simple et tout mettre dans un sous dossier de votre home, ou dans
un autre home vierge. Dedans on va regrouper des trucs à archiver,
créons donc un dossier BAZAR, et un autre où on aura des fichiers
proprement rangés et dédupliqués.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
#+begin_example
mkdir -p /home/poule/BAZARmkdir -p /home/poule/stockage-syncable
#+end_example
Couper coller les données depuis les autres supports
de stockage (clé usb, disques dur externes, laptop, téléphone, gopro,
autres trucs divers et variés) afin de ne pas faire le travail de
regroupement en double. Certains dossiers sont identiques et faciles à
identifier, surtout si vous les avez récemment rangés, vous pouvez les
supprimer sans les regrouper dans le BAZAR.On va
pouvoir ensuite rechercher les doublons pour réduire le boulot de mise
en qualité.Pour comparer avec ce que l'on a
actuellement on va mesurer la taille que prend tout le bazar avant qu'on
s'en occupe
#+begin_example
du -sch /home/poule/
#+end_example
Vous devriez voir la place prise par l'ensemble de
votre dossier poule, notez la dans un coin.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Mise en qualité de notre archive
:PROPERTIES:
:CUSTOM_ID: mise-en-qualité-de-notre-archive
:END:
C'est bien simple, tout ce que vous n'automatisez
pas, vous devrez vous le peler à un moment ou un autre, ou faire peser
cette responsabilité à quelqu'un d'autre. Mais il ne faut pas se
leurrer, vous aurez forcément besoin à un moment ou a un autre de
retrouver vos fichier, ou des données qu'ils contiennent. Comme pour les
objets physiques, plus on en accumule, plus on devra consacrer de temps
à les gérer, ou a vivre avec des poubelles. Moins de corvées à faire,
c'est plus de temps pour une vie plus intéressante, donc par pitié,
virez des trucs, gérer vos projets de façon à savoir où vous en êtes et
automatisez vos tâches. Votre futur vos-même vous en
remerciera.Commençons à voir quels outils numériques
libres on peut utiliser pour se simplifier la
vie.Avant de s'attaquer à nos fichiers il faut avoir
dégagé le gros des doublons, et avoir regroupé ensemble les fichiers qui
ont le plus de chance d'être proches une fois rangés.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
[[https://www.cipherbliss.com/supprimer-les-doublons-avec-un-baobab-et-czkawka/][*Baobab*
et Czkawka à la rescousse.]]Enfin, faites gaffe quand
vous faites des modifications massives, il ne faudra pas venir chouiner
que vous avez tout bousillé si vous n'avez pas fait de sauvegarde
ailleurs et que vous avez cassé vos fichiers important au lieu de juste
casser vos fichiers de démonstration. Un bon moyen d'éviter ça c'est
d'[[https://www.cipherbliss.com/plan-darchivage-et-de-backup/][avoir une
bonne stratégie de sauvegarde]]. Sans oublier la partie "sauvegarde à
froid, hors ligne, loin de votre ordinateur habituel, débranchée pour de
vrai".
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Design de noms de fichiers retrouvables
:PROPERTIES:
:CUSTOM_ID: design-de-noms-de-fichiers-retrouvables
:END:
Voilà ce à quoi on vise pour les noms de fichiers,
une structure précise avec des sections optionnelles:
#+begin_example
[chemin_de_base]/[catégorie]/[date_iso][descriptif]--[étiquettes][format]
#+end_example
Exemple:
#+begin_src prettyprinted
/home/poule/encrypted/stockage-syncable/photos/2023/2023-01-18T13.09.35 fruit du dragon -- nourriture.jpg
#+end_src
Il va nous falloir des outils pour ranger dans un
dossier organisé, définir une date en entête du nom, une description, et
des tags, avant la fin du nom de fichier contenant son format, et que
tout ceci soit suffisamment fluide à utiliser pour qu'on garde ces
outils dans la durée, sur des décennies,
[[https://www.cipherbliss.com/des-sauvegardes-qui-durent-mille-ans/][des
sauvegardes qui durent des milliers d'années]]. Rien que ça oui. Et que
l'on puisse restaurer.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Utiliser un vocabulaire contrôlé pour marquer les fichiers
:PROPERTIES:
:CUSTOM_ID: utiliser-un-vocabulaire-contrôlé-pour-marquer-les-fichiers
:END:
Contrôler les tags à utiliser en les limitant, oui
mais comment? On va utiliser un fichier qui va prédéfinir une
cinquantaine de mots que l'on va pouvoir appliquer à nos fichiers. Ces
tags devront être cohérents dans leur casse: bas de casse, termes au
pluriel, un seul mot ou plusieurs mots reliés par des soulignés,
suffisamment généraux, et ne pas se recouvrir dans leur
sens.On peut aussi les utiliser pour faire de la
gestion de projet en définissant un cycle de vie des fichiers, ce qui
permettra d'avoir des versions datées et d'indiquer leur état
d'avancement dans un tag.Dernier aspect utile:
définir la visibilité des fichiers, privés, confidentiels, ou publics
quand cette visibilité n'est pas précisée.les
brouillons, les versions d'avancement, l'état publié, ou terminé sont
des états qui ne se recouvrent pas et permettent de suivre l'état des
fichiers par une simple recherche sur leur
nom.Commencez par peu de termes, et faites du
jardinage en renommant en masse les fichiers au fur et à mesure, mais
n'allez pas mettre des tags ne correspondant pas à des cas d'usage de
choses que vous aimeriez rechercher plus tard.Avec
l'outil *Filetags* nous allons pouvoir attribuer en masse et avec de
l'autocomplétion des tags à une sélection de
fichiers.Exemple de fichier
.filetags:
#+begin_example
amisanimauxbâtimentcartechantierdodofamillefestivalfêtegoprogopro-back gopro-frontgraphhas_no_taghéliaillustrationmaisonmanifnourriturepapierplansélectionvoiturevoyagepublic privatebrouillon final publiéjetématérielportrait
#+end_example
Voyons quels outils on peut utiliser, et après on
verra comment les installer.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Ajouter une date au nom de fichier
:PROPERTIES:
:CUSTOM_ID: ajouter-une-date-au-nom-de-fichier
:END:
Beaucoup de fichiers ont un nom qui n'est pas bien
utile dans une recherche d'informations.Pour toutes
les photos et vidéos que j'ai pris avec mes smartphones et appareil
photo, on retrouve un certain schéma de nommage. Je pouvais donc lancer
une commande de renommage massif sur tous les fichiers qui
correspondaient à ce schéma. En faisant des essais sur plusieurs jeux de
fichiers de tests d'abord avant de progressivement lancer le renommage
sur des portions de plus en plus grosses de mon dossier de
photos.Exiftool à la rescousse! Vous pouvez
l'installer avec Apt:
#+begin_example
sudo apt install exiftool
#+end_example
#+begin_example
# renommer mes fichier DSC*.jpg en leur date et heure.jpgalias ex="exiftool '-filename<FileModifyDate' -d \"%Y-%m-%dT%H.%I.%S%%c.%%le\" -r"alias ex2="exiftool '-filename<DateTimeOriginal' -d \"%Y-%m-%dT%H.%I.%S%%c.%%le\" -r"
#+end_example
C'est un outil qui permet de lire les métadonnées, en
écrire, et renommer les fichiers tout en les déplaçant si on le
souhaite. Pour que ça reste assez simple, j'ai fait en sorte que mon
utilisation d'exiftool ne déplace pas les fichiers, en comptant sur un
autre outil présenté ci-après:
*move2archive*.Cependant y'a quelques soucis,
certains fichiers perdent des informations exif quand on les déplace.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
C'est rare mais ça arrive. il faudra donc les renommer à la mano si
l'info est perdue.On peut aussi croiser le problème
des informations exif entrées différemment d'un appareil photo à un
autre, c'est donc aussi valable quand on change de smartphone. Donc pour
les photos récalcitrantes j'ai fait une autre version du script exiftool
qui se base sur un autre attribut, celui de la date de modification du
fichier.Hey mais, et si pour certains de mes fichiers
j'ai déjà une description et que je souhaite la garder? Il me faut un
outil qui sache détecter mon schéma de nom de fichiers et ne pas tout
péter. Date2Name est là pour ça! Quelle
chance!*Date2Name* permet de rajouter une date avec
ou sans précision de l'heure en début de nom de
fichier.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Ajouter un texte de description
:PROPERTIES:
:CUSTOM_ID: ajouter-un-texte-de-description
:END:
*appendfilename* est dans la place. il va aller
chercher le bon endroit dans le nom de fichier pour ajouter du texte, il
dispose d'une option pour aller l'ajouter avant, avec l'option
/prepend/.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Ajouter ou enlever des tags.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
:PROPERTIES:
:CUSTOM_ID: ajouter-ou-enlever-des-tags.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
:END:
*filetags* va lire notre fichier de vocabulaire
controllé *.filetags*, et nous proposer de rajouter ou enlever des tags
à notre sélection de fichiers dans une mini fenêtre de terminal. Pour
enlever un tag on le précède d'un moins. Et on peut faire de l'ajout et
de la suppression en même temps.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Remplacer les noms de fichiers en masse
:PROPERTIES:
:CUSTOM_ID: remplacer-les-noms-de-fichiers-en-masse
:END:
Pas besoin d'outil pour cela, dans l'explorateur de
fichier Nautilus ou Thunar, vous avez un choix pour rechercher-remplacer
dans les noms de fichier.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Ajouter le nom du dossier parent
:PROPERTIES:
:CUSTOM_ID: ajouter-le-nom-du-dossier-parent
:END:
J'ai rangé pas mal de fichiers en donnant des
informations au dossier qui les contient, pour enrichir ces fichiers il
me fallait donc une façon automatique de renommer les fichiers en
question. Je me suis appuyé sur append file name pour ça et ai produit
un script python nommé *rename file folder*.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Renommer les captures gopro 360
:PROPERTIES:
:CUSTOM_ID: renommer-les-captures-gopro-360
:END:
J'ai aussi fait un script perso, mais en bash cette
fois, pour le sport: *gopro_rename*. Celui ci détermine selon le nom
original si il s'agit d'une capture du côté frontal, ou arrière, et
renomme en conséquence, tout en gardant en description le nom de fichier
original pour suivre la séquence. Je peux ensuite faire du
appendfilename pour ajouter une description de la
séquence.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Deviner le nom de fichier
:PROPERTIES:
:CUSTOM_ID: deviner-le-nom-de-fichier
:END:
un script pour les renommer tous! Si on a
suffisamment d'indices dans la structure du nom de fichier, dans ses
données exif, ou dans son contenu, on peut le renommer automatiquement,
et le mettre au bon endroit.*guessfilename* est là
pour ça, il réunit plusieurs considérations précédentes et va tenter de
nettoyer les noms de fichiers automatiquement.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Déplacer automatiquement les fichiers
:PROPERTIES:
:CUSTOM_ID: déplacer-automatiquement-les-fichiers
:END:
Une fois qu'on a nos fichiers nommés proprement, on
peut les déplacer automatiquement. Pour les photos, dans le dossier
photos/2023/ par exemple pour les photos prises cette année.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
*Move2archive* est là pour ça.Move2archive dispose
d'un fichier de configuration auquel on doit préciser quel est notre
dossier racine pour nos archives, afin de les ranger automatiquement
dans celui ci. On peut aussi préciser ce dossier avec un
paramètre.En cas de fichier dont *le nom* est
identique à l'arrivée, on écrase pas le fichier et on laisse à
l'utilisateur le choix de quoi faire avec.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** Avoir des alias de commande
:PROPERTIES:
:CUSTOM_ID: avoir-des-alias-de-commande
:END:
votre terminal peut enregistrer des raccourcis de
commande, c'est bien pratique et permet d'avoir toujours la flexibilité
de la suite de la commande. Exemples d'alias que j'utlise dans mon
fichier /.bash_custom_aliases/ :
#+begin_example
################ personal info management #########alias gf="python $WORKFLOW_PATH/files_management/guessfilename_custom.py"alias rff="python $WORKFLOW_PATH/files_management/rename_photo_folder.py"alias m2a="move2archive --archivepath $stockage_syncable_folder/photos"alias ex="exiftool '-filename<FileModifyDate' -d \"%Y-%m-%dT%H.%I.%S%%c.%%le\" -r"alias ex2="exiftool '-filename<DateTimeOriginal' -d \"%Y-%m-%dT%H.%I.%S%%c.%%le\" -r"alias exgps="exiftool '-filename<GPSDateTime' -d \"%Y-%m-%dT%H.%I.%S%%c -- has_gps.%%le\" -r"
#+end_example
** Installer les outils
:PROPERTIES:
:CUSTOM_ID: installer-les-outils
:END:
Par ici pour
[[https://forge.chapril.org/tykayn/scripts/src/branch/master/bash/file_management][l'installation
de tous ces outils avec un seul script]]
#+begin_example
git clone https://forge.chapril.org/tykayn/scriptscd scripts/bash/file_managementbash install.sh
#+end_example
Chacun de ces outils est utilisable dans un terminal,
mais ce n'est pas forcément le plus pratique. Pouvoir les utiliser en
sélectionnant des fichiers dans notre explorateur de fichier favori, ou
dans un gestionnaire de gallerie qui permet de lancer des scripts avec
des raccourcis clavier personnalisables c'est tout de même vachement
plus utilisable au quotidien.Enjaillez!