Closed ttauveron closed 8 years ago
Juste une proposition au passage (je sais pas si ça a été changé depuis). On utilisait avant des requêtes SQL de base, sans protection. L'idéal serait d'utiliser des requêtes SQL préparées pour éviter les injections entre autre. Vous pouvez regarder mes fichiers DAO d'AMC pour des exemples (https://github.com/ApplETS/applets-java-api/blob/amc/src/main/java/applets/etsmtl/ca/amc/db/MusiqueDAO.java)
Oui absolument !! :+1:
Description du issue
Le DAO est un patron de conception qui permet de découpler l'interaction avec la DB du programme principal.
Actuellement, on a, respectivement pour les Sources et les Nouvelles, deux méthodes seulement : find(key) et findAll().
Il faut donc remplir le contenu de ces méthodes, il y a un exemple ici : https://github.com/ApplETS/applets-java-api/blob/master/src/main/java/applets/etsmtl/ca/news/db/SourceDAO.java#L14
Pour le findAll() des Nouvelles, il faudrait faire une requête SQL pour ne récupérer que les 10 dernières par exemple, pas toutes sinon ça peut faire beaucoup passé quelques temps.
Configuration
Pour setuper tout ça, il va falloir configurer une DB postgresql en local, voici la version qu'on utilise : postgresql-9.4.
Pour interagir avec la DB, on utilise le client pgadmin3.
Dans le code Java, il faudra remplir les identifiants de connexion à la DB ici : https://github.com/ApplETS/applets-java-api/blob/master/src/main/java/applets/etsmtl/ca/news/db/ConnectionSingleton.java
Finalement, voici un backup de la DB qu'on utilise actuellement (à restaurer dans pgadmin3): https://drive.google.com/open?id=0B0MZv7btHQ1IeVZ1eGFXd3F5ZGM
Tu peux ajouter des données de test en DB locale pour vérifier que ça fonctionne bien (genre des sources et des nouvelles)
Attention à pas commiter le fichier ConnectionSingleton.java qui contient les credentials DB (jusqu'à ce qu'on mette en place des variables d'environnement aka pas de setup des creds dans le code)
N'hésite pas à contacter @powereborn ou @gnut3ll4 si tu as besoin d'aide/informations/anything !