Documentation concernant les projets TWM à l'usage des étudiants

Rubriques

Configuration mise à votre disposition

Apache

Le serveur Apache sert des pages web sur le port 80. Il est utilisé pour les projets qui ne contiennent pas de partie serveur.

Exemple : http://licinfo/tutoj2ee/.

Tomcat + MySQL

Le serveur Tomcat sert des servlet sur le port 8080.

Exemple : http://licinfo:8080/tutoj2ee/.

Connexion SSH sur le serveur

il est possible de se connecter au serveur licinfo en SSH.

login@cufr-ubuntu-tp$ ssh dev@licinfo
dev@licinfo's password: 
Linux licinfo 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64
 _   _       _                _ _____ ____       _    _ _     _ 
| | | |_ __ (_)_   __        | |  ___/ ___|     / \  | | |__ (_)
| | | | '_ \| \ \ / /____ _  | | |_ | |        / _ \ | | '_ \| |
| |_| | | | | |\ V /_____| |_| |  _|| |___    / ___ \| | |_) | |
 \___/|_| |_|_| \_/       \___/|_|   \____|  /_/   \_\_|_.__/|_|
                                                                

La config. système de serveur est gérée par FAI (Fully Automatic Installer)

Merci de consulter le fichier /usr/local/share/doc/fai.txt avant toute
 modification de fichier de configuration sur ce serveur.

	licinfo - Last FAI update : jeudi 13 mars 2014, 17:29:51 (UTC+0100)


Last login: Mon Mar 17 13:41:29 2014 from 172.16.12.127
dev@licinfo:~$ 

On retrouve dans le repertoire apache_www les différents répertoires des projets.

dev@licinfo:~$ cd apache_www
dev@licinfo:~/apache_www$ ls
adullact     etatheures  index.html     tutoj2ee    ueouverture
albimeconnu  fatgame     memorise       twmprojets  velochampo
bilansocial  fourier     questionnaire  uelicinfo
dev@licinfo:~/apache_www$ cd tutoj2ee
dev@licinfo:~/apache_www/tutoj2ee$ ls
index.html

Le fichier index.html est disponible au public par l'URL http://licinfo/tutoj2ee/

Upload des fichiers sur le serveur Apache

Pour uploader les fichiers de l'application web sur le serveur Apache, il faut utiliser le protocole FTP sécurisé.

On peut le faire en ligne de commande, sous Linux

login@cufr-ubuntu-tp$ sftp dev@licinfo
dev@licinfo's password: 
Connected to licinfo.
sftp> cd apache_www/tutoj2ee/
sftp> put index.html 
Uploading index.html to /var/www/tutoj2ee/index.html
index.html                                    100%  388     0.4KB/s   00:00    
sftp>exit
login@cufr-ubuntu-tp$

Il est également possible d'utiliser un logiciel muni d'une interface graphique comme WinSCP, FileZilla, etc.

Connexion à la base de données MySQL

Une fois connecté en SSH au serveur licinfo, il est possible de se connecter localement au serveur MySQL qui héberge les bases de données de tous les projets.

dev@licinfo:~$ mysql -h 127.0.0.1 -u u_tutoj2ee -p
Enter password: 
mysql> 

En fonction du login/mot de passe utilisé, vous avez accès à la base de données du projet

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_tutoj2ee      |
+--------------------+
2 rows in set (0.00 sec)

mysql> 

La commande 'use' permet de se connecter à une base.

mysql> use db_tutoj2ee
Database changed

La commande 'show tables' montre qu'un seule table a été créée pour ce projet.

mysql> show tables;
+-----------------------+
| Tables_in_db_tutoj2ee |
+-----------------------+
| Concerts              |
+-----------------------+
1 row in set (0.00 sec)

mysql> 

L'interaction entre l'utilisateur et le serveur s'effectue alors à l'aide de commandes SQL.

