Comptes
L'idée est de chiffrer les changements suivants pour voir s'ils sont réalisables dans le cadre du projet T-Coph.
Gestion de l'authentification
Pour pouvoir exister en dehors de HumansMatter, il faudrait qu'on puisse fonctionner de manière autonome sur la création de compte. Deux stratégies sont possibles.
On va utiliser du json pour stocker les comptes. On reste sur la structure HM dans un souci de compatibilité derrière, mais c'est le type de données qui fait foi, histoire que les utilisateurs puissent donner du sens au teacherCode.
{"comptes":
{
"TREMLK":{//Le code à 6 lettres peut être remplacer par une autre string type "école Noam Chomsky"
"password":"monmotdepasse",
"groups":[
{
"iconID":"gp1",
"groupName":"Classe de Mme Machin",
"accounts":[
{
"iconID":"1",
"loginCode":"123456",
"deviceLetter":"A"
},
{
"iconID":"2",
"loginCode":"412376",
"deviceLetter":"B"
},
{
"iconID":"3",
"loginCode":"789412",
"deviceLetter":"A"
}
]
},
{
"iconID":"gp2",
"groupName":"Classe de Mme Bidule",
"accounts":[
{
"iconID":"4",
"loginCode":"654321",
"deviceLetter":"A"
},
{
"iconID":"5",
"loginCode":"376412",
"deviceLetter":"B"
},
{
"iconID":"6",
"loginCode":"781294",
"deviceLetter":"A"
}
]
}
]
},
"SDQVNG":{
"password":"monmotdepassesécurisé",
"groups":[
{
"iconID":"gp1",
"accounts":[
{
"iconID":"1",
"loginCode":"974566",
"deviceLetter":"A"
},
{
"iconID":"4",
"loginCode":"798413",
"deviceLetter":"B"
},
{
"iconID":"5",
"loginCode":"465413",
"deviceLetter":"C"
},
{
"iconID":"6",
"loginCode":"165796",
"deviceLetter":"D"
}
]
}
]
}
/*etc.*/
}
}
Le json est fourni au moment du build. On build une version par expé. C'est à mon avis le plus simple
Au 1er lancement le fichier json est lu et les comptes créés sur la tablette (tous). On demande à l'utilisateur de choisir parmi groupes (ici code à 6 chiffres, mais ça peut être le nom de l'école dans la chaine de caractères) et les lettres de tablettes. Puis la tablette est configurée.
Dans l'idéal on peut modifier la lettre de la tablette et le groupe à tout moment (via le panneau de contrôle de l'appli).