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.
  • Constructor Details

    • Controleur

      public Controleur(String ADRESSE, int CHATPORT, int IMGPORT) 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
    • changerChannel

      public void changerChannel(int idChannel, String nomChannel)
      Change le channel courant.
      Parameters:
      idChannel - l'id du nouveau Channel
    • 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
    • getAdrServImg

      public String getAdrServImg()
    • 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
    • afficherListChannel

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

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