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.
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 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.
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.
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.