Difference between revisions of "Mptwatch"

From Tmplab
(init)
 
(Appels)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Concept =
 
= Concept =
  
Le but du projet MptWatch est de fournir un moyen de 
+
== But ==
  
* savoir si quelqu'un est présent à la /tmp/mpt
+
Le but du projet MptWatch est de fournir un moyen :
* grapher l'occupation du local
 
  
= Composants =
+
* de savoir si quelqu'un est présent à la /tmp/mpt via des moyens divers
 +
* de grapher l'occupation du local
 +
* autres à déterminer ;)
  
== Capteur ==
+
== Historique ==
'''Statut''' : réalisé
 
  
== API / Base de données ==
+
'''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. '''
'''Statut''' : en cours
 
http://mptwatch.tmplab.org/incoming.php?official=1
 
 
== Clients ==
 
  
=== Robot IRC ===
+
On ne peut pas compter sur un chan IRC pour ça.
'''Statut''' : Projet
 
  
=== Robot Mail ===
+
D'où l'idée d'un système avec un capteur qu'on puisse interroger à distance.
'''Statut''' : Projet
 
  
=== Graphes ===
+
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.
'''Statut''' : Projet
+
 
 +
''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:
 +
* faire un boitier avec le switch "masquer ma présence"
 +
* documenter l'installation de la rasperryBi
 +
* documentation : photo & schema
 +
 
 +
= API =
 +
 
 +
== Statut ==
 +
 
 +
En cours : alban
 +
 
 +
== Appels ==  
 +
 
 +
''scheme'' : ?action={get|set|read}&key={yourKey}&param2={moreParamsAccordingToMethod}
 +
 
 +
''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 :
 +
* création des méthodes
 +
* gestion de secret partagé & IP
 +
* gestion de clefs avec limites de droits
 +
 
 +
= Robot IRC =
 +
 
 +
'''Statut''' : Projet sam
 +
 
 +
'''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 ?

Latest revision as of 13:14, 29 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
  • de grapher l'occupation du local
  • autres à déterminer ;)

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:

  • faire un boitier avec le switch "masquer ma présence"
  • documenter l'installation de la rasperryBi
  • documentation : photo & schema

API

Statut

En cours : alban

Appels

scheme : ?action={get|set|read}&key={yourKey}&param2={moreParamsAccordingToMethod}

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 :

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

Robot IRC

Statut : Projet sam

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 ?