Pourquoi OS X choisit-il d’avoir un système de fichiers insensible à la casse au lieu d’un système sensible à la casse ?


Sensible à la casse de manière partielle serait la meilleure description.

Le contexte historique est que le HFS original était insensible à la casse pour les caractères A à Z, c'est-à-dire que 'A' est comme 'a'', 'B' est comme 'b' et ainsi de suite. Il faisait de même avec les lettres contenant des diacritiques entre leur forme majuscule et minuscule, par exemple 'À&apos ; est comme 'à&apos ; etc. Le système de fichiers utilisait un schéma ASCII étendu "Mac OS Roman" qui contenait la plupart des caractères latins.


Cela a été repris dans HFS+ et APFS mais Unicode était une chose à ce moment-là. Donc maintenant, les noms de fichiers peuvent contenir toute séquence Unicode valide.

C'est donc de là que vient le partiel. Les systèmes de fichiers insensibles à la casse utilisent une table de pliage de casse Unicode pour normaliser les noms.

Si le système de fichiers était véritablement insensible à la casse, alors les fichiers "COTE", "coté" et "côté" seraient les mêmes pour un utilisateur français, car "COTE" est l'orthographe en majuscules de "coté" et "côté" (le français omet souvent les diacritiques sur les majuscules). Donc, "COTE" ne devrait pas coexister dans le même dossier avec soit "coté" et "côté", mais "coté" et "côté" pourraient coexister.

Et de la même manière, les mots allemands "groß", "GROSS" et "GROẞ" sont équivalents (la majuscule ẞ est une introduction orthographique assez récente).

Evidemment, il serait très difficile de mettre cette connaissance dans un système de fichiers ou de déduire quelle langue les règles doivent suivre, surtout si plusieurs langues sont utilisées sur le même périphérique.

Donc, insensible à la casse partielle, c'est parti. L'APFS insensible à la casse contient également des particularités, que l'on peut voir ici, qui permettent à des noms de fichiers sémantiquement identiques d'exister côte à côte en raison de la façon dont les chaînes ont été codées et comparées. C'est peut-être la raison pour laquelle APFS peut être utilisé dans un mode sensible à la casse, ce qui est probablement une bonne idée pour quiconque gère un serveur de fichiers ou qui n'aime pas l'ambiguïté.