Difference between revisions of "Mptwatch"

From Tmplab
(init)
 
Line 1: Line 1:
 
= Concept =
 
= Concept =
 +
 +
== But ==
  
 
Le but du projet MptWatch est de fournir un moyen de   
 
Le but du projet MptWatch est de fournir un moyen de   
  
* savoir si quelqu'un est présent à la /tmp/mpt
+
* savoir si quelqu'un est présent à la /tmp/mpt via des moyens divers
 
* grapher l'occupation du local
 
* grapher l'occupation du local
  
= Composants =
+
== Historique ==
 +
 
 +
On a souvent eu le problème de savoir s'il y a bien une personne au local sans avoir de moyen de le vérifier. On ne peut pas compter sur un chan IRC pour ça. D'où l'idée d'un système avec un capteur qu'on puisse interroger à distance.
 +
 
 +
En contrepartie, on ne veut pas que ce soit intrusif, donc pas d'images et un système permettant de masquer sa présence : d'où les concepts de présence officielle / officieuse.
 +
 
 +
''Présence officielle'' : celle qui sera manifestée au public
 +
 
 +
''Présence officieuse'' : celle qui sera utilisée en interne
 +
 
 +
 
 +
= Capteur =
 +
 
 +
'''Statut''' : réalisé (par Thierry & Jean Luc)
 +
 
 +
PCB avec une raspberry
 +
 
 +
@todo : image & schema
 +
 
 +
= API =
 +
 
 +
== Statut ==
 +
 
 +
En cours : alban
 +
 
 +
== Appels ==
 +
 
 +
''scheme'' : ?action=verb&param1=foo&param2=bar
 +
 
 +
''verbs'' :
 +
 
 +
  set
 +
    usage
 +
      Sets status (datetime is automatic)
 +
    params
 +
      official : boolean
 +
      unofficial : boolean
 +
      key : shared secret
 +
    security
 +
      IP and key based
 +
 
 +
  get
 +
    usage
 +
      returns the current official status (up or down)
 +
    params
 +
      key : API key
 +
    security
 +
      key based
 +
 
 +
  read
 +
    usage
 +
      returns an array of official and/or unofficial status for a requested period
 +
    params
 +
      datestart : datetime // From x
 +
      dateend : datetime // To x with default = now
 +
      granularity : integer // the level of details requested
 +
      domain : integer // 1: official 2: unofficial 3: both with default=1 
 +
      key : API key
 +
    security
 +
      key based
 +
 
 +
todo :
 +
* dépot GIT
 +
* APIsation
 +
* création des méthodes
 +
* gestion de secret partagé & IP
 +
* gestion de clefs avec limites de droits
 +
 
 +
= Robot IRC =
 +
 
 +
'''Statut''' : Projet alban
 +
 
 +
'''Pourquoi''' : Fournir le statut sur le chan du tmplab
 +
 
 +
todo:
 +
* GIT
 +
* code du bot (présence / daemon / reboot)
 +
* code des appels depuis IRC / API / réponse IRC
 +
 
 +
= Graphes =
 +
 
 +
'''Statut''' : Projet alban
  
== Capteur ==
+
'''Pourquoi''' : Fournir des graphs d'occupation réelle de la salle
'''Statut''' : réalisé
 
  
== API / Base de données ==
+
todo:
'''Statut''' : en cours
 
http://mptwatch.tmplab.org/incoming.php?official=1
 
 
== Clients ==
 
  
=== Robot IRC ===
+
* code des graphs (JS)
'''Statut''' : Projet
+
* code des appels depuis AJAX / API / réponse AJAX
  
=== Robot Mail ===
+
= Développements =
'''Statut''' : Projet
 
  
=== Graphes ===
+
* intégrer une fonctionnalité agenda pour prévoir des dates de présence ?
'''Statut''' : Projet
+
* faire un bot sur mail ?
 +
* faire un signal sur le site ?

Revision as of 01:02, 28 December 2013

Concept

But

Le but du projet MptWatch est de fournir un moyen de

  • savoir si quelqu'un est présent à la /tmp/mpt via des moyens divers
  • grapher l'occupation du local

Historique

On a souvent eu le problème de savoir s'il y a bien une personne au local sans avoir de moyen de le vérifier. On ne peut pas compter sur un chan IRC pour ça. D'où l'idée d'un système avec un capteur qu'on puisse interroger à distance.

En contrepartie, on ne veut pas que ce soit intrusif, donc pas d'images et un système permettant de masquer sa présence : d'où les concepts de présence officielle / officieuse.

Présence officielle : celle qui sera manifestée au public

Présence officieuse : celle qui sera utilisée en interne


Capteur

Statut : réalisé (par Thierry & Jean Luc)

PCB avec une raspberry

@todo : image & schema

API

Statut

En cours : alban

Appels

scheme : ?action=verb&param1=foo&param2=bar

verbs :

 set 
   usage
      Sets status (datetime is automatic)
   params 
     official : boolean
     unofficial : boolean
     key : shared secret
   security
     IP and key based
  get
    usage
      returns the current official status (up or down) 
   params 
     key : API key
   security
     key based
  read
    usage
      returns an array of official and/or unofficial status for a requested period 
   params 
     datestart : datetime // From x
     dateend : datetime // To x with default = now
     granularity : integer // the level of details requested
     domain : integer // 1: official 2: unofficial 3: both with default=1  
     key : API key
   security
     key based

todo :

  • dépot GIT
  • APIsation
  • création des méthodes
  • gestion de secret partagé & IP
  • gestion de clefs avec limites de droits

Robot IRC

Statut : Projet alban

Pourquoi : Fournir le statut sur le chan du tmplab

todo:

  • GIT
  • code du bot (présence / daemon / reboot)
  • code des appels depuis IRC / API / réponse IRC

Graphes

Statut : Projet alban

Pourquoi : Fournir des graphs d'occupation réelle de la salle

todo:

  • code des graphs (JS)
  • code des appels depuis AJAX / API / réponse AJAX

Développements

  • intégrer une fonctionnalité agenda pour prévoir des dates de présence ?
  • faire un bot sur mail ?
  • faire un signal sur le site ?