Lotro.fr

Nouvelles => Actualités du site => Discussion démarrée par: Enox le 12 Mai 2010 à 19:32:34



Titre: API lotro.fr
Posté par: Enox le 12 Mai 2010 à 19:32:34
L'API lotro.fr est un outil pour les développeurs web. Il permet de faire dialoguer n'importe quel site perso avec lotro.fr afin d'échanger des informations. Par exemple il est possible d'obtenir tous les détails d'une sortie, y compris les inscrits et les messages, ou de connaitre l'ensemble des membres d'une confrérie.

Le fonctionnement est assez simple. En interrogeant une url spéciale, vous obtenez en retour toutes les informations dont vous avez besoin au format XML. Il ne vous reste plus qu'à prendre dans le xml les infos qui vous intéressent...

Pour le moment seules 3 fonctions sont dispo. D'autres pourront suivre (telle que création d'event, inscription a un event ou écriture de commentaire...) si des webmasters désireux de l'utiliser se manifestent (sinon j'irai passer mon temps de développement sur d'autres projets, j'en ai encore tellement...)

Pour plus d'info c'est par la : http://lotro.fr/api/


Titre: Re : API lotro.fr
Posté par: gedor le 12 Mai 2010 à 22:01:31
mais arretez le !!

Sinon ca à l'air intéressant ce truc


Titre: Re : API lotro.fr
Posté par: ysebrandt le 13 Mai 2010 à 14:16:09
Salut ENOX,

Je voudrais pas faire mon chieur, mais peux tu donner la possibilité de le retourner aussi en Json ?
Autrement, c'est évident que c'est intéressant ...

Merci d'avance.


Titre: Re : API lotro.fr
Posté par: Enox le 14 Mai 2010 à 15:47:46
Freddy p0wn Json

désolé  ;D

ok je vais voir pour jizon


Titre: Re : API lotro.fr
Posté par: Enox le 14 Mai 2010 à 20:09:01
Pour obtenir les informations au fomat JSON plutot que XML, ajoutez &out=json à la fin de l'url.


Titre: Re : API lotro.fr
Posté par: ysebrandt le 15 Mai 2010 à 19:02:21
Merci Enox, je testerai cela dès que possible ^^


Titre: Re : API lotro.fr
Posté par: Conraed le 18 Mai 2010 à 13:33:35
Bonjour,

question ouverte vu que j'imagine ne pas être le seul dans le cas: Le forum de ma Confrérie est hébergé chez ForumActifs (http://confrerie-de-bree.forumsactifs.net) et n'offre que très peu de choix en terme de développement:

Pas de PHP, juste du BBcode et de l'HTML (et encore, il faut l'intégrer dans les "Widgets" du portail)

Est ce que quelqu'un aurait une idée génale qui me permettrait d'utiliser l'API ?

Toute idée est bonne à prendre, je me charge d'essayer de la mettre en pratique.

Merci et bon Jeu


Titre: Re : API lotro.fr
Posté par: Bambi le 18 Mai 2010 à 14:48:19
Si tu peux mettre un chouilla de javascript, jQuery (ou autre) pourra t'aider:

- jQuery.ajax pour faire la requete
- puis un parsing avec jQuery:
Code:
jQuery(request.responseXML).find("perso").each(function(){
var perso = jQuery(this);
var pseudo = perso.attr('pseudo');
[...]
});


Apres, l'API est plutot orientee "developpeur", donc je te conseille de regarder du cote des syndicats raidplanner tout faits: http://lotro.fr/guilde/?module=syndicat

(D'autre part avoir la requete cote client/javascript permettrai a n'importe qui d'utiliser ta cle d'API...pas top top :) )


Titre: Re : API lotro.fr
Posté par: Enox le 18 Mai 2010 à 14:56:28
tout a fait.

Si tu utilises du javascript, tu donnes l'accès complet a ta conf au premier venu. Ce qui peut vouloir dire accès a tous les membres, possibilité de modifier/supprimer toutes leurs données, création d'event a ton nom...

Si tu as besoin de "module" a partir des données de lotro.fr, tu peux toujours passer commande, on verra ce qu'on peut faire ;)


Titre: Re : API lotro.fr
Posté par: Skro le 18 Mai 2010 à 15:36:12
Non, Forumactif, c'est de la bouse de ce point de vue (du leur, on peut comprendre, un code malware est si vite arrivé). Rien, rien et encore rien n'est autorisé.

C'est la contrepartie d'avoir un forum gratos avec presque pas de pub, hein ;)

Regards,
Skro


Titre: Re : API lotro.fr
Posté par: Conraed le 18 Mai 2010 à 18:57:55
merci pour les réponses  :D

- Je suis pas trop chaud chaud pour le script Java.... même si aucune des infos présentes sur lotro.fr n'est "critique" pour le bon déroulement du jeu, il y aura toujours un petit malin qui essayera de foutre le brin un jour ou l'autre et je préfère éviter les tentations inutiles...

- merci pour le rappel des syndicats.  On les utilise déjà sur le fofo et c'est vrai que c'est un gros plus

