[..] Principes de base pour un ignorant

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
YoShiMuRa
Niveau 1
Niveau 1
Messages : 5
Enregistré le : sam. 15 nov. 2008 10:32
Status : Hors ligne

[..] Principes de base pour un ignorant

#1

Message par YoShiMuRa »

Bonjour à tous !

Je souhaite maitriser correctement autoit car j'y trouverais beaucoup d'applications dans mon travail, je programme des automates industriels, certains situés dans d'autres pays et accessibles via une supervision en flash.

J'ai consulter vos petits tuto mais malheureusement je n'y comprend pas grand chose, en fait, je ne sais pas comment organiser le script, par où commencer ect ...

Je vais vous expliquer les grandes lignes du script que j'aimerais réaliser afin de me familiariser avec autoit :

Le script devra récupéré des informations depuis des pages web sur mozilla, la première GUI devra donc pouvoir enregistrer un ou plusieurs profils utilisateurs afin de pouvoir accéder à ces pages web (sécurisées) mais aussi compléter les options d'une toolbar firefox qui me sert à récupérer des informations automate et à les stocker sur mon serveur (la toolbar discute de manière autonome avec le serveur un fois les login rentrés)

Une fois le profil sélectionner, le script basculera sur une GUI principale composé d'onglet, son but sera de traité les données récupérées (en les recoupant et en effectuant certains calculs simples) et de les présenter différemment, une synthèse qui sera beaucoup plus lisible que les pages d'origine.

Le but de tout ceci est de pouvoir travailler plus rapidement grâce à une vue claire et synthétique du process à visualiser et la possibilité d'agir directement dessus

Je ne vous demande pas les détails du script, seulement je ne sais pas comment l'organiser et par ou commencer, je n'aimerais pas être bloqué dans l'avancement du programme à cause d'une mauvaise organisation...

Pour programmer un automate industriel (API), je défini en 1er les entrées/sorties, puis réalise le programme par section, en récupérant la synthèse de chaque section grâce à des bits interne. l'interface utilisateur est réalisée une fois le programme fini et en fonctionnement.

voici donc quelques questions d'ordre général :

- Par ou commencer dans mon script ? GUI, variables, récupération des données ou profils utilisateurs...

- Sachant que le programme doit être mobile (compilé en .exe) et que firefox doit être équipé de ma toolbar, est-il possible d'y intégré firefox portable avec la configuration requise ?

- Ce dernier devra être visible, ce qui fait donc 2 fenêtres : firefox + mon script. cela risque t'il de poser problème ? il existe peut être une solution plus pratique

Merci à tous de vos réponses, désolé d'avance si j'ai posé des questions stupides ^^

PS : le temps que cette application me ferais gagner est tout simplement colossal, ma motivation l'est tout autant :)
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Principes de base pour un ignorant

#2

Message par jbnh »

Je déplace le sujet dans Demande de création de Scripts.

Bon, pour récup des infos d'internet il te faut travailler avec l'udf ie.au3 qui est dans ton dossier include dans le dossier autoit.

Avec la fonction _IEBodyReadHTM:

Code : Tout sélectionner

$url = "http://google.com"
$object_IE = _iecreate($url,0,0,1)
$oBody = _IEBodyReadHTML($object_IE)
ici, $oBody, aura le code compri entre la balise <body> et </body> de google.com

Ensuite tu peux récupérer les informations que tu souhaites (dans $obody) grace à des fonctions genre Stringleft, StringBetween, etc.

Les informations une fois récupérées peuvent être stockée pour des raison de pratique dans un fichier ini (lire la doc concernant les fichiers ini)

Une fois que le coté internet est terminé, crée ta gui (lire doc sur les GUI) avec les infos récupérées dans le fichier INI.

Voila pour le début. Bonne chance, et hésite pas a demander quand ca coince (quand ca coince vraiment ;))
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
YoShiMuRa
Niveau 1
Niveau 1
Messages : 5
Enregistré le : sam. 15 nov. 2008 10:32
Status : Hors ligne

Re: [..] Principes de base pour un ignorant

