Android Iphone Ipad
Disponible sur le Market Store Android
Disponible sur l'App Store iPhone
4,99

Exemple de code avec HelloScan

Voici un exemple qui vous apprendra comment interfacer votre application avec HelloScan. Cet exemple repose sur le language PHP et la base de données MySQL. Il est proposé à titre pédagogique.

Nous partons du principe qu'il s'agit d'un système de gestion d'inscriptions à un évènement.

A savoir avant de commencer

Pour le dialogue d'un programme avec HelloScan, les réponses renvoyées à HelloScan sont au format JSON. Voici un exemple de réponse en PHP :

    $response = array(
        'status' => 200,
        'result' => 'Informations sur l\'utilisateur',
        'data' => array(
            'id' => 1,
            'nom' => 'Norris',
            'prenom' => 'Chuck',
        )
    );
    echo json_encode($response);
    exit;

Ce qui renverra le résultat JSON suivant

{ "data" : { "id" : 1,
      "nom" : "Norris",
      "prenom" : "Chuck"
    },
  "result" : "Informations sur l'utilisateur",
  "status" : 200
}

Les paramètres renvoyés et compris par HelloScan sont :

  • status : il correspond aux codes de status HTTP (même s'il n'est pas obligatoire que l'entête renvoyée par votre script contienne le status).
  • result : facultatif, ce paramètre contient un message de retour supplémentaire
  • data : facultatif, ce paramètre contient des valeurs retournées et qui seront affichées par l'application. Vous devez renvoyer les valeurs sous la forme "clé" => "valeur" (exemple "nom" => "Norris")

Mise en pratique

La base de données

Dans une base de données MySQL ajoutez la table suivante :

 CREATE TABLE `inscrits` (
 `id` INT( 10 ) UNSIGNED NOT NULL ,
 `nom` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
 `prenom` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
 `actif` TINYINT( 1 ) NOT NULL DEFAULT '0'
 ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin;

Ajoutez quelques enregistrements :

INSERT INTO `inscrits` 
   (`id` , `nom` , `prenom` , `actif`)
VALUES 
   (NULL , 'John', 'Doe', '0'), 
   (NULL , 'Norris', 'Chuck', '0');

Le code PHP

Le code PHP va effectuer les actions suivantes :

  • vérifier les paramètres envoyés par HelloScan
  • renvoyer les informations sur un inscrit
  • modifier un champ "actif" en fonction d'une action sur un bouton HelloScan
  • gérer les erreurs

Configurez l'accès à la base de données :

// configuration de l'accès à votre base de données
define('HELLO_HOST', 'localhost');
define('HELLO_USER', 'user');
define('HELLO_PASS', 'pass');
define('HELLO_DB', 'database');

Modifiez la clé d'authentification :

// exemple de clé d'authentification
define('HELLO_KEY', 'MaCleHelloScan');

Testez le script avec un navigateur

Le script que vous venez d'installer accepte plusieurs paramètres pour fonctionner :

  • key : correspond à la clé d'authentification
  • id : correspond à l'identifiant de l'inscrit dans la table. Par exemple : 1
  • action : accepte les valeurs get ou put. Permet de préciser si on veut simplement récupérer les informations ou si on souhaite mettre à 1 le champ 'actif'

Vous pouvez donc tester votre installation en appelant le script :

  • récupérer les informations sur l'individu 1 : http://exemple.tld/helloscan.php?key=MaCleHelloScan&id=1&action=get
  • mettre à jour le champ 'actif' de l'individu 1 : http://exemple.tld/helloscan.php?key=MaCleHelloScan&id=1&action=put

exemple.tld doit-être remplacé par votre nom de domaine

Si tout fonctionne, il vous reste à configurer HelloScan

Configurer HelloScan sur votre smartphone

dans les exemples suivants : exemple.tld doit-être remplacé par votre nom de domaine

Pour Android

Via un fichier XML de configuration

1 Créer sur votre serveur un fichier XML de configuration. Par exemple : http://exemple.tld/autoconf.xml

Ce fichier doit contenir les informations suivantes :

attention à bien encoder les caractères spéciaux "&", "<" et ">" !

        
            
            
        

2 Lancez HelloScan et rendez-vous dans les préférences de l'application

3 Allez sur "Auto-configuration" et rentrez l'URL de votre fichier de configuration : http://exemple.tld/autoconf.xml

Manuellement

1 Créer le bouton de récupération des informations sur l'individu 1

  • URL du bouton : http://exemple.tld/helloscan.php?key=MaCleHelloScan&id=1&action=get
  • Label du bouton : Infos
  • Scanner avec ce bouton : cochez la case
  • Couleur du bouton : celle qui vous plaît
  • Données à afficher : afficher au minimum "Données" et "Résultat"

2 Créer le bouton de mise à jour du champ 'actif' de l'individu

  • URL du bouton : http://exemple.tld/helloscan.php?key=MaCleHelloScan&id=1&action=put
  • Label du bouton : Activer
  • Scanner avec ce bouton : décochez la case
  • Couleur du bouton : celle qui vous plaît
  • Données à afficher : afficher au minimum "Résultat"

Pour iPhone/iOS

prochainement