Webservice Smartping - Page 2

Vendredi 11 Avril 2014 09:15

Bonjour à tous,

J'abonde le sujet par mon expérience personnelle.

J'avais développé un site internet de génération de stats personnelles à partir d'un parsing HTML du site de la fédé. Ce site était ouvert à tout le monde et n'abondait aucune base de données : on entrait un numéro de licence, et on récupérait une page web du type de celle générée par la fédé.(ce que semble faire pingpocket actuellement)
Rapidement, le html source de la fédé a été modifié pour faire planter mon logiciel. J'ai rapidement adapté mon code. Nous avons joué quelques jours comme ça entre modification et correction. Puis j'ai été contacté par le développeur de la fédé qui m'a demandé de retirer ce logiciel car il entrait en conflit avec celui de la fédé, arguant que j'utilisais des données entrées bénévolement par chaque club, bla bla bla ... SInon, une solution serait de ne plus donner accès à personne aux données, ou modifier continuellement le site, ce qui pénaliserait tous ceux qui avaient leur propre logiciels. Il m'était autorisé de continuer à développer mon logiciel seulement si mes statistiques ne concernaient QUE mon club. C'est ce que j'ai fait depuis ....

Avec l'arrivée de smartping (et son dysfonctionnement chronique), et l'accès à certaines informations auxquelles nous n'avions pas accès par le site web, je me suis dit qu'il existait une API propre à cette appli... et je suis également tombé sur les XML (pas par sniffing pour ma part ....). J'étais en train d'adapter mon logiciel afin d'utiliser le XML, bien plus "propre" et pratique que le HTML parsing.... Merci SMGbab16 pour cette classe, ça va m'aider ^^

Mon avis est que la fédé va clairement entrer en guerre contre ça. Quitte à modifier l'accès XML, et devoir mettre à jour smartping...
Elle n'a jamais laissé vivre une application qui laisserait un accès complet à ses données et/ou remplacerait complètement un de leur logiciel/accès. Si le logiciel est cantonné à un club/un type de données passe encore.

Alors certes, l'appli est gratuite et bugguée, certes il faudrait que la fédé repense son accès aux données à l'heure de l'opendata .... mais une nouvelle fois, cette guerre ouverte contre la fédé pourrait avoir des effets néfastes pour les autres développeurs...

Je serai tenté de dire "wait and see" mais conserver cet accès à titre perso pour le développement de nos propres applis me semble une bonne idée...
http://stats.ping.free.fr/ => les stats de GTT et ACBB

Vendredi 11 Avril 2014 10:29

Ce qui serait intéressant, comme ç'a été signalé par quelqu'un dans ce topic, ce serait justement de pouvoir travailler avec la fédé pour l'aider à fournir au public une API officielle, avec éventuellement une authentification pour éviter de trop forts volumes de requêtes, etc.

Mais je ne suis pas convaincu qu'ils en soient déjà là Clin d'oeil
Base de données bois : http://yattdb.pabuisson.com

Samedi 12 Avril 2014 10:49

Le responsable de l'informatique pour la Fédé est aussi le président de mon comité (Ille-et-Vilaine). Je peux tenter une approche !

Samedi 12 Avril 2014 14:22

@Tranbert : c'est Jacques qui est responsable de l'informatique pour la Fédé ou bien Eric ?

Sinon c'est carrément une honte que la fédération ne laisse pas la possibilité simplement de récupérer les données grâce à une API. Elle s'accapare des données qui sont à la fois nos propres données.

Perso j'ai réalisé un parsage pour récupérer toutes les données que je souhaite pour que chaque partie d'un joueur de mon club puisse être entré facilement et rapidement.

Pour ce qu'il en est du premium, là aussi j'ai automatisé la chose sur le site de mon club vu que je paye pour avoir accès.
Message modifié 1 fois, dernière modification Samedi 12 Avril 2014 14:49 par fandusrfc
fandusrfc -> jerem35 vu que l'on a pas voulu modifié mon pseudo automatiquement

Dimanche 13 Avril 2014 02:31

