# Automator



## deneurone (18 Juillet 2011)

Bonjour à toutes et à tous. Voici un petit travail que j'essaye sans succès de réaliser, qui peut intéresser une ou un initié. Voici de quoi il s'agit: lorsque je
n'utilise pas internet, je déactive AirPort et je le réactive juste avant la mise à 
jour journalière de l'antivirus. Afin de ne pas oublier l'état inactif de AirPort, je
place manuellement sur le bureau tout près de son icône, un dossier vide représenté par une icône personnelle  (image détourée rouge de Airport).  Est-il possible (via par exemple Automator) de réaliser automatiquement cette action   ainsi que refaire gagner sa place à ce _dossier-icône_ dans "document", lorsque je réactive AirPort?.  Quelle peut être cette procédure que je ne sais pas mettre en place? J'ai essayé automator en utilisant la fonction "observer mes actions", mais l'action s'arrête en cours d'exécution m'indiquant une erreur. Les tutoriels concernant ce mignon petit robot ne m'ont apporté aucune aide concernant cette action. D'avance merci.


----------



## ceslinstinct (19 Juillet 2011)

deneurone a dit:


> Bonjour à toutes et à tous. Voici un petit travail que j'essaye sans succès de réaliser, qui peut intéresser une ou un initié. Voici de quoi il s'agit: lorsque je
> n'utilise pas internet, je déactive AirPort et je le réactive juste avant la mise à
> jour journalière de l'antivirus. Afin de ne pas oublier l'état inactif de AirPort, je
> place manuellement sur le bureau tout près de son icône, un dossier vide représenté par une icône personnelle  (image détourée rouge de Airport).  Est-il possible (via par exemple Automator) de réaliser automatiquement cette action   ainsi que refaire gagner sa place à ce _dossier-icône_ dans "document", lorsque je réactive AirPort?.  Quelle peut être cette procédure que je ne sais pas mettre en place? J'ai essayé automator en utilisant la fonction "observer mes actions", mais l'action s'arrête en cours d'exécution m'indiquant une erreur. Les tutoriels concernant ce mignon petit robot ne m'ont apporté aucune aide concernant cette action. D'avance merci.


Bonjour

Je n'utilise pas Automator (trop débile pour comprendre le fonctionnement), donc avec AppleScript.

Tu teste le code pour voir si avec Safari, ça donne le résultat que tu recherche.

J'utilise pas Airport, donc testé avec Safari

En utilisant que le code AS en application dans le Dock, permet d'avoir une icône de dossier sur le bureau quand l'application est fermé, et rien si elle est ouverte.

A voir si cela peu te donner une idée pour résoudre ton problème.


```
-- Placer un dossier avec une icône personnalisée avec comme nom 3 espaces dans le dossier Documents de la petite maison
set chemin to (path to "docs" as string) & "   :" as text -- Pour que le nom soit invisible sur le bureau (les 3 espaces)

tell application "System Events" to if exists process "Safari" then -- Contrôle si l'application est ouverte
	tell application "Safari" to quit -- Quitte l'application
	try -- Gestion si un problème
		-- Une copie du dossier sur le bureau (touche pas à l'original) pour signaler que l'application est fermé donc ALERTE
		tell application "Finder" to duplicate folder ((chemin) as alias) to desktop
	end try
else
	tell application "Safari" to activate -- Ouvre l'application
	try -- Gestion si un problème
		-- Élimine le dossier vue que l'application est ouverte, donc pas besoin d'alerte
		-- Peut-être remplacé par une commande du terminal pour éviter d'éliminer ce dossier par la corbeille (c'est une version de test)
		tell application "Finder" to move folder "   " in desktop to trash
	end try
end if
```

Si tu indique quel type d'ordinateur et le nom du fauve qu'il utilise, ça aide bien pour donner une réponse.
Ce qui marche pour un fauve ne marche pas obligatoirement sur un autre.

Testé avec Léopard 10.5.8

@+


----------



## deneurone (20 Juillet 2011)

Bonjour ceslinstinct. Je m'excuse pour mon omission impardonnable, 
j'utilise MacBook Pro snow léopard version 10.6.8. En fait je veux un pense-bête
qui me signale quand je suis déconnecté d'internet et inversement. Je vais
essayer tes conseils, merci pour ta réponse.


----------



## ceslinstinct (20 Juillet 2011)

deneurone a dit:


> Bonjour ceslinstinct. Je m'excuse pour mon omission impardonnable,
> j'utilise MacBook Pro snow léopard version 10.6.8. En fait je veux un pense-bête
> qui me signale quand je suis déconnecté d'internet et inversement. Je vais
> essayer tes conseils, merci pour ta réponse.


Bonjour

Si c'est juste pour faire un contrôle de connexion où déconnexion du web avec seulement une icône permanente sur le bureau pendant l'absence de connexion.

Un code travaillant en tâche de fond doit faire ça sans problème.

Donc, le travail se feras automatiquement, sans que tu fasse quoi que ce soit.

@+


