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
Mettre les données dans un fichier.txt
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.
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 :siffle

, 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 :
/**
* 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 !
Sephi-Chan
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

On peux pas tous être étudiant

non mais
