Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Besoin d'aide pour programmer ma propre appli avec Call URL...

Aller en bas 
AuteurMessage
Chrysline
Lapin nain
Lapin nain


Localisation : France
Nbr de messages : 3
Carottes : 2920

MessageSujet: Besoin d'aide pour programmer ma propre appli avec Call URL...   Lun 31 Mai 2010 - 8:56

Bonjour à tous,

Je suis nouvelle ici, et j'ai récemment fait l'acquisition d'un mir:ror. Je maîtrise les bases de html, php et sql (juste les bases...), et je voudrais programmer mes propres applis pour mir:ror, mais je ne comprends pas comment ça marche...
Il est marqué que le format de réponse doit être en text/plain, text/json ou text/xml. Le problème c'est que je ne m'y connais pas beaucoup en xml, header, sockets, ...
Comment transmettre les données dans une URL ?

Par exemple, je voudrais lui donner en paramètre ma propre url d'une page que j'aurais faite en php si c'est possible, utiliser les variables ${hours} pour savoir à quelle heure j'ai passé le ztamp devant le mir:ro la dernière fois.
C'est possible de faire des applis simples avec du code pas trop compliqué ? je suis prête à apprendre si c'est pas trop dûr... nabzshy


PS : j'ai beau chercher sur google et dans rechercher, mais je n'arrive pas à comprendre... nabzcry
J'ai compris en général : il faut mettre l'adresse http://api.nabaztag.com/vl/FR/api.jsp et la suite des paramètres, ou bien une url d'un développeur qui a déjà fait l'appli... mais si je veux faire moi-même une appli qui, par exemple, ouvre une page web et connecte à son compte du site web ouvert via une requête HTTP GET... ou bien une appli qui retient le nombre de fois qu'un utilisateur s'est connecté et le compare à d'autres utilisateurs, et les classe dans l'ordre de fréquentation... comment faire ?
Revenir en haut Aller en bas
Humanbomb
Bronze Nabz
Bronze Nabz
avatar

Age : 23
Localisation : DTC
Nabaztag : Humanztag (V1)
Nbr de messages : 167
Carottes : 3096

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Lun 31 Mai 2010 - 18:32

Pour utiliser l'API tu auras besoin de CURL (une autre technique existe mais je ne la connait pas)

Fait toi un function.php avec toutes les fonctions dont tu vas avoir besoins pour les réutiliser par la suite yellownabzwink

Commence par :
Code:
function get_content ($url) {
     $ch = curl_init();
     curl_setopt ($ch, CURLOPT_URL, $url);
     curl_setopt ($ch, CURLOPT_HEADER, 0);
     curl_setopt ($ch, CURLOPT_TIMEOUT, 20);
     curl_setopt ($ch, CURLOPT_HTTPHEADER, array(   
         "Content-Type: text/xml; charset=UTF-8",
         "Accept-Language: fr-fr",
         ));
      ob_start();
      curl_exec ($ch);
      $infoHTTP = curl_getinfo ($ch,CURLINFO_HTTP_CODE);
      $infoERR = curl_error($ch);

      curl_close ($ch);
      $string = ob_get_contents();
      ob_end_clean();


      if (substr($infoHTTP,0,1) == "2") {
         return $string;
      } else {
         return "Erreur: HTTP";
      }
};

Qui permet d'utiliser Curl sans avoir a tout retaper a chaque fois ^^

Ensuite il te suffit de faire

Code:
get_content ("URL D'API POUR ACTION voir doc api")

En espérant t'aider (c'est ce que j'utilise pour mon lapin ^^" )
@bientôt
Revenir en haut Aller en bas
http://humanbomb.servehttp.com/
lemulot
Nabz Junior
Nabz Junior
avatar

Localisation : lyon
Nabaztag : Lapinoux
Nbr de messages : 63
Carottes : 3323

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Lun 31 Mai 2010 - 18:57

J'ai deja vu le bout de code sur un autre topics.
Pourquoi utiliser curl, alors que file_get_contents() est plus simple (bcp moins de possibilite) mais suffisant.

