Hazel: automatismes à volonté pour OSX

Hazel déclenche une action automatiquement sur des fichiers ou dossiers en fonctions des règles qu'on lui donne.

Hazel surveille dossiers et fichiers en arrière-plan et agit selon vos critères : manipulation de fichiers, lancement de script, ouverture du document avec une app, etc.

Hazel peut servir à garder son Bureau ou son dossier Téléchargements propres et bien rangés, par exemple.

C'est un des usages les plus courants.

Si vous avez l'habitude de télécharger des pdf, images, vidéos, à partir de sites web, et que le bureau de votre Mac ou le dossier Téléchargements sont toujours remplis d'innombrables fichiers dont vous avez oublié la fonction au bout de quelques jours, alors Hazel est définitivement votre sauveur.

Si vous prenez beaucoup de captures d'écran, retouchez souvent des copies de vos images pour les intégrer dans des sites web ou des publications, Hazel vous permetrta d'accomplir certaines tâches automatiquement : optimisation, manipulations avec des scripts Automator comme recadrage, application de filtres, etc.

Hazel sait également exécuter des scripts bash, ouvrir des fichiers dans des applications, gérer la désinstallation d'applications, afficher des notifications, effectuer des tâches programmées dans le temps ou en fonction du temps qui passe, compresser des fichiers, étiquetter fichiers et dossiers avec des couleurs, manipuler les tags Open Meta, etc.

Une fois installé et paramétré, Hazel se fait oublier et fonctionne en arrière-plan automatiquement.

Exemple : archivage des pdf vieux de 4 jours dans un dossier

Mes actions

Hazel nomme “actions” les règles ou groupes de règles qui régissent un dossier ou fichier.

On trouve de nombreux exemples de règles et actions pour Hazel sur le web anglophone, beaucoup moins sur le web francophone, et de plus ce sont souvent les mêmes actions génériques qui reviennent.

Je vous propose de visiter quelques unes des actions qui sont tout le temps activées sur mon Macbook Pro.

Certaines sont adaptées des propositions faites sur le forum du site de Hazel, certaines sont personnelles.

De toute façon, une fois que vous avez pigé le fonctionnement, c'est relativement facile de programmer Hazel et de l'adapter à vos propres besoins.

Conseil : quand vous créez ou modifiez une action, mettez-la d'abord sur pause pour éviter de faire n'importe quoi dans vos fichiers si vous vous trompez ou appliquez une action incomplète…

Rangement de fichiers

Une action toute simple

La capture d'écran plus haut vous montre une action simple : dans le dossier Téléchargements, tous les fichiers .pdf vieux de plus de 4 jours seront déplacés dans un dossier Archive et étiquettés avec une couleur qui signifie pour moi que je n'ai pas consulté le document.

En effet, je récupère plus de documents que je ne peux en lire, mais je ne souhaite pas pour autant les supprimer, car je pourrais toujours en avoir besoin plus tard1.

Autre exemple et explication

Rangement des images inutilisées

Voici la description de cette fenêtre, de haut en bas :

Généralement, après avoir téléchargé une ou des images, je les utilise (Photoshop, email, etc) immédiatement ou dans les jours qui suivent.

Si je n'en ai finalement pas l'usage ou si je souhaite simplement les archiver, je les déplace dans mon dossier Images, en vrac parmi les milliers d'autres orphelines et abandonnées.

Mais si ces images sont toujours dans mon dossier Téléchargements après une semaine, c'est que deux conditions sont réunies :

Ce serait bien de ranger proprement ces photos.

Oui, je le ferai demain.

Une semaine plus tard, mon dossier est quelque peu encombré, pour rester poli…

Grâce à Hazel, c'est terminé. En grande partie.

En vous inspirant de ces deux exemples faciles, vous pourrez comme moi faire ranger automatiquement n'importe quel dossier à Hazel.

Exemple sur le dossier Images

Exemple simple

Exemple divisé en deux règles distinctes : les images que je télécharge sur Tumblr sont automatiquement rangées dans leur propre dossier.

Type: image + le nom commence par "tumblr"

Type: image + la source est une URL de tumblr

Exemple plus avancé

Toute image que j'enregistre dans mon dossier Images et dont le nom se termine par -aya et dont l'étiquette n'est pas rouge est destinée à être publiée sur mon blog ou sur l'un des sites que je gère : j'en ai fait une règle pour la déplacer automatiquement au bon endroit, l'optimiser pour réduire son poids et lui mettre une étiquette verte qui signifie pour moi que le fichier est utilisable tel quel si je le souhaite.

Images optimisées pour mon blog

Enchaîner des actions

Depuis sa version 3, Hazel sait cumuler plusieurs conditions et plusieurs groupes de règles dans une seule et même action.

C'est pratique mais je trouve que la fenêtre est vite illisible et rend finalement le processus assez compliqué à créer, lire ou modifier.

Je préfère donc continuer à utiliser Hazel “à l'ancienne”, en créant plusieurs règles séparées que j'enchaîne grâce à des conditions qui suivent ma logique.

