Aujourd’hui, un article que je souhaitais faire depuis longtemps concernant Automator, le système d’automatisation sur Mac. En effet, vous ne le savez peut-être pas, chers amis MacUsers, mais vous disposez d’un tel outil sur votre ordinateur depuis bien longtemps puisque Automator a été introduit dans les années 2000 avec Mac OS X. Découvrons ensemble comment automatiser une sauvegarde avec Dropbox et Automator.
La définition de Wikipédia est très claire :
Automator, permet de combiner un certain nombre d’actions prédéfinies pour effectuer des tâches répétitives. Le paramétrage de ces automatisations s’effectue par une interface graphique, ce qui le rend accessible au plus grand nombre, mais au prix selon certains d’une perte de fonctions[réf. nécessaire]. Les tâches sont effectuées par AppleScript ou Perl, de façon transparente. La plupart des possibilités offertes par Automator peuvent être obtenues par d’autres moyens, notamment des scripts shell, technique peu accessible au grand public.
Il existe des possibilités infinies d’utilisations d’Automator. Je vais vous en montrer une aujourd’hui qui vous sera, je l’espère, très pratique et concrète. Que vous soyez un particulier ou un professionnel, vous utilisez peut-être Dropbox pour externaliser vos sauvegardes. J’ai personnellement eu le cas recemment d’un client qui souhaitait automatiser sa sauvegarde et qui me demandait conseil sur un logiciel tiers pour effectuer cette tâche. Plutôt que de lui vendre un système surement très efficace mais dont il n’aurait pas l’utilité, j’ai préféré lui montrer en quelques étapes toutes simples comment procéder avec Automator et il s’avère qu’il est resté bluffé.
Même si vous n’êtes pas développeur ou technique, vous pouvez utiliser Automator ! C’est, vraiment très simple. J’espère que cette introduction sera convaincante. Je vais essayé d’être le plus clair possible. Les plus geeks d’entre-vous vont très vite comprendre.
Automatiser une sauvegarde avec Dropbox et Automator
Avant de commencer, petit rappel sur Dropbox. Dropbox est un système de synchronisation qui, grâce à son interface très simple (=un dossier partagé, intégré dans OS X) vous permet de stocker vos fichiers sur le Cloud. Cette sauvegarde présente plusieurs avantages :
- Externalisée : En cas de pépin avec votre disque dur interne, vos données sont externalisées.
- Sûre : Dropbox est un service très professionnel avec un uptime quasi parfait. Ils sont plutôt soucieux des enjeux de sécurité donc vous pouvez, en théorie, leur faire confiance.
- Sociale : Vous pouvez très rapidement donner l’accès à un fichier partager à un de vos contacts pour échanger des fichiers.
Sur votre Mac, une fois l’applicaiton dropbox installée, vous avez un dossier (très originalement) appelé « dropbox » dans la barre des favoris de votre Finder et une icône dans votre barre des tâches (voir screen suivants).
Dans l’utilisation quotidienne, il vous suffit de déplacer des fichiers dans ce dossier Dropbox et l’application en effectuera une copie, sur le serveur distant.
Sachez également que vous pouvez exclure des éléments de la synchronisation en vous rendant dans les préférences de dropbox.
Pour reprendre l’exemple de mon client, il voulait, effectuer une sauvegarde de sa librairie d’email. Ce dossier ce trouve (pour Mail.app) dans :
~/Library/Mail/V2
Ce dossier correspond à l’ensemble des librairies de ses comptes mails. Afin d’en garder une trace il doit donc sauvegarder ce dossier de façon régulière. C’est ce dossier que nous allons utiliser dans notre script et que pour lequel nous allons automatiser la sauvegarde avec Dropbox et Automator.
Grandes étapes de notre script de sauvegarde :
- Sélection du fichier à sauvegarder
- Compression en archive Zip
- Déplacement vers le dossier dropbox de notre Mac pour une sauvegarde synchronisée
Étape 1 : lancement d’Automator
Allez, on attaque. On va commencer par démarrer l’app Automator qui se trouve dans votre dossier Applications. Le plus simple est d’utiliser Spotilight et de rechercher « Automator ». Au lancement, l’interface vous demande de choisir entre différents types de documents. Voici un rapide point sur les différents types :
- Processus (Scripts ne pouvant être lancés que depuis Automator)
- Applications (Scripts autonomes qui génèrent une .app)
- Services (Scripts pouvant être associés à des Applications comme le Finder, Aperçu etc… pour traiter des opérations au sein d’autres applications)
- Modules d’impression (Scripts relatifs à l’impression)
- Actions de dossier (Scripts exécutés au moment de l’ajout d’un fichier dans un dossier)
- Alarmes Calendrier (Scripts déclenchés par des évènements du calendrier)
- Modules de transfert d’images (Scripts relatifs au transfert d’images)
Nous allons ici, choisir une de créer une application afin d’avoir un fichier app à lancer sous la main pour notre sauvegarde avec Dropbox et Automator.
Si vous vous sentez vraiment largué, vous pouvez regarder cette petite vidéo qui vous présentera rapidment les bases de l’interface.
Étape 2 : Création du processus de sauvegarde dans Automator
L’interface d’Automator est très simple. Il vous suffit de faire glisser des actions ou des variables dans l’éditeur de script pour commencer à l’utiliser. Tout va vous paraitre clair au fur et à mesure que l’on avancera.
Dans un premier temps, notre script doit aller chercher, dans le Finder, le dossier source que nous souhaitons sauvegarder. Dans « Actions », dirigez vous donc sur « Finder et dossiers » pour n’afficher que les actions du Finder. Cherchez ensuite à l’aide de la recherche « Obtenir les éléments du Finder indiqués », puis glisser le dans l’espace de travail (espace de droite).
Au passage vous remarquez que pour chaque action, un descriptif vous indique ce qui se produit lors de l’utilisation de cette action.
Cliquez ensuite sur Ajouter. Nous allons définir quel éléments du Finder notre script va devoir sélectionner. En l’occurrence je vais ajouter le dossier « V2 » contenant l’archive mail de mon fameux client.
Procédez de la même façon pour ajouter les étapes suivantes du processus :
- « Créer une archive » (permet de réduire la taille et de créer un fichier unique). Donnez un nom à votre archive comme « sauvegarde mail » par exemple puis choisissez l’endroit où vous souhaitez effectuer la sauvegarde. Dans mon cas je vais garder le dossier identique à celui de la saisie.
- Ensuite on lui demande de déplacer cette archive dans notre dossier Dropbox afin que cela soit synchronisé plus tard, sur les serveurs de dropbox. N’oubliez pas de cocher la mention « remplacer les fichiers existants » pour ne pas accumuler trop d’espace à chacune de vos sauvegardes.
Vous commencez à comprendre ?
Vous pouvez tester le processus en cliquant sur executer.
Après quelques secondes selon le temps que votre processus va mettre pour créer l’archive, vous avez un message de confirmation et l’historique de succès de chaque action :
Notre fichier sauvegarde est bien dans Dropbox 🙂
Étape 3 : Création de notre Application
Maintenant que notre script fonctionne bien dans Automator, nous allons créer le fichier .app permettant d’avoir notre script à portée de main en permanence. Pour cela, rien de plus simple, il vous suffit de vous rendre dans fichier -> enregistrer -> puis de donner un nom à votre application.
Par exemple, sauvegarde_mail.app. Enregistrez le dans votre dossier Applications.
Et voilà, il vous suffit de double cliquer sur votre application et votre sauvegarde se fera systématiquement en remplaçant l’ancienne archive. Maintenant, voyons comment automatiser le tout pour que ce backup se face automatiquement.
Étape 4 : Planifier la sauvegarde avec l’app Calendrier
Pour aller encore plus loin, vous pouvez planifier la sauvegarde. Pour ce faire, rien de compliqué. Il vous suffit de vous rendre dans l’application « Calendrier » de votre Mac.
Nous allons créer un nouvel évènement que nous appellerons sauvegarde email. Nous voulons que la sauvegarde se fasse à 20:00 et tous les jours. Mettez donc une récurrence journalière et une heure de début à 20 heures.
Ajoutez ensuite une alerte, puis « personnaliser », ouvrir le fichier, sauvegarde_mail.app (notre script) et quand ? Au moment de l’évènement.
Et voilà, votre sauvegarde se fera maintenant toute seule, tous les jours à 20h. Simple non?
Conclusion
Automator est un outil vraiment très intéressant et trop peu utilisé par les Mac Users. N’importe quel professionnel ou particulier peut s’en servir pour automatiser des tâches régulières. Apple le met régulièrement à jour et énormément de possibilités s’offrent à vous. Si vous souhaitez allez plus loin que cette introduction il existe une multitude d’ouvrages vous expliquant les fondements du scripting sur Mac.
Pour les plus techniques d’entre-vous je vous conseille aussi de jeter un oeil à Apple Script, le language de scripting développé par Apple. La combinaison d’Apple Script et d’Automator est redoutable d’efficacité ;).
À bientôt.
32 commentaires
I Zein · 15 avril 2015 à 22 h 35 min
Merci pour ce tutoriel très claire.
Il y a quelque chose que j’aimerai faire c’est lors de la création d’un nouvel événement dans I Calender c’est insérer la date de création de cet évènement dans le champs note de celui ci. Pensez vous qu’automator peut m’aider.
Merci pour votre aide
matthieu · 19 avril 2015 à 11 h 57 min
Bonjour, avec Automator uniquement vous ne pourrez par réaliser cette tâche. Ce que vous pouvez faire, de façon assez simple c’est un petit script permettant d’inscrire la date courante dans n’importe quelle zone de texte.
Ce petit auto est bien fait et devrait vous aider :
https://andytaylor.me/2012/11/10/creating-an-osx-service-to-insert-the-current-date-and-time/
Patrick · 2 juin 2015 à 12 h 42 min
Hum. Ça ne marche pas du tout. Chaque fois que je « drag » un fichier vers le fichier Dropbox, le Mac dépalce purement et simplement les données. Rien d’autre.
matthieu · 3 juin 2015 à 13 h 09 min
Pouvez-vous me faire parvenir votre script d’une façon ou d’une autre afin que je regarde ce qui pose problème ? J’utilise ce système assez régulièrement et tout fonctionne bien ici.
Matthieu
alex · 9 octobre 2015 à 10 h 54 min
t es un génie mec !
alex · 9 octobre 2015 à 11 h 10 min
Ah non flute il veut pas me prendre en compte mon custom event
alex · 9 octobre 2015 à 11 h 32 min
en fait ce qui serait génial c est que tu nous donne les .ics 🙂 et le script 🙂
( il y a une couille sur yosemite visiblement et il ne prends plus en compte les event custom !)
BASTIDE · 7 juin 2016 à 8 h 00 min
Bonjour,
J’ai suivi toute la manip, mais mon Calendrier Mac (v. 8.0 2092.3) ne veut pas enregistrer de tache planifiée. Je programme l’alerte dans l’evenement comme vous le decrivez, je valide, mais quand j’ouvre a nouveau l’évenement l’alerte a disparu. Impossible de faire ouvrir le fichier automatiquement.
Pouvez-vous m’aider ?
Merci
Alexandre
matthieu · 12 juin 2016 à 22 h 41 min
Bonjour, utilisez-vous iCloud ?
pierre · 8 janvier 2017 à 22 h 29 min
bonjour, en utilisant icloud, l’alarme personnalisé n’est pas sauvagardée…. comment procéder?
merci pour votre aide
pierre
Bruime · 15 août 2016 à 11 h 45 min
que dois-je faire si je veux faire une sauvegarde complète de mon mac sur dropbox, je dois selectioné mon disque dur principal ?
matthieu · 3 septembre 2016 à 10 h 58 min
Ce n’est pas possible en l’état. Je vous conseille de vous intéresser plutôt à Crashplan.
Jean Pierre Soardi · 31 août 2016 à 1 h 44 min
Bonjour,
j’ai utilisé votre tuto concernant la sauvegarde avec ical. Il fonctionne très bien
Merci pour votre aide
Jean Pierre Soardi (Nice)
matthieu · 3 septembre 2016 à 10 h 55 min
Avec plaisir !
Roger · 9 octobre 2016 à 16 h 58 min
Hello Mathieu,
Ca fonctionne parfaitement !
matthieu · 17 novembre 2016 à 23 h 42 min
Super !
pierre · 14 novembre 2016 à 22 h 17 min
bonjour, merci pour votre tuto très bien réalisé. je rencontre un soucis avec calendrier.
en effet, il n’enregistre pas le fait d’ouvrir le fichier de sauvegarde.
avez vous une idée?
merci
pierre.
matthieu · 17 novembre 2016 à 23 h 42 min
Bonsoir Pierre, sur quelle version de macOS êtes-vous ? Merci
Foucher · 5 janvier 2017 à 17 h 17 min
Bonjour Matthieu,
Tout semble se passer très bien jusqu’à la dernière étape « déplacer les éléments du finder » en effet je reçois un message d’erreur m’indiquant que je ne dispose pas de l’autorisation nécéssaire pour accéder à Dropbox !
Où est-ce qu’on gère ces autorisations ???
Merci d’avance
matthieu · 8 janvier 2017 à 21 h 56 min
Pouvez-vous me dire le message d’erreur exact ? Merci
Duhamel · 6 janvier 2017 à 12 h 29 min
C’est top ! Merci beaucoup !
matthieu · 8 janvier 2017 à 21 h 57 min
Avec plaisir !
Rodolphe · 6 janvier 2017 à 19 h 09 min
Bonjour. Moi j’aimerais faire le contraire, à savoir sauvegarder ce que je mets sur Dropbox sur mon Mac pour si un jour Dropbox plante ou est piraté et que mes données qui y sont sont supprimées… Existe-t-il une solution dans ce cas là ? En effet, lors ce que je supprimer un dossier sur Dropbox, il disparaît également de mon Mac. Merci. Rodolphe.
matthieu · 8 janvier 2017 à 21 h 57 min
Il suffit de copier le contenu de votre dossier à un instant T vers un emplacement de votre disque dur sans supprimer ce convenu. Je ne vois pas bien où se situe votre problème.
nol · 11 janvier 2017 à 2 h 01 min
bonjour le calendrier (j’ai 10.12) ne garde pas en mémoire le faite de lancer le script, j’ai programmé une alerte comme mentionné dans l’article
nol · 11 janvier 2017 à 2 h 04 min
c’est un calendrier google, je n’utilise pas iCloud.
matthieu · 14 janvier 2017 à 16 h 39 min
Bonjour, il n’y a pas de raison que ça ne fonctionne pas. Peu importe le calendrier utilisé, la fonction de rappel ou d’alerte est directement intégrée à l’app Calendrier.
Pouvez-vous faire un test avec un un évènement créé en local (sur un calendrier local et non sur votre Google Calendar) ?
constance · 21 novembre 2018 à 12 h 54 min
Bonjour,
ce tutoriel est très clair pour une novice comme moi, j’ai parfaitement réussi à le programmer. Cependant, cela ne correspond pas exactement à ce que je souhaite faire. En effet, je voudrais automatiser la sauvegarde d’une clé usb que j’utilise pour le transfert d’un ordi à un autre au moment où je la branche sur mon MAC (et non tous les jours à une certaine heure). Savez-vous si Automator permet de configurer la sauvegarde automatique de la clé USB dans un dossier archive dès lors que celle-ci est connectée au Mac ? Je vous remercie d’avance pour votre réponse !
matthieu · 6 décembre 2018 à 19 h 32 min
Bonjour, je suis désolé mais je ne crois pas qu’il existe une action « A la connexion d’un device externe…faire une action ». Du coup, la sauvegarde automatique de la clé à sa connexion me semble complexe. En revanche, il est possible de lancer le script manuellement une fois que la clé est connectée pour automatiser la sauvegarde. Bien à vous,
Emmanuel · 28 décembre 2018 à 20 h 15 min
bonjour,
merci pour ce tuto simple et pratique pour mes débuts dans le monde MAC!
est il possible d’ajouter une commande pour sortir de veille si besoin pour effectuer la sauvegarde?
matthieu · 11 janvier 2019 à 11 h 36 min
Si ma mémoire est bonne, la commande caffeinate permet de sortir un Mac de la veille. 🙂
Mark · 8 novembre 2019 à 12 h 53 min
Bonjour et merci pour cet article fort intéressant. De mon coté je galère pour faire une action de dossier qui consisterait à copier dans un autre dossier un fichier, uniquement lorsqu’il a été modifié. J’ai bon pour la copie de fichier, mais cela ne se passe que si j’exécute l’action manuellement. Je crois qu’il me manque deux notions : si le fichier est modifié et automatiquement… Une idée ? Merci Mark