Profitez des offres Memoirevive.ch!
Amusons-nous encore un peu avec MacFUSE

La semaine dernière, je vous ai présenté le fantastique MacFUSE, ainsi que quelques-unes de ses utilisations grâce à iTunesFS, MacFusion et NTFS-3g.

Évidemment, les possibilités offertes par MacFUSE sont immenses, et comme promis, je vais vous présenter dans cet article d’autres systèmes de fichiers qui tirent parti de cette implémentation de FUSE.

Nous allons parler ici de trois systèmes de fichiers, et autant vous avertir tout de suite, plus on avancera, plus l’article entrera dans le monde merveilleux du geek.

EncFS, protégez vos données

Comme son nom l’indique, EncFS est un système de fichiers chiffrés (“cryptés”, bien que ce mot n’existe pas dans la langue française).

Il permet de stocker sur votre disque des fichiers protégés dans un dossier spécifique et de monter ensuite un volume pointant vers le dit dossier et faisant apparaître les fichiers “en clair”, pour autant que vous soyez en mesure de fournir le mot de passe adéquat.

Cerise sur le gâteau, ce système de fichiers peut être directement intégré à MacFusion que je vous ai présenté la semaine dernière. Ainsi, en plus de pouvoir monter des serveurs FTP et SSH, ce dernier sera capable de gérer les fichiers chiffrés.

Commençons par installer ce système de fichiers. Téléchargez le fichier situé à cette adresse. Vous obtiendrez un plugin pour MacFusion. Pour l’installer, sélectionnez l’icône de MacFusion et affichez les informations:

Ouvrez la zone Modules externes:

Cliquez sur “Ajouter…” et allez chercher le fichier “EncFS.plugin” pour l’installer:

Voilà, c’est tout, vous pouvez maintenant lancer MacFusion.

Si vous vous rendez dans le menu de MacFusion, sous QuickMount, vous trouverez alors EncFS en plus de FTP et SSH:

Allons-y, sélectionnons EncFS.

Une fenêtre d’options apparaît. Si votre dossier chiffré existe déjà, entrez les informations qui lui sont relatives, sinon, entrez ce que vous voulez:

Le premier champ désigne le nom du volume, tel qu’il apparaîtra dans le Finder. Le deuxième champ donne le chemin vers le dossier chiffré, c’est-à-dire le dossier qui contiendra les fichiers protégés.

Passons à l’étape suivante. Évidemment vous avez besoin d’un mot de passe.

Si vous montez un dossier chiffré existant il s’agit du mot de passe que vous aviez défini, sinon, c’est ici que vous définissez le mot de passe. Attention, ne l’oubliez pas ! Il n’y a aucun moyen de récupérer des fichiers chiffrés sans le mot de passe !

Un nouveau volume apparaît alors dans le Finder, portant le nom que vous avez choisi précédemment:

Évidemment, si c’est la première fois que vous accédez à ce dossier, il sera vide. Nous allons donc le remplir en créant un nouveau fichier texte:

A priori, rien de fantastique. Je peux lire et sauver ce document sans que cela ne pose un quelconque problème.

Mais rendons-nous à présent dans le dossier chiffré que nous avons configuré plus haut. Dans mon exemple, il se trouve là:

Si je l’ouvre, je vois alors un étrange fichier:

Il s’agit en fait de mon document mais chiffré et donc protégé par un mot de passe ! Ainsi, si vous éjectez le volume “Dossier Secret”, nul n’aura accès à vos documents. Et pour remonter ce volume, le mot de passe sera nécessaire.

Évidemment, cela fonctionne avec n’importe quel type de fichiers, pas seulement avec les fichiers texte.

SpotlightFS, recherchez vos données

SpotlightFS est un système de fichiers mis au point par un collègue d’Amit Singh chez Google, Greg Miller.

Le principe est très simple, c’est un volume qui servira à faire des recherches de fichiers grâce à Spotlight.

Une fois SpotlightFS lancé, vous verrez un nouveau volume intitulé SpotlightFS dans le Finder.