genre

Code:

<?php

$return = file_get_contents($url_api.$url_arg);

?>

pis apres faut parser le xml retourne.
Revenir en haut Aller en bas
Humanbomb
Bronze Nabz
Bronze Nabz
avatar

Age : 23
Localisation : DTC
Nabaztag : Humanztag (V1)
Nbr de messages : 167
Carottes : 3096

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Lun 31 Mai 2010 - 19:27

OUi, sur le topic ouj'avais un problème a cause de l'adresse de l'api qui n'était pas bonne xD
Revenir en haut Aller en bas
http://humanbomb.servehttp.com/
Chrysline
Lapin nain
Lapin nain


Localisation : France
Nbr de messages : 3
Carottes : 2920

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Lun 31 Mai 2010 - 20:29

Youpie, grâce à vous j'avance, je comprends un peu mieux !!! nabzhello1
Avec l'extrait de code je commence à comprendre... Donc il faut utiliser file_get_contents sur l'url complet de l'api nabaztag (avec au moins le SN, le TOKEN, et l'action).
Je sais à présent comment on récupère les valeurs des 14 actions possibles, j'arrive à présent à créer moi-même le code pour faire interagir le mir:ror et mon nabaztag ^^

J'ai aussi compris que si dans l'adresse de départ on met les ${hours}, ${object.owner.firstname}, etc..., il transmet les valeurs correspondantes dans l'URL.
Mais le souci, c'est que ces valeurs-là, je ne sais pas comment les récupérer : il me l'affiche bien dans mon interface mirware (genre "http://monsite.com/test.php?hours=20&prenom=chrysline")... Comment exploiter ces données d'heure et de prénom du propriétaire de l'objet par exemple ?
genre est-ce que je peux ensuite lui demander d'ouvrir une page web qui se connectera en HTTP GET à partir du prénom récupéré ?...nabzasking

