Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/01/2008, à 12:08

arketip

[resolu] logiciel pour piloter ubuntu en cas d'absence

Bonjour,

J'aimerais connaà®tre quel soft vous utilisez pour piloter ubuntu en votre absence ? Pour créer une tà¢che automatisée utilisant un logiciel qui n'est pas prévu pour.

Avant j'utilisais Autoit mais il n'existe pas sous linux. Il y a surement l'équivalent.
En gros c'est un langage de script qui permet de piloter l'ordinateur comme si on était devant.
On peut lancer des applications, placer le cruseur à  tel endroit, simuler des clic droit ou gauche, mémoriser des variables, taper du texte, etc.
Du coups on peut faire à  peu près n'importe quoi qui puisse s'automatiser comme si on était devant.
Avec quelques lignes de script, on peut en cas d'absence lancer un logiciel, sélectionner tel ou tel menu, etc.
On peut automatiser des tà¢ches répétitives avec ça.

Thx

Dernière modification par arketip (Le 09/03/2008, à 12:09)

Hors ligne

#2 Le 26/01/2008, à 12:37

akira86

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

Salut
ba pour les clique je ne sais pas ... mais beaucoup de logiciel sous linux ne sont qu'une interface graphique pour un truc qui peut se piloté en ligne de commande ... donc en théorie tu peut tous faire avec un scripte bash.


astuce de la console :
tab pour compléter automatiquement le nom d'une commande d'un dossier ou d'un fichier.
clique molette pour recopier une sélection.

Hors ligne

#3 Le 26/01/2008, à 12:50

arketip

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

tu veux dire que chaque menu, chaque option est accessible via une ligne de commande ? Donc je peux par exemple lancer mozilla, me connecter à  un site, entrer mon login et mon mot de passe, changer de page... tout ça juste en ligne de commande ? Si c'est le cas ça à  l'air super!

Hors ligne

#4 Le 26/01/2008, à 13:15

tchado

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

Salut,
Il y a 2 choses dans ta demande :
1- lancer des commandes sur un pc distant : ssh : http://doc.ubuntu-fr.org/ssh
2- afficher l'interface graphique d'un pc distant : vnc : http://doc.ubuntu-fr.org/vnc
Par exemple.

La famille des unix a été conçue par/pour des informaticiens dans le but de contrôler sa machine et un parc informatique ; de là, je te laisse imaginer les quelques folies qui en ont découlé.
Pour te mettre dans l'ambiance tu te mets dans un garage devant un poster géant de stallman et tu médites une heure ; tout ce que tu auras pu imaginer l'a été.

Bref, bon week-end.

S.

Hors ligne

#5 Le 26/01/2008, à 13:30

arketip

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

Ma petite recherche sur 'comment commander firefox en ligne de commande' m'a permis de tomber sur un post qui réponds à  ma question:

http://forum.ubuntu-fr.org/viewtopic.php?pid=1319552
et puis:
http://forum.ubuntu-fr.org/viewtopic.php?id=16833
Ca n'a pas l'air complètement résolu dans les post mais la piste semble bonne.

Donc la réponse est Xautomation
http://www.hoopajoo.net/projects/xautomation.html

@tchado: ssh permet aussi de piloter un machine en local ? ta réponse me semble plus orientée contrà´le à  distance mais je peux me tromper. En tout cas VNC (qui est déjà  sur ma machine) ça m'obligerait à  être derrière un autre pc ce qui n'est pas le but ici. Je veux juste automatiser des tà¢ches sur mon propre poste de travail quand je ne suis pas là . Mais ssh je ne connaà®s pas.
Me conseillez-vous d'apprendre à  manipuler ssh pour faire de l'automatisation en local aussi ? Ou bien Xautomation est le meilleur choix ?

Dernière modification par arketip (Le 26/01/2008, à 13:31)

Hors ligne

#6 Le 26/01/2008, à 13:51

arketip

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

il y a aussi xdotool
http://www.semicomplete.com/projects/xdotool/

Dernière modification par arketip (Le 26/01/2008, à 13:51)

Hors ligne

#7 Le 26/01/2008, à 13:54

kaer

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

ssh c'est pour se connecter à  distance sur une autre machine en mode console et de maniére sécurisée (ça veux dire secure shell) donc je ne vois pas l'utilité ici.

Par contre Xautomation, ça a l'air d'être la réponse à  ce que tu demandes. Ceci dit en lisant ton premier post, je me suis dit : "il veut faire comme sous windows" alors que dans le monde Unix, les interfaces graphiques sont presque toujours une décoration autour d'un programme scriptable (bash, python, perl, ...).

Ceci dit, si c'est spécifiquement du web automation que tu veux faire, il y a une solution encore plus geek, légere et pour tout dire meilleure à  mon avis c'est de te passer d'un navigateur et de scripter la session.  Voir par exemple http://wwwsearch.sourceforge.net/mechanize/ si tu connais Python ... ou que tu veux l'apprendre ce que je ne peux que te conseiller ;-) (ou l'équivalent perl qui l'a inspiré : http://search.cpan.org/dist/WWW-Mechanize/)

Voilà .

Dernière modification par kaer (Le 26/01/2008, à 13:57)

Hors ligne

#8 Le 26/01/2008, à 15:47

arketip

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

kaer a écrit :

Par contre Xautomation, ça a l'air d'être la réponse à  ce que tu demandes.

Dans l'immédiat ça pourra faire ce dont j'ai besoin :-)


kaer a écrit :

Ceci dit en lisant ton premier post, je me suis dit : "il veut faire comme sous windows" alors que dans le monde Unix, les interfaces graphiques sont presque toujours une décoration autour d'un programme scriptable (bash, python, perl, ...).