#3

Message par YoShiMuRa »

Merci de ta réponse mais tu surestime mes connaissances XD

Pour l'udf, je crois en avoir compris les principes, mais le fait qu'il y ai marqué IE soulève en moi cette interrogation : cela fonctionne t-il avec firefox ?
Avec la fonction _IEBodyReadHTM:
Je n'ai pas réussi à trouver d'explication sur cette fonction, aurais-je mal cherché ?
Code:
$url = "http://google.com"
$object_IE = _iecreate($url,0,0,1)
$oBody = _IEBodyReadHTML($object_IE)
D'après ce que je comprend, $url est une variable, mais comment autoit va t'il se connecter à cette page ? Est-il capable de récupérer la page sans passer par firefox ou IE ?

Pour se connecter, je vais devoir enregistrer les informations de login, donc impossible de récupérer les infos pour créer la GUI...
Je dois donc utiliser une inputbox qui précèdera, dans la séquence d'affichage, la GUI principale ?

Le script est apparement organisé en sections ou régions :
#Region
#EndRegion

je n'ai jamais vu ça sous mirc, le code est beaucoup plus basique et déstructuré (probablement le reflet de mes pensées ^^)

Désolé de poser des questions dont la réponse vous semble évidente, je n'ai trouvé aucune aide compréhensible pour le néophyte que je suis, j'aimerais vraiment connaitre les bases, les principes fondamentaux de la programmation sous autoit, les détails ont l'air d'être très bien expliqué pour quelqu'un qui a déjà quelques bases...

Merci de votre patience
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Principes de base pour un ignorant

#4

Message par jbnh »

Enfait l'udf ie.au3 comprend quelques lignes d'explications pour chaque fonction. Ie.au3 marche avec ie et non avec firefox mais ce qui n'est pas grave dans le cas présent.

Code : Tout sélectionner

_iecreate($url,0,[b]0[/b],1)
Le second 0 signifie: Browser Window is hidden

Donc le contenu de la page sera récupérée invisiblement.

Mais apres avoir relu ton post j'ai pas réellement l'impression que ca répond à tes besoins. Tu veux que de part une gui on se connecte a un compte internet. Et apres pouvoir y récupérer des infos?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
YoShiMuRa
Niveau 1
Niveau 1
Messages : 5
Enregistré le : sam. 15 nov. 2008 10:32
Status : Hors ligne

Re: [..] Principes de base pour un ignorant

#5

Message par YoShiMuRa »

Merci ! En parcourant l'udf j'ai appris quelques astuces sur les fonctions :)

Pour être tout à fait clair, voici le fonctionnement du process à l'heure actuelle :

- Les API (automates programmables industriels) sont connectés sur internet, ils sont accessibles grâce à un login + MDP
- Je m'y connecte donc via firefox et peut visualiser/modifier le programme qu'il contient.
- Pourquoi Firefox ? car il est équipé d'une toolbar qui renvoi les informations contenues dans ces pages sur mon serveur, cela permet de créer des statistiques et informations système accessibles au client.

Utilité du script AutoIt :

- Il devra me permettre de visualiser/modifier le programme de manière beaucoup plus simple et clair, en effet, les pages contenues dans l'API ne sont que des tableaux peu lisibles, la modification du programme comporte 5% de réflexion, le reste n'étant que recopie et autres taches rébarbatives, longues et sources d'erreurs ...
- Il doit aussi envoyer les informations sur mon serveur, je ne suis pas sûr qu'AutoIt puisse le faire et, dans le cas contraire, que le codage de cette fonction soit à ma portée.

J'espère ne pas avoir été trop confus, je suis conscient de ne pas avoir les compétences nécessaires à la réalisation d'un tel script. Cependant, je suis sûr qu'avec de la patience et l'aide de personnes compétentes j'arriverais à le mener à bien.

PS : étant donné que je part du point 0 en scripting, je serais ravis de synthétiser tout ce que je vais apprendre ici sous la forme d'un gros tutoriel pour débutant (qui me servira aussi d'aide mémoire ^^).
Répondre