Guidelines - OpenWeek/data-logger GitHub Wiki

Multi Utilisateurs

Il existe différents types d'utilisateurs :

  • Admin :
    • Super utilisateur ayant accès à toutes les parties du programme.
      • RW sur la configuration de la récolte / stockage / présentation des données.
    • Valide les actions des autres utilisateurs.
  • Utilisateurs sans droits :
    • Accès en RO à certaines données spécifiées.
  • Utilisateurs avec droits spécifiques :
    • Peut ajouter un certain nombre (limité par un Admin) de capteurs et de données associées (L'ajout de capteur / source de donnée doit être validée par un Admin)
  • Non-utilisateur :
    • Certaines données sont accessibles publiquement.

Sécurité

  • Identification / authentification / autorisation des Utilisateurs

  • Identification / authentification / autorisation des Clients

  • Collection des données :

    • Le lien entre les clients et les DB est sécurisé
  • Stockage des données :

    • Seul un admin peut valider l'ajout / la modification / la suppression d'une DB
  • Affichage des données :

    • L'accès aux données est régulé par les droits des Utilisateurs
    • La transition des données est sécurisée.

Fiablité

  • Fiabilité des services :

    • Les services utilisés sont toujours opérationnels. Une alerte peut être envoyée aux personnes concernées en cas de problème.
    • Les clients sont toujours opérationnels. Le programme doit détecter si l'un des clients ne répond pas normalement.
  • Fiabilité du stockage des données :

    • Les données stockées sont permanantes et résistantes en cas de pannes hardware

Simplicité

  • Simplicité d'ajout d'un client :
    • (Thumb rule : doit prendre moins de 2 minutes)
    • Simplicité d'autorisation du client à se connecter au système
    • Simplicité de configuration des données à récolter
      • côté client : code à flasher directement sur le client (éviter à l'utilisateur de recoder chaque client)
      • côté server : création de la/les BDD + autorisation d'accès du client au différentes couches du programme.
    • Tout type de client supporté (différents moyen de transport physique, ex: WIFI, LoRa, ...)

En tant qu'utilisateur, je veux ouvrir une page web pour ajouter une plateforme WiFi ESP8266, choisir dans une liste déroulante les capteurs TSL2561 et BMP280, la fréquence de capture des données, la localisation du capteur et appuyer sur un bouton pour flasher le code sur la plateforme de telle manière à ce qu'il ne me reste plus qu'à brancher une batterie dessus et la placer à l'endroit désiré.