Citation de SMGbab16 :
Je viens de regarder pingpocket.fr je ne connaissais pas, c'est vraiment pas mal!
Et assez proche de ce que je suis en train de faire au final xD
A part qu'il n'y a pas toute la partie Compétition.
Quelqu'un sait si ça exploite le webservice de Smartping ou alors le parsing du HTML sur le site de la FFTT ?


Parsing HTML
Il n'y a pas de webservice a proprement dit de l'outil SPID. Je pense même que la fédé va apporter prochainement les corrections à ses outils pour éviter les débordements..
le tennis de table, c'est notre sport ! notre passion !

Lundi 14 Avril 2014 02:04

Merci sparkodutos pour ton retour d’expérience très intéressant.
Par contre si la fédé ne semble tolérer que les utilisations qui se limitent à un club pourquoi pingpocket.fr fonctionne t-il toujours ? Je me pose la question car je bosse sur quelque chose d'assez similaire xD

Je ne connais pas du tout le fonctionnement de la fédé mais j'ai l'impression que l'ouverture des données est plus un problème politique que technique...

Ils changeront surement le webservice un jour et il faudra s'adapter mais au moins on sera notifié (Mise à jour de Smartping).

En attendant j'ai amélioré mon code pour imiter au mieux le fonctionnement de Smartping: http://pastebin.com/0kguYpKR

Changements:
- Ajout de l'API d'initialisation (avec numéro de série)
- Ajout de la photo, progression mensuelle, progression annuelle des joueurs
- Possibilité de loguer les appels au webservice
- Possibilité de préciser l'IP source (dans le cas d'un serveur disposant de plusieurs IP)
- Utilisation de cUrl au lieu de file_get_contents (Ce dernier ne supporte pas bien HTTP1.1 et Keep-Alive) pour imiter au mieux les requêtes de Smartping

Cette version est virtuellement indétectable par rapport aux requêtes effectuées par Smartping.
N’hésitez pas si vous avez des questions ou remarques sur le code.
Message modifié 1 fois, dernière modification Lundi 14 Avril 2014 02:20 par SMGbab16

Lundi 14 Avril 2014 09:42

Citation de SMGbab16 :
- Utilisation de cUrl au lieu de file_get_contents (Ce dernier ne supporte pas bien HTTP1.1 et Keep-Alive) pour imiter au mieux les requêtes de Smartping

J'ai moi aussi utilisé cUrl pour ça, ça semblait plus simple. Par contre, 1 question :
tu dis coller au mieux aux requêtes de Smartping, ça veut dire que l'application SmartPing utilise ce UserAgent "Mozilla/4.0 (compatible; MSIE 6.0; Win32)" ?

PS : et en passant, curl_setopt a deux option "CURLOPT_ENCODING" et "CURLOPT_USERAGENT" (plutôt que de les passer dans ton option CURLOPT_HTTPHEADER).
Message modifié 2 fois, dernière modification Lundi 14 Avril 2014 11:34 par pierread
Base de données bois : http://yattdb.pabuisson.com

Lundi 14 Avril 2014 09:52

Concrètement, pour un non-initié, ça veut dire qu'on prend ton code php, on enregistre ça pour en faire une page web et basta, ça fonctionne ?

Lundi 14 Avril 2014 10:20

Non Content

Lundi 14 Avril 2014 10:22

C'est bien ce que je craignais Émoticône

Lundi 14 Avril 2014 10:57

Est-il réellement préférable d'utiliser le xml ou la version web de la fftt ?

La première méthode est plus simple, mais elle risque d'être supprimé si le device n'est pas un mobile dans l'avenir (après il y a des méthodes de contournements avec curl).
Alors que la seconde est moins souple, s'il y a un changement dans l'html il faut tout refaire, mais c'est utilisable pour la version prémium quand on met à jour ...
fandusrfc -> jerem35 vu que l'on a pas voulu modifié mon pseudo automatiquement

Lundi 14 Avril 2014 11:30

