Si ce n’est pas encore fait, je vous propose de commencer par lire la présentation générale de ce projet ici
Maintenant que nous sommes capable de récupérer les données météo dans une application, nous allons les stocker dans une base de donnée.
Les instructions ci dessous sont basées sur une Debian 10, mais doivent être adaptable sans soucis particuliers.
Matériel nécessaire
Vous aurez simplement besoin d’un serveur pour y héberger:
- PostgreSQL
A priori, la machine que vous avez déjà utilisé pour l’application précédente peut faire l’affaire. Si vous souhaitez y accéder depuis le web, une adresse IP fixe sera d’une grande aide, même si non obligatoire. De mon côté j’utilise un serveur Kimsufi.
Installation de la base de données
Commencez par installer postgresql
sudo apt install postgresql
Vous pouvez trouver le schéma de base de données ici
Connectez vous avec le compte psql
sudo su postgres
Démarrez le client postgresql
psql
Exécutez les commandes suivantes pour créer l’utilisateur et la base de donnée. Vous pouvez adapter le nom d’utilisateur à votre guise, mais il faudra le prendre en compte dans le script de création du schéma de base de donnée.
Également, pensez bien sur à modifier le mot de passe de l’utilisateur que nous créons
CREATE DATABASE manudomo;
CREATE USER manudomo WITH ENCRYPTED PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE manudomo TO manudomo;
Quittez le client postgresql avec \q
Déposez le schéma de base de données précédemment téléchargé sur le serveur et chargez le avec la commande suivante.
psql -U manudomo -d manudomo -a -f backup_schema.sql
Et voilà! Votre base de donnée est initialisée
Préparez l’accès à la base de données
Dans le cas ou votre base de donnée n’est pas sur le même serveur que les applications qui la contacteront, pensez à modifier le fichier pg_hba.conf pour autoriser les accès.
Modification de la configuration de l’application pour prendre en compte la base de données
Notre base de données étant prête, nous pouvons brancher notre application à cette dernière. Modifiez donc le fichier de configuration vu dans la partie précédente avec ces paramètres:
- jdbc.activated : 1
- jdbc.url : Chaine de connexion à votre BDD
- Exemple dans le cas d’une BDD sur la même machine que l’application: jdbc:postgresql://localhost:5432/manudomo
- jdbc.test.url : C’est le nom de domaine qui sera pingé pour vérifier que nous n’avons pas perdu la connexion. Mettez le nom de domaine de votre serveur. localhost, dans le cas ou BDD et application sont sur le même serveur.
- jdbc.username : manudomo si vous avez suivi les exemples précédents
- jdbc.password : Le mot de passe que vous avez choisi
- wifi.connecter.path : Renseignez le chemin du script qui permettra de vous reconnecter si la connexion est perdue. En local, pas d’utilité.
Avec ces nouveaux paramètres, vous pouvez relancer l’application et la base de donnée devrait se remplir gentiment!
Conclusion
Voila, votre base de données est prête et vous commencez à stocker un historique des mesures effectuées par votre module météo!
La partie suivante va traiter de la consommation de cette base de donnée par une application web!
Commentaires