Ca m'intéresse aussi. J'ignorais que tous les softs étaient fait pour être pilotés en console.
Ceci dit j'ai fait un bref passage sur firefox pour voir comment l'utiliser en console et je n'ai rien trouvé de très clair à  ce sujet. (bon j'ai pas insisté beaucoups car je suis tombé sur xautomation et xdotool) Le man firefox donne des infos très générale sur firefox.

Il faut aussi voir que si je dois faire un apprentissage spécifique pour chaque soft, la solution d'une automatisation globale reste intéressante surtout quand on n'a pas de temps à  investir là -dedans.

Par contre niveau programmation le python m'interresse bien.
Ce que j'aimerai savoir c'est si apprendre python me permettra de scripter pour tous les logiciels ou bien seulement ceux prévus pour python. Parce que si la réponse est négative, ça signifie qu'il me faudrait apprendre bash + python + perl et là  ça devient un tà¢che non négligeable.
Le tout c'est de savoir si je dois tout apprendre pour être efficace ou si je peux me contenter de l'un d'entre eux ? (par ex. python)


kaer a écrit :

Ceci dit, si c'est spécifiquement du web automation que tu veux faire, il y a une solution encore plus geek, légere et pour tout dire meilleure à  mon avis c'est de te passer d'un navigateur et de scripter la session.  Voir par exemple http://wwwsearch.sourceforge.net/mechanize/ si tu connais Python ... ou que tu veux l'apprendre ce que je ne peux que te conseiller ;-) (ou l'équivalent perl qui l'a inspiré : http://search.cpan.org/dist/WWW-Mechanize/)

Voilà .

Non c'était juste un exemple j'ai d'autres tà¢ches qui n'ont vraiment rien avoir avec le web.
Merci pour toutes les infos en tout cas.
Linux est vraiment un monde formidable et je le découvre chaque jour :-)

Hors ligne

#9 Le 26/01/2008, à 16:55

arketip

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

alors pour ceux qui veulent installer xdotool voici la manip:

1) extraire le fichier qu'on trouve ici:
http://www.semicomplete.com/projects/xdotool/

2) histoire de ne pas être ennuyé avec les droits, un petit:

sudo -s

3) puis

make xdotool

Chez moi il me donne une erreur: il ne trouve pas la librairie X11/Xlib.h.

4) J'ai donc du installer la librairie qui le contient:

apt-get install xorg-dev

Puis retaper la commande 3)


5) Après il faut copier l'executable (xdotool) dans /bin sinon la console ne va pas le trouver.

Pour tester essayer ceci:

xdotool mousemove 0 0

Hors ligne

#10 Le 26/05/2009, à 23:03

bobo38

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

bonjour je suis en train d'apprendre python et notamment l'automatisation de taches web ou assimilées m'intéresse bien. C'est ainsi que je suis tombé sur ce post.

pour le moment j'apprends doucement avec le livre "Programmer avec Python" des éditions O'Reilly, j'utilise IDLE. Je compte bien faire deux-trois essais dans les jours qui viennent

voila ma question :
comment accède-t-on à la doc de python-mechanize ? D'après ce que j'ai compris  c'est dans le package ?


Le contexte pour les curieux:

En gros je voudrais faire un bouton "WIFI ON/OFF" dans une petite fenêtre sur le bureau de mon PC fixe cablé en dur pour allumer et couper le wifi à la demande pour ma copine en pilotant la box par son interface web et ainsi sauver la planète, éviter le cancer des testicules et apprendre le python...

la bibliothèque "mechanize" semble bien adaptée à ça... j'ai essayé il y a qq mois en bash avec wget mais pas de suivi de session à chaque wget le matériel considère que c'est la première connexion, cela pose un problème pour l'identification. Mechanize semble être une sorte d'émulateur de browser automatisable ça me parait tout à fait adapté, un brin surdimenssionné pour l'application mais plein de promesses pour de futurs bricolages en intéraction avec la bibliotèque re pour chercher des expressions régulières !

Hors ligne

#11 Le 28/05/2009, à 00:15

bobo38

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

up

Hors ligne

#12 Le 23/09/2009, à 15:02

arketip

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

C'est sans doute un peu tard comme réponse ...
Pour ceux que ça interresse, oui mechanize est très bien adapté pour se connecter à des sites qui demandent un mot de passe et un login pour avoir accès.
C'est une sorte de navigateur sans fenêtre piloté par Python et on peut facilement récupérer le contenu HTML des pages après s'être connecté correctement.

installation:

sudo apt-get install python-mechanize

Voici un petit exemple:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import mechanize

def connect_with_mechanize(theURL):
	# open virtualBrowser
	virtualBrowser = mechanize.Browser()
	virtualBrowser.open(theURL)
	#virtualBrowser.set_handle_robots(False)
	virtualBrowser.select_form(None,None,0)
	virtualBrowser.form.set_value('yourloginhere', name='input_name_for_login')
	virtualBrowser.form.set_value('yourpasswordhere', name='input_name_for_password')
	virtualBrowser.submit()
	# read HTML, you can change the URL here
	print virtualBrowser.open(url=theURL).read()
	# close virtualBrowser
	virtualBrowser.close()
	# end
	return None

connect_with_mechanize('http://www.thewebsite.com/loginpage.asp')

Vous devez juste remplacer yourloginhere, yourpasswordhere par les votres
et input_name_for_login, input_name_for_password à trouver dans le formulaire HTML..

Dernière modification par arketip (Le 23/09/2009, à 15:03)

Hors ligne

#13 Le 23/09/2009, à 20:02

bobo38

Re : [resolu] logiciel pour piloter ubuntu en cas d'absence

merci pour l'info !
J'avais complètement zappé, mais ça me donne envie de m'y remettre !

Hors ligne