Après les billets estampillés « Astuce », je lance à partir d’aujourd’hui les billets relatifs à Automator, une application de création de processus / Services, livrée avec Mac OS.
Ces derniers seront destinés aux nouveaux utilisateurs de Mac, et à ceux qui n’ont pas vraiment compris (ou par manque d’intérêt) l’utilité de cette formidable application.
Pour ouvrir le bal, je vous montre ici comment réaliser simplement un service (accessible depuis le menu contextuel = clic droit) capable de compter le nombre de mots et de caractères dans une sélection de texte. Certes, les applications comme Word, Ulysses et bien d’autres encore affichent ces informations, mais cela n’est pas une règle générale.
Que vous soyez dans Safari, TextEdit ou toutes autres applications dépourvues d’une fonctionnalité de comptage de mots et de caractères, ce service peut s’avérer d’une grande utilité.
Qu’est-ce qu’un processus ?
Conformément aux principes essentiels et vocabulaire de la norme ISO 9000:2005 (point 3.4.1), un processus se définit comme : « Un ensemble d’activités corrélées ou interactives qui transforment des éléments d’entrée en éléments de sortie ».
Pour fonctionner, tout processus a besoin de ressources et de supports.
Les ressources peuvent être aussi bien humaines (vous ou une autre personne par exemple) que matérielles (votre mac, de l’électricité pour qu’il puisse fonctionner, etc).
Les supports sont en général des méthodes ou procédures, voire un mode d’emploi pour faire fonctionner votre processus.
Pour prendre exemple sur notre service (qui est également un processus) d’aujourd’hui, qui je vous le rappelle est le comptage de mots et de caractères dans une sélection de texte, sa représentation graphique se présenterait de la sorte :
Eléments d’entrée : Un texte sélectionné
Eléments de sortie : L’affichage du nombre de mots et de caractères.
Les ressources humaines : Vous
Les ressources matérielles : Un Mac, de l’électricité, Automator,etc.
Les supports : Méthode de travail, mode d’emploi d’automator.
Pour vous donner un autre exemple, un processus fait avec automator pourra redimensionner un tas de photos en un seul clic, ce qui, admettons-le, est beaucoup plus rapide que de redimensionner vos photos une à une. Vous comprenez donc l’intérêt d’automatiser des tâches souvent rébarbatives.
Différence entre Processus et Service dans Automator
Automator fait la distinction entre un processus et un service. Afin de ne pas vous perdre avec de longues explications, nous pouvons simplifier la chose en disant que :
Un processus est un script ou une application que vous devez lancer pour effectuer une tâche bien précise.
Un service, fait la même chose qu’un processus, à la différence que vous pouvez y accéder directement depuis un menu contextuel, c’est à dire en faisant un clic droit sur votre souris.
Compter le nombre de mots et de caractères
Après ces quelques explications, que je considère nécessaire à vous partager, venons-en au fait de notre tuto d’aujourd’hui.
Notre service doit être capable de compter le nombre de mots et de caractères dans une sélection de texte (surlignage de texte) et afficher le résultat dans une fenêtre pop-up, et ceci, quelque soit l’endroit où ce dernier est sélectionné (Safari, Word, TextEdit, Twitter, Facebook, etc.)
Pour cela, lancez l’application Automator qui se trouvent dans votre répertoire Applications. Puis dans le menu, faites « Nouveau » et choisissez « Service ».
Dans le champ de recherche, tapez le mot « Shell » pour faire apparaitre l’action « Run Shell Script » comme dans la capture d’écran ci-dessous. Puis faites un glisser-déposer sur le cadre à droite où est indiqué « Faites glisser des actions ou des fichiers ici pour construire votre processus ».
Supprimer le mot « Cat » par défaut et tapez les commandes suivantes :
echo -n Nombre de mots:
echo $1 | wc -w
echo -n Nombre de caractères:
echo $1 | wc -c
A droite de ce bloc, dans « Données en entrée », choisissez dans le menu déroulant « comme arguments ».
Pour information, la commande « Echo » permet d’afficher à l’écran le texte situé à sa droite (Nombre de mots: dans notre exemple). L’argument « -n » permet d’empêcher un retour à la ligne automatique, ce qui nous permettra d’avoir le nombre de mots à côté du texte « Nombre de mots: ».
Exemple de résultat –> Nombre de mots: 47
[g1_message type=”info”]
wc -w permet de compter le nombre de mots.
wc -c permet de compter le nombre de caractères.
[/g1_message]
Ensuite, il nous faut une variable pour stocker les résultats trouvés, c’est à dire, le nombre de mots et le nombre de caractères. Pour cela, tapez dans le champs recherche le mot « variable », puis faites glisser « Set Value of Variable » sous le premier bloc « Exécuter un script shell ». Cliquez ensuite sur « Nouvelle variable », vous pouvez laisser le nom de variable « Stockage » proposé par défaut.
Pour finir, tapez dans le champ recherche le mot « Confirmation » pour faire apparaitre « Ask for Confirmation », puis faites un glisser-déposer en dessous du bloc « Définir la valeur de la variable » comme ci-dessous. Indiquez dans le champ « message » de ce bloc, le nom exacte (attention à la casse) de votre variable, « Stockage » pour notre exemple.
Notre service est maintenant terminé, il faut maintenant le sauvegarder en allant dans « Fichiers / Enregistrer », en n’oubliant pas de lui donner un nom facilement reconnaissable comme « NbreMots » par exemple et de choisir « Processus » dans le menu déroulant « Format de fichier ».
Maintenant, sélectionnez du texte où bon vous semble, et faites un clic droit / Service / NbreMots (ou le nom que vous avez choisi). Si tout se passe bien, vous devriez voir apparaître une fenêtre vous indiquant le nombre de mots et de caractères situés dans votre sélection de texte.



Si cela ne fonctionne pas, c’est que vous avez fait une petite erreur. Vérifiez que vous avez bien sélectionné « Comme arguments » et non « vers stdin » dans « Données en entrée » à droite du bloc « Exécuter un script shell ».
Conclusion
Automator peut s’avérer être rebutant si son principe de fonctionnement n’a pas été compris. Je vous conseille de vous familiariser avec lui en faisant des processus simples comme redimensionner une image ou la conversion d’un document .docx en .PDF.
INFORMATION IMPORTANTE
Attention toutefois, afin de ne pas détruire vos documents originaux, il est important de travailler sur des copies, surtout si vous êtes en train de découvrir ce formidable outil qu’est Automator.
Super tuto, et merci pour ton explication sur les processus, je n’avais pas spécialement compris la différence entre un service et un processus. Maintenant c’est bcp plus clair.
J’espère que tu feras d’autres tutos sur automator. Dis oui ! stp ! 😎
Salut JF,
oui je compte faire d’autres tutos automator, mais cela prend bcp de temps pour les réaliser.
J’en ai deux ou trois sous le coude et compte les publier bientôt.
Normalement, et si je n’ai pas une urgence à traiter entre temps, il y en aura un la semaine prochaine.
Merci pour ta patience et ton soutien 😉