TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive Jour3.zip Bidouilles Tomcat a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip. b) Créer le fichier script lancetomcat.bat dans votre répertoire de travail qui va permettre de lancer le serveur tomcat. C'est par exemple : fichier lancetomcat.bat ------------------- @REM Les valeurs des variables ci dessous sont surement à @REM changer et dépendent de votre environnement set JAVA_HOME=C:\Applications\jdk set CATALINA_HOME=C:\Applications\Tomcat-7.0.34 %CATALINA_HOME%\bin\startup.bat ------------------- Comme indiquer il faut ajuster les variables suivant les répertoires d'installation de tomcat et du JDK (Java SE). c) Ouvrer une fenêtre windows dans votre répertoire de travail et lancer ce script lancetomcat.bat. Ouvrer un navigateur et connecter vous à l'url http://localhost:8080. Vous devriez avoir une fenêtre comme : d) Créer le fichier script arretetomcat.bat dans votre répertoire de travail qui va permettre d'arrêter le serveur tomcat. C'est par exemple : fichier arretetomcat.bat -------------------- @REM Les valeurs des variables ci dessous sont surement à @REM changer et dépendent de votre environnement set JAVA_HOME=C:\Applications\jdk set CATALINA_HOME=C:\Applications\Tomcat-7.0.34 %CATALINA_HOME%\bin\shutdown.bat 1/5
-------------------- En ajustant les variables comme indiqué en b). f) lancer le script arretetomcat.bat. Tomcat doit être arrêté, Vérifier le en essayer de vous connecter dans votre navigateur à l'url http://localhost:8080. g) relancer tomcat et, après avoir obtenu, la page d'url http://localhost:8080, cliquer sur le "bouton" "Manager App" (au milieu de la fenêtre à droite). Une fenêtre doit apparaître demandant Utilisateur et Mot de passe. Taper le couple (admin, admin). Si vous ne parvenez pas à vous connecter, lisez le message d'erreur! Bon, en fait, pour corriger cette erreur d'accès (;-)), éditer le fichier conf\tomcatusers.xml (fichier de configuration tomcat-users.xml situé dans le répertoire conf sous l'arborescence de tomcat). Pour Tomcat 7, il devra contenir : <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <user username="admin" password="admin" roles="manager-gui"/> </tomcat-users> (comme indiqué dans le message d'erreur;-)). Remarque : En cas de problème arrêter et relancer le serveur tomcat (cf. étape g). Après authentification du gestionnaire de tomcat dans votre navigateur, et en cliquant sur le lien "Lister les applications", vous devez obtenir une page comme : 2/5
Bidouilles application Web Déployer l'application web GestionnaireCompteBancaire.war se trouvant dans le.zip distribué dans le serveur web tomcat, à l'aide de l'outil Gestionnaire d'applications WEB Tomcat qui est la page que vous avez obtenu à la question précédente g). Il faut pour cela aller en bas de cette page et déployer (téléverser!) GestionnaireCompteBancaire.war. 1 ) Accéder à votre magnifique site web (euh une page HTML!) à l'aide d'un navigateur web après avoir lancé le serveur web tomcat à l'aide d'une URL de la forme http://localhost:8080/gestionnairecomptebancaire/ 2 ) Utiliser l'url vlet?operation=getsolde pour voir le solde de votre compte bancaire 3 ) Utiliser l'url vlet?operation=debiter&quantite=50.0 pour débiter votre compte bancaire de 50 euro. Vérifier que le débit a été fait. 4 ) Utiliser l'url vlet?operation=crediter&quantite=30.0 pour créditer votre compte bancaire de 30 euro. Vérifier que le virement a été fait. Le client Android 5 ) Ecrire une application Android qui permettra de manipuler le compte bancaire. On peut avoir un "écran d'accueil" comme : 3/5
6 ) Ecrire le code qui permet d'obtenir le solde du compte bancaire, c'est à dire, lorsque l'utilisateur clique sur le bouton "Obtenir le solde", l'application lance une nouvel écran qui affiche le solde. Par exemple avec les émulateurs AVD, on pourra obtenir : Remarque a) Il faut évidemment utiliser l'url que vous avez trouvée à la question 3.1. Si, à cette quesstion, vous aviez utilisé localhost, cela a (malheureusement!) fonctionné. Dans le cas du smartphone ou des AVD, lors de l'exécution du programme, que signifie localhost? Il faut donc mettre, dans les deux cas navigateur web (question 3.x) et smartphone, l'adresse IP de la machine à atteindre. On obtiendra cette adresse à l'aide des commandes ipconfig (windows) ou ifconfig (Unix). b) Il suffit de compléter les parties TO DO dans les classes GetSoldeActivity, CrediterActivity et DebiterActivity. 7 ) Ecrire le code qui permet de déduire du solde du compte bancaire, la somme indiquée par l'utilisateur dans l'écran d'accueil, c'est à dire, lorsque l'utilisateur clique sur le bouton "Retirer", 4/5
l'application Android retire la somme indiquée et lance une nouvel écran. Par exemple avec les émulateurs, on pourra obtenir : Vérifier que le compte bancaire a bien été débité avec l'une ou l'autre de vos applications clientes. 8 ) Faire de même avec l'opération créditer. L'architecture client-serveur (client Android, serveur servlet) Vous devez désormais pouvoir manipuler votre compte bancaire par un client web ou un téléphone portable sous Android et vérifier les opérations faites par un client à l'aide de l'autre client. Bonus 9 ) Si votre compte bancaire est en fait géré par l'application web de l'ordinateur voisin, modifier vos clients pour qu'ils puissent manipuler ce compte bancaire. Vous aurez besoin du numéro IP de l'ordinateur voisin. 10 ) De même, puisque votre servlet gère un compte bancaire, en supposant que celui-ci est celui de votre voisin, demander lui de gérer son compte en se connectant sur votre servlet. Vous devrez, pour cela, lui communiquer le numéro IP de votre machine et il devra modifier le code de son application Android. 5/5