Environnement Client/Serveur (M1 Miage Classique)

Devoir de deuxième session

TP Noté

But du cours

Ce cours a un objectif double :

  1. acquérir les pratiques de base du développement d'applications professionnelles au travers de livraisons hebdomadaires de projets notés;
  2. comprendre le développement d'applications distribuées grâce au cours théorique immédiatement suivi de projets pour une mise en pratique des concepts présentés.

Les étudiants sont formés pour :

Pré-requis

La compréhension du cours nécessite les pré-requis suivants :

Plan du cours, supports de cours et de TP

  1. Prélude : Rappels Unix, Généralités Client/Serveur, accès concurrent aux fichiers, fichiers mappés. cours 1 en HTML5 , cours 1 en PDF et version imprimable.
  2. Généralités sur les réseaux, Routage, IP, UDP cours 2 en HTML5 , cours 2 en PDF et version imprimable.
  3. 26/9: TCP, programmation Multi-thread en Java, TCP en Java cours 3 en HTML5 , cours 3 en PDF et version imprimable. L'énoncé du TP 3 ainsi que le projet Eclipse à importer. Le corrigé du TP 3 ainsi que le code Eclipse à importer.
  4. Étude de cas, Java 8, Sérialisation cours 4 en HTML5 , cours 5 en PDF et version imprimable.
    Préparation au TP Noté :
  5. 4/11: RMI/RPC, Rappels sur JDBC cours 6 en HTML5 , cours 6 en PDF et version imprimable.
  6. 5/11: JavaServer Pages (1) cours 7 en HTML5 , cours 7 en PDF et version imprimable.
  7. 12/11: JavaServer Pages (2) cours 8 en HTML5 , cours 8 en PDF et version imprimable.
  8. L'énoncé du TP 9 ainsi que le projet Eclipse à importer.

Utilisation de Postgresql depuis l'extérieur

Utilisation d'une base locale

Si vous voulez utiliser une base de données Postgresql locale (installée sur votre machine), vous devez y créer les tables demandées en TP (cf. TP8 par exemple qui vous donne les fichiers .sql de création de tables).

Il faut ensuite modifier le code Java de connexion à la base de données : Class.forName("org.postgresql.Driver"); cnx = DriverManager.getConnection("jdbc:postgresql://tp-postgres:5432/knguye10_a", "knguye10_a","knguye10_a"); devient Class.forName("org.postgresql.Driver"); cnx = DriverManager.getConnection("jdbc:postgresql://localhost:5432/MABASE", "MONUSER","MONMOTDEPASSE"); et remplacer respectivement MABASE, MONUSER et MONMOTDEPASSE par le nom de votre base, votre login et votre mot de passe Postgresql (normalement créés lors de l'installation).

Utilisation de la base du PUIO

Vous pouvez aussi utiliser un tunnel SSH pour accéder à la base de données du PUIO en passant passant par la passerelle du PUIO.

Sous windows

Il faut télécharger le programme putty.exe. Une fois ce programme téléchargé, vous pouvez le lancer :

Puis cliquer sur Open. Rentrer votre login et mot de passe Adonis (celui de votre mail que vous utilisez aussi pour vous connecter au PUIO). Le programme putty doit resté lancé tant que vous voulez travailler. Si vous perdez la connexion, il faut refaire les étapes ci-dessus.

Sous Linux ou MacOS

Exécuter la commande :

ssh -L 5432:tp-postgres:5432 -l monlogin@tp-ssh1.dep-informatique.u-psud.fr

monlogin est votre login Adonis. Vous devrez alors saisir votre mot de passe.

Modification du code Java

Quelle que soit la méthode, vous devez ensuite modifier le code Java de cette manière là :

Class.forName("org.postgresql.Driver"); cnx = DriverManager.getConnection("jdbc:postgresql://tp-postgres:5432/knguye10_a", "knguye10_a","knguye10_a"); devient Class.forName("org.postgresql.Driver"); cnx = DriverManager.getConnection("jdbc:postgresql://localhost:5432/knguye10_a", "knguye10_a","knguye10_a");

Puis cliquer sur Open. Le programme putty doit resté lancé tant que vous voulez travailler. Si vous perdez la connexion, il faut refaire les étapes ci-dessus.

Examens des années précédentes