select * from Concerts;
+------------+---------+-----+----------------+--------------+---------------+
| id_concert | ville   | dep | salle          | date_concert | heure_concert |
+------------+---------+-----+----------------+--------------+---------------+
|          1 | Rennes  | 35  | L'étage        | 28/02/20     | 20h00         |
|          2 | Le Mans | 72  | L'oasis        | 19/02/20     | 20h00         |
|          3 | Niort   | 79  | Le Loup Blanc  | 20/02/20     | 20h30         |
|          4 | Paris   | 75  | Le Bataclan    | 04/03/20     | 20h30         |
|          5 | Reims   | 51  | La Cartonnerie | 13/03/20     | 20h30         |
|          6 | Lille   | 59  | L'Aéronef      | 14/03/20     | 20h00         |
|          7 | Nantes  | 44  | La Fabrique    | 19/03/20     | 20h30         |
+------------+---------+-----+----------------+--------------+---------------+
7 rows in set (0.00 sec)

mysql> 

La commande 'quit' permet de se déconnecter du serveur MySQL et de retourner sur licinfo.

mysql> quit
Bye
dev@licinfo:~$ 

Exécution d'un script sur le serveur MySQL

Préalablement, le script doit être placé sur le serveur. La commande à lancer depuis le serveur est :

login@cufr-ubuntu-tp$ mysql -h 127.0.0.1 -u u_tutoj2ee -p db_tutoj2ee < creation_tables.sql

Bien entendu, le nom de l'utilisateur, le nom de la base de données ainsi que le nom du script (.sql) doivent être adaptés selon vos paramètres. Le mot de passe sera demandé.

Déploiement des applications JavaEE

La gestion du serveur Tomcat s'effectue par le biais d'un gestionnaire graphique accessible à l'adresse http://licinfo:8080/manager/html.

Dans ce manager, on retrouve différentes rubriques, dont principalement :

Note : il est nécessaire de retirer une application avant d'en déployer une nouvelle version.

Note 2 : en cas de plantage du serveur Tomcat lors d'un déploiement, se reporter à la rubrique suivante.

Redémarrage du serveur Tomcat

Il est possible que lors le déploiement d'une application mal conçue entraîne un plantage du serveur Tomcat. Si le manageur reste accessible, retirer l'application fautive devrait résoudre le problème. Si le manageur ne répond plus, il est nécessaire de redémarrer le serveur Tomcat.

Une fois connecté sur licinfo en ssh, la commande qui permet de redémarrer le serveur est la suivante :

dev@licinfo:~$ sudo service tomcat7 restart
[ ok ] Stopping Tomcat servlet engine: tomcat7.
[ ok ] Starting Tomcat servlet engine: tomcat7.
dev@licinfo:~$ 

Gestionnaire des projets

À l'adresse https://projets.univ-jfc.fr/ se trouve l'application de gestion des projets de l'Université.

Une fois connecté, vous trouverez sur l'onglet 'Ma Page' les projets auxquels vous participez.

Les fonctionnalités offertes par l'application sont :

Configuration GIT avec Eclipse Kepler

Accès anynyme

L'accès anonyme permet de cloner localement les sources, de développer mais pas de les mettre à jour dans le dépôt.

Par exemple, pour accéder de manière anonyme au dépôt du projet tutoriel : https://projets.univ-jfc.fr/anonscm/git/projtwm2linfo3/projtwm2linfo3.git

Accès authentifié sécurisé

L'utilisateur authentifié en possédant les droits sur le projet peut cloner localement les sources, les modifier et pousser ses modifications dans le dépôt.

Pour accéder à votre projet en vous authentifiant avec vos identifiants, remplacer les champs <username> et <nomproj> dans l'URL suivante : git+ssh://<username>@scm.projets.univ-jfc.fr/var/lib/gforge/chroot/scmrepos/git/<nomproj>/<nomproj>.git

Téléchargements

Sun propose au téléchargement un pack comprenant le JDK (Java standard edition development kit) et le SDK de J2EE
L'application WinSCP disponible gratuitement st un client FTP/SFTP qui vous permettra d'uploader vos fichiers sur le serveur. Il est possible de télécharger une version sans installation.
Putty est un client SSH/Telnet qui vous permettra de vous connecter au serveur depuis windows.

Ressources en ligne

Information sur la sécurité des servlet et la prévention d'injection SQL à l'adresse https://www.owasp.org/index.php/Preventing_SQL_Injection_in_Java