Première tentative pour définir le protocole de communication client-server.
Principe
Le client envoie des requêtes au serveur comprenant un ID et reçoit une réponse mentionnant l’ID. Chaque requête est un objet JSON, en python un dictionnaire de la forme : {‘type’:’typeRequete’, ‘data’:mesParametres}
Types de requêtes
Liste des requêtes possibles (première version) du client au serveur :
- ‘Auth’:identification de l’utilisateur
- ‘CreateUser’: création d’un utilisateur
- ‘CreateScrutin’: création d’un scrutin,
- ‘GetScrutin’: récupération des informations sur un scrutin,
- ‘UpdateScrutin’: modification d’un scrutin existant,
- ‘GetVoteTemplate’: récupération d’un scrutin et des questions associées pour présenter une page de vote,
- ‘CheckAndRegisterVote’: vérification de la validité d’un vote et enregistrement,
- ‘GetResults’: récupèration des résultats d’un scrutin,
- ‘ListScrutins’: liste les scrutins accessibles à l’utilisateur (en cours, terminés…),
- ‘UserGroupManagement’: Gestion des groupes et des droits des utilisateurs
Paramètres par type de requête
– Auth :
data = {‘login’:login, ‘pass’:mot de passe}
ATTENTION : il faut gérer un salt à l’enregistrement d’un nouveau user et donc stocker le login, le salt, et le hash SHA/MD5 de la concaténation (mot de passe + salt).