[Ex] Surveillance de réponse sur le forum

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#41

Message par matwachich »

D'ou l'intérêt justement de faire des scripts SUPER BIEN organiser:
séparer les fonctions: GUI, Récupération de données, Traitement de données, affichage
De préférence dans des fichiers séparés!
Ca aurait été plus facile d'ajouter des fonctionnalités.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#42

Message par mikell »

matwachich a écrit :séparer les fonctions: GUI, Récupération de données, Traitement de données, affichage
Tu as jeté un oeil au script ? c'est exactement comme ça qu'il est construit !
Avec renvoi dans des arrays des infos collectées par les fonctions, ce qui donne beaucoup de souplesse
Ajouter des fonctionnalités, je fais que ça depuis un moment, sans problème :mrgreen:
Mais là on parle de traiter une page dont la structure peut être différente des autres donc je dois vérifier la compatibilité avec les fonctions de récupération d'infos ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#43

Message par TT22 »

@mikell :
Ça te va ça ?
► Afficher le texte
La fonction _Check($Time) retourne un array[2] avec pour 0 le nom sujet et pour 1 l'auteur.
$Time dit à quel intervalle il faut ré-actualiser les données (en milli-secondes).
Cordialement,
TT22
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#44

Message par matwachich »

C'est vrai que j'ai pas étudier le script (d'autres chats à fouetter! :P ), j'ai juste vu qu'il avait besoin d'un bon Ctrl+T :P :D
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#45

Message par mikell »

@TT22
Merci mais ça j'avais déjà :wink:
► Afficher le texte
Mon problème, c'est pas tant la récupération des données que l'intégration dans le reste du script

@matwachich
Si le seul souci avec mon script c'est d'y faire un Ctrl+T, on peut considérer que ça va :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
XenaMelody
Niveau 4
Niveau 4
Messages : 67
Enregistré le : mar. 25 oct. 2011 00:45
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#46

Message par XenaMelody »

Very nice :o
XenaMelody
L'esprit sert à tout, mais il ne mène à rien.
Talleyrand
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#47

Message par ZDS »

Bonjour,

Juste une petite amélioration possible de code en passant (c'est vraiment pas grand chose) :

Code : Tout sélectionner

Func singleton($nom)
    Local $security = 0
    Local $handle = DllCall("kernel32.dll", "int", "CreateMutex", "ptr", $security, "long", 1, "str", $nom)
    Local $error = DllCall("kernel32.dll", "int", "GetLastError")
    Return $error[0] <> 183
EndFunc
Et bien sûr, la ligne "If Not singleton($id) Then" qui va avec. Ça peut toujours être utile ^^

Sinon, merci pour ce script, très utile :)

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#48

Message par mikell »

Merci, mais tu ne dois pas avoir la dernière version du script où (avec la correction de qqes discrets petits bugs) j'utilise la fctn _Singleton de l'UDF d'autoit Image
Toutefois je crois bien que je vais changer pour la tienne (plus légère)

A propos de bugs, si tu vois des dysfonctionnements ou autres curiosités merci de me le faire savoir :wink:
ZDS a écrit :Sinon, merci pour ce script, très utile :)
Comme quoi réinventer la roue peut donner des résultats sympa, parfois :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#49

Message par Tlem »

Bonsoir.
La version de la fonction _Singleton fournie par ZDS est certes plus légère, mais si mes souvenirs sont justes, elle ne prendra pas en compte l'utilisation par un utilisateur avec droits limités. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#50

Message par ZDS »

Bonsoir,

Les craintes de Tlem sont compréhensibles, mais dans ce cas, la fonction _Singleton d'origine ne le gérera pas non plus. La version allégée que j'ai proposé est une version où le flag serait fixé à 1. L'utilité du flag à 0 est discutable, car terminer un script avec un Exit en plein milieu d'un code est à mon sens une dégueulasserie sans nom ^^ et n'a pas la finesse d'un traitement au cas par cas, comme un message de confirmation "attention, script déjà en cours. voulez-vous tout de même le relancer?" Le flag à 2 permet quand à lui de créer un mutex de type Local/Global; Utile dans le cadre des multi-sessions, mais rien à voir avec les droits ou le statut des utilisateurs.

Bref, la seule chose que ne fait pas ce bout de code, c'est le partage du sémaphore entre les sessions en cours. Ce qui reste pour moi un avantage : X n'a pas à savoir que j'ai lancé un mutex "tartampion" sur ma session que j'ai verrouillée en partant. Au pire, une fonction "singletonMulti()" d'une demi douzaine de lignes fera aussi bien l'affaire.

EDIT @Tlem : Par dégeulasserie, je parle de faire un Exit en plein milieu du code, comme peut le faire _Singleton avec le flag 0. Surtout que la plupart des gens n'utilisent pas de fonction "OnAutoItExitRegister" pour nettoyer les choses avant de quitter (Parfois ce n'est pas possible car les variables sont locales, donc non accessibles par la fonction OnAutoItExitRegister). Pour l'exemple,

Code : Tout sélectionner

While True
   Local $msg = GUIGetMsg()
   If $msg = $quitter Then Exit
WEnd
est pour moi à proscrire. Une alternative propre, même si dans ce cas ce n'est pas probant, serait plutôt

Code : Tout sélectionner

Local $stop = False
While Not $stop
   Local $msg = GUIGetMsg()
   If $msg = $quitter Then $stop = True
WEnd
Exit
Au moins, si il y a un traitement à faire avant de quitter, il n'est pas cloisonné dans le traitement des messages. Je sais que ce n'est que de l'algo et que ça ne modifie en rien les performances du script, mais comme on en avait déjà parlé lors des tutos sur la récursivité (http://www.autoitscript.fr/forum/viewto ... 073#p33073), je pense indispensable d'adopter de bonnes pratiques de programmation.

EDIT2 @Tlem et Iste: Ce débat n'a pas vraiment sa place ici. A chacun sa façon de coder, il n’empêche pour ma part que je trouve immonde de faire un Exit en plein milieu d'une exécution. J'ai parfois l'impression, en vous entendant, que vous aimeriez revenir à des Lbl et Goto. Et ça me fait peur. La fonction que je propose n'a pas pour vocation d'être plus performante. Juste d'éviter d'embarquer un autoradio MP3 si on a pas d'enceinte.
PS: Franchement, vous l'utilisez beaucoup, vous le flag à 2 sur le _Singleton?
Modifié en dernier par ZDS le mer. 08 févr. 2012 18:05, modifié 2 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#51

Message par matwachich »

Bug:
J'ai voulu relancer le script et:
Subscript used with non-Array variable en ligne 494, sur le array $ini_items

Je pense que c'est parce que il ne trouve pas le ini, il faudrait gérer ça!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#52

Message par Tlem »

Attention, _Singleton() à pour vocation d'empêcher plusieurs instances d'un même programme. Donc peut importe la notion de session, le but précis de cette fonction est bien de limiter le fonctionnement d'un programme à une seule et unique instance, peut importe l'utilisateur en cours.

Imaginez votre programme lancé en mode service qui fait une action bien particulière et une deuxième qui détruit tout ce que fait la première ... :roll:

Donc non, ce n'est pas "une dégueulasserie sans nom" que de stopper un script au début de son lancement afin d'éviter qu'il ne soit lancé plus d'une fois et vienne mettre le bordel dans ce que fait le premier.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#53

Message par mikell »

Ce pb de ini est en principe réglé dans la dernière version
Corrigé aussi, un gros bug sur les liens quand il y a plusieurs notifications affichées en même temps
Ajouté un bouton pour surveiller tous les forums (par analyse de la page d'accueil) : au début c'était pour le challenge de TT22 mais c'est vrai que le résultat est assez fun Image
Ton UDF Thread est balèze, j'attends ce WE pour regarder ça et essayer de comprendre :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#54

Message par matwachich »

Au fait, rien à voir avec le script mais plutôt la présentation:
- Ca t’ennuierai de joindre le script plutôt que de le mettre en

Code : Tout sélectionner

, un peut chia*t de tout sélectionner pour Copier/Coller!  :P  :lol:
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#55

Message par mikell »

Bah je pensais que les gens pourraient avoir envie de juste jeter un coup d'oeil au script sans forcément le télécharger...
Mais bon je le mets en pièce jointe pour les flemmards :P
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Cognac !!!
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#56

Message par TopXm »

Hello :)
En effet sympa l'outil, je suis en train d'en confectionner un multi-forum PhpBB pour mes besoins perso. Je t'emprunte quelques idées intéressantes si tu le permets :)

Par contre, si j'ai bien compris la méthode, tu me confirmes bien que seuls les sujets de la 1ere page du "sous-forum" sont suivis, c'est bien ça ?
Bon en même temps, suivre un sujet qui date de mathusalem n'a pas trop d'intérêt, juste qu'à la longue certains sujets seront "suivis" donc dans le fichier ini alors qu'il sont vieux comme "mes robes", du coup niveau surveillance ça va faire des requests inutiles, non ? :roll:

Ah si, juste un petit truc de chipoteur :) quitte à récupérer l'icône du site pourquoi ne pas l'ajouter à la GUI ;)

M'enfin quoiqu'il en soit, fort sympathique le script :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#57

