TP Pilote automatique Durée:6h Objectifs : En langage Java iris2 Clients TCP, SQL en Java - réaliser un client TCP - effectuer des requêtes SQL - afficher une table de données sous forme de tableau - développer une IHM - gérer un thread Partie 1: TCP On désire afficher l'état de la barre à partir de trames XML émises par le serveur TCP pilote sur le port 5001. Utilisations d' un Applet: L'applet peut être intégré dans une page HTML dans quel cas on précise dans les options du projet la classe à lancer et les différents fichiers doivent être insérés dans un fichier d'archive Jar. L'applet peut être exécuté comme une application autonome dans quel cas on précise quelle est la classe contenant la fonction main. Les différents fichiers peuvent être toujours insérés dans un fichier d'archive Jar. Ainsi il suffit de cliquer dessus afin de lancer l'application; l'extension jar ne devant pas être reliée à WinRar mais à la JVM. Travail demandé : A partir des fichiers situés dans le projet JavaProjectClient1 1) Projet - Donner les liaisons entre les classes Applet1, Invite et Ihm. -Déterminer le rôle de la classe Invite. -Justifier le rôle du try catch dans la méthode jButton1_actionPerformed de la classe invite. 2)Classe Client Méthode Envoyer Rôle: doit envoyer le message reçu en paramètre en utilisant l'objet Emetteur le message doit être suivi d'un Line Feed ☺ Compléter cette méthode. Méthode Recevoir Rôle: doit recevoir la réponse du serveur et la retourner. On utilise l'objet Recepteur ☺ Compléter cette méthode. 3) Classe IHM Méthode TraiteEtat - Etudier le fonctionnement qui permet de parcourir une trame XML - Compléter cette méthode afin de que le jPanel1 et le jSlider1 représentent l'angle de barre. Mode AUTO : Dans ce mode des requêtes sont émises périodiquement - instancier un objet TacheClient avec une référence sur l'IHM, le port et l'adresse du serveur - se placer dans le mode AUTO - démarrer le thread 4) Classe TacheClient dérive de la classe Thread Son constructeur initialise une référence sur L'IHM. De plus il instancie un client Tcp avec le port et l'adresse du serveur reçue en paramètre. ☺Réaliser cette méthode. L'appel de la méthode start lance l'exécution de la méthode run . Celle-ci doit : se connecter demander la position de la barre en envoyant ETAT? Recevoir la réponse si la réponse débute par <Position> appeler la méthode TraiteEtat de la classe Ihm se déconnecter ☺ Compléter cette méthode. 5) Classe BarrePanel Dans la méthode paint, expliquer les paramètres reçus par drawline Partie 2 : SQL Les informations issues du serveur doivent être mémorisées dans une table de données. Travail demandé: 1) Tester et étudier les classes sql et table. Comparer les données avec PhpMyAdmin. 2) Créer une table permettant de mémoriser la position de la barre, la latitude, la longitude et la consigne. 3) Modifier la classe sql afin de mémoriser les informations issues du serveur Tcp dans la base de données. Ces informations seront également affichées avec la méthode ihm:Affiche. 4) Adapter la classe table afin de gérer votre table de données. 5) Modifier les classes invite et Sql afin que les paramètres soient privés. Néanmoins on désire afficher le serveur, la base et l'utilisateur. 6) La classe table doit utiliser les paramètres de invite ou du main 7) Modifier le main(application) afin d'afficher l'invite permettant de sélectionner le serveur. 8) Tester le fichier jar en l'exécutant en application et en l'intégrant dans une page HTML comme archive d'applet. 9) Modifier la méthode TraiteEtat de la classe Ihm en remplaçant les fonctions « parser » avec les méthodes de la classe String. Critères d'évalution: - avancement du travail - degré d'autonomie - rédaction et qualité du compte-rendu