API

Tout ce qui est en rapport avec le développement du HUB
dumoulin.jb
Messages : 36
Inscription : 25 Janvier 2014, 03:48

API

Messagepar dumoulin.jb » 04 Février 2014, 00:04

Salut tout le monde !

Je lance ce sujet pour faire évoluer les services de l'API. Je suis pour le moment en train de rédiger la description des services actuels.
Il serait intéressant, je pense, de proposé les mêmes fonctionnalités à travers l'API que l'interface graphique.

On peut actuellement :
    Lister l'ensemble des pièces
    Obtenir les détails d'une pièces
    Lister les différents type de pièces
    Envoyer une donnée
    Envoyer un ou des logs

Il faudrait pouvoir :
    Ajouter/modifier/Supprimer une pièce
    Obtenir/Ajouter/Modifier/Supprimer un capteur
    Obtenir les logs
    Activer/Désactiver une pièce et un capteur
    Obtenir/Ajouter/Modifer/Supprimer un type de capteur
    Ajouter/Modifier/Supprimer un type de pièces
    Obtenir des informations du serveur (pourrait permettre de vérifier qu'il s'agit bien d'un serveur Ydle)
    Obtenir des relevés - valeurs d'un capteur

Il faudrait aussi harmoniser le nommage des variables de retour (en anglais).

J'attends vos commentaires et idées :)

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: API

Messagepar Yaug » 04 Février 2014, 06:18

Sujet déplacé dans Ihm / Hub où il a plus sa place

Sinon pas grand chose à redire.
Il faudrait en effet pouvoir faire tout ça.

Après, dans l'idéal, il faudrait déjà implémenter tout ce que l'API fourni pour le moment dans l'appli android, puis rajouter au fur et à mesure des fonctionnalités.

Histoire d'évoluer par étape pour valider chaque nouvelle fonction de l'API par la pratique et de ne pas partir dans tous les sens.

Sinon il manque un point crucial : sécuriser l'API :)
Pour le moment c'est ouvert, il n'y a pas de contrôle d'accès (juste des contrôles de sécurité pour que les données matchs bien avec une donnée enregistrée.
C'est un point qu'il faudra travailler sur la 0.6

dumoulin.jb
Messages : 36
Inscription : 25 Janvier 2014, 03:48

Re: API

Messagepar dumoulin.jb » 04 Février 2014, 09:29

Bien-sur il va falloir sécuriser tout ça ! Mais on m'a dit pour le moment on fait le fonctionnel ! ^^

dumoulin.jb
Messages : 36
Inscription : 25 Janvier 2014, 03:48

Re: API

Messagepar dumoulin.jb » 07 Février 2014, 13:19

Bonjour,

Je vois que l'API avance ! C'est cool ! Je peux m'y mettre également si l'on m'explique la manipulation des données (j'ai compris le routing et la réponse).

Quelques petites remarques au passage :

    - Actuellement nous n'utilisons pas les codes HTTP dans l'api, il faudrait employer les bons codes afin de gérer plus facilement les erreurs côté client.
    - De ce que j'ai compris, la vérification de la méthode d'appel est faite lors du routing "_method: GET", il est donc inutile de revérifier la méthode dans le controller "if(!$request->isMethod('POST'))". Il faudrait, à mon avis, gérer l'appel d'un service avec une mauvaise méthode : retour code HTTP 405 de façon générique.
    - Lors de mauvais paramètres nous devrions retourner une erreur 400

    - Actuellement, pour le service api/rooms, nous retournons le "name" du type de room, nous devrions plutôt retourner l'"id" ou bien le type en entier (sous forme JSON).
    - Je propose, pour le service api/rooms, d'ajouter un paramètre d'appel "sensors" permettant de déterminer si le client souhaite avoir la liste des capteurs dans le champs "sensors" ou bien simplement le nombre de capteurs présents dans la pièce.

Voilà pour le moment :)

PS: Si quelqu'un peut inscrire dans le wiki la description des logs ça serait sympa :)

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: API

Messagepar Yaug » 07 Février 2014, 13:23

Pour l'évolution de l'API, je vois ça pour la 0.6
car on a pas besoin de plus actuellement.
Du coup, ce que tu pourrais faire : c'est créer une liste de proposition pour la 0.6 pour l'API
qu'en dis tu ?

Avatar de l’utilisateur
sguernion
Messages : 100
Inscription : 23 Juillet 2013, 13:24
Localisation : Rennes
Contact :

Re: API

Messagepar sguernion » 07 Février 2014, 13:34

j'ai ajouter dans l'api, les service qui concerne les pièces
- Ajouter/modifier/Supprimer une pièce

je vais sans doute ajouter de quoi obtenir des valeurs d'un capteur.Pour pouvoir afficher des graph dans l'application mobile.
- Avoir la valeur courant d'un capteur (valeur en dur pour l'instant dans l'api)
- Obtenir des relevés - valeurs d'un capteur

pour le reste, on attendra la version 0.6

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: API

Messagepar Yaug » 07 Février 2014, 13:39

ok ok niquel
on met tout ça en place durant le hackathon demain alors :)

okay ?

dumoulin.jb
Messages : 36
Inscription : 25 Janvier 2014, 03:48

Re: API

Messagepar dumoulin.jb » 07 Février 2014, 13:41

L'interface graphique web utilise cette API ?
Si non, je ne vois pas l’intérêt d'attendre une la version 0.6 pour mettre l'api à jour ... Elle peut très bien évoluer à son rythme, non ?

Et si, pour l'application, on a besoin de plus ...

Sinon pour la liste, je comptais faire une proposition de description de l'api intégrant les évolutions.

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: API

Messagepar Yaug » 07 Février 2014, 13:50

non le hub ne l'utilise, pas : il la fournit

et pour cette raison, on fixe le dev pour la 0.5

Car il faut bien arriver à des étapes fixées et fonctionnelles de temps à autre.

Avatar de l’utilisateur
sguernion
Messages : 100
Inscription : 23 Juillet 2013, 13:24
Localisation : Rennes
Contact :

Re: API

Messagepar sguernion » 07 Février 2014, 14:11

la version 0.6 va suivre juste après la 0.5 donc l'Api va continuer d'évoluer.


Revenir vers « Hub »

Qui est en ligne ?

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

cron