APFS : le chantier avance sur macOS

Christophe Laporte |

L’une des grandes nouveautés des dernières bêtas d’iOS et de tvOS, c’est le passage à APFS, le nouveau système de fichiers d’Apple. Le californien a clairement affirmé que l’ensemble de ses systèmes d’exploitation passeront à APFS d’ici la fin de l’année.

Qu’en est-il de macOS ? Apple a inclus les premières briques de APFS dans les premières bêtas de Sierra. Jusqu’à présent, l’une des limites dans l’intégration de ce système de fichiers dans macOS, c’est qu’il était impossible de démarrer dessus. Avec la dernière bêta de macOS, les choses ont un petit peu avancé. En rusant, Tyler Loch est parvenu à démarrer avec le nouveau système de fichiers d’Apple.

Autant le dire tout de suite, ce qu’il a fait n’est pas à la portée de tout le monde. Il a cloné son système sur un disque, a lancé la conversion en APFS puis il a modifié certains paramètres au coeur du système.

Si le grand saut vers APFS est bien parti pour se faire sous iOS avec 10.3, on ne serait pas étonné que celui-ci sous Mac n’intervienne qu’avec le successeur de Sierra. Le bidouilleur Tyler Loch a remarqué que le Finder et d’autres utilitaires n’étaient pas tout à fait à l’aise avec APFS. Le logiciel d’Apple ne sait pas trop si le système de fichiers est sensible ou non à la casse.

Mais là où la transition vers APFS est transparente sur iOS, elle nécessite sans doute plus de travail sur macOS. Avec le long vécu de ce dernier et le fait que ce soit une plate-forme plus ouverte (en matière de développement) qu’iOS, les problèmes d’incompatibilité sont sans doute bien plus nombreux. D’autre part, Apple est obligé de revoir plusieurs briques de son système pour être en accord avec APFS à commencer par Time Machine.

Passé sous silence l’année dernière, nul doute qu’APFS sera l’un des grands thèmes de la WWDC 2017.

avatar Steve92340 | 

Donc potentiellement une machine plus rapide et plus de stockage comme sur iOS?

avatar frankm | 

A supposer, puisque que c'est optimisé pour les SSD et stockages flash

avatar Steve92340 | 

Ah d'accord. On verra quand le nouveau OSX sortira.

avatar fte | 

@Steve92340

Ça restera sans doute invisible pour la plupart des gens.

Time Machine sera probablement plus rapide. Le multitasking moins freiné (beach ball). C'est tout.

avatar Yohmi | 

@fte

Ça va bien au-delà pour l'utilisateur.
Les partitions n'auront plus d'espace prédéfini et pourront piocher directement dans d'autres. Plus de hiérarchisation des partitions non plus, qui actuellement restreint la flexibilité en fonction de leur numéro. Le système de fichier va désormais se baser sur des clones, donc copier le même fichier à plusieurs endroits différents sur le même volume ne prendra que quelques octets (jusqu'à ce qu'il soit modifié). La sauvegarde des fichiers est aussi bien plus sécurisée (suppression d'étapes intermédiaires qui génèrent des erreurs), le chiffrement est au cœur du système donc plus puissant et sans impact sur les performances. Et la taille des fichiers et répertoires ne sera plus calculée à la volée, mais en permanence (plus aucune attente).
Et ça, c'est seulement ce que j'ai compris en regardant la vidéo d'explication de la WWDC de l'année dernière.

Le plus difficile va être de s'assurer que les utilisateurs comprennent ces changements.

avatar fte | 

@Yohmi

Tu mélanges diverses notions.

Il y a bien entendu une mise à niveau technique, et une fusion de CoreStorage avec le FS en une pile plus intégrée.

Mais pour l'essentiel je doute fortement que le public actuel d'Apple note un changement d'importance au quotidien. Je veux dire au delà du placébo.

avatar Yohmi | 

@fte

Je ne comprends pas. Les changements que je cite impactent directement l'expérience utilisateur, et ils sont dus à APFS, non ? Ou alors tu veux juste dire que sur le plan strict de la fluidité/réactivité du système d'exploitation, les changements seront invisibles dans la plupart des cas ?

