2 points par GN⁺ 2024-04-21 | 1 commentaires | Partager sur WhatsApp

Conseils pour structurer son répertoire personnel

  • Structurer ou ranger des répertoires n’est pas très différent du fait de structurer ou ranger d’autres choses ; l’essentiel est d’adopter la méthode qui a le plus de sens pour soi.
  • Quand on gère de l’organisation, la situation peut très vite devenir incontrôlable.
  • Le but principal du rangement est l’efficacité : il faut pouvoir trouver facilement et rapidement ce qu’on cherche, et enregistrer facilement et rapidement ce qu’on doit stocker.

Fichiers et répertoires cachés par défaut

  • Dans mon répertoire personnel, il y a tous les fichiers cachés par défaut qui font partie des systèmes d’exploitation Unix modernes, comme .config, .aliases, .profile, .gnupg, .mozilla, etc.
  • Je préférerais que toutes les applications respectent XDG_CONFIG_HOME, mais je n’interviens pas trop là-dessus et je ne m’en préoccupe pas excessivement.
  • Par le passé, je maintenais $HOME avec Git, et c’est une excellente manière de gérer ses dotfiles.
  • Je mets encore tous mes dotfiles dans Git pour conserver l’historique des modifications, mais je ne laisse tels quels que ceux qui fonctionnent de la même manière sur les différents systèmes que j’utilise.
  • Les dotfiles spécifiques à une configuration sont conservés dans un répertoire dotfiles et j’utilise des liens symboliques.

Organisation générale des fichiers et répertoires

  • Les fichiers et répertoires ordinaires sont principalement organisés de deux façons : par « catégorie » et par « date ».
  • Structure de répertoires de base :
    • bin
    • data
    • edata
    • mnt
    • usr/dotfiles
  • Je laisse les répertoires Desktop et Downloads tels quels (la plupart des applications semblent les imposer).
  • Le répertoire bin sert à stocker les scripts shell et les exécutables binaires personnels (à l’exclusion de ce qui est installé via le gestionnaire de paquets).
  • Le répertoire mnt sert à divers points de montage, comme les cartes SD, les disques USB ou le stockage partagé utilisé dans mon homelab.
  • Je n’utilise jamais le montage automatique et j’emploie des scripts shell dédiés au montage.
  • Le répertoire usr/dotfiles est géré avec Git avec les dotfiles généraux comme .aliases, et utilise des liens symboliques vers les fichiers correspondants du répertoire dotfiles.

Organisation des répertoires de données

  • Les répertoires data et edata sont les deux principaux répertoires qui contiennent toutes les données.
  • Ces deux répertoires sont des datasets ZFS exécutés sur un pool de disques en miroir, distinct du système racine.
  • Grâce à ZFS, les snapshots ainsi que les opérations d’envoi et de réception ZFS sont utilisés régulièrement pour sauvegarder facilement les données vers un stockage réseau.
  • La différence entre data et edata, c’est que edata est un dataset chiffré natif de ZFS.
  • Le chiffrement est bon pour la confidentialité, mais il ajoute une couche de complexité pénible sur une hiérarchie de système de fichiers déjà complexe, et le chiffrement ZFS comporte des bugs.
  • Il est fortement recommandé de toujours sauvegarder les données importantes sur plusieurs solutions de stockage et emplacements différents.
  • Je n’utilise pas le cloud storage pour les éléments importants.

Conseils supplémentaires

  • La règle de base pour nommer les fichiers et répertoires est qu’on doit pouvoir identifier facilement de quoi il s’agit rien qu’en voyant le nom.
  • Si l’on ne peut pas savoir de quoi parle un fichier sans l’ouvrir, il faut l’ouvrir immédiatement puis le renommer de façon plus parlante la prochaine fois qu’on verra son nom.
  • Si l’on laisse les fichiers et répertoires s’accumuler sans les organiser, ils deviennent ensuite très difficiles à remettre en ordre.
  • J’utilise des noms de fichiers contenant de longues descriptions quand c’est nécessaire afin de pouvoir comprendre le contenu d’un fichier sans l’ouvrir.

L’avis de GN⁺

  • Cet article fournit des conseils pratiques sur la manière de ranger et d’organiser une structure de répertoires. L’idée d’utiliser des datasets ZFS pour séparer la gestion entre répertoires chiffrés et non chiffrés est particulièrement intéressante.

  • Personnellement, je pense qu’il est préférable de stocker les données importantes sous forme chiffrée. Mais comme le chiffrement a aussi des inconvénients, comme une baisse de performances ou une complexité accrue, il semble préférable de l’utiliser de manière sélective selon le contexte.

  • Il me semble aussi important de partager avec sa famille la manière d’accéder aux données chiffrées. Ainsi, même en cas d’accident ou d’impossibilité d’y accéder soi-même, on évite de perdre les données.

  • Pour la gestion des données personnelles, il est très important d’établir une stratégie de sauvegarde systématique comme celle de l’auteur. Suivre la règle de sauvegarde 3-2-1, tout en privilégiant des stockages locaux physiquement répartis plutôt que le cloud storage, paraît aussi être une bonne approche.

  • Parmi les outils open source utiles pour organiser ses données personnelles, on peut citer Syncthing ou Nextcloud. Bien utilisés, ces outils peuvent permettre une gestion des données personnelles à la fois structurée et sûre.

1 commentaires

 
GN⁺ 2024-04-21
Avis Hacker News

Voici un résumé des commentaires de Hacker News :

  • Certains se plaignent que le répertoire personnel soit encombré par les applications. Le répertoire par défaut des modules Go, ~/go, est notamment pointé du doigt. On peut corriger cela avec le paramètre GOPATH, mais beaucoup estiment que c’est un mauvais choix par défaut.
  • L’outil xdg-ninja permet de configurer la plupart des applications pour qu’elles respectent le standard XDG, ce qui aide à garder le répertoire personnel mieux organisé.
  • Des applications stockent des gigaoctets de données de session dans le dossier .config, ce qui complique les sauvegardes. Selon certains, la configuration et les données de session devraient être séparées.
  • Les préférences en matière d’organisation des fichiers varient d’une personne à l’autre. Certains gardent un répertoire personnel presque vide et utilisent plutôt du stockage cloud ou une partition séparée. Stocker les clés SSH dans un gestionnaire de mots de passe peut aussi être une option.
  • Classer les photos avec des mots-clés EXIF est présenté comme une bonne méthode pour éviter les doublons. Pour les documents, on peut utiliser des noms comme date-description.txt ou mot-cle-titre-date.txt.
  • Il est conseillé d’utiliser des noms de dossiers en majuscules pour le GUI et en minuscules pour le CLI. ~/dotfiles peut servir de dépôt Git pour gérer les dotfiles, avec des liens symboliques pratiques vers le répertoire personnel.
  • ~/projects peut servir à organiser les projets dans des sous-répertoires dédiés, tandis que ~/tmp peut être utilisé pour les fichiers temporaires. Organiser ses notes sur un site web ou en Markdown est aussi une bonne approche.
  • Le fait que beaucoup de noms de dossiers commencent par la lettre « D » peut prêter à confusion. Créer des dossiers de projets par année puis par date, avec un seul niveau d’imbrication, facilite la navigation.
  • Utiliser des tirets plutôt que des underscores dans les noms de fichiers et de répertoires est meilleur pour le référencement et aussi plus pratique dans le terminal.
  • Pour les sauvegardes, utiliser plusieurs services comme Time Machine, Backblaze et iCloud en parallèle est recommandé, et conserver des archives compressées sur S3 peut également être une bonne solution.