Ce volume contient un seul et unique dossier intitulé “Smarter Folder” :

Nous reviendrons plus loin sur ce dossier.

Commençons par l’utilisation “basique” de SpotlightFS.

Le système est très simple. Au lieu de faire une recherche Spotlight, vous allez créer un dossier dont le nom sera le texte que vous auriez entré si vous aviez dû faire une recherche Spotlight.

Allons-y, créons un dossier:

Si par exemple, je veux rechercher tous les documents relatifs au mot clé “Cuk”, je crée un nouveau dossier intitulé “Cuk” :

Ce dossier contient alors tous les fichiers correspondant au critère de recherche, qui est dans le nom du dossier, en l’occurrence, ici “Cuk” :

Je peux alors ouvrir le fichier qui m’intéresse.

A priori, il n’y a pas une grande différence entre un tel dossier et un “dossier intelligent” du Finder. Mais en fait, si.

Le principale différence est celle que j’ai déjà mentionnée la semaine dernière. Il s’agit là d’un vrai dossier, pas un “pseudo-dossier” comme les “dossiers intelligents” du Finder (qui ne sont rien d’autre qu’un fichier XML). Cela signifie que vous pouvez accéder au contenu de ces dossiers depuis n’importe quelle application, y compris depuis Applescript, Automator ou même le Terminal (imaginez alors les possibilités).

Comme je l’ai dit, pour faire une recherche, vous devez donner au dossier un nom correspondant au texte que vous désirez rechercher dans Spotlight. Cela inclut également la recherche avancée !

Par exemple, vous pouvez créer un dossier portant le nom “kMDContentType==’com.adobe.pdf’” pour qu’il contienne tous vos documents PDF. Ou encore créer un dossier intitulé “kMDItemContentType 'com.microsoft.word.doc' || kMDItemContentType ‘com.adobe.pdf’” pour trouver tous les documents Word en plus des documents PDF.

Par exemple, j’ai ici un dossier qui recherche tous les documents PDF contenant le mot “cocoa” :

Ou encore un dossier qui contient tous les fichiers GIF ayant une largeur de 150 pixels:

Venons-en à présent à ce mystérieux dossier “SmarterFolder” situé à la racine du volume. Si vous l’ouvrez, vous n’y trouverez rien:

En fait, vous ne voyez rien, mais il est bien rempli. Il est tellement rempli qu’il contient une infinité de dossiers de recherche tels que ceux dont nous venons de discuter. Il vous suffit de vous rendre dans un de ces dossiers.

Depuis le Finder, il faut passer par le menu “Aller” puis “Aller au dossier…” :

Entrez ensuite le nom de votre recherche:

Et vous voilà directement dans un dossier créé à la volée et contenant les résultats de votre recherche:

Sympa, non ?

Bon, évidemment, ce n’est pas le genre de truc que tout le monde utilisera tous les jours, mais moi personnellement je trouve ça plutôt cool.

Il faut noter qu’à l’heure où j’écris ces lignes, SpotlightFS a un bug qui empêche la création d’un dossier de recherche. Ce bug a été corrigé mais la nouvelle version n’est pas encore en ligne. Je vous ai donc compilé une version corrigée, comme ça vous pouvez quand même vous amuser.

procFS, réveillons le geek qui est en nous

Attention, là on entre vraiment dans le domaine du geek !

Ce système de fichiers a été conçu par Amit Singh, l’auteur de MacFUSE. C’est un véritable exercice de style, mais reste très intéressant.

Le but de ce système de fichiers est d’avoir accès aux processus tournant sur la machine et ce comme s’il s’agissait de fichiers.

Si vous ouvrez le Terminal et entrez la commande suivante:

ps -aux

vous voyez défiler toute une liste de processus tournant sur votre machine. Par exemple, vous y voyez le Dock (/System/Library/CoreServices/Dock.app/Contents/MacOS/Dock), ou le Finder (/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder). A chaque processus est associé un “pid” ou “process id”, soit un numéro d’identification du processus.

Grâce à procFS, tout cela sera accessible depuis le Finder ou depuis n’importe quelle autre application.

Commençons par installer ce système de fichiers en le téléchargeant sur le site d’Amit Singh (le lien est tout en bas de la page).

Le montage du volume procFS est un peu plus compliqué, il s’agit de se rendre dans le Terminal:

Remarquez qu’il suffit de deux lignes:

mkdir /Volumes/proc

pour créer le point d’entrée du système de fichiers, puis:

sudo procFS /Volumes/proc/ -ovolname=Processes

pour monter le volume (il vous faut votre mot de passe administrateur). J’ai décidé de l’appeler “Processes”, libre à vous de le changer.

Et là, rien. Et oui, le volume n’apparaît pas dans le Finder. En fait, c’est Amit Singh qui l’a voulu ainsi, allez savoir pourquoi. Mais en réalité il est bien là, il suffit d’aller le chercher manuellement. Fermez toutes les fenêtres du Finder et faites un “pomme-shift-G” puis entrez le nom du volume :

Vous pouvez également entrer ”/Volumes/proc”, ça marche aussi.

Vous vous retrouvez alors avec une longue liste de dossiers portant des numéros. Il s’agit tout simplement des pid de tous les processus tournant sur la machine.

Pour faire plus simple, si vous descendez tout en bas de la fenêtre, vous avez un dossier “byname” qui vous offre une liste par nom de processus, c’est beaucoup plus agréable :

Vous trouvez par exemple notre ami le Finder:

Dans le dossier de chaque application ou processus se trouvent d’autres dossiers et quelques fichiers. Ces fichiers contiennent des informations système sur le processus. Par exemple, le fichier “cmdline” contient :

Je ne vais pas tous les passer en revue, ça n’aurait pas de sens. Mais par exemple, on peut naviguer dans le dossier “ucred” et lire le fichier “uid” :

Ce fichier contient l’identification et le nom de l’utilisateur qui a lancé ce processus :

Vous remarquerez que ces fichiers ne peuvent être lus par un éditeur de texte standard. La raison pour cela est que ces fichiers sont créés à la volée. Pour pallier à cela, j’ai créé une petite application qui permet d’afficher le contenu des ces fichiers grâce à la commande “more” du Terminal. Vous pouvez télécharger cette application ici. Elle est également très utile pour afficher rapidement le contenu d’un fichier texte.

Un autre exemple: obtenir des informations sur les fenêtres de l’application. Si je vais examiner le processus iTunes, je trouve un dossier “windows” :

Il contient trois fichiers, en fonction des fenêtres présentes à l’écran. Le fichier “all” par exemple contient :

On y trouve les fenêtre ouvertes, avec leur taille et leurs coordonnées.

Mais bon, passons à des choses un peu plus fun.

Si on revient à la racine de ce volume, on trouve un dossier “system” contenant un dossier “hardware”.

Là, ça devient drôle.

Vous pouvez ici obtenir des informations sur les composants de votre Mac. Par exemple, les CPUs, mais aussi le capteur de mouvements (lisez les infos, penchez votre portable, puis relisez-les, elles auront changé), la position de la souris, etc.

Le truc drôle c’est “displays”.

Dans mon cas, je n’ai qu’un seul écran branché sur mon Mac, il n’y a donc qu’un seul dossier dans “displays”, c’est “0”.

A l’intérieur de ce dossier vous trouvez un fichier “info” contenant des informations sur votre écran (résolution, profondeur, etc.):

Mais vous y trouvez aussi un fichier “screenshot.tiff” qui n’est autre qu’une capture d’écran en direct !!

Dans la fenêtre ci-dessus, si je désélectionne et resélectionne l’image, l’aperçu aura changé !

Génial, non ?

Évidemment, vous pouvez sauvegarder cette image sur votre disque.

Allez, encore plus fun !

Retournez dans “hardware” et sélectionnez “camera”. Il s’agit de votre iSight ! Selon le même principe que pour “displays”, camera vous propose un fichier “screenshot.tiff” qui n’est autre qu’une image prise en direct par votre iSight:

Si ça c’est pas génial ! En tout cas, c’est de la toute belle programmation.