avatar r e m y | 

@Yohmi

Comme toi, je pense que beaucoup d'utilisateurs seront déroutés en constatant que la duplication de fichiers ne modifie pas la place occupée sur le disque, ou que la suppression de certains fichiers, dans certains cas, ne libère pas de place.
Ils seront déroutés par la gestion des partitions (chaque partition affichant potentiellement une taille égale à la taille totale du disque)....

Meme le caractère "sensible à la casse" de ce file system, va probablement créer des confusions chez certains ...

avatar fte | 

@Yohmi

Le système de partition de changera pas. Certaines fonctions avancées seront possiblement disponibles pour les utilisateurs avancés, comme c'est le cas maintenant avec CoreStorage, mais la plupart des utilisateurs ne seront pas concernés.

Le copy-on-write et copies de fichiers "gratuites" resteront majoritairement invisible, sauf soudainement à dupliquer un dossier de grosses vidéos. Quant à de le déduplication, ce n'est sauf erreur pas au programme.

Même la sensibilité à la casse restera grandement invisible. C'est un changement relativement mineur pour les utilisateurs. Il y a peu de raisons de nommer deux fichiers identiquement mais avec ou sans majuscules.

FileVault sera mieux intégré également. Mais peu visible dans tous les cas. Ou seulement à la mise en route.

À part des incompatibilités liées à la sensibilité à la casse, ça sera transparent.

avatar BeePotato | 

@ Yohmi : « Les partitions n'auront plus d'espace prédéfini et pourront piocher directement dans d’autres. »

Non. Ce sont les volumes APFS au sein d’une partition qui se comporteront comme ça. Mais le système des partitions ne change pas.
On ignore encore comment Apple présentera la chose aux utilisateurs (comment intégrer un niveau supplémentaire de gestion des disques dans un utilitaire de disque toujours plus simplifié de version en version ?).

« Plus de hiérarchisation des partitions non plus, qui actuellement restreint la flexibilité en fonction de leur numéro. »

Hein ? À quelle hiérarchisation fais-tu référence ?

« Le système de fichier va désormais se baser sur des clones, donc copier le même fichier à plusieurs endroits différents sur le même volume ne prendra que quelques octets (jusqu'à ce qu'il soit modifié). »

Pas forcé. Ça non plus, on ne sait pas comment Apple va l’exploiter et le présenter aux utilisateurs.
Il est tout à fait possible que la fonction de copy-on-write ne serve que dans le cadre du système Versions (où son usage serait très logique et efficace) — et, bien sûr, dans le cadre des snapshots pour Time Machine.
Mais rien n’indique qu’il sera mis en œuvre dans la copie de fichiers. Il est possible qu’Apple souhaite conserver à la copie son sens actuel. Ou pas.
Bref, on verra.

avatar Yohmi | 

@ BeePotato
Je ne fais que répéter ce que j'ai vu sur cette vidéo de la WWDC : https://developer.apple.com/videos/play/wwdc2016/701/
Ne me demande pas d'expliquer, je ne suis pas développeur, mais la présentation est assez explicite.

avatar BeePotato | 

@ Yohmi : « Je ne fais que répéter ce que j'ai vu sur cette vidéo de la WWDC »

J’ai évidemment vu cette vidéo (comme tous ceux qui s’intéressent à ce sujet), mais j’avais oublié qu’il y était annoncé, à la fin, que le clonage était déjà intégré dans NSFileManager et sa méthode copyItemAtPath:toPath:error:. Ça semble donc indiquer qu’Apple a réellement envie d’utiliser le clonage pour les copies de fichiers initiées par l’utilisateur, et non juste pour des trucs cachés tels que Versions.
Pour ma part, je ne trouve pas que ce soit une idée géniale, en raison des surprises que ça crée au niveau de la gestion de l’espace disque : une copie qui ne consomme pas d’espace disque, ça peut déjà intriguer un peu l’utilisateur ; mais un fichier qui fait baisser l’espace disque libre lorsqu’on le modifie, même si on n’a pas changé sa taille, là ça peut commencer à paraître franchement bizarre ! Quand ça n’est pas tout simplement bloquant, bien sûr.

