JeuWeb - Crée ton jeu par navigateur
Recupérations de données - 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 : Recupérations de données (/showthread.php?tid=3151)



Recupérations de données - Klaad - 09-10-2008

Bonjour à tous.

Aujourd'hui je m'interroge sur ce point. Comment font les Toolbox pour avoir les données du jeu, par exemple Travian ?
Pour cela on doit se connecter à la base de donnée non ?
Si par exemple je veux afficher sur mon site perso le nombre de points que j'ai dans un jeu, comment dois-je faire ?

Merci à vous,

Klaad


RE: Recupérations de données - combo - 09-10-2008

Mettre les données dans un fichier.txt


RE: Recupérations de données - Anthor - 09-10-2008

Proposer des services annexes, comme une API par exemple qui peut te permettre de renvoyer des infos de ton jeu sur un format précis.
Jamais ne donne tes infos de connections à la base de données. Sauf si c'est une personne de confiance, que tu connais.


RE: Recupérations de données - Sephi-Chan - 09-10-2008

Deux approches possibles (il y en a probablement d'autres) :
  • Le site en question réalise un service Web qui te permet de piocher des informations (dans une BdD, un fichier texte (que ce soit du texte brut, du XML, du JSON, du YAML ou autre), etc.) à l'aide de son API.
  • Le site propose un fichier public, ouvert aux gens (en lecture), dans laquelle tu peux venir piocher avec un script.

La deuxième méthode est assez basique et simple à mettre en place. Elle a l'inconvénient d'être assez limitée. Elle ne peut pas gérer l'authentification (ou alors tu authentifie au niveau de HTTP, mais c'est peu pratique).

Par exemple, si le rapatriement des données du jeu est réservé aux joueurs qui payent (c'est juste un exemple ConfusediffleSmile, tu ne peux pas le faire avec un simple fichier public.

Un Webservice est plus classe, dans le sens où dans le code source de ton site, tu utilises une classe. Ça pourrait ressembler à ça :

Code PHP :
<?php 
/**
* Connexion au service Web du jeu.
*/
$soap = new SoapClient('http://www.monjeu.com/soap_api.wsdl');

try {

$soap->login(
'monLogin',
'monPassword'
);

}
catch(
SoapFault $fault){}

/**
* Récupération des informations de mon personnage.
*/
try {

/**
* Les développeurs du jeu ont fait une méthode getCharacterInformations().
* Elle prend comme arguments :
*
* - Un tableau contenant les informations que je veux ;
* - Un tableau optionnel contenant le nom des personnages (associés à mon
* compte) dont je veux avoir les informations. Par défaut, les données
* de tous les personnages de mon compte sont envoyés.
*
* La méthode renvoie un tableau d'objets Personnage.
*/
$result = $soap->getCharacterInformations(
array(
'profil',
'equipment',
'guild'
),
array(
'Bob')
);

/**
* Maintenant je fais ce que je veux avec ce tableau. :)
*/
}
catch(
SoapFault $fault){}

/**
* On se déconnecte du service.
*/
try {
$soap->logout();
}
catch(
SoapFault $fault){}


En guise de lien complémentaire, je renvoie vers l'excellent SOAPI d'OVH. Il contient des tas de services SOAP et leur fichier WSDL. Très instructif ! Smile


Sephi-Chan


RE: Recupérations de données - Klaad - 09-10-2008

Merci beaucoup pour vos réponses, ça m'est très utile.

Donc si j'ai bien compris, il faut que le jeu en question propose de lui-même des fichiers pour "externiser" les données ?

Merci aussi à Sephi-chan qui prend toujours le temps de donner des scripts bien précis Wink


RE: Recupérations de données - Anthor - 09-10-2008

On peux pas tous être étudiant :p non mais ^^


RE: Recupérations de données - Klaad - 09-10-2008

^^ effectivement


RE: Recupérations de données - thelos - 09-10-2008

Ça devrait t'éclairer : http://help.travian.fr/index.php?type=faq&mod=230