Dropbox et préférences

Un usage peu courant de Dropbox permet de partager les préférences d'un logiciel entre plusieurs machines. Dropbox est un outil de stockage et de synchronisation de données dans le nuage, ils offrent jusqu'à 16Go d'espace gratuit et bien plus avec leurs formules payantes. Nous allons voir comment détourner son utilisation pour avoir une application qui fonctionne exactement de la même façon sur plusieurs Mac différents.

Deux Macs

Prenons deux Macs et un logiciel. Dans mon cas, il s'agissait de TextMate. C'est un exemple intéressant car il stocke des plugins (bundles) dans le dossier ~/Library/Application Support et que ce sont ces plugins qu'on souhaite avoir toujours synchronisé entre les différentes machines. Ainsi, si j'installes un nouveau bundle sur mon Mac au bureau, je le retrouve présent sur ma machine perso le soir en rentrant chez moi. On reproduit la synchronisation de Google Chrome, mais pour toutes les applications de votre Mac.

Liens symboliques

Dropbox est un dossier sur votre Mac qui contient une copie des documents stockés sur le nuage. Quand vous copiez ou supprimez un document dans ce dossier Dropbox, il est alors modifié sur le nuage et toutes les machines synchronisées avec votre compte mettrins à jour leur propre dossier afin de refléter le contenu de celui-ci. Partant de ce principe, l'idée est de déplacer le dossier contenant les réglages de votre application dans ce dossier Dropbox sur vos différentes machines afin qu'elles pointent sur un emplacement mis à jour en temps réel par Dropbox.

Pour cela, nous allons utiliser des liens symboliques. Ouvrons un terminal (/Application/Utilitaires/Terminal) sur la machine qui contient les paramètres que vous voulez garder et tapez les commandes suivantes :

mkdir -p ~/Dropbox/Library/Application\ Support
cd ~/Library/Application\ Support/
cp -r TextMate ~/Dropbox/Library/Application\ Support/
rm TextMate
ln -s ../../Dropbox/Library/Application\ Support/TextMate
Dropbox et préférences

Explications

  1. On crée d'abord un dossier spécifique dans la Dropbox. On lui donne le même nom que dans la Library pour des questions de lisibilité, mais vous auriez pu l'appeller n'importe comment.

  2. On se déplace dans le dossier contenant les fichiers de composants de chaque application.

  3. On copie le dossier de l'application qu'on veut synchroniser (ici, TextMate, mais vous pouvez choisir n'importe quelle autre application) dans la Dropbox.

  4. On supprime l'original.

  5. On crée un lien symbolique du dossier situé sur la Dropbox.

Quand l'application ira chercher le fichier situé sur ~/Library/Application Support/TextMate/foo.bar, il sera redirigé de façon transparente vers /Dropbox//Application Support/TextMate/foo.bar. S'il écrit dans ce dossier, les nouveaux fichiers seront alors copiés sur le nuage.

Sur les autres machines

On fait la même chose, mais on s'abstient juste de copier le dossier original. On fait donc les étapes 1, 2, 4 et 5 uniquement.

Radical

On peut aussi faire un lien directement sur ~/Library/Application Support si on veut synchroniser toutes les applications. Cependant, vous risquez de rapidement dépasser votre quota de stockage : certaines applications stockent plusieurs Go de données dans cet emplacement.