pcuserveur.lib
Class Serveur

java.lang.Object
  extended by pcuserveur.lib.Serveur

public class Serveur
extends Object

Version:
1.0 Cette classe représente le serveur en lui même.

Un Serveur est caractérisé par les informations suivantes:

Author:
PLU Julien
See Also:
Canal, GestionnaireConnexion, CanalExistantException, CanalInexistantException, Evenement, MonLog, IdentifierException, NbCanauxMaxException

Field Summary
static MonLog logCanaux
           Une instance de MyLogger pour les canaux.
static MonLog logCoDeco
           Une instance de MyLogger pour les connexions/déconnexions.
static MonLog logServeur
           Une instance de MyLogger pour le serveur.
static String MOTD
           Message envoyé par le serveur lors de la connexion d'un client.
 
Constructor Summary
Serveur()
           Constructeur par défaut.
 
Method Summary
 void ajouterGC(Socket socket1)
           Créer et ajouter un GestionnaireConnexion à partir d'un socket dans la listes des gestionnaires.
 void bannirUtilisateur(String login)
           Bannir un client du serveur.
 int canalExistant(String nom)
           Savoir si un canal existe sur le serveur.
 void changerSujetCanal(String nom, String sujet)
           Changer le sujet d'un canal.
static void configuration(int nbCo, int nbC)
           Configuration du serveur par la lecture du fichier de configuration.
 GestionnaireConnexion connexion_directe_accepte(String login)
           Demande de connexion directe avec un autre client.
 GestionnaireConnexion connexion_directe_refuse(String login)
           Refus de la connexion directe avec un autre client.
 GestionnaireConnexion connexion_directe(String login)
           Demande de connexion directe avec un autre client.
 void connexion()
           Connexion à la BDD.
 void creerCanal(String nom, String sujet)
           Creer un canal sur le serveur.
 void deconnexion(int num_gc)
           Déconnexion d'un gestionnaire de connexion.
 void ejecterUtilisateur(String login, String nom_canal)
           Ejecte un utilisateur d'un canal.
static String getIp()
           Méthode qui retourne l'adresse IP internet du poste sur lequel le serveur tourne.
 ArrayList<Canal> getListeCanaux()
           Renvoie la liste des canaux du serveur.
 String informationMembre(String login)
           Connaître les informations concernant un utilisateur du serveur.
 void initialiser()
           Initialise le serveur
static boolean isConnecteInternet()
           Renvoi un booleen pour savoir si le poste est connecté ou non à internet.
 void lancer()
           Lance le serveur.
 String listerCanaux(String nomCanal)
           Lister les canaux du serveur afin de connaître leur sujet et leur nombre d'utilisateur.
 String listerMembres(String nom_canal)
           Lister les membres d'un canal.
 String listerServeur()
           Liste les utilisateurs du serveur.
 void relancerServeur(String message)
           Relancer le serveur.
 String requeteMOTD()
           Renvoi le MOTD
 void stopperServeur(String message)
           Arrête le serveur.
 void supprimerCanal(String nom)
           Supprime un canal.
 void verifierLoginMdp(String login, String mdp, Utilisateur client)
           Savoir si un utilisateur existe ou non.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logCanaux

public static MonLog logCanaux

Une instance de MyLogger pour les canaux.


logCoDeco

public static MonLog logCoDeco

Une instance de MyLogger pour les connexions/déconnexions.


logServeur

public static MonLog logServeur

Une instance de MyLogger pour le serveur.


MOTD

public static String MOTD

Message envoyé par le serveur lors de la connexion d'un client.

See Also:
(), (int, int)
Constructor Detail

Serveur

public Serveur()
        throws IOException,
               RuntimeException

Constructeur par défaut.

Throws:
IOException - Un envoie à un client a échoué.
RuntimeException - Erreur d'exécution.
Method Detail

ajouterGC

public void ajouterGC(Socket socket1)

Créer et ajouter un GestionnaireConnexion à partir d'un socket dans la listes des gestionnaires.

Parameters:
socket1 - Socket du gestionnaire de connexion à ajouter.

bannirUtilisateur

public void bannirUtilisateur(String login)
                       throws LoginIntrouvableException,
                              IOException,
                              NonConnecteException

Bannir un client du serveur.

Parameters:
login - Login du client à bannir.
Throws:
LoginIntrouvableException - Le client n'existe pas.
IOException - Erreur d'entrée sortie.
NonConnecteException - Utilisateur non connecté.

canalExistant

public int canalExistant(String nom)

Savoir si un canal existe sur le serveur.

Parameters:
nom - Nom du canal à rechercher.
Returns:
La position du canal -1 sinon.

changerSujetCanal

public void changerSujetCanal(String nom,
                              String sujet)
                       throws CanalInexistantException,
                              IOException

Changer le sujet d'un canal.

Parameters:
nom - Nom du canal dont on veut changer le sujet.
sujet - Nouveau sujet du canal.
Throws:
CanalInexistantException - Le canal n'existe pas.
IOException - Un envoie à un client a échoué.

configuration

public static void configuration(int nbCo,
                                 int nbC)
                          throws RuntimeException

Configuration du serveur par la lecture du fichier de configuration.

Parameters:
nbCo - Nombre d'utilisateur connecté sur le serveur.
nbC - Nombre de canaux créé sur le serveur.
Throws:
RuntimeException - Erreur lors de la configuration.

connexion

public void connexion()
               throws ClassNotFoundException

Connexion à la BDD.

Throws:
ClassNotFoundException - Le pilote JDBC est introuvable.

connexion_directe

public GestionnaireConnexion connexion_directe(String login)
                                        throws LoginIntrouvableException

