Introduction Commençons doucement : le planificateur de tâches

Transcription

Introduction Commençons doucement : le planificateur de tâches
Quelques outils pour automatiser vos tâches
Introduction
Il est en effet possible « d'apprendre » à votre ordinateur des opérations qu'il sera
capable de reproduire de façon parfaite et ce, dès que vous le lui demanderez. Cette
étape pourra se faire de plusieurs façons différentes, soit grâce à des logiciels spécifiques
qui enregistreront vos actions, soit grâce à un peu de programmation, la série de
commandes
spécifiées
indiquant
à
la
machine
la
marche
à
suivre.
Nous n'évoquerons pas le cas de Linux , la philosophie même de ce système
d'exploitation rendant quasiment infinies les possibilités d'automatisation. En revanche,
nous vous montrerons quelques solutions intéressantes sous Windows, du planificateur
de tâches jusqu'à l'utilisation de scripts. De plus, nous vous présenterons une application
surprenante disponible sous Mac OS X : Automator.
Commençons doucement : le planificateur de
tâches
Le planificateur de tâches de Windows est probablement le degré 0 de l'automatisation
sur un ordinateur. Mais ne vous y trompez pas, cette fonction du système d'exploitation
de Microsoft peut se révéler tout à fait précieuse, notamment pour les débutants qui
n'ont
pas
envie
d'aller
chercher
d'autres
logiciels
comme
nnCron.
Si vous voulez utiliser le module de tâches planifiées de Windows, rendez-vous dans le
panneau de configuration, puis choisissez « Tâches planifiées ». Cliquez sur « Création
d'une tâche planifiée ». Après avoir cliqué sur « Suivant », vous verrez alors apparaitre
une fenêtre qui vous proposera certaines (et c'est là l'un des problèmes) des applications
présentes dans votre ordinateur. Si vous ne trouvez pas votre bonheur, cliquez sur «
Parcourir ». Il vous faudra alors savoir où se trouve l'application qui vous intéresse parmi
l'arborescence de votre disque dur. Sachez par exemple que le module de
défragmentation, pourtant inclus directement dans le système d'exploitation, ne figure
pas parmi la liste proposée. Si vous ne savez pas où se trouve l'exécutable
correspondant, cela est rapidement décourageant...
La liste proposée lors de la création d'une tâche est incomplète et la recherche de l'exécutable est alors nécessaire
Une fois que votre choix est fait, vous devez définir la périodicité de votre action. Dans
notre exemple, nous appelons notre tâche « Défragmentation », et nous la planifions
toutes les semaines. Vous pouvez opter pour tous les jours, tous les mois ou à
l'ouverture d'une session par exemple. Même prévue toutes les semaines, nous pouvons
tout de même sélectionner plusieurs jours pour exécuter notre défragmentation. Nous
choisissons donc ici de l'effectuer les lundis et jeudis de chaque semaine.
Les règles de périodicité ne sont pas particulièrement bien définies, mais on peut faire à peu près ce que l'on veut en
cherchant un peu
Une fois définis les jours et l'heure à laquelle notre action s'exécutera, un résumé de la
tâche apparaît. Nous cochons la case « Ouvrir les propriétés de cette tâche... », nous
verrons pourquoi après. Il vous reste à entrer votre mot de passe (si vous en possédez
un, ce que nous vous conseillons) pour valider la tâche qui sera créée si vous cliquez
finalement sur suivant.
Un résumé de votre tâche s'affiche en fin de création, cette dernière étant finalement validée par votre mot de passe
utilisateur
Nous avions coché plus haut la case permettant d'afficher les propriétés de la tâche
créée. Elles se composent de trois onglets qui renseignent sur l'application utilisée, sa
planification et ses paramètres. Des options qui n'étaient pas évoquées durant la création
de la tâche sont ici présentes : la possibilité d'utiliser des horaires différents si plusieurs
jours sont définis (comme c'est le cas ici), celle d'activer ou non la tâche (une case à
cocher en bas de l'onglet « Tâche »), ou encore l'option permettant de démarrer l'action
uniquement l'ordinateur est inactif (depuis un temps que vous pouvez définir). La gestion
de l'alimentation est également disponible dans l'onglet « Paramètres » et sera utile
notamment pour les utilisateurs d'ordinateurs portables.
Ces paramètres permettent d'ajuster plus finement certaines options invisibles lors de la création de la tâche
Une fois les paramètres validés, votre création apparaît alors dans la fenêtre des tâches
planifiées. Est-ce terminé ? Certains l'auront peut-être déjà remarqué, mais une
défragmentation c'est bien, mais définie sur un disque dur, c'est mieux ! Eh oui, ni le
module de création de tâche, ni même les paramètres plus complets de cette dernière
n'ont proposé de disque dur auquel appliquer la tâche créée... En réalité il vous faut
définir cela « à la main » dans l'onglet « Tâche » des paramètres avancés, en ajoutant à
la ligne « Exécuter » des arguments supplémentaires comme, par exemple :
C:\WINDOWS\system32\defrag.exe c:
Si la tâche apparaît bien dans la zone dédiée, est-elle pour autant effective ? Pas sûr...
Inutile donc de dire que si les options de planifications (possibilité de préciser l'heure, les
jours, la fréquence de manière précise) sont suffisantes, le module reste tout de même
un outil très peu convivial et rien ne permet de guider l'utilisateur lors de la création de
tâches, même très simples. Pour effectuer une défragmentation de son disque
régulièrement, il sera bien plus facile au novice de faire cela « à la main » plutôt que
d'essayer d'une part de trouver l'exécutable dans l'arborescence de son ordinateur, et
d'autre part de trouver les arguments à ajouter derrière l'application... De plus, ce
module ne vous permet absolument pas d'effectuer un enchaînement d'opérations, par
exemple un nettoyage de disque puis une défragmentation. Il vous faudra pour cela créer
deux tâches différentes. Enfin, il vous faut oublier des actions légèrement plus complexes
comme vider l'historique de votre navigateur à heure régulière par exemple si vous
voulez vous contenter du planificateur de tâches de Windows. Sinon, passons à la page
suivante.
Un peu plus dur : les macros
Nous passons tout de suite dans un monde permettant beaucoup plus d'actions que ne le
l'autorisait le planificateur de tâches de Windows. Les macros sont des suites de tâches
où le passage de variables d'une action à une autre est possible. Vous pouvez par
exemple utiliser comme variable d'entrée dans un programme un texte écrit par ailleurs
avec un éditeur, ou prendre le résultat d'une application (par exemple la sortie d'un
calcul réalisé grâce à l'outil dédié de Windows) pour l'utiliser comme entrée dans une
autre application (un tableau Excel par exemple). Les possibilités deviennent alors très
nombreuses, voire infinies. La combinaison des actions va être source de tâches
complexes
et
adaptées
à
un
besoin
précis.
Pour illustrer ces propos, nous avons choisi le logiciel Super Macro, sachant qu'il en
existe bien d'autres, comme Macro Angel par exemple. Ce logiciel, bien qu'a priori un peu
austère, est probablement l'un des plus convivial à l'usage. Le monde de l'automatisation
sous Windows n'est définitivement pas très convivial... Que cela ne tienne, tentons d'y
comprendre quelque chose dans l'interface de Super Macro qui, agréable surprise, est en
français. Trois zones sont à explorer principalement :
•
•
•
les barres de tâches « Standard » et « Supplément », qui vont nous servir à
définir les opérations ;
la partie inférieure de la fenêtre, dans laquelle s'affichent les informations
concernant les différentes commandes disponibles, ces dernières étant listées
dans la partie droite du logiciel ;
la partie centrale enfin, dans laquelle vont s'afficher les différentes actions définies
par l'utilisateur.
Les définitions des différentes commandes disponibles sont bien rédigées et
compréhensibles ; ici, la commande Goto
En explorant la barre d'icônes « Standard », vous pouvez avoir une petite idée des
actions réalisables avec ce logiciel, puisque sont disponibles :
•
•
un module pour entrer du texte, qui pourra servir de variable d'entrée pour une
autre application (ouvrez par exemple un document Word, ce module vous
permettra alors d'y saisir du texte) ;
un clavier virtuel qui vous permet de réaliser des combinaisons de touches, par
exemple un CTRL+S pour sauvegarder un document, ou un ALT+F4 pour fermer
une application. Si vous désirez en apprendre plus concernant les raccourcisclavier, n'hésitez à consulter notre article « raccourcis-clavier, ou comment se
passer de souris ». Ce clavier est bien pensé, puisque différentes actions sont
prévues : appuyé, relâché ou appuyé et relâché, ce qui permet de réaliser à peu
près tout ce que l'on veut en terme de raccourcis-clavier ;
Le clavier virtuel permettant de réaliser des combinaisons de touches est
particulièrement efficace et bien pensé
•
•
un module permettant de connaître la position de votre souris sur l'écran, afin de
réutiliser cette position pour amener la souris aux coordonnées souhaitées ;
un second fait pour simuler des clics ; vous pouvez appuyer le bouton de droite,
relâcher le bouton de gauche ou toute autre combinaison qui pourrait vous servir
;
Concernant la souris, il est possible de trouver les positions de la souris et de simuler des clics divers
•
•
•
•
vous pouvez également exécuter un programme externe, ce module permettant
également d'entrer une adresse mail ou Internet ;
la petite horloge représente la fonction de pause, dont vous pouvez définir le
temps ;
vous pouvez définir un « label », étiquette qui vous permet d'établir un point de
repère précis dans votre chaîne d'actions ; ce point pourra être utilisé dans une
procédure « Goto » par exemple (symbolisé par l'icône suivante), commande qui
permet de revenir à un label donné ;
le dernier lien permet d'ajouter à votre liste d'actions une commande « Quitter »,
qui se passe de commentaire.
Les barres de commandes de Super Macro permettent de réaliser un grand nombre
d'opérations
Ces fonctions permettent déjà à elles seules de réaliser un grand nombre
d'enchainements d'actions. Pour les utilisateurs plus pointus, la barre « Supplément »
apporte des fonctions complémentaires intéressantes :
•
•
•
définir un champ de données ;
ouvrir une fenêtre de questions en entrant le titre de la fenêtre, le message, la
réponse pouvant être utilisée comme variable d'entrée pour l'action suivante ;
effectuer des calculs simples ou complexes ;
Une boîte à outils permettant, entre autres, d'opérer des actions simples sur les fichiers
(copier, coller, renommer...), de créer des répertoires ou de fermer une session est
également disponible. Deux modules sont également présent, permettant d'une part de
déclarer des variables - comme le contenu du presse-papier ou les répertoires système et d'autre part d'opérer de petites actions sur certaines d'entre elles.
Les variables disponibles dans l'onglet « Supplément » peuvent être utilisées pour des scripts plus avancés
Finalement, au fur et à mesure de vos choix, vous voyez apparaître dans la fenêtre
principale les différentes actions qui seront exécutées dans l'ordre que vous avez défini.
Si vous voulez modifier cet ordre, cliquez sur l'action et appuyez simultanément sur CTRL
et la flèche du haut pour le placer plus haut dans la liste, CTRL plus flèche du bas pour le
faire descendre. Une fois vos derniers ajustements effectués, vous pouvez simuler
l'exécution de votre chaîne d'actions en utilisant le bouton vert de lecture situé en haut à
gauche de la fenêtre.
Votre liste est prête ? Vous n'avez plus qu'à la tester en pressant le bouton de lecture
Il est clair que ce type de logiciel est assez puissant et permet de réaliser un grand
nombre de créations originales et adaptées aux besoins de chacun. Il existe évidemment
des possibilités plus évoluées qui ne sont pas présentes dans Super Macro, comme faire
des boucles. Les tests (avec des conditions, comme la commande if) manquent
également à l'appel. Toutefois, des modules additionnels peuvent être téléchargés sur le
site de Super Macro.
Pour aller plus loin : les scripts
Le logiciel que nous vous avons présenté avant n'est ni plus ni moins qu'une interface
capable d'interpréter vos commandes en les transformant dans un langage compris par
l'ordinateur. Ce langage peut être par exemple le Basic ou le Visual Basic. Le programme
que nous allons vous présenter maintenant s'appuie sur un langage proche du Basic,
mais contrairement à Super Macro, les libertés sont plus grandes et l'utilisateur peut à
son aise disposer des commandes de boucles ou de conditions. Le logiciel propose son
propre langage afin d'alléger la syntaxe, mais celui-ci est nettement plus complexe et
proche d'une programmation que ce que proposait Super Macro. Ce programme est
AutoIt et nous allons voir qu'il possède quelques fonctions très intéressantes.
AutoIt, un logiciel puissant pour programmer de très nombreuses actions
La devise du concepteur d'AutoIt pourraît être « si ce n'est pas faisable en un clic, c'est
trop compliqué ». C'est un peu exagéré, mais c'est la philosophie du logiciel qui se
compose :
•
•
•
d'un éditeur fonctionnel, proche de ceux que l'on peut trouver sous Linux ;
d'un module permettant d'obtenir simplement des variables du système comme la
position de la souris, celle d'une fenêtre ou le titre d'une fenêtre ;
d'une fonction capable de transformer vos scripts en exécutable, ce qui permet de
lancer une série d'action sans forcément avoir installé AutoIt. Vous pouvez même
attribuer à votre « application » une icône personnalisée.
Récupérer des informations du système ou créer un exécutable à partir de votre script : rien n'arrête AutoIt !
Contrairement à Super Macro, on ne trouve pas sur l'interface d'AutoIt les actions de
bases ni même celles plus évoluées. Tout, absolument tout, doit être saisi « à la main »,
ce qui demande donc d'avoir lu en détail le module d'aide du logiciel, par ailleurs
particulièrement bien écrit mais... en anglais. Autre prérequis : une connaissance basique
des commandes de l'interpréteur de lignes de commandes (ou shell) de Windows. Elle
vous sera très utile si vous ne tenez pas à utiliser exclusivement le langage du logiciel. Il
vous suffit alors de demander à AutoIt d'ouvrir l'application cmd.exe et vous pourrez
alors saisir de façon automatique du texte dans l'interpréteur.
La liste des commandes disponibles sous le Shell de Windows est loin d'être infinie...
Quel est l'intérêt d'AutoIt nous direz-vous alors ? Premièrement, le nombre de
commandes disponibles via le shell de Windows est assez limité. De plus, il existe des
commandes très simples à utiliser avec AutoIt, qui pourraient vous prendre beaucoup de
temps à coder autrement, comme la possibilité d'afficher une fenêtre d'avertissement
d'une
certaine
taille
contenant
un
texte
écrit
par
vos
soins
:
SplashTextOn
("Avertissement",
"File
is
being
updated",
"100",
"100")
En guise de démonstration, voici un (tout) petit exemple de ce qu'il est possible de faire
avec
AutoIt
:
BlockInput(1)
;Avec cette commande, vous bloquez les entrées des périphériques comme la souris ou
le
clavier.
Run("cmd")
;Lance
sleep(2000)
;Met
le
send("ftp
l'interpréteur
logiciel
en
attente
en
pendant
-s:ftp.txt
ligne
deux
secondes
de
(ou
2000
Windows.
millisecondes).
88.xxx.xxx.xx{ENTER}")
;Ecrit le texte « ftp -s:ftp.txt 88.xxx.xxx.xx » dans l'interpréteur, puis simule l'appui sur
la touche Entrée. Cette commande se connecte à un serveur et utilise un fichier ftp.txt
qui contient l'identifiant et le mot de passe et récupère un fichier intitulé Idees.doc
sleep(3000)
send("move
send("{ENTER}")
send("Oui")
send("{ENTER}")
Run("C:\Program
Idees.doc
Files\Microsoft
C:\")
Office\OFFICE11\WINWORD.EXE
C:\Idees.doc")
;Après avoir changé le document de répertoire (déplacé à la racine du disque dur), on
lance
Word.
SplashTextOn
("Avertissement",
sleep(2000)
send("{PGDN}{PGDN}{PGDN}")
"File
is
being
updated",
"100",
"100")
;On lance un message d'avertissement précisant la mise à jour du fichier, on attend deux
secondes que le document s'ouvre et on se place en bas de la page en simulant 3 appuis
sur
la
touche
«
Page
suivante».
send("J'ajoute
sleep(3000)
send("^s")
la
ligne
du
jour")
;On ajoute une ligne, on attend 3 secondes, puis un simule un CTRL+S pour sauvegarder
le
document.
sleep(1000)
send("!{F4}")
;On
attend
SplashOff()
encore
1
seconde
et
on
ferme
la
fenêtre
par
un
ALT+F4.
;Le message d'avertissement précédent se ferme pour laisser un autre (précisant la
réussite
de
l'opération)
apparaître.
SplashTextOn
sleep(2000)
SplashOff()
BlockInput(0)
("Avertissement",
"File
succesfully
updated",
"100",
"100")
;On fait une pause de deux secondes, on ferme le message d'avertissement et on libère
les
périphériques
d'entrée.
sleep(2000)
send("set
path=C:\Program
Files\WinRAR\;%path%")
;Encore une pause et on prend soin de définir le chemin de l'application Winrar
send("{ENTER}")
send("rar
a
-r
C:\backup
C:\Idees.doc")
;De retour dans l'interpréteur de commande (qui n'était pas fermé), on lance une
compression
du
fichier
Idees.doc
send("{ENTER}")
send("exit")
;On
send("{ENTER}")
exit
;Finalement,
sort
on
de
sort
l'interpréteur.
du
script.
Vous l'aurez compris, le point-virgule sert à commenter les lignes sous AutoIt. Ce genre
de chose n'est qu'un exemple vaguement représentatif des possibilités du logiciel.
Lorsque vous êtes satisfait de votre script, n'oubliez pas de créer votre exécutable avec
le module dédié, ce qui vous évitera de passer par AutoIt pour exécuter votre
application. Enfin, vous pouvez utiliser le planificateur de tâches de Windows pour faire
fonctionner votre création aux heures et aux jours que vous aurez choisis.
Le petit robot d'Apple : Automator
Oubliez tout ce que nous avons vu jusqu'à présent, voici Automator. Vous ne trouverez
pas ce logiciel dans notre logithèque , il est livré par défaut avec Mac OS X. Lorsque vous
lancez ce programme, vous apercevez immédiatement que l'interface n'a rien à voir avec
ce qu'on a pu trouver sous Windows et ce n'est qu'un début.
Dès le lancement du programme, l'interface interpelle comparée à celles des logiciels évoqués plus haut
Le principe d'Automator est le suivant : vous allez combiner des actions entre elles pour
arriver à un résultat voulu. Mais ici aucune programmation n'est nécessaire, aucun script
à rédiger. Tout se fait en un temps record grâce aux actions pré-programmées par Apple.
Au lancement du logiciel, vous pouvez donc choisir parmi 5 catégories : fichiers et
dossiers, musique et audio, photos et images, texte et personnalisé. Les 4 premières
catégories proposent quelques actions les plus courantes dans les thèmes
correspondants, mais la partie la plus intéressante est clairement contenue dans l'onglet
«
Personnalisé
».
C'est en effet dans cette partie du logiciel que vous allez pouvoir définir vos propres
enchaînements. A votre disposition dans la colonne de gauche, vous trouverez différentes
actions liées à des choses aussi diverses que la musique, le courrier électronique, les
vidéos Quicktime ou la manipulation de dossiers, et des variables comme l'adresse IP ou
l'heure et la date, à l'image de ce qui existe sous Super Macro.
Les actions et les variables vont vous permettre de créer des actions complexes
Sur la partie inférieure gauche de la fenêtre, vous pouvez observer de précieuses
indications concernant les variables, mais surtout les actions : pour chacune d'elles vous
est précisé ce qu'elle nécessite en entrée, le résultat et les éventuelles dépendances. Par
exemple, la fonction permettant de convertir un texte en fichier audio va nécessiter une
action précédente, celle d'aller chercher un texte. Le résultat est quant à lui annoncé
sous
la
forme
d'un
fichier.
Automator est également capable d'enregistrer vos actions pour les reproduire. Pour cela
rien de plus simple, cliquez sur le bouton rouge placé en haut à droite de la fenêtre. Un
message apparaît alors pour préciser que l'enregistrement est en cours. Toutes vos
actions sont alors scrupuleusement étudiées et analysées.
Une fois l'enregistrement lancé, toutes vos actions sont analysées
Une fois l'enregistrement terminé (il vous faut cliquer sur le bouton « Stop »), une liste
répertoriant tous vos faits et gestes est alors affichée dans la fenêtre principale et vous
pouvez définir cet enchaînement comme action à reproduire. Sachez également que vous
pouvez définir des boucles, alors qu'il manque à notre avis la possibilité d'imposer des
conditions.
Quelques exemples
Pour illustrer nos propos, deux exemples précis pour lesquels nous avons utilisé
Automator : le premier permet de rechercher parmi les contacts de carnet d'adresses les
personnes dont c'est l'anniversaire, de préparer un mail avec un texte prédéfini et une
image
de
fête,
et
d'envoyer
le
tout
aux
contacts
concernés.
Pour fabriquer une telle action, nul besoin de programmation, mais juste de quelques
clics :
•
•
•
dans la rubrique « Contacts », cliquez sur l'action « Rechercher les contacts avec
anniversaire » et déplacez cette action dans la zone de travail ;
dans la rubrique « Mail », choisissez « Envoyer des voeux d'anniversaire »,
écrivez votre texte (sans préciser évidemment de prénom et d'éléments trop
précis) et ajoutez l'image de votre choix. Notez qu'un correcteur orthographique
est même présent et actif lors de la rédaction de votre texte ;
toujours dans la même rubrique, déplacez l'action « Envoyer les messages de la
boîte d'envoi » pour finaliser la procédure. C'est fini !
Pour les têtes en l'air, plus d'excuses pour oublier les anniversaires !
Un autre exemple
Quicktime réalisé à
chercher les photos
bouton « Ajouter ».
une hauteur définie.
plus complexe, la création d'un DVD contenant un diaporama
partir de photos d'un répertoire précis. On commence par aller
via la fonction « Obtenir les éléments du Finder indiqués » et le
Ensuite, nous décidons de rogner les images selon une largeur et
Les premières étapes consistent à sélectionner les photos à l'aide du Finder et à rogner
les images
Dès lors, Automator vous avertit que l'opération à venir va modifier les fichiers images
sélectionnés et vous demande si c'est réellement votre souhait. Si vous répondez « Non
», il ajoute alors automatiquement une action qui va copier les fichiers sur le Bureau
avant de les rogner. Vous pouvez bien entendu choisir l'emplacement de la copie.
Automator prend soin de vos photos, il les copie pour ne pas les altérer
Une fois les images à la bonne taille, vous pouvez ajouter l'action « Créer un diaporama
Quicktime », diaporama dont vous pouvez régler le temps d'attente entre deux photos, le
titre et le format (autonome, pour inclure les images dans le diaporama, ou non). Reste
enfin à graver votre création : pour cela, choisissez la commande « Graver un disque »
dans la rubrique « Utilitaires » et le tour est joué ! Vous pouvez tester votre
enchaînement en utilisant le bouton « Exécuter » en haut à droite de la fenêtre.
Conclusion
Du planificateur de tâches de Windows à Automator en passant par AutoIt, l'éventail des
possibilités est vaste. Le planificateur de tâches, nous l'avons vu, n'est adapté qu'à
quelques besoins ponctuels et ne propose pas suffisamment d'options pour satisfaire
l'utilisateur novice comme l'initié. Super Macro ou AutoIt sont respectivement assez
convivial et particulièrement puissant. Tout le problème quand on dispose d'un tel
arsenal de fonctions, de variables, bref, de telles possibilités, est probablement d'écrire
un script optimisé, qui utilise le minimum de manipulations possibles. Autre difficulté :
prévoir toutes les actions à effectuer, et même éventuellement des comportements
inattendus. C'est là tout le « sport » de la programmation.
Et si certains des scripts que nous vous avons présentés peuvent vous paraître inutiles, il
ne faut pas négliger le plaisir de programmer, d'avoir un résultat, de faire faire à
l'ordinateur ce qu'on attend de lui. Espérons que cet article aura fait germer en vous de
nombreuses idées, car la principale limite à l'utilisation de ces logiciels est
probablement... l'imagination !