Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

HTA-Python : Gestionnaire de Tâches

11 réponses
Avatar
artyprog
Bonsoir la comunauté,

Je viens de mettre en ligne un adaptation en Python d'un exemple vbs sur
MSN. Python remplace avantageusement Javascript.
La page est rafrâichie périodiquement.
Et oui, on peut utiliser "window.setInterval("RefreshList()", 10000)"
dans une fonction Python.
"RefreshList()" est elle aussi une fonction Python.
J'ai rajouté au script la possibilité de tuer les processus, ainsi que
la visualisation de la commande qui a lancer le processus

Ce n'est pas XUL, mais presque ;-)

http://artyprog.blogspot.com/2007/07/ddd.html

Pour la bonne version de Python choisissez:
http://www.activestate.com/store/download.aspx?prdGUID=b08b04e0-6872-4d9d-a722-7a0c2dea2758

Cordialement

Salvatore

10 réponses

1 2
Avatar
Amaury Forgeot d'Arc
Bonsoir,

Bonsoir la comunauté,

Je viens de mettre en ligne un adaptation en Python d'un exemple vbs sur
MSN. Python remplace avantageusement Javascript.
La page est rafrâichie périodiquement.
Et oui, on peut utiliser "window.setInterval("RefreshList()", 10000)"
dans une fonction Python.
"RefreshList()" est elle aussi une fonction Python.
J'ai rajouté au script la possibilité de tuer les processus, ainsi que
la visualisation de la commande qui a lancer le processus

Ce n'est pas XUL, mais presque ;-)

http://artyprog.blogspot.com/2007/07/ddd.html

Pour la bonne version de Python choisissez:
http://www.activestate.com/store/download.aspx?prdGUID°8b04e0-6872-4d9d-a722-7a0c2dea2758



Mais si je comprends bien, il faut activer python comme langage de
script dans les pages HTML.
Ai-je intérêt à le faire? une page web qui importe win32com, elle peut
faire un peu n'importe quoi sur ma machine... et python n'a pas
d'environnement sécurisé.

Ou bien n'ai-je rien compris ? (c'est la fin de semaine...)

--
Amaury Forgeot d'Arc

Avatar
Salvatore
Amaury Forgeot d'Arc

Mais si je comprends bien, il faut activer python comme langage de
script dans les pages HTML.

Ou bien n'ai-je rien compris ? (c'est la fin de semaine...)


Je vais essayer de te faire partager mon engouement pour Python sur
Windows et les fichiers HTA


En fait lorsque Python est embarquée dans une page HTML, il fonctionne
en mode restreint
et en peut en aucun cas accéder au sytème de fichier, du moins pas à
ma connaissance.

Pour ce qui est des fichiers HTA, le seul point commun qu'ils
partagent avec les pages HTML
est le langage HTML lui-même (+ DHTML, CSS, javascript..)
A part cela, les fichiers HTA ne sont pas éxécuter par I.E mais part
un autre programme 'mshta.exe'.
Les fichiers HTA ne sont donc pas servis par un serveur WEB
Les applications HTA peuvent être considérés commes de véritables
applications Desktop, ni plus ni moins.
Tu peux dons les ditribuer comme n'importe quel programme.
Ils sont très souvent utiliser comme 'frontend' à des programmes en
ligne de commande.

J'espère avoir éte clair :-)

Cordialement

Salvatore

Avatar
Amaury Forgeot d'Arc
Amaury Forgeot d'Arc

Mais si je comprends bien, il faut activer python comme langage de
script dans les pages HTML.

Ou bien n'ai-je rien compris ? (c'est la fin de semaine...)


Je vais essayer de te faire partager mon engouement pour Python sur
Windows et les fichiers HTA


En fait lorsque Python est embarquée dans une page HTML, il fonctionne
en mode restreint
et en peut en aucun cas accéder au sytème de fichier, du moins pas à
ma connaissance.


Ce n'est pas sûr: python n'a aucun moyen de restreindre l'exécution d'un
script. Les tentatives de "rexec" ou "bastion" sont des échecs, et ont
été retirées.

Pour ce qui est des fichiers HTA, le seul point commun qu'ils
partagent avec les pages HTML
est le langage HTML lui-même (+ DHTML, CSS, javascript..)
A part cela, les fichiers HTA ne sont pas éxécuter par I.E mais part
un autre programme 'mshta.exe'.


Ah, c'est peut-être ça la réponse: mshta.exe crée et utilise sans doute
un profil de sécurité de Windows (SECURITY_ATTRIBUTES) assez restrictif.
La machine Python en hérite forcément.

Les fichiers HTA ne sont donc pas servis par un serveur WEB
Les applications HTA peuvent être considérés commes de véritables
applications Desktop, ni plus ni moins.
Tu peux dons les ditribuer comme n'importe quel programme.
Ils sont très souvent utiliser comme 'frontend' à des programmes en
ligne de commande.


Mais alors, quelle est la différence avec un simple .py ?


J'espère avoir éte clair :-)

Cordialement

Salvatore


--
Amaury


Avatar
artyprog
Mais alors, quelle est la différence avec un simple .py ?


