# script terminal & hosts



## magicman (14 Mai 2017)

bonjour

N'étant pas très fort en applescript, je me permets de vous soumettre mes galères ^^
je souhaite créer un script pour modifier le fichier hosts dans le terminal
à la main ça donne : 
- je lance le terminal
- je tape : sudo pico /etc/hosts (enter)
- je rentre mon pass (enter)
- je fais 7 fois flèche du bas
- je tape 127.0.0.1 www.monsitebloqué
- je fais un Ctrl x pour sauvegarder
- puis y pour confirmer (enter)
-puis exit et je ferme la fenêtre.

je pensais qu'en record de script je pouvais faire tout ça et qu'il allait enregistrer mes actions  hey bhé non ça aurait été trop beau !
Mon idée finale est de bloquer l'accès de visionnage type netflix ou autre à partir d'une certaine heure pour éviter les tentations sur l'ordi familial quand tout le monde dort ! et donc de passer par un script modifiant le host à partir d'une certaine heure.

J'ai réussi à faire ça en maigre départ

*tell* _application_ "Finder"
*activate* _application_ "Terminal"
*display notification* "fin de l'accès"
*end* *tell*

qui me lance le terminal et informe que l'accès est fini.
je tente avec write d'écrire mon sudo pico, mais je n'y arrive pas. j'ai compris qu'il fallait donner une autorisation pour le faire, mais je n'y arrive pas...
donc ça butte là. et j'ai peur de butter également quand il faudra ajouter des touches spéciales comme enter ou ctrl ou la flèche du bas.

Vous savez tout  si vous avez quoi que soit pour éclairer ma zone de travail car je n'y voit pas grand chose !

Merci pour vos retours !


----------



## Larme (15 Mai 2017)

Cela dépend si cela convient, mais tu pourrais avoir deux fichiers hosts que tu intervertirais (peut-être plus simple à faire que d'aller à la fin du fichier pour ajouter/retirer la ligne, surtout si tu rajoutes ou enlèves d'autres sites).
Si c'est assez cyclique et régulier, tu peux penser à un CRON.


----------



## magicman (15 Mai 2017)

j'ai réussi dans la nuit à faire ça : 

*tell* _application_ "Terminal"
*activate*
*display notification* "fin de l'accès"
*end* *tell*

*tell* _application_ "System Events" *to* *keystroke* "sudo pico /etc/hosts "
*tell* _application_ "System Events" *to* *keystroke* return
*tell* _application_ "System Events" *to* *keystroke* "my password"
*tell* _application_ "System Events" *to* *keystroke* return

*delay* 0.5
*tell* _application_ "System Events" *to* *keystroke* "&éè;à;à;&" using _shift down -- correspond avec le shift à 127.0.0.1_
*tell* _application_ "System Events" *to* *keystroke* "        " -- quelques espace pour faire propre
*tell* _application_ "System Events" *to* *keystroke* "www"
*tell* _application_ "System Events" *to* *keystroke* ";" using _shift down_
*tell* _application_ "System Events" *to* *keystroke* "netflix"
*tell* _application_ "System Events" *to* *keystroke* ";" using _shift down_
*tell* _application_ "System Events" *to* *keystroke* "com"

*delay* 0.1
*tell* _application_ "System Events" *to* *keystroke* "x" using _control down_

*delay* 1
*tell* _application_ "System Events" *to* *keystroke* "y"
*tell* _application_ "System Events" *to* *keystroke* return
*tell* _application_ "System Events" *to* *keystroke* "exit"
*tell* _application_ "Terminal" *to* *quit* _yes

y a quelques ratés mais ça fonctionne plutôt bien. faut surtout mettre des delay sinon ça va trop vite pour le terminal ^^

le fait de changer le host est une bonne idée. à voir où il se trouve et comment renommer des fichiers en applescript car ça je sais pas encore faire ^^

une idée sur les commandes que je dois utiliser ?
_


----------



## magicman (15 Mai 2017)

pour ceux que ça intéresse je poste ces liens vraiment super !
http://adrien0203.blogspot.com/2008/11/applescript-envoyer-des-touches-aux.html
https://fr.wikiversity.org/wiki/Automatisation_des_tâches_(Mac)/Applescript
c'est grâce à ça que j'ai pu avancer sur mon système


----------