Demande de connexion directe avec un autre client.

Parameters:
login - Login de la personne avec laquelle on veut une connexion.
Returns:
Le gestionnaire de connexion du client.
Throws:
LoginIntrouvableException - Le login n'existe pas.

connexion_directe_accepte

public GestionnaireConnexion connexion_directe_accepte(String login)
                                                throws LoginIntrouvableException

Demande de connexion directe avec un autre client.

Parameters:
login - Login de la personne avec laquelle on veut une connexion.
Returns:
Le gestionnaire de connexion du client.
Throws:
LoginIntrouvableException - Le login n'existe pas.

connexion_directe_refuse

public GestionnaireConnexion connexion_directe_refuse(String login)
                                               throws LoginIntrouvableException

Refus de la connexion directe avec un autre client.

Parameters:
login - Login de la personne avec laquelle on veut une connexion.
Returns:
Le gestionnaire de connexion du client.
Throws:
LoginIntrouvableException - Le login n'existe pas.

creerCanal

public void creerCanal(String nom,
                       String sujet)
                throws CanalExistantException,
                       NbCanauxMaxException

Creer un canal sur le serveur.

Parameters:
nom - Nom du canal à creer.
sujet - Sujet du canal à creer.
Throws:
CanalExistantException - Le canal n'existe pas.
NbCanauxMaxException - Trop de canaux ont été créé.

deconnexion

public void deconnexion(int num_gc)

Déconnexion d'un gestionnaire de connexion.

Parameters:
num_gc - Emplacement du gestionnaire de connexion.

ejecterUtilisateur

public void ejecterUtilisateur(String login,
                               String nom_canal)
                        throws CanalInexistantException,
                               LoginIntrouvableException,
                               NonConnecteException,
                               IOException

Ejecte un utilisateur d'un canal.

Parameters:
login - Login de l'utilisateur à éjecter.
nom_canal - Nom du canal ou se situe l'utilisateur à éjecter.
Throws:
CanalInexistantException - Le canal n'existe pas.
LoginIntrouvableException - Le login est introuvable.
NonConnecteException - L'utilisateur n'est pas connecté sur le canal.
IOException - Un envoie à un client a échoué.

getIp

public static String getIp()

Méthode qui retourne l'adresse IP internet du poste sur lequel le serveur tourne.

Returns:
Adresse IP du serveur sur internet si le poste est connecté à internet L'adresse sur le réseau locale sinon.

getListeCanaux

public ArrayList<Canal> getListeCanaux()

Renvoie la liste des canaux du serveur.

Returns:
La liste des canaux.

informationMembre

public String informationMembre(String login)
                         throws LoginIntrouvableException

Connaître les informations concernant un utilisateur du serveur.

Parameters:
login - Login de l'utilisateur dont on veut connaître les information.
Returns:
Les information de l'utilisateur.
Throws:
LoginIntrouvableException - Le login est introuvable.

initialiser

public void initialiser()
                 throws IOException

Initialise le serveur

Throws:
IOException - Un envoie à un client a échoué.

isConnecteInternet

public static boolean isConnecteInternet()

Renvoi un booleen pour savoir si le poste est connecté ou non à internet.

Returns:
Si le poste est connecté ou non à internet.

lancer

public void lancer()
            throws ClassNotFoundException,
                   RuntimeException

Lance le serveur.

Throws:
ClassNotFoundException - Classe introuvable.
RuntimeException - Erreur lors de l'exécution.

listerCanaux

public String listerCanaux(String nomCanal)
                    throws CanalInexistantException

Lister les canaux du serveur afin de connaître leur sujet et leur nombre d'utilisateur.

Parameters:
nomCanal - Nom du canal à lister (optionnel).
Returns:
Les informations sur le(s) canal (ou canaux).
Throws:
CanalInexistantException - Le canal n'existe pas.

listerMembres

public String listerMembres(String nom_canal)

Lister les membres d'un canal.

Parameters:
nom_canal - Nom du canal ou se situe les membres.
Returns:
Les informations sur les membres du canal.

listerServeur

public String listerServeur()

Liste les utilisateurs du serveur.

Returns:
Les utilisateurs du serveur.

relancerServeur

public void relancerServeur(String message)
                     throws IOException,
                            RuntimeException

Relancer le serveur.

Parameters:
message - Le message à envoyer à tous les client avant le reboot du serveur.
Throws:
IOException - Un envoie à un client a échoué.
RuntimeException - Erreur d'exécution.

requeteMOTD

public String requeteMOTD()

Renvoi le MOTD

Returns:
Le MOTD

stopperServeur

public void stopperServeur(String message)
                    throws IOException

Arrête le serveur.

Parameters:
message - Le message à envoyer aux clients, avant l'arrêt du serveur.
Throws:
IOException - Un envoie à un client a échoué.

supprimerCanal

public void supprimerCanal(String nom)
                    throws CanalInexistantException

Supprime un canal.

Parameters:
nom - Nom du canal à supprimer.
Throws:
CanalInexistantException - Le canal n'existe pas.

verifierLoginMdp

public void verifierLoginMdp(String login,
                             String mdp,
                             Utilisateur client)
                      throws SQLException,
                             IdentifierException,
                             NoSuchAlgorithmException

Savoir si un utilisateur existe ou non.

Parameters:
login - Login de l'utilisateur.
mdp - Mot de passe de l'utilisateur.
client - Utilisateur qui contiendra les informations trouvées.
Throws:
SQLException - Erreur de la BDD.
IdentifierException - La personne est déjà connecté.
NoSuchAlgorithmException - Algorithme du MD5 non trouvé


Copyright © 2010 PCU. All Rights Reserved.