Tout simplement de bénéficier d'une interface graphique simple à
utiliser et qui s'intègre parfaitement dans l'environnement Windows
contrairement à Tkinter.

Pour te donner un exemple, je travaille dans un service de messagerie
sous Exchange2003.
Quotidiennement, nous avons à interroger les serveurs pour connaître
la tailles des Groupes de SCtockage, boîtes aux lettres, espaces disque.
Modifier des attributs sur l'Annuaire est aussi une tache courante,
surveiller les processus...tu vois il y a de quoi faire

Développer de petites interfaces graphiques apporte un grand confort
aux utilisateurs plutôt que de lancer des programmes en ligne de
commande. Et en plus cela ne les change pas de leur navigateur.

(Recourir à wxPython ou Qt est disproprtionné pour ce type d'application.)

Pour te donner un autre exemple voici un frontend pour nmap:

http://seclists.org/nmap-dev/2006/q3/0040.html

Cordialement


Salvatore

Avatar
Méta-MCI \(MVP\)
Bonjour !

Je voudrais apporter quelques précisions :

- j'ai lu que HTA n'utilisait pas IE. Cela n'est pas (complètement) exact.
En fait, IE n'est pas un logiciel monobloc. Il est composé de nombreux
composants, modules et couches. HTA utilise, via mshta.exe, la plupart des
composants d'IE. Par exemple, le moteur de rendu graphique (HTML et Cie) est
le même. Le module de sécurité est le même ; ainsi que les modules de
connexion, de scripting, etc. D'ailleurs, en modifiant les paramètres dans
IE, cela impacte souvent les HTA.
- le module HTA (mshta.exe) utilise, pour la sécurité, la zone "Poste de
Travail", qui est cachée par défaut dans IE, mais qui existe bien.
- il est possible, en HTA, d'utiliser des composant COM, sans validation
obligatoire par un utilisateur (chose impossible avec IE, qui est trop
protégé sur ce point)
- la gestion d'une fenêtre HTA est gérée par mshta.exe et permet des
possibilités différentes des fenêtres IE. Cela passe par la déclaration du
tag <HTA:APPLICATION en début du document. Par exemple, on peut avoir des
fenêtres sans barre de titre, sans ligne d'état, sans bordure. De quoi faire
des Pidgets (Widgets en Python) facilement.
- de la même manière, on peut en faire des économiseurs d'écran, des
diaporamas plein écran, etc.
- l'accès aux fenêtres IE et HTA est interchangeable ; notamment par le
retour de window.open("","XXX... il est alors possible d'avoir des
références d'objets inter-fenêtres ; on peut même appeler les fonctions
d'une fenêtre, depuis l'autre
- contrairement à IE, HTA n'est pas un serveur COM. Il n'est pas pilotable
de l'extérieur. Cependant, il est possible d'utiliser une fenêtre IE,
invisible, comme pont (bridge) vers une fenêtre HTA ; j'ai développé ainsi
plusieurs outils, qui me permettent d'avoir un serveur COM Python
persistant.
- l'active-scripting permet de combiner des appels de fonctions Python /
Jscript / VBscript / Rubyscript, etc.

Malheureusement, je suis encore en vacances (juste un passage éclair à mon
bureau, pour payer la secrétaire...) ; donc pas de possibilité de donner
d'autres tuyaux avant quelques jours encore.

@-salutations

Michel Claveau
Avatar
William Dode
Slt,

Avec hta est-ce qu'il est possible de livrer un executable comme py2exe
oubien est-ce qu'il faut impérativement installer python ?

--
William Dodé - http://flibuste.net
Développeur informatique indépendant
Avatar
MC
Slt,


Slt ossi

Avec hta est-ce qu'il est possible de livrer un executable comme py2exe
oubien est-ce qu'il faut impérativement installer python ?


Pas d'exe. Il faut obligatoirement Python + obligatoirement PyWin32 +
le fichier .hta (qui est un fichier HTML + quelques tags)

Le plus simple, pour diffuser, c'est d'utiliser ActivePython, comme l'a
suggéré Salvatore. Ma raison, c'est que ActivePython contient une
installation silencieuse (juste une commande, et aucune question posée
à l'utilisateur).





--
@-salutations

Michel Claveau

Avatar
artyprog
Merci pour ces précision Michel :-)
Avatar
Salvatore
Merci pour ces précisions Michel :-)
Avatar
William Dode
On 28-07-2007, MC wrote:
Slt,


Slt ossi

Avec hta est-ce qu'il est possible de livrer un executable comme py2exe
oubien est-ce qu'il faut impérativement installer python ?


Pas d'exe. Il faut obligatoirement Python + obligatoirement PyWin32 +
le fichier .hta (qui est un fichier HTML + quelques tags)


Ha merci, dommage...


Le plus simple, pour diffuser, c'est d'utiliser ActivePython, comme l'a
suggéré Salvatore. Ma raison, c'est que ActivePython contient une
installation silencieuse (juste une commande, et aucune question posée
à l'utilisateur).



--
William Dodé - http://flibuste.net
Développeur informatique indépendant


1 2