----------



## deneurone (20 Juillet 2011)

Bonsoir, considère que je débute et que je suis très loin de maîtriser la chose.
Pour moi un code travaillant en tâche de fond, c'est assez obscur, pourrait-tu
me dire s'il te plait ce que je doit faire de AàZ ? je te remercie pour ta patience.


----------



## ceslinstinct (21 Juillet 2011)

deneurone a dit:


> Bonsoir, considère que je débute et que je suis très loin de maîtriser la chose.
> Pour moi un code travaillant en tâche de fond, c'est assez obscur, pourrait-tu
> me dire s'il te plait ce que je doit faire de AàZ ? je te remercie pour ta patience.


Bonjour

Une version pour gérer Airport avec Snow Léopard.

Snow Léopard: Copier-Coller ce code dans l'Éditeur de script

Bouton Compiler (si le texte prend des couleurs, c'est bon).

Barre des menus Fichier/Enregistrer sous&#8230; 
Donner un nom. 
Choisir où enregistrer l'application.
Format de fichier: Progiciel
Décocher Ecran de démarrage si coché.
Bouton enregistrer.

Clic droit sur cette application et sélectionner Afficher le contenu du paquet.

Ouvrir les dossiers Content et resources et y placer le dossier à afficher sur le bureau (nom 3 espaces pour avoir que l'icône sur le bureau).

Il reste plus qu'a tester.

Placer cette application dans le Dock, et n'utiliser qu'elle pour la gestion d'airport

Donne le résultat de tes tests pour voir quelles modifications à faire, où si ça fonctionne normalement.


```
-- GESTION D'AIRPORT
-- Testé avec Snow Léopard 10.6.7

-- Chemin de l'icône à afficher sur le bureau lors de la déconnexion d'Airport (se trouve dans cette application).
set dossier to ((path to desktop) as string) & "   :" as string -- Chemin du dossier icône sur le bureau normalement si il existe
set chemin to ((path to me) as string) & "Contents:Resources:   :" as string -- Chemin du fichier à afficher sur le bureau

tell application "Finder" to if (folder ("   " as string) exists) in desktop then -- Contrôle si l'icône existe sur le bureau
	do shell script "networksetup -setairportpower en1 on" -- Ferme Airport
	-- Si l'icône de déconnexion éxiste sur le bureau, la supprime par le Terminal
	do shell script "rm -r " & quoted form of POSIX path of (("Volumes:") & dossier as string)
else -- La trouve
	do shell script "networksetup -setairportpower en1 off" -- Ouvre Airport
	-- Si l'icône de déconnexion n'éxiste pas sur le bureau, la créer
	tell application "Finder" to if not (folder ("   " as string) exists) in desktop then duplicate folder ((chemin) as alias) to desktop
end if
```

C'est la version modifié de celle travaillant en tache de fond, donc du code en sécurité.

Ca fonctionne normalement chez moi.

@+


----------



## gmaa (21 Juillet 2011)

Bonjour,
Je passais par là 

Cela ne marche pas. (10.6.8) 

Cordialement


----------



## deneurone (21 Juillet 2011)

Bonjour Ceslinstinct, j'ai suivis tes conseils cela fonctionne bien. J'ai donc
un peu appris comment fonctionne AppleScript, encore merci pour ta 
compétence.
L'expérience de chacun est le savoir de tous. G. De Nerval.
PS: Mon âge aussi change tout le temps, et à vitesse grand V, il est déjà rendu
à 73.


----------



## ceslinstinct (21 Juillet 2011)

gmaa a dit:


> Bonjour,
> Je passais par là
> 
> Cela ne marche pas. (10.6.8)
> ...


Bonjour

L'erreur tu l'a sous les yeux.

Regarde bien le chemin, ton code est mal compilé où testé avec l'éditeur de scripts.

Tu utilise Script Editor et non le chemin de l'application compilé.

Les test ne fonctionne pas avec Script Editor mais seulement avec l'application.

Le fichier MacIntosh HD:Application:Utilities:*AppleScript Editor.app*:Contents:Resources:   :

set chemin to ((path to me) as string) & "Contents:Resources:   :" as string avec l'éditeur de script le prend comme application.

set chemin to ((path to me) as string) & "Contents:Resources:   :" as string testé avec l'application prend alors cette dernière dans le chemin.

Ca fonctionne chez moi, et ça a l'air de fonctionner chez *deneurone*, pourquoi pas chez toi.

Relit mes explications de compilation.

@+


----------



## gmaa (21 Juillet 2011)

Bonsoir,
J'ai réussi 

Le code était bien compilé mais je n'avais pas fait la dernière étape...


> Clic droit sur cette application et sélectionner Afficher le contenu du paquet.
> 
> Ouvrir les dossiers Content et resources et y placer le dossier à afficher sur le bureau (nom 3 espaces pour avoir que l'icône sur le bureau).



Pour "améliorer" l'aspect visuel j'ai fait un dossier avec une icône détourée.

Merci pour cette petite application.


----------