- merci Enox pour ta proposition de module "sur mesure".  En fait, je pensais au départ tester l'api, le mettre sur notre forum et demander aux autres ce qu'ils en pensaient..; donc pas de besoins spécifiques ... mais je vais le proposer aux autres admins de notre forum pour voir s' ils ont des idées plus précises.

Bonne journée à tous.


Titre: Re : API lotro.fr
Posté par: Aleryn le 20 Mai 2010 à 11:29:23
Bonjour,

ne serait-il pas possible d'envisager 2 api_number, l'un avec tous les droits pour le meneur et un second avec juste des droits en lecture pour le javascript et éventuellement le "développeur " de la confrérie ?

Pour le raid planner, j'utilise déjà le syndicat. Par contre, je vois de nombreuses possibilités avec le memberlist, mais je ne suis pas sûr que mon meneur voudra bien me donner les "pleins pouvoirs".


Titre: Re : API lotro.fr
Posté par: Enox le 20 Mai 2010 à 13:00:19
le "développeur" a besoin des acces aux api d'écriture également... sinon qui va développer les interaction avec ces api ? o_O

Aujourd'hui il n'existe aucune api de ce type, uniquement des api de lecture. J'attend d'avoir des besoins exprimés et des projets d'implémentations avant de coder les api de modifications.

Mais je suis étonné. Le développeur du site de ta conf a déja tous les acces sur son site, qui, il me semble, est plus important pour ta conf que les données de lotro.fr la concernant. Donc niveau plein pouvoir...

Si ton chef est paranoïaque, 2 solutions s'offrent a lui :
- tuer le développeur une fois la tache réalisée
- demander le changement de son api number par mp, puis aller éditer le code pour changer ce numéro (l'ancien deviendra invalide)


Titre: Re : Re : API lotro.fr
Posté par: Aleryn le 20 Mai 2010 à 18:05:33
Mais je suis étonné. Le développeur du site de ta conf a déja tous les acces sur son site, qui, il me semble, est plus important pour ta conf que les données de lotro.fr la concernant. Donc niveau plein pouvoir...
En fait je n'ai aucun accès au code du site, j'ai mon propre site de dev. Une fois les développements terminés, je les envoie au chef.


Titre: Re : API lotro.fr
Posté par: Enox le 20 Mai 2010 à 19:13:22
dasn ce cas, c'est top chef qui devra s'en charger  ;D


Titre: Re : Re : API lotro.fr
Posté par: Conraed le 21 Mai 2010 à 14:11:56
Si tu as besoin de "module" a partir des données de lotro.fr, tu peux toujours passer commande, on verra ce qu'on peut faire ;)
Bon ben vu que tu le proposes, voici des suggestions de modules, je te laisse bien entendu seul juge de ce qui est raisonnable et réalisable:

  • Un flux "liste des membres" modulable, où l'on pourrait choisir d'afficher juste une classe ou juste une race, à l'image de ce qui se fait pour le RSS RaidPlanner où l'on choisit d'afficher tout le Serveur, juste l'Alliance ou juste la Confrérie, avec à chaque fois juste quelques infos, style niveau, classe, radiance
  • Un flux "log de Confrérie" où l'on pourrait afficher une partie du log de Conf, par exemple les derniers évènements de type nouveaux membres, les gains de niveaux ou de maitrise d'Artisanat des membres.
  • ...

À nouveau, ce ne sont que mes propositions et il faudrait peut-être voir si d'autres expriment le même besoin.

À discuter donc.

Merci et Bon Jeu


Titre: Re : API lotro.fr
Posté par: Dimella le 27 Mai 2010 à 23:58:49
Supporter JSON c'est bien pour faire gagner de la place ; supporter un mode JSONP ça serait encore mieux ^^.

Sinon faire un appel ajax vers l'API est impossible (cross-domain).

Je sais, je suis chiant


Titre: Re : API lotro.fr
Posté par: Enox le 28 Mai 2010 à 16:14:11
comme dit 2 post plus haut, utiliser l'api en javascript est une enorme faille de sécurité pour ta confrérie et l'ensemble de sses membres.

Apres c'est vous qui voyez


Titre: Re : API lotro.fr
Posté par: Dimella le 28 Mai 2010 à 16:47:56
Pour l'instant nous allons faire les tests avec un proxy PHP (hébergé ailleurs que sur notre forum de conf) qui se chargera des vérifications de sécurité (et qui encapsulera l'uid de conf).

Mais il est vrai que je rejoins le besoin exprimé plus haut de deux clés, une publique pour les accès en lecture ou les données non sensibles et un pour les accès écriture et les données plus "confidentielles".

Pour le javascript, disons que c'est ce qui s'intègre le plus facilement dans les "sites" (enfin des forums) utilisés par la plupart des conf et qui ont l'énorme avantage de pas coûter un rond mais qui sont cadenassés et verrouillés comme un coffre fort suisse.

Merci en tout cas pour tout ce taf ^^