Message par mikell »

TopXm a écrit :Je t'emprunte quelques idées intéressantes si tu le permets :)
Pas de problème, c'est là pour ça :wink:
TopXm a écrit : Par contre, si j'ai bien compris la méthode, tu me confirmes bien que seuls les sujets de la 1ere page du "sous-forum" sont suivis, c'est bien ça ? oui
à la longue certains sujets seront "suivis" donc dans le fichier ini alors qu'il sont vieux comme "mes robes", du coup niveau surveillance ça va faire des requests inutiles, non ?
En fait le script "lit" la page mais ne traite réellement que les sujets prédéfinis dans la liste. Si on suit plusieurs sujets de la même page, la page n'est chargée qu'une fois, c'est le traitement par le script qui sera plus long
Pour la surveillance générale, l'astuce c'est de ne surveiller que la date de la réponse la plus récente (le premier item de l'array des sujets), si cette date change (et ça même si le titre du sujet change) il y aura une alerte. Dans ce cas si un sujet vieux de 6 mois est répondu, comme ça le fait passer automatiquement en tête de forum (date de modif la plus récente) il est donc détecté par le script (titre, lien etc) et va être notifié et affiché ^^
Effectivement ton constat est correct, mon but principal a été de pouvoir obtenir le maximum d'alertes avec le minimum de requêtes
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#58

Message par Iste »

@ZDS : N'oubliez pas que nous somme en AutoIt, aussi vouloir respecter les bonnes pratique de programmation a la lettre, en plus d'etre pas toujours possible, et un peu idiot.
Étant un langage simple et procédural, ce genre de pratiques ont au contraire tendance a rendre le code plus claire !

@mikell : En effet, sa fonction est plus légère, mais es-ce vraiment pertinent de chercher des perf sur un bout de code qui ne s’exécute qu'une foi au lancement, en quelque ms ?

Pour le singleton, je rejoins Tlem, si celle présente dans les UDF de bases est écrite ainsi, c'est pas sans raison.

re @mikell : Quand je veux jeter un coup d’œil a un petit script, oui c'est mieux d'avoir le code sur le fofo, mais pour un aussi gros script, même si bien rangé, c'est quand même plus sympa de dl le .au3 et de l'ouvrir en fichier temps dans scite !

Bref sinon, histoire de dire des trucs un peu plus constructifs, je vous recommande de changer le bout de code qui vérifie l'état de la connexion, car je me retrouve une foi sur deux avec un joli "Pas de connexion internet"
Deja, en soit la boucle est inutile car totalement ignorée au final, ensuite je ne voi pas l'utilité du sleep(100) juste apres, et enfin enfin, je sais que google est une valeur sur, mais il serait plus judicieux de tester la connexion avec le forum que l'on souhaite surveiller !
En effet, il peut être en local ou google peut ne pas répondre, dans tout les cas, on veut juste savoir si on peut communiquer avec lui.
Mais comme un ping n'est pas une valeur sur, il vaudrait surement mieux simplement gérer une exception en cas d’échec de dl de la page.

Bref, c'est qu'un détail, mais j'aimerai vraiment savoir si celle boucle + sleep(100) est utile ^^'
Signez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#59

Message par mikell »

Iste a écrit : je vous recommande de changer le bout de code qui vérifie l'état de la connexion, car je me retrouve une foi sur deux avec un joli "Pas de connexion internet"
... il serait plus judicieux de tester la connexion avec le forum que l'on souhaite surveiller !
En effet, il peut être en local ou google peut ne pas répondre, dans tout les cas, on veut juste savoir si on peut communiquer avec lui.
Mais comme un ping n'est pas une valeur sur, il vaudrait surement mieux simplement gérer une exception en cas d’échec de dl de la page.
Effectivement, le Sleep(100) ne sert à rien...
En fait (comme la boucle) c'est un résidu qui date de l'époque où je me disais que le mieux était de faire un ping sur autoitscript.fr, où je m'acharnais, mais où j'y ai finalement renoncé parce que j'en avais marre des réponses "Host is offline" :P essayez et vous apprécierez...
Pour votre connexion c'est étrange parce que matwachich qui m'a férocement traqué les bugs et qui a une connexion de 512 Ko ne m'a jamais évoqué ce problème
Gérer un échec de dl de la page, ça je le fais en cours de surveillance mais pour un test au lancement du script, je vois pas l'intérêt
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Surveillance de réponse sur le forum

#60

Message par matwachich »

ça me l'a fait une seul fois, le pas de connexion.
Mais aussi, ces jours-ci, avec la neige et les intempéries (dont on a pas l'habitude!) la connexion est plutôt merdique.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Répondre