3 points par GN⁺ 2024-07-04 | 1 commentaires | Partager sur WhatsApp
  • L’origine de DS_Store chez Apple

  • Si vous êtes utilisateur de Mac, ou si vous avez déjà transféré des fichiers d’un Mac vers Windows, vous connaissez probablement le fichier .DS_Store

  • L’origine de ce nom remonte à 1999

  • À l’époque, l’auteur était responsable technique du Finder de Mac OS X chez Apple

  • La base de code du Finder avait 8 ans et avait atteint la fin de sa durée de vie utile

  • Y apporter des modifications demandait un effort d’ingénierie énorme, et chaque changement cassait souvent deux ou trois fonctionnalités sans rapport

  • Il a donc été décidé de réécrire entièrement le Finder pour Mac OS X

  • Une partie du travail consistait à séparer l’interface utilisateur des fonctionnalités de base, c’est-à-dire du backend

  • Le backend du Finder énumère les fichiers, surveille les changements du système de fichiers et gère les métadonnées

  • En interne, ces deux composants étaient appelés Finder_FE et Finder_BE (Frontend et Backend)

  • Ils se sont rendu compte que le backend du Finder pouvait aussi être utile en dehors du Finder

  • Ils ont donc prévu d’en faire une API publique

  • Comme l’auteur avait auparavant participé au nommage de Icon Services et Navigation Services, il a choisi le nom Desktop Services

  • .DS_Store est l’abréviation de "Desktop Services Store"

  • Un "." a été ajouté au début pour que le système Unix, y compris Mac OS, le considère comme un fichier caché

  • Personnellement, l’auteur pense que ce nom n’est pas très bon et qu’il aurait fallu choisir un nom plus explicite

  • Un bug qui entraîne une création excessive de fichiers .DS_Store n’a toujours pas été corrigé

  • Ils ne devraient être créés que lorsque l’utilisateur ajuste les réglages d’affichage ou définit la position manuelle des icônes dans un dossier

  • Pourtant, visiter un dossier garantit la création d’un fichier .DS_Store

  • Finder_BE, c’est-à-dire Desktop Services, est utilisé au-delà du Finder

  • Navigation Services (les boîtes de dialogue d’ouverture et d’enregistrement) l’utilise également

  • Cependant, l’API Desktop Services n’a toujours pas été entièrement rendue publique


  • Publié le 1er octobre 2006
  • Par Arno Gourdol

L’avis de GN⁺

  • Cet article fournit un contexte technique en expliquant l’histoire du Finder de Mac OS X et l’origine du fichier .DS_Store
  • Le problème de création excessive des fichiers .DS_Store n’est toujours pas résolu, ce qui peut affecter l’expérience utilisateur
  • La réutilisabilité du backend du Finder illustre la philosophie de conception logicielle d’Apple
  • Parmi les autres outils de gestion de système de fichiers aux fonctions comparables, on peut citer le NTFS de Windows et ext4 sous Linux
  • Lorsqu’on adopte une nouvelle technologie ou un projet open source, il faut tenir compte des questions de compatibilité avec les systèmes existants et de maintenance

1 commentaires

 
GN⁺ 2024-07-04
Avis Hacker News
  • Le concept de « fork » dans le système de fichiers Mac signifiait que les composants ressource et données existaient par paires

    • Sous Unix, les métadonnées se trouvaient dans l’inode du bloc de répertoire et devaient être représentées structurellement via tar, cpio, zip, etc.
    • Pour implémenter la prise en charge de fichiers compatibles Mac sous Unix, il fallait traiter le resource fork comme un citoyen de première classe
    • Les systèmes de fichiers modernes ont des structures de blocs de répertoire plus grandes et peuvent mieux gérer les données
  • Il existait un moyen de désactiver la création des fichiers .DS_Store, mais il a été supprimé

    • Quelqu’un a écrit un programme qui supprime les fichiers .DS_Store dès qu’ils sont créés
    • Lien du programme
  • Impossible de comprendre pourquoi les fichiers .DS_Store doivent se trouver dans le même dossier

    • Le système d’exploitation ne pourrait-il pas avoir sa propre base de données référençant les chemins ?
  • Les fichiers .DS_Store ne devraient être créés que lorsque l’utilisateur ajuste les paramètres d’affichage d’un dossier ou définit la position manuelle des icônes

    • Quand on visite un dossier dans Finder, un fichier .DS_Store est presque toujours créé
    • On peut personnaliser l’apparence et la taille de la fenêtre d’un dossier dans Finder, mais si on ouvre le même dossier dans une fenêtre de navigation, la plupart de ces personnalisations disparaissent
    • C’est un problème causé par l’impossibilité de définir une configuration par défaut pour les fenêtres de navigation
  • Dès 1999, les applications étaient déjà séparées en frontend et backend

    • Ils étaient connus sous les noms de Finder_FE et Finder_BE
  • Il vaut la peine de mentionner qu’il existe un moyen de désactiver par défaut la création des fichiers .DS_Store lors de la navigation sur des volumes réseau

    • Sinon, l’horodatage de modification du répertoire est mis à jour quand on parcourt avec Finder
    • Lien associé
  • Chaque fois que quelqu’un voit un fichier .DS_Store, cela lui fait penser à la Nintendo DS

  • Pour les non-utilisateurs de Mac, il est un peu agaçant de voir des fichiers .DS_Store inclus lorsqu’on télécharge un fichier .tgz depuis Github

    • MacOS semble utiliser GNU tar
    • Il est surprenant que cela n’ait pas été modifié pour ignorer les fichiers .DS_Store par défaut
  • Même en étant un grand fan de MacOS, Finder reste l’un des explorateurs de fichiers les plus absurdes

  • Les fichiers DS Store sont une existence malheureuse

    • Ils ont une utilité, mais pour la plupart des gens, ils ressemblent à des déchets de fichiers
    • Du point de vue de l’UX, cela ne fait pas très Apple
    • En utilisant System 7.5/OSX et Windows, il y avait chez Mac une tendance à ne pas montrer de fichiers inutiles