Pour le reste, rien ne change pas rapport à ce que je disais : le système des partitions ne change pas, il y a juste un ajout d’un niveau permettant de gérer plusieurs volumes APFS au sein d’une seule partition, et on ne sait pas comment Apple va présenter aux utilisateurs gestion de ce système.
Et il n’y a pas de « hiérachisation des partitions qui actuellement restreint la fexlibilité en fonction de leur numéro ». :-)
En fait, c’est la nouvelle approche qui va introduire une hiérarchisation (mais avec un gain en termes de flexibilité).

avatar r e m y | 

@fte

Invisible pour l'utilisateur?? J'en doute...

Il y aura nécessairement des bugs et casse tête à la clé pour essayer de récupérer ses données (d'autant que les bugs toucheront aussi les utilitaires de sauvegarde ou de clonage qui devront être complètement réécrits)

Il y aura des incompatibilités avec de nombreuses applications, ne serait-ce que parce qu'on passe sur un système sensible à la casse (les applications Adobe par exemple, n'aiment pas du tout les formats sensibles à la casse)

Bref le changement risque d'être délicat.

Sans parler du coût probable demandé par les développeurs et éditeurs pour passer aux versions mises à jour de leurs applications (voire pour passer à d'autres applications si celles qu'on utilise ne sont pas mises à jour et deviennent incompatibles)

avatar fte | 

@r e m y

Oui, juste, les incompatibilités d'apps... j'ose espérer qu'Apple fera en sorte que les API legacy soient le plus transparentes possible. Mais il y a un risque néanmoins, c'est certain.

avatar mat 1696 | 

@r e m y

Ah bon APFS est sensible à la case? Mais sur la screenshot on voit "Case-INsensitive" non?

avatar r e m y | 

@mat 1696

Pourtant Apple a toujours indiqué que APFS est "case sensitive"...

avatar BeePotato | 

@ r e m y : « Pourtant Apple a toujours indiqué que APFS est "case sensitive"... »

Non, en fait.
La seule chose qu’Apple a indiquée publiquement à ce sujet, c’est que parmi la liste des limites de la version beta d’APFS distribuée avec Sierra, il y avait le fait que cette version était sensible à la casse.

Apple n’a jamais dit qu’il n’y aurait pas d’option d’insensibilité à la casse dans la version finale. Et on peut fortement espérer qu’il y en aura une, histoire de ne pas bouleverser les habitudes des utilisateurs, de ne pas créer inutilement d’incompatibilités, et de ne pas compliquer l’usage du système pour une sensibilité à la casse bien peu utile (et fort désagréable à l’usage).

Mac OS a depuis le tout début fait l’effort de gérer l’insensibilité à la casse (les systèmes de fichiers sensibles à la casse sont juste le résultat d’une économie de ressources qui n’a plus lieu d’être, hors grosse flemme des développeurs), ce ne serait pas très logique d’abandonner ça maintenant. Mais bien sûr, avec Apple, on peut toujours s’attendre à des décisions bizarres…

avatar r e m y | 

@BeePotato

Merci de la précision.

avatar reborn | 

@mat 1696

Faut lire l'article en entier

avatar gillesb14 | 

Et des migraines pour les possesseurs de NAS et autres serveurs Time machine

avatar Cedr | 

Je vois pas pourquoi, on peut faire les sauvegardes time machine via SMB, ça devrait être transparent comme changement du coup, non ?

avatar tilho | 

Quelles migraines ? Ton NAS n'est pas en APFS et ne le deviendra pas, il ne devrait pas y avoir de différence. Les protocoles SMB et AFP ne vont pas changer. L'intérêt sera sur les volumes locaux en APFS.

avatar YAZombie | 

