Gestion des consommations de café
Objectifs: Ce TP a pour but de vous préparer à l'environnement de développment pour le projet d'intégration et en particulier à l'utilisation de la base de données relationnelle PostgreSQL avec l'extension spatiale PostGis. Cela se fera en trois temps :
-
Découverte de l'outil PgAdmin et création d'une base de données sur le serveur postgres de l'IUGA (Insitut d'Urbanisme et de Géographie Alpine de l'Université Grenoble-Alpes)
-
Adaptation du programme de gestion de cafés effectué dans le TP précédent pour utiliser la base de données postgres.
-
Récupération et configuration d'une application plus conséquente servant de POC (Proof Of Concepts) pour le projet d'intégration et permettant d'explorer l'utilisation de Springboot pour la mise en place de services web.
1. Créer la base de données PostgreSQL
Si vous travaillez sur votre ordinateur personnel pensez à vous mettre sur le VPN de l'UGA pour pouvoir accéder au serveur de base de données.
Vous allez dans un premier temps créer la base de données sur le serveur de bases de données PostgreSQL de l'IUGA (Institut d'Urbanisme et de Géographie Alpine de l'Université Grenoble Alpes) que nous utiliserons ultérieurement lors du projet d'intégration.
Pour accéder à ce serveur de bases de données vous aller utiliser le client pgAdmin qui est installé sur les PC de l'UFR IM2AG (vous pouvez aussi l'installer sur votre propre PC si vous le souhaitez, pour cela téléchargez l'application pgAdmin ici).
Etape 1: lancer pgAdmin et vous connecter à serveur PostreSQL de l'IUGA.
-
Lancer l'application pgAdmin. Sur les PC de l'UFR UFR IM2AG ouvrez un terminal et tapez la commande pgadmin4 &
-
pgAdmin vous demande de fournir un mot de passe maître qui permettra ensuite de crypter les mots de passe que vous utiliserez pour vous connecter à différents serveurs de base de données. Fournissez-en un (choissisez en un dont vous êtes sûr de vous rappeler, et éventuellement notez le).
pgAdmin : saisie du mot de passe maître -
Pour enregistrer le serveur PostgreSQL de l'IUGA
-
faites un clic droit sur l'icone Servers dans le Browser de pgAdmin 4 et sélectionnez Register > Server
pgAdmin : enregistrement du serveur PostgreSQL de l'IUGA -
dans la fenêtre pop-up Register - Server dans l'onglet General donnez un nom au serveur (par exemple PostgresIUGA)
pgAdmin : donner un nom au serveur PostgreSQL de l'IUGA -
Dans l'onglet Connection définissez les paramètres de connexion au serveur
- le nom ou le numéro IP du serveur : iuga-obiou.u-ga.fr (129.88.175.104)
- le port de connexion : 5432
- votre identifant : votre identifiant agalan
- votre mot de passe : votre mot de passe agalan
pgAdmin : définir et enregistrer les paramètres de connection au serveur -
Enregistrez la configuration
-
Maintenant que vous avez enregistré le serveur PostgreSQL de l'IUGA vous allez créer la base de données et y insérer des données.
2: Créer la base de données
-
Créez un répertoire TP12 dans votre répertoire de travail PLAI/Java
Danc ce répertoire, téléchargez le fichier
createCafesDB.sql
qui contient un script peremtttant de créer un nouveau schéma de base de données de nom cafesdb, de créer les tables et d'insérer des données sur la consommations de cafés de l'équipe enseignante du M2CCI, -
Sélectionnez votre base de données parmi celles hébergées par le serveur de l'IUGA comme indiqué ci-dessous. Votre base de donnée à pour nom bd_XX où XX est votre login agalan
pgAdmin : sélectionner votre base de données sur le serveur PostgreSQL de l'IUGA -
Chargez le script createCafesDB.sql dans l'outil de requêtage Query Tool
pgAdmin : charger le script createCafesDB.sql -
Exécutez le script createCafesDB.sql et vérifiez que le schéma cafesdb a bien été créé.
pgAdmin : exécuter le script createCafesDB.sql -
Vérifiez le contenu de la table cafesdb.programmeurs
pgAdmin : vérifier le contenu de la table cafesdb.programmeurs Vous devez obtenir le résultat suivant dans l'onglet Data Output
pgAdmin : contenu de la table cafesdb.programmeurs -
Faites de même pour la table cafesdb.consos_cafe.
2. Accès à la BD via JDBC
Avant de vous interesser au programme de gestion des consommations de café proprement dit, vous allez écrire un premier programme permettant simplement de lire le contenu de la table cafesdb.programmeurs et de l'afficher sur la console.
Exercice 2.1
-
Dans le projet MyFirstJDBCApp que vous avez créé dans le TP JDBC, écrivez un deuxième programme AppPostgresSQL sur le modèle du programme de test de la connexion pour vérifier que vous pouvez vous connecter au serveur et afficher le contenu de la table Programmeurs
-
Modifier sa méthode
main
comme ci-dessous afin qu'elle permette de lire votre identifant et mot de passe pour établir la connexion à la base de données.public static void main(String[] args) { Console console = System.console(); if (console == null) { System.out.println("Impossible d'obtenir une instance de console"); System.exit(0); } String userName = console.readLine("Identifiant : "); char[] passwordArray = console.readPassword("Mot de passe : "); try (Connection conn = DriverManager.getConnection("jdbc:postgresql://129.88.175.104:5432/bd_" + userName, userName, new String(passwordArray))) { System.out.println("Connexion réussie !"); // lecture et affichage de la table programmeur // ... } catch (SQLException ex) { System.out.println("Erreur SQL " + ex.getMessage()); ex.printStackTrace(); } }
les paramètres du message DriverManager.getConnection() sont dans l'ordre :
-
l'url de la base de données. Elle est de la forme
jdbc:postgresql://serveur:port/nom_de_la_bd
où
- serveur est le nom IP ou le numéro IP de la machine hébergeant le serveur de base de données, (ici le serveur PostgreSQL de l'IUGA a pour numéro IP : 129.88.175.104)
- port est numéro de port pour les connexions au serveur PostgreSQL (ici 5432),
- nom_de_la_bd est le nom de la bd, (ici bd_XX où XX est son login agalan).
-
votre identifiant pour la bd (votre identifiant agalan)
-
votre mot de passe pour la bd (votre mot de passe agalan)
-
-
Vérifiez que le programme s'execute correctement.
Exécution de l'application Java : la connexion à la base de données a pu être établie
Exercice 2.2 :
adaptez votre application de gestion des cafés pour travailler avec la base postgreSQL plutôt que la base SQLite (l'idéal serait de pouvoir choisir sur quelle base on travaille au lancement du programme).3. POC du projet d'intégration)
Le pogramme (Proof of Concepts) pour le projets d'intégration permet d'accèder à des traces de mobilités stockées dans une base Postgres/PostGIS via une interface de webmapping. Son architecture est la suivante :

-
Installez l'application de visualisation de trajectoires de mobilité disponible sur gitlab (https://gricad-gitlab.univ-grenoble-alpes.fr/enseignement1/m2cci/projet-integration/pi-poc)
-
Suivez les instructions du fichier README pour créer la base de données
-
Lancez le backend puis le front-end et vérifiez le bon fonctionnement de ce dernier.