Comme souvent, on crée une action Hazel après avoir remarqué que l'on effectuait régulièrement une tâche ou un ensemble de tâches qui pourraient être automatisé.

Dans le cas des captures d'écran, avant d'utiliser Hazel, je m'y prenais toujours de la même façon et passait un certain temps à cliquer dans Pathfinder ou à taper des commandes dans iTerm :

ou

ou

Puis optimisation de l'image avec l'application ImageOptim, et enfin renommage et rangement dans des dossiers en fonction de l'inspiration, avec les incohérences que ça entraîne.

Désormais c'est Hazel qui se charge de tout ça, en trois étapes.

Première étape

Cette première étape prend la forme de deux règles appliquées sur le Bureau d'OSX :

Screenshot_ vers dossier Images

Capture d'écran vers dossier Images

Deuxième étape

Tout fichier issu des règles précédentes se trouve donc dans le dossier Images, voit son nom commencer par “Screenshot_” et a une étiquette de couleur orange.

Cette étiquette que je n'utilise jamais dans un autre cas que celui de vouloir faire traiter mon fichier par Hazel, va me servir à détecter ces nouveaux fichiers Screenshot dans le dossier Images et à les envoyer dans Imageoptim :

Screenshot envoyé dans ImageOptim

Une fois l'image traitée par ImageOptim, Hazel lui attribue une étiquette de couleur verte signifiant pour moi que l'image a été traitée.

Troisième étape

Une dernière règle se charge ensuite de trier et ranger, en sélectionnant les fichiers commençant par “Screenshot_” et ayant une étiquette verte et n'ayant pas été modifiés dans les deux dernières minutes.

Cette dernière condition permet à Hazel d'attendre qu'ImageOptim ait fini son travail dans le cas de fichiers PNG (c'est instantané en JPG mais prends généralement une minute sur ma machine avec du PNG) avant de ranger l'image dans un nouveau dossier automatiquement nommé avec la date actuelle.

J'aurais pu créer des règles distinctes en fonction du type de fichier, mais j'ai constaté que ça marchait très bien comme ça pour mon usage.

L'image optimisée est rangée dans un dossier unique

Rangement

En bonus, une dernière règle pour ranger les dossiers contenant des screenshots que je n'aurais pas utilisé après une semaine :

Rangement des vieux screenshots

Dernier exemple de rangement de fichiers

Cette action est une sorte de dernier coup de balai dans mon dossier Téléchargements, toutes les deux semaines.

Vous en savez assez maintenant pour savoir lire cette fenêtre sans avoir besoin d'explications supplémentaires.

Rangement bimensuel du dossier Téléchargements

Autres types d'actions

Ajouter un .pdf dans Evernote :

Ajout de fichier pdf à Evernote

La particularité de cette action est d'exécuter un petit bout d'Applescript indiquant quoi faire à Evernote.

Utilisation de tags Open Meta pour éditer un fichier texte (note en Markdown) dans Sublime Text 2 et le visualiser dans Marked à partir de nvALT :

Tags Open Meta et ouverture de fichier

Cadeau

Hazel offre en plus de tout cela une fonction que l'on retrouve sous forme d'application payante chez d'autres éditeurs : la désinstallation propre de vos applications OSX.

{% img /images/hazel-trash.jpg %}Gestion de la Corbeille par Hazel

En effet, alors qu'il est facile de mettre une app à la corbeille et de ne plus y penser, il reste dans votre Mac les fichiers de configuration et divers autres éléments que l'app laisse derrière elle, généralement dans les dossiers Application Support et Preferences du dossier Library d'OSX.

Ce n'est généralement pas un problème, mais si vous souhaitez ré-installer l'app plus tard sans retrouver vos anciens réglages ça peut en être un.

Il arrive également que les applications laissent traîner de volumineux fichiers de cache ou de fonctionnement interne qui peuvent encombrer votre système.

Lorsque vous mettez une app dans la corbeille, Hazel détecte les fichiers de configuration et fichiers disséminés qui sont liés à cette app et vous propose de les jeter également ou de les conserver.

Conclusion

Hazel est formidable pour trier, nommer, ranger, manipuler des dossiers ou fichiers automatiquement.

Le temps passé à créer vos propres actions sera largement compensé par le fait de ne plus avoir à y penser ensuite.

Pour aller plus loin

On peut, de plus, imaginer de nombreux usages inédits et spécifiques, notamment grâce aux fonctions incluses dans Mac OSX ou des logiciels tiers :

N'hésitez pas à me donner vos exemples d'utilisation de Hazel et vos idées plus ou moins productives


  1. voir la définition de la syllogomanie 

  2. voir la définition de la procrastination 

  3. EcranSHIFT+CMD+3, Zone SHIFT+CMD+4, Fenêtre SHIFT+CMD+4 puis ESPACE 

  4. caméra du Mac vers le canapé > logiciel détecteur de mouvements > hazel > screenshot + email + alerte de calendrier “Acheter un nouveau chat” 

  5. ben quoi ? email ou fichier texte > dossier dropbox > hazel > commande Terminal > cafetière USB… 

Auteur: Eric Dejonckheere