(et est-ce que je peux éviter le message d'erreur "Response received in an unsupported content type : text/html" ? ou bien est-ce que ça affiche toujours ce message si on code en php ? j'espère que ça ne crée pas d'erreurs importantes...)

Merci de prendre le temps de me répondre, c'est sympa de m'aider à essayer de comprendre yellownabzsmile
Revenir en haut Aller en bas
Humanbomb
Bronze Nabz
Bronze Nabz
avatar

Age : 23
Localisation : DTC
Nabaztag : Humanztag (V1)
Nbr de messages : 167
Carottes : 3096

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mar 1 Juin 2010 - 17:00

Je n'ai pas ces erreurs la chez moi sur mes deux serveurs (pas régler pareil) regarde les réglages de ton serveur yellownabzwink

Si tu extrait le nom dans une variable après tu peux faire ce que tu veux avec !
Revenir en haut Aller en bas
http://humanbomb.servehttp.com/
lemulot
Nabz Junior
Nabz Junior
avatar

Localisation : lyon
Nabaztag : Lapinoux
Nbr de messages : 63
Carottes : 3323

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mar 1 Juin 2010 - 18:47

J'ai pas tres bien compris.
Tu veux recuperer les variables dans l'url ?

Code:
$_GET['variable']

Je te conseil le site du zero et http://php.net/
Revenir en haut Aller en bas
Moon´s Heart
Crazy Geek
Crazy Geek
avatar

Age : 49
Localisation : Liège, Belgique
Nabaztag : Ryu (v2), Yoko (v2), Summer (v2), Irina (v2 ¼) Tchantchès (v2 ½)
Nbr de messages : 15816
Carottes : 101153

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mar 1 Juin 2010 - 18:57

Un exemple pour savoir si le lapin dort...

Code:


 $sleep  = trim(strip_tags(file_get_contents("http://api.nabaztag.com/vl/FR/api.jsp?sn=" . $sn . "&token=" . $token . "&action=7" )));


Les trim et strip_tags faisant le nettoyage du XML pour ne garder qu'un YES ou un NO.

Bien sur on pourrait jouer avec curl mais...

_____________________________


                                        Je vois que tu t'appelles  ~Invité  et que tu as déjà écrit 0 messages


Revenir en haut Aller en bas
http://www.moonsheart.com
Harfangdesneiges
Special Nabz
Special Nabz
avatar

Age : 22
Localisation : Quelque part sur la côte d'Azur
Nbr de messages : 1383
Carottes : 4149

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mar 1 Juin 2010 - 19:27

Pour l'erreur "Response received in an unsupported content type : text/html", mets cette ligne dans ton fichier avant tout affichage de texte (sinon erreur de niveau E_WARNING) :
Code:
header('Content-type: text/plain; charset: UTF-8');
(tu peux remplacer UTF-8 par ton propre encodage de caractères yellownabzwink )
Revenir en haut Aller en bas
Humanbomb
Bronze Nabz
Bronze Nabz
avatar

Age : 23
Localisation : DTC
Nabaztag : Humanztag (V1)
Nbr de messages : 167
Carottes : 3096

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mar 1 Juin 2010 - 20:02

Pourquoi êtes vous retissant a l'utilisation de Curl ?
Au moins ça marche même si le code est un peu plus lourd ...

EDIT : J'ai fait un test et niveau charge serveur ta méthode est BEAUCOUP plus légère yellownabzwink
Revenir en haut Aller en bas
http://humanbomb.servehttp.com/
Chrysline
Lapin nain
Lapin nain


Localisation : France
Nbr de messages : 3
Carottes : 2920

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mar 1 Juin 2010 - 20:47

En fait je connais pas trop programmer en Curl (ça doit pouvoir s'apprendre, mais si je peux faire en php sans avoir à écrire en Curl, ça serait un langage de moins à maîtriser) nabzshy

donc pour l'instant je suis à ce stade : j'ai fait un fichier "test.php", et dans l'interface mirware dans mon appli "Transmettre les données dans une URL", je comme url "http://monsiteweb.com/test.php?firstname=${object.owner.firstname}"
Code:
<?php
header('Content-type:text/plain');
include('sql.php');
mysql_query("INSERT INTO nabtab VALUES ('','$_GET[name]')");
?>

Donc je n'ai plu l'erreur (merci Harfangdesneiges : ) ).
Et grâce à vos réponses, j'ai pu avancer : quand on passe un ztamp devant un mir:ror, il envoie une requête directement au serveur, donc c'est le mir:ror qui communique avec le serveur, et du coup en tant qu'utilisateur on ne voit rien vu que ça ne passe pas par un navigateur web (d'où que je ne pouvais pas voir "directement" le $_GET['name'], moi qui ne codais que sur navigateur web, j'ai eu du mal à m'en détacher pour comprendre).
ça marche en passant par sql, mais le problème c'est que tout ça c'est statique... il faut que juste après je lance une 2e API "ouvrir une page web", qui ouvre mon navigateur, vérifie est-ce qu'un ztamp est passé devant le mir:ror il y a moins d'une seconde de ça, et si c'est le cas, qu'il connecte le propriétaire deu ztamp... compliqué tout ça ! nabzsteam

Y'a pas plus simple ? genre mon fichier test.php lance directement l'ouverture d'une page web à partir du $_GET['name'] ?
Revenir en haut Aller en bas
Humanbomb
Bronze Nabz
Bronze Nabz
avatar

Age : 23
Localisation : DTC
Nabaztag : Humanztag (V1)
Nbr de messages : 167
Carottes : 3096

MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   Mer 2 Juin 2010 - 0:29

Je n'ai qu'une V1 donc je n'ai pas de RFID ni de micro. Je ne peux plus t'aider a ce stade. Il faut voir avec les autres ;-) !
Revenir en haut Aller en bas
http://humanbomb.servehttp.com/
Contenu sponsorisé




MessageSujet: Re: Besoin d'aide pour programmer ma propre appli avec Call URL...   

Revenir en haut Aller en bas
 
Besoin d'aide pour programmer ma propre appli avec Call URL...
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API-
Sauter vers: