Skip to content

Connexion de l'Utilisateur

Date de création : 24 novembre 2025
Dernière modification le : 24 novembre 2025
Dernière modification par : Vanessa LEROY


📊 Flux Complet

L'utilisateur peut choisir de se connecter Ă  tout moment sur l'application et choisit soit une connexion par : - email/mot de passe - Google - Apple

À l'issue de son inscription, l'utilisateur a accès à une période d'essaie de 30 jours avec l'accès à toutes les fonctionnalités payantes. Si l'utilisateur n'effectue aucun paiement après la fin de la période d'essaie, alors il revient à un compte sans aucun privilège.

À chaque connexion, une vérification de son statut est effectuée.

En résumé :

Télécharge l'application → Accès gratuit → Inscription → Authentification → Création Profil → Rôle Trial (30j) → Connexion → Vérification statut → Rôle Trial (si période d'essai) → Accès complet → Rôle Expired (si non-paiement après période d'essai) → Accès gratuit

📋 Processus détaillé de l'inscription

1. Inscription via Firebase UI Auth

  • L'utilisateur s'inscrit via Firebase UI Auth (email/mot de passe, Google, Apple)
  • Le système dĂ©tecte automatiquement la nouvelle connexion

Si l'utilisateur utilise la même adresse email avec deux méthodes de connexion différente, alors Firebase regroupe les données utilisateurs. Cela permet à l'application de fonctionner optimalement sans créer deux utilisateurs différents pour le client.

2. Création Automatique du Profil Utilisateur

Le système crée automatiquement un profil utilisateur dans la base de données lors de la première connexion avec : - Rôle défini : Trial - Date de fin d'essai : date actuelle + durée de la période d'essai - Langue par défaut : français - Champs profil : initialisés avec valeurs vides (à compléter par l'utilisateur)

3. Vérification Email (si applicable)

Pour les comptes email/mot de passe : - Vérifie si c'est un compte email/mot de passe - Envoie automatiquement un email de vérification - Continue même si l'envoi échoue (ne bloque pas l'inscription)

🎯 Constantes Importantes

Constante Valeur Description
Durée d'essai 30 jours Période d'essai automatique
Rôle par défaut Trial Attribution automatique à l'inscription
Base de données app_users Stockage des profils utilisateurs

🔄 Processus autres des Utilisateurs

Étapes automatiques lors de chaque connexion :

  1. Vérifie si le compte existe dans Firestore
  2. Met Ă  jour lastLoginDate avec timestamp actuel
  3. Ajoute un enregistrement Ă  l'historique des connexions
  4. Vérifie le statut de l'essai automatiquement
  5. Vérification de la dernière date de mise à jour du mot de passe si l'inscription utilise un mot de passe (processus à venir)

Étapes automatiques lors de chaque deconnexion :

  1. Met Ă  jour lastLogoutDate avec timestamp actuel
  2. Ajoute un enregistrement Ă  l'historique des deconnexions

Étapes automatiques durant une connexion :

Toutes les 5 minutes, l'application vérifie : 1. Le statut de l'essai 2. Le statut de l'abonnement

Interface utilisateurs

Écrans de connexion

Un bouton de connexion renvoyant vers l'écran de connexion / d'inscription est présent : - Sur l'écran d'accueil - Sur l'écran qui s'affiche lorsque le client tente d'accéder aux détails d'un aliment autre que l'Abricot

L'écran de connexion et d'inscription est le même et permet à l'Utilisateur de choisir sa méthode de connexion. Sur cet écran, l'utilisateur peut signaler un problème surtout s'il rencontre des difficultés à se connecter.

Écrans de deconnexion

Un bouton de déconnexion est présent sur l'écran Profil

Écrans administrateurs

Écran Gestion des utilisateurs permet de : - connaitre l'ensemble des utilisateurs de l'application avec : - leur adresse email - leur nom - leur rôle - leur date d'inscription - modifier le rôle utilisateur manuellement (attention : les automatisations restent maître)

Écran Statistiques utilisateurs permet de visualiser les statistiques de connexion des utilisateurs et ainsi connaitre : - les utilisateurs qui n'utilisent plus l'application depuis plusieurs semaines

Document technique

Fonctionnalités particulières

Mise à jour du rôle de l'Utilisateur réalisées à deux niveaux : - Toute les 5 minutes : Au niveau de l'application dans _startPeriodicStatusCheck() - Toutes les 30 minutes : Au niveau de Firebase en connexion direct avec Stripe (via une fonction)

🔗 Documents Complémentaires