Class Controleur

java.lang.Object
client.controleur.Controleur
All Implemented Interfaces:
INotifieur

public class Controleur extends Object implements INotifieur
Classe principale de contrôle de l'application MateZone côté Client. Gère la logique de connexion et le lancement des différentes interfaces utilisateur.
Version:
V1
Author:
Joshua Hermilly
  • Constructor Details

    • Controleur

      public Controleur() throws Exception
      Constructeur de la classe Controleur. Initialise l'interface graphique, établit la connexion WebSocket avec le serveur et configure la couche métier de l'application.
      Throws:
      Exception - si une erreur survient lors de l'initialisation ou de la connexion
  • Method Details

    • lancerApp

      public void lancerApp()
      Lance l'application en affichant la fenêtre de connexion.
    • tenterConnexionClient

      public void tenterConnexionClient(String pseudo, String mdp)
      Tente la connexion d'un client avec ses identifiants. Valide d'abord le format des identifiants avant de procéder à la connexion.
      Parameters:
      pseudo - le pseudonyme de l'utilisateur
      mdp - le mot de passe de l'utilisateur
    • tenterEnregistrement

      public void tenterEnregistrement(String pseudo, String mdp)
      Tente l'enregistrement d'un nouvel utilisateur. Valide d'abord le format des identifiants avant de procéder à l'enregistrement.
      Parameters:
      pseudo - le pseudonyme souhaité pour le nouvel utilisateur
      mdp - le mot de passe souhaité pour le nouvel utilisateur
    • envoyerMessage

      public void envoyerMessage(String message)
      Envoie un message texte dans le chat en appelant le méthode dans le métier.
      Parameters:
      message - le contenu du message à envoyer
    • envoyerPieceJoint

      public void envoyerPieceJoint(String cheminFic)
      Envoie une pièce jointe dans le chat. Lit le fichier depuis le chemin spécifié et l'envoie sous forme de tableau d'octets.
      Parameters:
      cheminFic - le chemin vers le fichier à envoyer en pièce jointe
    • notifierMessage

      public void notifierMessage(ChatEventDTO eventDTO)
      Notifie la réception d'un message depuis le serveur. Délègue la gestion du message à la couche métier.
      Specified by:
      notifierMessage in interface INotifieur
      Parameters:
      eventDTO - l'événement de chat reçu du serveur
      event - l'événement de chat contenant les données du message
    • succesLogin

      public void succesLogin(String pseudo)
      Traite le succès de la connexion d'un utilisateur. Lance l'interface principale de MateZone avec le pseudo de l'utilisateur connecté.
      Specified by:
      succesLogin in interface INotifieur
      Parameters:
      pseudo - le pseudonyme de l'utilisateur qui s'est connecté avec succès
    • notifierErreur

      public void notifierErreur(String erreur)
      Notifie une erreur à l'interface utilisateur.
      Specified by:
      notifierErreur in interface INotifieur
      Parameters:
      erreur - le message d'erreur à afficher
    • afficherListMessage

      public void afficherListMessage(ChatEventDTO lstEventDTO)
      Affiche une liste de messages dans l'interface utilisateur.
      Specified by:
      afficherListMessage in interface INotifieur
      Parameters:
      lstEventDTO - l'événement contenant la liste des messages à afficher
    • afficherNvMessage

      public void afficherNvMessage(ChatEventDTO eventDTO)
      Affiche un nouveau message dans l'interface utilisateur.
      Specified by:
      afficherNvMessage in interface INotifieur
      Parameters:
      eventDTO - l'événement contenant le nouveau message à afficher