JeuWeb - Crée ton jeu par navigateur
Programme surveillant son perso - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Programme surveillant son perso (/showthread.php?tid=4354)

Pages : 1 2


Programme surveillant son perso - Kassak - 15-09-2009

Bonjoir !

J'ai dans l'idée de développer un programme que le joueur pourra télécharger permettant de surveiller son perso depuis sont ordi, sans se connecter (je pense que vous voyez de quoi je veux parler)

Je voudrais des renseignements sur comment faire ce logiciel (en C++?), mais surtout comment le faire se connecter à notre BDD et récupérer les infos.

Si vous pouviez m'éclaircir, ou si vous avez de la doc.

Merci.


RE: Programme surveillant son perso - Sephi-Chan - 15-09-2009

Pour faire un bot, il te suffit d'un client HTTP. La grand majorité des langages possèdent des librairies basées sur CURL qui te permettent de faire ça. Tu peux donc faire ton bot en PHP (ou en Ruby :p). Et si tu ne souhaites pas utiliser CURL (ce qui n'aurait pas beaucoup de sens), tu peux utiliser Telnet pour faire un CURL à ta sauce, mais tu risques de vraiment te faire chier.

Toutefois, une difficulté persiste : comment ton bot va-t-il se connecter au site distant comme s'il s'agissait d'un utilisateur ? Je ne connais aucun jeu qui propose l'identification via HTTP Basic (ou même HTTP Digest)…


Sephi-Chan


RE: Programme surveillant son perso - nicodd - 15-09-2009

Une piste à creuser est peut-être celle d'une extension firefox, comme celles qui permettent de voir ses actus facebook, ou de gérer ses ventes sur ebay.

Je sais pas trop comment ca se passe concrètement, mais le code doit être accessible, et visiblement ils ont le moyen de se connecter de manière sécurisée.


RE: Programme surveillant son perso - Sephi-Chan - 16-09-2009

Parce que Facebook et Ebay proposent des API qui le permettent.

Si un site implémente les authentifications par HTTP Basic, il est possible de te connecter ponctuellement, le temps d'une requête en faisant http://login:password@site.com/. À la base, c'est ça le protocole HTTP : un protocole sans état.
Le problème, c'est qu'en ajoutant les sessions, on perd ce côté sans état (puisque les sessions sont une forme d'état).

Grâce aux architecture RESTful, on revient un peu aux sources, c'est ce qu'utilisent (ça ou Soap, qui vieillit) justement les services tendance avec leurs API pour développeurs : Facebook, Amazon, Twitter, etc.


Sephi-Chan


RE: Programme surveillant son perso - QuentinC - 16-09-2009

Je ne ferais personnellement pas un programme qui se connecte direct à la BDD. Un coup de sniff et hop, je suppose qu'on a le mot de passe en clair facilement.
Il faut créer un script d'interfaçage en php... c'est plus sûr. Si c'est le mot de passe du perso de l'utilisateur qui circule en clair, c'est son problème.


RE: Programme surveillant son perso - Sephi-Chan - 16-09-2009

Hm, rien à voir avec la base de données !? :o D'autant que ça n'est pas possible : il n'a sûrement pas les accès à la base de données Ogame, s'il souhaite que son bot surveille un compte Ogame. :p Il devra trouver un moyen de se connecter à son compte, puis de faire parcourir des pages à son robot, les analyser (avec un parser XML) pour en retirer ce qu'il souhaite.


Sephi-Chan


RE: Programme surveillant son perso - Ekilio - 16-09-2009

Personnellement pour ça je conseillerais vivement de créer une appli SOAP, PHP par exemple dispose d'un certain nombre de fonction pour gérer ça coté serveur, et coté client tous les langages ou presque peuvent l'implémenter (ou presque parce que je crois qu'il n'y a rien en brainfuck pour :p)

Un petit lien wikipédia : http://fr.wikipedia.org/wiki/SOAP

Maintenant, en quoi ça consiste ? C'est simple. En gros, on défini (coté serveur) un certain nombre de méthodes qui seront accessibles par le client, via un fichier xml dédié. De cette manière, le client en question peut executer des requêtes et recevoir des résultats, exactements comme si il était connecté.

Au passage, c'est comme ça que fonctionnent les API de google, facebook, ebay, amazon... ce sont tous des webservices, qui se basent sur cette technologie.

C'est relativement simple, et au besoin, il me semble que le dernier php magazine a un article dédié à cette technologie.


RE: Programme surveillant son perso - Foxglove - 16-09-2009

Pourquoi ne pas faire un bot qui utilise des méthodes d'autentification plus avancées que http://login:password@url ? Le bot que tu développes pourrait s'autentifier au moyen de requêtes POST, ou en HTTPS (selon le jeu). Pour le HTTPS je suppose qu'il y a des librairies, pour le POST ça se fait pas trop difficilement (dans un langage adapté).

Il peut y avoir un problème lié aux défis posés à l'autentification (exemple : veuillez taper le mot situé sur l'image suivante). On pourrait imaginer que l'autentification est manuelle (par l'intermédiaire du programme du bot quand même), et ensuite le bot maintient simplement la connexion.

Pour le langage de développement, étant donné que HTTP est un protocole (majoritairement) textuel, je te conseillerais un langage qui manipule facilement des chaînes de caractères. Perl par exemple Smile (Beaucoup d'avis vont diverger probablement, mais Perl n'est pas assez mentionné à mon goût :p). Il y a des librairies pour gérer les contenus HTTP zippés, mais au pire, tu peux toujours dire que ton bot ne gère pas les contenus zippés.

J'espère que ça t'aide, mais j'ai aussi peur de répondre un peu à côté de la plaque. Pourrais-tu préciser ton problème si c'est le cas (et peut-être donner un exemple de jeu, et de fonctionnalités que tu voudrais que ton bot fasse) ?


RE: Programme surveillant son perso - Sephi-Chan - 16-09-2009

Pour avoir implémenté des web services Soap et REST, je conseille REST. Soap n'a aucun intérêt par rapport à REST : il est largement plus compliqué à mettre en place et n'utilise pas les avantages du protocole HTTP.

Sinon, comme dit plus haut, la librairie cURL, qui est disponible pour tous les langages, est largement suffisante : il gère les méthodes GET, POST, PUT, DELETE et HEAD, il gère HTTPS (et pas mal d'autres). Le seul point d'ombre étant l'utilisation des sessions (mais d'après de rapides recherches, c'est possible à faire).


Sephi-Chan


RE: Programme surveillant son perso - NicoMSEvent - 17-09-2009

pourquoi n'explorerais-tu pas les flux RSS?
genre : http://monjeux.net/flux_rss.xml.php?login=xxxx&pass=yyyy