Titre: Re : API lotro.fr
Posté par: Enox le 28 Mai 2010 à 17:00:33
Si tu utilises un proxy php, tu n'as donc pas besoin de JSONP ;)


Titre: Re : API lotro.fr
Posté par: Dimella le 28 Mai 2010 à 17:14:47
oui puisque j'ai codé le proxy de manière à ce qu'il encapsule la réponse de l'API dans le callback JSONP :D.

Maintenant c'est vrai que si l'API le proposait, ça m'éviterait de squatter le serveur de conraed ^^ (mauvaise foi inside)


Titre: Re : API lotro.fr
Posté par: Enox le 28 Mai 2010 à 17:20:23
Tien, puisque tu partages le serveur de Conraed, je vous suggere a tous les 2 de faire un mini cache du resultat de l'api. rétention 1 minutes pour avoir un refresh quasi "temps réel" :
- tu check s'il existe le fichier sur le serveur proxy php, si oui est il plus vieux que 1 min ? non => on prend celui la
- si plus vieux qu'une minute ou inexistant => query lotro.fr et sauvegarde du fichier


Titre: Re : API lotro.fr
Posté par: ysebrandt le 01 Juin 2010 à 11:45:10
Citation
Sinon faire un appel ajax vers l'API est impossible (cross-domain).

Alors, c'est vrai et faux.

Il existe un système, que j'utilise, pour récupérer des informations distantes à partir de n'importe quel Odbc.

Perso, j'ai réalisé un site intranet de gestion de livraison codé en php et utilisant mysql comme base de donnée.
Nous avons aussi un serveur sql qui contient les données importantes de la société, comme par exemple la signalétique client .

Et bien, avec les Webservices et un environnement Soap, je peux récupérer sous format json des informations d'un client venant du serveur Sql suivant des Webservices (WSDL) spécifiques réalisés avec l'environnement (Sql/Asmx).

Une fois récupérer, je les traites comme je veux avec du Jquery et du Php.

C'est un petit plus long mais grâce à ce système, on peut interagir en distant entre différents Odbc.
Je n'ai pas besoin de recréer un base de donnée client dans Mysql puisqu'elle existe déjà ailleurs ^^

Voilà voilou



Titre: Re : API lotro.fr
Posté par: Conraed le 16 Juin 2010 à 01:45:34
Bonsoir tour le monde.

Il y a visiblement ici des bêtes de scripts et de programmation (en tout cas, c'est ce ce qu'on se dit en parcourant le post :) ) et je me demandais si vous pouviez m'aider...

A partir de l'API, je crée la page suivante (http://confrerie-de-bree.forumsactifs.net/Test-de-Conraed-h1.htm).
Toutes les données que j'aimerais afficher y sont, sauf qu'elles sont listées dans l'ordre où elles apparaissent dans le fichier xml (à vue de nez, l'ordre d'inscription sur lotro.fr).  Auriez vous SVP une suggestion pour les trier avant affichages en fonction du niveau, puis de la radiance et enfin du nom ?

je met le code du script ci dessous, si ca peux vous aider à trouver quelque chose.

10000 Mercis d'avance

Code:
<html>
<title>Les Gardiens</title>

<body>

<link rel="stylesheet"  href="bree.css" type="text/css" media="screen"  />

<?php

//chargement des données
$ch curl_init();
curl_setopt($chCURLOPT_URL"http://lotro.fr/api/?uid=numéroAPI=memberlist");
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$output curl_exec($ch);
curl_close($ch);    
$xml = new SimpleXMLElement($output);


//création de la table
print '<table width=300>'."\n";

//Ligne de titres
 
print '<tr>';
 
print "<td align='center'><b>Nos Gardiens</b></td>";
 
print '</tr>'."\n";
 
print '</table>'."\n";
 
print '<table width=300>'."\n";
print '<tr>'
    print 
"<td align='center'><b>Nom</b></td>";
    print 
"<td align='center'><b>Race</b></td>";
    print 
"<td align='center'><b>Niveau</b></td>";
    print 
"<td align='center'><b>Radiance</b></td>";
print '</tr>'."\n";

foreach (
$xml->persos->perso as $item) {
if (
$item->id_classe == '5'){
    print 
'<tr>';
print "<td><b>$item->pseudo</b></td>";
    print 
"<td align='center'>$item->racename</td>";
    print 
"<td align='center'>$item->level</td>";
print "<td align='center'>$item->radiance</td>";
print '</tr>';
}
}
print 
'</table>'."\n";
?>

</body>
</html>


Titre: Re : API lotro.fr
Posté par: Enox le 16 Juin 2010 à 10:31:09
Alors oui tu peux trier tes données dans le php avant affichage.
Mais c'est statique.

Je te conseille de faire ce tri en javascript.

Par exemple http://yoast.com/articles/sortable-table/ pourra faire le job pour toi :)

Ainsi tes users pourront choisir le tri qui leur plait (par nom, par niveau, par radiance...)


Titre: Re : API lotro.fr
Posté par: Conraed le 16 Juin 2010 à 11:18:38
Merci, je me plonge là dedans de suite  :)