Est-ce que les devs doivent revoir tous leurs logiciels comme ce fut le cas avec HFS+ (oui, j'ai connu…)?

avatar leolelego (non vérifié) | 

Ça fait un petit moment que j'ai pas formatter mon Mac, ça sera une très bonne occasion lors de la sortie officiel de AFPS !

avatar Guillaume06 | 

@leolelego :
C'est important de formater le mac ? Tu fais une sauvegarde avant que tu récupères après avoir formaté ? Tu sauvegardes sur quoi ?

avatar r e m y | 

@Guillaume06

Selon moi, c'est totalement inutile... mais certains en sont adeptes et après formatage et reinstallation de macOS, réinstallent une à une leurs applications puis récupèrent leurs données depuis leur sauvegarde.

Faut avoir du temps à perdre, je trouve...

avatar ijimax | 

@r e m y
Ou simplement vouloir un système propre. Ce n'est pas forcément du temps perdu pour tout le monde.

avatar leolelego (non vérifié) | 

@Guillaume

Non, ce n'est pas important. Je l'ai pas fait pendant des années. J'utilise un dotfiles pour réinstaller mes outils, mes apps etc, mais je n'ai aucune donner sur mon Mac. Je synchronise seulement mes dossiers importants (papiers officiel etc) avec dropbox et mes photos avec Google Photos.

Il y a un article de MacG qui explique la notion de dot files si ça t'intéresse. Pour faire simple, tu fais un script qui va installer tes apps, tes préférences, tes outils.

et pour répondre à @remy, je le fais principalement parce que je développe sur Mac, et que j'installe énormément d'outil pour les découvrir, les comprendre, et des fois ces outils installes des choses qui prenne de la place alors que je m'en sers plus. Donc tout les ans, je fais un grand nettoyage de printemps histoire d'avoir un système propre. Avec un dotfiles, une clean install me prend environ 30min + le temps d'installation d'OSX, donc pas tant de temps de perdu que ça depuis : )

Après il faut que savoir que les outils comme Onyx, sont très bien, mais ne nettoie pas tout.

avatar heero | 

en tout cas vu que c'est un système sensible a la casse, toutes les applications Adobe sont exclues (vu que se type de système n'a jamais été reconnue par Adobe)

avatar LoydD | 

Comment est-ce possible de faire tourner Sierra avec seulement 2Go de RAM ??!

avatar sImPOD | 

@LoydD

Et vu le C2D qui tourne à 2,26Ghz et la nVidia 9400M, je me demande même si, en plus de la bidouille pour tourner en AFPS, il n'a pas déjà bidouillé pour faire tourner Sierra sur une machine non supportée (un MacBook Blanc Unibody de la première fournée de 2009)...

avatar Ali Ibn Bachir Le Gros | 

Les Macs c'est les gros trucs qu'ils utilisent pour développer les applications de nos iPhones, c'est ça ?

avatar umrk | 

Je me demande comment ils arrivent à gérer la transition d'un système de fichier à un autre sur un disque machine unique donné..... (manip hautement risquée ...)

avatar Dwigt | 

@umrk

C'est pourtant pile ce qui vient de se passer, sans douleur, pour tous ceux qui ont déjà iOS 10.3...

avatar fte | 

@umrk

C'est en réalité assez simple. Les nouvelles structures sont créées, l'organisation des données sur le support ne change pas (stockage par blocs, la plupart du temps de 4K), validation, remplacement des descripteurs (seule opération risquée, mais il y a des solutions pour sécuriser l'opération à commencer par une sauvegarde des descripteurs à remplacer), ré-validation, effacement des anciennes structures devenues inutiles et backups éventuels. Les données ne bougent pas ni ne sont touchées.

Il ne faut évidemment pas qu'il y ait de bugs critiques dans cette partie de code...

avatar JLG47_old | 

"D’autre part, Apple est obligé de revoir plusieurs briques de son système pour être en accord avec APFS à commencer par Time Machine."
Il faudra aussi compter avec les applications tierces qui ont des gestions de fichier "exotiques" comme MSO (mais pas que) et qui ont beaucoup de retard à la mise à jour.

avatar victoireviclaux | 

OH YEAH, si ça avance c'est bon. Bonbon, c'est pour quand ? Haha

CONNEXION UTILISATEUR