Dimanche 11 Mai 2008
~ X. La partie client ~
Menu
> Accueil

Programmation
> Algorithmes de tri
> Java

Réseaux Telecom
> Logiciel Vigie

Dossiers
> Trajectoire de comètes
> Gestion d'emploi du temps
> Tracking d'internautes
> Référencement
> Open Office
> Multi-agents dans les EIAH

Divers
> Album Photo
> Citations
> Recettes
> Bibliothèque
> Logiciels
> Mini-Annuaire

A propos
> Mon CV
> Me contacter
Recherche
Google
Sur ce site
Sur le web
Annonces
Accueil > Tracking d'internautes > La partie client
sommaire
precedent accueil suivant
charger/consulter

1. Introduction

La partie client a pour but de permettre à l'utilisateur d'exploiter les informations contenues dans la base de données. Cette partie du projet s'éloignant fortement du type d'application qui sera développés au cours du stage, seules des contraintes minimalistes ont été imposées par le cahier des charges : afficher le contenu de la base et pouvoir effectuer quelques requêtes. La volonté d'appréhender la plus grande partie des concepts du langage Java a aboutit sur la réalisation d'une application client plus complète utilisant une partie des composants graphiques fournis par le langage.

2. Présentation de l'AWT et de SWING

L'AWT - Abstract Windows Toolkit - est une série de classes qui permettent de réaliser des interfaces graphiques élaborées, tout en conservant l'aspect portable qu'offre le langage Java. Elles utilisent cependant en partie des outils propres au système pour afficher et gérer les composants qu'elles produisent : ceci implique que l'AWT n'est pas totalement portable. Cela constitue tout de même une révolution puisque dans la plupart des langages, les bibliothèques de programmation d'interfaces graphiques sont spécifiques à un système d'exploitation donnée. L'AWT a été défini dès la version 1.0 de Java et peut donc être également utilisée pour réaliser des applets.


La bibliothèque SWING est une évolution de l'AWT qui se veut être " 100% Java. " Toujours en cours de développement, elle s'appuie sur l'AWT pour réaliser ce qu'elle ne peut faire seule. Même si les composants SWING ne permettent pas encore de s'affranchir totalement du système sur lequel ils tournent, ils sont plus portables que l'AWT. Ceci se traduit malgré tout par une utilisation plus importante des ressources du système : le gain au niveau de la portabilité s'effectue donc au détriment de la vitesse d'exécution.


Pour créer une interface graphique, il faut, dans un premier temps créer une fenêtre. A chaque fenêtre est associé un composant particulier appelé conteneur. C'est dans ce dernier que seront ajoutés les différents composants de la fenêtre (boutons, zones de texte, cases à cocher... mais aussi d'autres conteneurs).

Chaque composant de la fenêtre génère des événements. C'est le cas par exemple quand un utilisateur clique sur un bouton ou valide une zone de texte. Ces événements doivent être interceptés par des classes particulières appelées écouteurs. Ce sont des interfaces qui doivent être implémentées par l'utilisateur. Chaque objet doit ensuite être associé à la classe qui l'écoute.

Tout programmeur d'interface graphique doit donc avoir en tête le schéma suivant :


swing

3. Présentation des différentes classes de la partie client

a. La classe " GestionBaseClient "

Elle reprend une grande partie de l'implémentation de la classe gestionBase de la partie serveur tout en adaptant les méthodes et en en créant de nouvelles.

Les données et les méthodes constructeur, " envoiUpdate ", " envoiRequete ", " nbConnections ", " ajouteIncrementActualise " sont les mêmes que pour la partie serveur.


De nouvelles méthodes apparaissent cependant :

b. La classe " ApplicationClient "

Elle dérive de la classe " JFrame " et implémente l'interface " ActionListener ". Elle possède trois méthodes :

Elle possède de nombreux arguments qui ne seront pas listés ici. Une grande partie d'entre eux est publique afin de permettre aux fenêtres filles d'agir sur la majeure partie des éléments de la fenêtre principale.

c. Les classes " Menu "

Ce sont les classes " MenuPreferences ", " MenuSupprimer " et " MenuRequete ". Elles créent des fenêtres qui permettent de réaliser des actions sur la base données ou sur les paramètres d'affichage de la fenêtre principale. Les fenêtres correspondantes apparaissent lorsque l'utilisateur clique sur préférences, suppression ou requête de l'onglet option du menu de la fenêtre principale.

Ces trois classes dérivent de la classe " JFrame " et implémentent l'interface " ActionListener ", elles possèdent les méthodes suivantes :

d. La classe " BarreOutilsComptage "

Elle prend en charge la barre d'outils qui apparaît en haut de la page principale ou lorsque l'utilisateur sélectionne l'option " barre d'outils " dans le menu " Options ". Cette classe dérive de la classe " JToolBar " et implémente l'interface " ActionListener ". Elle possède quatre méthodes :

e. La classe " Projet "

Elle ne possède qu'un constructeur sans argument qui crée une instance de la classe " ApplicationClient ".

4. Présentation de l'interface client

Le but de cette partie est de présenter l'utilisation pratique de la partie client. Pour exécuter le programme client, il suffit d'appeler la classe Projet à l'aide d'une machine virtuelle Java.

a. La fenêtre principale

C'est elle qui apparaît en premier lors du lancement du programme. Cette fenêtre est composée de trois parties : une barre de menu, une barre d'outils et un champ texte. C'est dans ce dernier que sont affichés les différents éléments de la base de données.

fenetre principale

b. Les différentes options du menu :

i. Le menu " Fichier "


menu fichier

Il possède deux options :

ii. Le menu " Affichage "


Menu classer par

Il permet de sélectionner les différents éléments de la base de données que l'utilisateur souhaite afficher.

iii. Le menu " Classer par "


Menu classer par

Il permet de choisir le critère suivant lequel les informations affichées seront classées.

iv. Le menu " Options "


Menu classer par

C'est grâce à ce menu que vont pouvoir être effectuées les différentes requêtes sur la base de données. Il permet également de redéfinir les caractéristiques de la fenêtre principale.

v. Le menu " Aide "


Menu classer par

Il permet d'afficher l'aide du logiciel ou la fenêtre " A propos "

c. La fenêtre " préférences "


Menu classer par

Elle permet de choisir la position et la taille (en nombre de caractères) des différents champs. Il faut retenir que deux champs ne peuvent être à la même position et que leur taille est limitée.

d. Les fenêtres " requêtes " et " suppressions "

Elles ont toutes deux le même aspect et permettent de générer des expressions conditionnelles qui permettront d'afficher, ou de supprimer, une partie des informations de la base de données.


Menu classer par

Remarque : les champs motif de comparaison et requête (ou suppression) de type sont obligatoires.

e. La barre d'outils

Elle apparaît lors du lancement de l'application. L'utilisateur peut la faire disparaître ou réapparaître à volonté en cochant l'option du menu. Il peut également la déplacer à n'importe quel endroit de la fenêtre, et même la placer dans une fenêtre indépendante.


Menu classer par

La barre d'outils est composée de 5 éléments qui constituent trois parties :

charger/consulter
sommaire
precedent accueil suivant
Accueil > Tracking d'internautes > La partie client