États et écrans

États de la caisse

La caisse peut être dans différents états selon la situation :

🔄 BOOTING

Quand : Au démarrage de la caisse, pendant le chargement des données

Écran affiché :

  • Indicateur de chargement
  • Informations du cinéma, entreprise et utilisateur
  • Message “Chargement…”

Actions possibles : Aucune (attente)

✅ READY_OPEN

Quand : Aucune session active, prêt à ouvrir une nouvelle session

Écran affiché :

  • Bouton “Ouvrir session”
  • Informations du cinéma et de l’utilisateur

Actions possibles :

  • Ouvrir une nouvelle session

🔄 READY_CONTINUE

Quand : Session existante du même utilisateur, même jour

Écran affiché :

  • Bouton “Continuer session”
  • Informations de la session existante

Actions possibles :

  • Continuer la session existante

⚠️ READY_MUST_CLOSE

Quand : Session existante d’un autre jour

Écran affiché :

  • Message d’erreur : “Une session d’un autre jour doit être fermée”
  • Informations de la session

Actions possibles :

  • Aucune (intervention manuelle requise)

❌ ERROR_NOT_OWNER

Quand : Session existante appartenant à un autre utilisateur

Écran affiché :

  • Message d’erreur : “La session appartient à un autre utilisateur”
  • Informations de la session

Actions possibles :

  • Aucune (l’autre utilisateur doit fermer sa session)

💼 WORKING

Quand : Session active, interface de vente disponible

Écran affiché :

  • Interface complète de vente
  • Onglets (produits, séances, etc.)
  • Panier à droite
  • Barre de statut en haut

Actions possibles :

  • Toutes les actions de vente
  • Finalisation du panier
  • Fermeture de session

Écrans principaux

Écran de démarrage (BOOTING)

┌─────────────────────────────────────┐
│  [Logo Cinéma]                      │
│                                     │
│  Chargement...                      │
│                                     │
│  Cinéma : [Nom]                     │
│  Entreprise : [Nom]                 │
│  Utilisateur : [Nom]                │
│                                     │
│  [Spinner]                          │
└─────────────────────────────────────┘

Écran prêt à ouvrir (READY_OPEN)

┌─────────────────────────────────────┐
│  [Logo Cinéma]                      │
│                                     │
│  Aucune session active              │
│                                     │
│  [Ouvrir session]                   │
│                                     │
│  Cinéma : [Nom]                     │
│  Utilisateur : [Nom]                │
└─────────────────────────────────────┘

Interface de vente (WORKING)

┌─────────────────────────────────────────────────────────┐
│ [Barre de statut] Session: [Nom] | Caissier: [Nom]     │
├──────────────────────────┬──────────────────────────────┤
│                          │                              │
│  [Onglets]               │  [Panier]                    │
│  ┌────────────────────┐  │  ┌──────────────────────┐  │
│  │ Séances du jour   │  │  │ Articles             │  │
│  │ Produits          │  │  │ - Séance 1   15.00€  │  │
│  │ Prévente          │  │  │ - Produit 1   5.00€  │  │
│  │ ...               │  │  │                      │  │
│  └────────────────────┘  │  │ Total HT:    20.00€  │  │
│                          │  │ Total TTC:   24.00€  │  │
│  [Liste produits/       │  │                      │  │
│   séances]               │  │ [Paiements]          │  │
│                          │  │ - Espèce:    24.00€  │  │
│                          │  │                      │  │
│                          │  │ Reste:        0.00€  │  │
│                          │  │                      │  │
│                          │  │ [Finaliser]          │  │
│                          │  └──────────────────────┘  │
└──────────────────────────┴──────────────────────────────┘

Transitions entre états

stateDiagram-v2 [*] --> BOOTING BOOTING --> READY_OPEN: Aucune session BOOTING --> READY_CONTINUE: Session même utilisateur, même jour BOOTING --> READY_MUST_CLOSE: Session autre jour BOOTING --> ERROR_NOT_OWNER: Session autre utilisateur READY_OPEN --> WORKING: Ouvrir session READY_CONTINUE --> WORKING: Continuer session WORKING --> READY_OPEN: Fermer session + redémarrage READY_MUST_CLOSE --> [*]: Intervention manuelle ERROR_NOT_OWNER --> [*]: Intervention manuelle

Messages et notifications

Messages d’information

  • “Chargement…” : Pendant le boot
  • “Session ouverte avec succès” : Après ouverture
  • “Panier finalisé avec succès” : Après finalisation

Messages d’erreur

  • “Il reste X à régler” : Paiement incomplet
  • “Erreur lors de l’enregistrement” : Erreur de sauvegarde
  • “Imprimante indisponible” : Erreur d’impression
  • “Une session d’un autre jour doit être fermée” : Session à fermer
  • “La session appartient à un autre utilisateur” : Session d’un autre caissier

Messages de validation

  • “Voulez-vous vraiment fermer la session ?” : Confirmation de fermeture
  • “Voulez-vous vraiment annuler ce panier ?” : Confirmation d’annulation

Indicateurs visuels

Barre de statut

En haut de l’écran, la barre de statut affiche :

  • Nom de la session
  • Nom du caissier
  • Heure actuelle
  • Statut de connexion (si applicable)

Indicateurs de chargement

  • Spinner : Pendant les opérations en cours
  • Barre de progression : Pendant la finalisation
  • Messages de statut : “Enregistrement…”, “Impression…”

Codes couleur

  • Vert : Succès, validation
  • Rouge : Erreur, alerte
  • Orange : Attention, avertissement
  • Bleu : Information