[TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Comment faire ceci ou cela ? c'est parce ici qu'on en parle.

Modérateurs : Undo14, Ecole

Avatar du membre
Gilux
Messages : 747
Enregistré le : 30 oct. 2011, 13:35
Profil IG : 5265222

[TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Gilux » 20 janv. 2012, 17:31

Salut,
Voici un tuto qui va vous apprendre les bases pour développer vos applications en rapport avec eRepublik.
Il vous faut déjà connaître les bases du PHP, en particulier les arrays pour suivre le tuto.

Piqure de rappel si besoin : http://www.siteduzero.com/tutoriel-3-14 ... mysql.html


Pour commencer, nous allons avoir besoin d'une API (fournie par eRep) qui va nous permettre de faire le lien entre le langage XML ou JSON utilisé pour le stockage de vos données et PHP.

Tout d'abord, voici le lien de la doc de l'API : http://api.erepublik.com/eapi-docs.pdf

Nous allons commencer par extraire les informations sur un joueur pour les afficher sur une page. Dans ce tuto, nous utiliserons JSON, mais sachez qu'il existe aussi XML si vous préférez.
Le lien vers les infos d'un joueur se présente comme ceci : http://api.erepublik.com/v2/feeds/citizen_by_name/format/pseudo

Vous remplacerez format par json ou xml, et pseudo par le pseudo en jeu de la personne dont vous souhaitez récupérer le profil.

Exemple :
http://api.erepublik.com/v2/feeds/citiz ... json/Gilux
http://api.erepublik.com/v2/feeds/citiz ... /xml/Gilux
Les données sont structurées différemment selon le format.

Étape 1 : On récupère le contenu du fichier
Facile :lol:
Il suffit d'utiliser la fonction fopen avec comme paramètre l'URL de votre page de profil :

Code : Tout sélectionner

$file = fopen('http://api.erepublik.com/v2/feeds/citizen_by_name/json/Gilux','r'); // Lecture seule
$json = fgets($file); // On récupère le contenu de la seule ligne du fichier
fclose($file); // Et on ferme


Les infos compressées sont dans votre variable $json.

Étape 2 : On décompresse tout ça...
On va utiliser la fonction json_decode (Il faut une version récente de PHP, à partir de la 5.2.1) pour décoder cette ligne.

Code : Tout sélectionner

$data = json_decode($json,true);

Tout ce qui était contenu dans la ligne est maintenant décodé et soigneusement classé dans un array nommé $data.

Étape 3 : Et on affiche !
Je vous conseille dans un premier temps d'utiliser un var_dump avec l'array $data, ce qui va donner ça :

Image

Les infos sont maintenant hiérarchisées, ce qui va nous faciliter la tâche pour repérer les index des variables intéressantes.

Par exemple, le nom du parti ('name') est situé dans l'array party : Pour y accéder, il faudra afficher $data['party']['name'];
De même, les points de force, c'est ici : $data['military_skills']['0']['points'];
Enfin, les points d'expérience : $data['experience_points'];


Voilà, c'est la base pour récupérer des informations sur un joueur. Vous pouvez ensuite les utiliser sur vos sites, ou bien utiliser une librairie pour exploiter ces données (Graphiques...), ou encore utiliser la librairie GD de PHP pour faire des images dynamiques ;)

Il est possible d'obtenir des infos d'une région, d'un pays, d'une usine, le marché monétaire... Tout cela est décrit dans l'API, et n'hésitez pas à me demander si vous avez besoin d'une précision.
Juste une dernière chose : Le type n'est demandé dans l'URL que pour les joueurs. Si vous avez besoin d'utiliser JSON pour d'autres données, il faut juste ajouter .json à la fin de l'URL.
Exemple : http://api.erepublik.com/v2/feeds/compa ... 55356.json
http://api.erepublik.com/v2/feeds/companies/2955356.xml


Voilà, j'espère que ça vous aura aidé un peu, bon courage ;)
ImageImageImageImageImage
Image
Image

Avatar du membre
Gilux
Messages : 747
Enregistré le : 30 oct. 2011, 13:35
Profil IG : 5265222

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Gilux » 07 avr. 2012, 10:16

J'avais oublié ce tuto, il n'est plus utile maintenant car l'API n'a pas été mise à jour avec les changements du module éco il y a deux mois.
ImageImageImageImageImage
Image
Image

Avatar du membre
Tifididl
Messages : 3093
Enregistré le : 30 nov. 2009, 17:35
Profil IG : 1762545
Localisation : entre deux blondes(Lyon)

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Tifididl » 07 avr. 2012, 10:23

Gilux a écrit :J'avais oublié ce tuto, il n'est plus utile maintenant car l'API n'a pas été mise à jour avec les changements du module éco il y a deux mois.


Un jour peut être
Image

Avatar du membre
Stamkoze
Messages : 2601
Enregistré le : 29 mars 2012, 20:45
Profil IG : 1851580
Localisation : Somewhere in Canada

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Stamkoze » 08 avr. 2012, 04:30

L'API ne fonctionne plus du tout malheureusement.
Image

JamBono
Messages : 607
Enregistré le : 10 août 2010, 18:37
Profil IG : 2401202

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar JamBono » 08 avr. 2012, 19:47

Stamkoze a écrit :L'API ne fonctionne plus du tout malheureusement.

La magie d'erepublik... Avec le recul, ce n'est même plus surprenant.

Avatar du membre
SPQN
Messages : 4081
Enregistré le : 19 avr. 2013, 18:02
Profil IG : 2401917
Localisation : Nîmes

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar SPQN » 10 juin 2013, 11:56

Des nouvelles de l'API ? Toujours HS ?

Avatar du membre
pizza29
Messages : 6363
Enregistré le : 09 janv. 2010, 14:24
Profil IG : 2356771

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar pizza29 » 17 juil. 2013, 01:00

Nouvelle APi a priori (faut que je teste), et le tuto n'est du coup plus à jour. :)
Image
In PIZZA we trust !

Avatar du membre
Stamkoze
Messages : 2601
Enregistré le : 29 mars 2012, 20:45
Profil IG : 1851580
Localisation : Somewhere in Canada

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Stamkoze » 17 juil. 2013, 01:37

Il faut une certaine autorisation de la part des admins pour l'utiliser je crois. Il faut envoyer un email à api@erepublik.com pour pouvoir demander une "public key".
Image

Avatar du membre
pizza29
Messages : 6363
Enregistré le : 09 janv. 2010, 14:24
Profil IG : 2356771

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar pizza29 » 17 juil. 2013, 10:18

Ouep, de même il faut des headers dans la requête, donc passer directement par la lecture d'un fichier me parait compliqué :)


Pour les clés, rien n'est précisé dans la page de présentation :roll:
Image
In PIZZA we trust !

Avatar du membre
Buck Von Nouris
Messages : 215
Enregistré le : 09 oct. 2012, 11:48
Profil IG : 8975976
Localisation : Champ de bataille

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Buck Von Nouris » 17 juil. 2013, 12:53

L'utilisant avec plus ou moins de succès, j'vais tenter de vous éclairer un peu sur la nouvelle API :

Pour obtenir les clés (publique et privée) il faut envoyer un ticket sur le support (De préférence dans la partie paiement, no fake).
Dans ce ticket, indiquez simplement que vous voulez acheter une clé pour l'API et demandez le prix.

Pourquoi un ticket aussi WTF ? J'ai fait un premier ticket ultra sérieux avec une dose d'infos concernant mon projet pour avoir une clé -> Aucune réponse.
Deuxième ticket totalement WTF où j'ai limite exigé d'avoir une clé -> 1 min pour avoir la clé.

Coup de chance ou autre, j'en sais rien mais bon, faut croire que les admins aiment les tickets 'lulz'.
Bien entendu, je n'ai pas payé les clés, c'était simplement pour pousser le foutage de gueule un peu plus loin :3

Concernant l'API en elle même, j'ai l'impression qu'il y a des soucis dans sa gestion (En l'occurrence, quand j'essaie de récupérer des infos sur le profil de la raie, j'ai une erreur 500, correspondant à des données non trouvées).
Enfin bon, elle a l'air gérée de façon porcine mais dans l'ensemble ça fonctionne assez bien.

Avatar du membre
pizza29
Messages : 6363
Enregistré le : 09 janv. 2010, 14:24
Profil IG : 2356771

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar pizza29 » 17 juil. 2013, 15:50

Buck Von Nouris a écrit :
Concernant l'API en elle même, j'ai l'impression qu'il y a des soucis dans sa gestion (En l'occurrence, quand j'essaie de récupérer des infos sur le profil de la raie, j'ai une erreur 500, correspondant à des données non trouvées).


Sur l'ancienne API, de mémoire, les profils des nouveaux joueurs (à l'époque, je sais plus quand ^^) n'existaient pas. C'est peut être le cas ?
Image
In PIZZA we trust !

Avatar du membre
Stamkoze
Messages : 2601
Enregistré le : 29 mars 2012, 20:45
Profil IG : 1851580
Localisation : Somewhere in Canada

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Stamkoze » 17 juil. 2013, 18:44

Ça fait combien d'année qu'on attend un API qui fonctionne correctement? Admins incompétent...
Image

Avatar du membre
Alfindel
Messages : 9109
Enregistré le : 30 août 2010, 07:59
Profil IG : 3852882

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Alfindel » 17 juil. 2013, 18:48

C'est pas de l'incompétence, c'est juste qu'ils n'en ont strictement rien à battre de l'API.

Avatar du membre
inzemix
Messages : 3731
Enregistré le : 18 déc. 2009, 00:54
Profil IG : 127132
Localisation : Rhones Alpes
Contact :

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar inzemix » 19 juil. 2013, 08:23

Alfindel a écrit :C'est pas de l'incompétence, c'est juste qu'ils n'en ont strictement rien à battre de l'API.

Bah, en fait, il n'en ont rien à battre de l'api, rien à branler du jeu, et rien à cirer des joueurs... Et en plus, ils sont incompétents...
Image

.<3 ma♥lune <3.

Avatar du membre
Stamkoze
Messages : 2601
Enregistré le : 29 mars 2012, 20:45
Profil IG : 1851580
Localisation : Somewhere in Canada

Re: [TUTO] Utiliser l'API eRepublik avec PHP : Les bases

Messagepar Stamkoze » 19 juil. 2013, 08:29

Ça résume bien ça! :mrgreen:

Toutes façons, c'est comme à partout hein. L'argent mène le monde.
Image


Retourner vers « Tutoriels Divers »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité