Aller au contenu

Comptes et connexion

Une seule table de comptes porte les apprenants et les administrateurs. L’identifiant de connexion est l’e-mail ou le téléphone ; l’un des deux au moins est renseigné, la base le vérifie.

  • Les apprenants n’ont pas de mot de passe : ils reçoivent un code à usage unique et l’échangent contre un jeton d’appareil. C’est le chemin de l’application mobile.
  • Les administrateurs ont un mot de passe pour le back-office.
  1. L’application envoie l’identifiant. Il est normalisé : e-mail en minuscules, téléphone au format international (06… devient +2126…).
  2. Un code à six chiffres est généré, jamais stocké en clair — seule une empreinte HMAC liée à la clé de l’application l’est —, et envoyé par le canal du type d’identifiant.
  3. L’application renvoie le code avec la description de l’appareil (clé stable, plateforme, nom, version). En retour : un jeton, le compte, l’appareil.

Règles : le code expire (cinq minutes par défaut) ; cinq tentatives au plus, puis il faut en redemander un ; un seul code actif par identifiant, le précédent est invalidé ; un code ne sert qu’une fois. Les demandes sont limitées par adresse et par identifiant. Ces durées sont des réglages.

Canaux. L’e-mail fonctionne dès maintenant. Le SMS et WhatsApp attendent le choix du fournisseur (ADR-0006) : la place est prête dans la configuration ; en attendant, un téléphone est refusé avec un message explicite, jamais un silence.

Tant que le réglage Inscriptions ouvertes est fermé, seul un compte invité dans le back-office peut recevoir un code : c’est la liste des testeurs. Un compte passe d’invité à actif à sa première connexion réussie. Ouvrir les inscriptions permet à tout identifiant de créer son compte au premier code — le fonctionnement prévu au lancement commercial.

Chaque connexion mobile crée ou rafraîchit un appareil et lui attache un jeton. Se reconnecter depuis le même appareil remplace le jeton précédent ; se déconnecter le révoque. Désactiver un compte révoque tous ses jetons. La limitation du nombre d’appareils (lot L8) et les notifications (lot L10) se brancheront sur cette table sans nouveau schéma.

État Signification
invited Créé par un administrateur, jamais connecté.
active S’est connecté au moins une fois.
disabled Refusé partout ; ses appareils sont déconnectés.

Connexion par e-mail et mot de passe, limitée à cinq tentatives par minute. Un administrateur désactivé est refusé. Un administrateur ne peut ni se désactiver lui-même ni se retirer son rôle. La double authentification est souhaitée en V1 ; le point d’entrée existe.