Bon, j’admets que ce n’est pas super utile, mais c’est super impressionnant.

Mais encore…

Les possibilités offertes par MacFUSE sont immenses. Parmi les systèmes de fichiers existants sous Linux et qui devraient être adaptables pour MacOS X, on citera par exemple WikipediaFS qui vous permet d’éditer les articles de Wikipedia comme s’il s’agissait de fichiers locaux, GMailFS qui permet de stocker des fichiers sur votre compte GMail, et beaucoup, beaucoup d’autres.

MacFUSE en est encore à ses balbutiements, mais nul doute qu’on n’a pas fini d’en entendre parler.

19 commentaires
1)
XXé
, le 02.08.2007 à 00:30

Très intéressant Fabien… Je suis aussi un peu du genre à m’extasier devant des trucs que d’autres regardent avec l’air d’une poule qui aurait trouvé un iPhone. Ensuite, ces mêmes autres me regardent moi avec un air beaucoup plus suspicieux et nettement moins sympathique ! :-D

Dommage que je n’ai plus le temps de m’amuser à approfondir ce genre de choses. Nos ordis sont devenus tellement complexes qu’il faudrait toute une vie pour en faire le tour et encore, à condition qu’ils cessent d’évoluer !

Merci de lever un peu le voile sur ces choses aussi inutiles qu’intéressantes.

Didier

2)
archeos
, le 02.08.2007 à 07:27

Bon, j’admets que ce n’est pas super utile, mais c’est super impressionnant.

Exactement ma réaction. En même temps, le screenshot de la webcam peut être plus rapide que de passer par un logiciel de contrôle de la webcam…

3)
jibu
, le 02.08.2007 à 07:55

magnifique ce logiciel, on croirait de la science fiction !

t’as oublié le matricule sur ta bouille :-)

4)
bens
, le 02.08.2007 à 10:21

Waow!

Euh, sinon je me pose une question (de non-geek)

Ça :

Par exemple, vous pouvez créer un dossier portant le nom “kMDContentType==’com.adobe.pdf’” pour qu’il contienne tous vos documents PDF. Ou encore créer un dossier intitulé “kMDItemContentType ‘com.microsoft.word.doc’ || kMDItemContentType ‘com.adobe.pdf’” pour trouver tous les documents Word en plus des documents PDF.

On fait comment pour le faire quand on ne connait pas le langage ? On apprend ça où?

Encore merci pour cet article d’utilité publique.

5)
François Cuneo
, le 02.08.2007 à 10:29

Dingue, et en plus, tu mets les versions corrigées par tes soins des logiciels pour que les gens ne soient pas déçus.

Top de chez top!

6)
Caplan
, le 02.08.2007 à 11:03

Hé ben voilà! Après la lecture de cet article, j’ai la certitude de ne pas être un geek!

Merci Fabien pour cette démonstration! ;-)

Milsabor!

7)
Nihao
, le 02.08.2007 à 11:10

Ouais je suis vraiment bluffe par ce MacFuse. Comme souvent les premieres applications ne sont peut etre pas tres folichones, mais je pense que ca va venir, on peut imaginer un navigateur pour les photographes qui afficherait les mots clefs, les donnees EXIF, etc … (Desole je n’ai pas les accents sur mon clavier)

8)
Atypo
, le 02.08.2007 à 11:12

Là, je me déclare tout à fait incompétent ! :-))

9)
maconnect
, le 02.08.2007 à 11:39

>On fait comment pour le faire quand on ne connait pas le langage ? On apprend ça où?

depuis le terminal: mdls monfichier

10)
allunderdogs
, le 02.08.2007 à 11:43

Bonjour,

Merci pour ce bel article :-)

Je viens d’essayer EncFS, c’est encore plus pratique que de créer une image disque faible densité cryptée. Aucun problème de fiabilité avec EncFS ?

11)
Fabien Conus
, le 02.08.2007 à 12:03

Bens, comme l’indique maconnect, tu peux faire un mdls dans le terminal pour voir les infos d’un fichier, Ensuite c’est en recoupant différentes infos que tu va apprendre le “langage” spotlight. Il n’y a malheureusement pas de documentation officielle. Sinon, il reste toujours Google.

Chouki, pour l’instant aucun problème ! J’ai plusieurs gros fichiers que j’ai cryptés pour voir et tout fonctionne très bien.

12)
ToTheEnd
, le 02.08.2007 à 13:24

Il serait intéressant de faire la différence avec le prochain “file system” parce qu’il semblerait qu’Apple va utiliser le ZFS dans sa prochaine mouture…

T

13)
expat
, le 02.08.2007 à 20:57

On fait comment pour le faire quand on ne connait pas le langage ? On apprend ça où?

Il n’y a malheureusement pas de documentation officielle.

Et ceci? Query Expression Syntax

mais ce document ne liste pas les metadata définis par tous les logiciels, mais bien les metadata standards

14)
Fabien Conus
, le 02.08.2007 à 22:12

Fantastique expat !! Merci beaucoup pour ce lien !

Et donc, au temps pour moi pour la c…rie que j’ai écrit plus haut.

15)
bens
, le 03.08.2007 à 01:02

Merci expat !

16)
Jazzon
, le 07.08.2007 à 11:10

Fabien Conus voulait du retour à propos de MountNTFS. J’ai installé NTFS-3g 1.710 après avoir installé MacFuse 0.40, sur un MacBook Pro. J’ai donc une partition Windows et j’aimerais évidemment pouvoir écrire dessus… J’ai opéré d’abord avec le terminal : mkdir pour voir les volumes installés, jusque là tout va bien, mais quand il s’agit de monter la partition Win, c’est un command not found qui appararaît (NTFS-3-g command not found…) alors que j’ai la page man de ntfs-3g, celui-ci est donc bien installé… Quant à MountNTFS, il apparaît quelques millisecondes dans le menu après le clic puis plus rien. En revanche iTunesFS fonctionne très bien. Quand au serveurs SSH et FTP, je n’ai pas encore tenté le coup… Mais tout cela m’a l’air prometteur!

;-)

17)
Fabien Conus
, le 07.08.2007 à 13:22

Jazzon, la commande est “ntfs-3g”. La casse est très importante.

Sinon, essaie de lancer Console avant de lancer MountNTFS et regarde si un message d’erreur apparaît.

18)
djdmsr
, le 13.08.2007 à 01:38

Ça fait deux mois que j’ai installé iTunes FS, aucun problème, ça marche super et en plus c’est très utile grâce aux dossiers playlist on peut préparer ses transferts, sauvegarde, copies très intuitivement … avant j’utilisais le programme SyncTunes pour cela. J’ai essayé sshFS avec le serveur FTP de free, très lent et impossible de descendre dans l’arborescence… faut que je ré-essaye avec la mise-à-jour. J’avais vu quelque part (une google video je crois) qu’il y avait un système de fichier pour monter un volume de son espace chez Picassa pour transférer facilement ses photos sur le site de google. Je n’ai jamais pu le trouver…? tu sais où? J’ai une question (j’aime pas le terminal, c’est con mais bon…:): avec procFS est-ce qu’on peut tuer ‘kill” un process facilement? dans ce cas ça m’interresse… Ce système m’interresse aussi pour pouvoir transférer facilement l’illustration d’album en cours dans iTunes chez free pour apparaitre sur mon site. Faut que je regarde si on la trouve dans ce volume… simplement en ecrivant un script qui déplacerait l’image d’un volume FS à l’autre (?). Je voudrais dire aussi que je pense que ce système a de l’avenir il est trop intuitif pour qu’Apple l’ignore. Moi j’imagine bien un systéme de fichier basé uiquement sur des tags (je sais il y a déjà les commentaires spotlight pour ça mais c’est chiant d’ouvrir la fenêtre d’infos). Je vois en spotlightFS un bon début à ça… Enfin bravo Google décidement cette boite me plait de plus en plus et petit à petit elle prend dans mon coeur la place d’Apple. Bravo pour l’article et le site…