Bah toujours la même réponse.
Que la fédé fasse un boulot correct et mette à disposition des joueurs / associations / comités / ligues des infos basiques par une API de données rentrées manuellement par les joueurs / associations / comités / ligues.
Qu'elle puisse garder une API privée avec authentification, pour faire payer avec des infos premium pourquoi pas ...

Lundi 14 Avril 2014 11:43

Ah bah ça je suis complètement d'accord, je l'ai dit plus haut ...
fandusrfc -> jerem35 vu que l'on a pas voulu modifié mon pseudo automatiquement

Lundi 14 Avril 2014 12:41

Sinon, pour répondre à la question initiale : je pense que la méthode XML est la meilleure et la plus complète ...

Lundi 14 Avril 2014 12:49

Plus simple et plus maintenable surement, plus complète je ne sais pas, car il n'y a pas la progression par exemple.


Autre chose, cela correspond à quoi la balise apoint ?
fandusrfc -> jerem35 vu que l'on a pas voulu modifié mon pseudo automatiquement

Lundi 14 Avril 2014 13:04

robinos33: Smartping utilise effectivement ce user-agent, en tout cas sur android. On peut utiliser les option curl que tu cite mais je préfère passer tous les headers directement d'un coup et je suis sûr que les requête que je génère sont identiques à Smartping (vérifié en sniffant le réseau).

archeo: ce code est un outil permettant d'accéder aux données de smartping. Il est destiné aux developpeurs. Pas vraiment utilisable par un non initié, désolé :/

fandusrfc: je pense que la méthode xml est beaucoup plus maintenable et propre. Même si ils font des modifications ca sera toujours utilisable car a partir du moment ou tu y accède avec ton smartphone tu peux y accéder avec cURL Content

Lundi 14 Avril 2014 13:12

Yep c'est sur que de ce côté ton système est mieux.
Je vais surement adapté le mien s'il y a une prochaine modif de la fédé car actuellement le parsage du site tient depuis quelques temps ;-)

En tout cas good job
fandusrfc -> jerem35 vu que l'on a pas voulu modifié mon pseudo automatiquement

Lundi 14 Avril 2014 13:13

apoint correspond au nombre de points du mois précédent. Le webservice ne renvoie pas directement la progression mensuelle mais le nombre de points du mois en cours et celui du mois précédent. Une simple soustraction et voila Content

Lundi 14 Avril 2014 13:52

Citation de archeo :
J'ai une mauvaise nouvelle Émoticône

Bonjour,

Devant le développement d’outils de récupération massive des données du classement, Smartping s’aligne sur le calendrier de parution gratuite.
Les utilisateurs de Smartping n’auront plus accès aux informations « premium ».

Salutations,

Eric Caugant
Responsable Informatique

Je ne comprendrais jamais ce genre d'attitude.
Là, nous avons des pongistes qui, bénévolement, suent sang et eau pour améliorer les services informatiques autour du ping.
De l'autre, nous avons un certes licencié, mais avec 0 match sur la saison, qui décrète que créer artificiellement de la rareté, c'est bon pour les pongistes.

Pardon, j'ai raté quelque chose ou la seule réponse valable c'est un bon gros facepalm ?
Sharara, conflits d'intérêts, corruption, petits fours et champibulle : http://www.tennis-de-table.com/forums/sujet-56751-1.html

Lundi 14 Avril 2014 14:49

Citation de SMGbab16 :
robinos33: Smartping utilise effectivement ce user-agent, en tout cas sur android. On peut utiliser les option curl que tu cite mais je préfère passer tous les headers directement d'un coup et je suis sûr que les requête que je génère sont identiques à Smartping (vérifié en sniffant le réseau).

Je crois que tu répondais à ma question et pas à celle de robinos, mais merci de ta réponse en tout cas Émoticône Je ne suis pas super au point côté réseau, de quelle façon procèdes-tu pour sniffer les requêtes envoyées par une appli (SmartPing en l'occurrence ?) ?
Base de données bois : http://yattdb.pabuisson.com
13
18
381 messages

Vous êtes ici : Accueil > Forums > Développement de vos sites