diff --git a/src/fr/iutfbleau/papillon/BaseDeDonnees.java b/src/fr/iutfbleau/papillon/BaseDeDonnees.java
index c817ea5..7c282aa 100644
--- a/src/fr/iutfbleau/papillon/BaseDeDonnees.java
+++ b/src/fr/iutfbleau/papillon/BaseDeDonnees.java
@@ -1,11 +1,35 @@
+package fr.iutfbleau.papillon;
+
+
import java.sql.*;
+/**
+ * La classe BaseDeDonnees fournit les paramètres et méthodes
+ * nécessaires à l’établissement d’une connexion à la base MariaDB.
+ *
+ *
Elle centralise les informations de connexion (URL, utilisateur et mot de passe) + * et renvoie un objet {@link java.sql.Connection} pour exécuter les requêtes SQL.
+ * + * @version 1.0 + * @author Seri-khane Yolou, Aylane SEHL, Jenson VAL + */ public class BaseDeDonnees { - private static final String URL = "jdbc:mariadb://dwarves.iut-fbleau.fr/val"; - private static final String USER = "val"; - private static final String PASS = "vali"; + /** URL de connexion à la base de données MariaDB. */ + private static final String URL = "jdbc:mariadb://dwarves.iut-fbleau.fr/yolou"; + /** Nom d’utilisateur pour la base de données. */ + private static final String USER = "yolou"; + + /** Mot de passe associé à l’utilisateur. */ + private static final String PASS = "serikhaneyolou"; + + /** + * Établit une connexion avec la base de données MariaDB. + * + * @return un objet {@link java.sql.Connection} actif vers la base + * @throws SQLException si une erreur survient lors de la connexion + */ public static java.sql.Connection getConnexion() throws SQLException { try { Class.forName("org.mariadb.jdbc.Driver"); diff --git a/src/fr/iutfbleau/papillon/Rappel.java b/src/fr/iutfbleau/papillon/Rappel.java index 686e739..cc83f18 100644 --- a/src/fr/iutfbleau/papillon/Rappel.java +++ b/src/fr/iutfbleau/papillon/Rappel.java @@ -1,14 +1,44 @@ +/** + * La classeRappel représente un rappel utilisateur,
+ * avec un titre, un contenu, un thème et un rang de priorité.
+ *
+ * @version 1.0
+ * @author Seri-khane Yolou, Aylane SEHL, Jenson VAL
+ */
+package fr.iutfbleau.papillon;
+
public class Rappel {
+
private int id;
private String titre;
private String contenu;
private String theme;
private int rang;
+ /** Constructeur vide (utilisé notamment pour la lecture SQL). */
+ public Rappel() {}
+
+ /**
+ * Constructeur d’un nouveau rappel sans identifiant.
+ *
+ * @param titre le titre du rappel
+ * @param contenu le contenu ou la description
+ * @param theme la catégorie ou le thème du rappel
+ * @param rang la priorité ou l’ordre d’affichage
+ */
public Rappel(String titre, String contenu, String theme, int rang) {
this(0, titre, contenu, theme, rang);
}
+ /**
+ * Constructeur complet avec identifiant.
+ *
+ * @param id l’identifiant du rappel
+ * @param titre le titre du rappel
+ * @param contenu le contenu
+ * @param theme le thème
+ * @param rang le rang de priorité
+ */
public Rappel(int id, String titre, String contenu, String theme, int rang) {
this.id = id;
this.titre = titre;
@@ -17,51 +47,33 @@ public class Rappel {
this.rang = rang;
}
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
+ /** @return l’identifiant du rappel */
+ public int getId() { return id; }
- public String getTitre() {
- return titre;
- }
- public void setTitre(String titre) {
- this.titre = titre;
- }
+ /** @param id définit l’identifiant du rappel */
+ public void setId(int id) { this.id = id; }
- public String getContenu() {
- return contenu;
- }
- public void setContenu(String contenu) {
- this.contenu = contenu;
- }
+ /** @return le titre du rappel */
+ public String getTitre() { return titre; }
- public String getTheme() {
- return theme;
- }
- public void setTheme(String theme) {
- this.theme = theme;
- }
+ /** @param titre définit le titre du rappel */
+ public void setTitre(String titre) { this.titre = titre; }
- public int getRang() {
- return rang;
- }
- public void setRang(int rang) {
- this.rang = rang;
- }
+ /** @return le contenu du rappel */
+ public String getContenu() { return contenu; }
-// @Override
-// public String toString() {
-// @Override
-// public String toString() {
-// String texte = "[" + id + "] " + titre + " | " + theme + " | rang=" + rang + " | ";
-// if (contenu != null) {
-// texte = texte + contenu;
-// }
-// return texte;
-// }
+ /** @param contenu définit le contenu du rappel */
+ public void setContenu(String contenu) { this.contenu = contenu; }
-// }
-}
\ No newline at end of file
+ /** @return le thème du rappel */
+ public String getTheme() { return theme; }
+
+ /** @param theme définit le thème du rappel */
+ public void setTheme(String theme) { this.theme = theme; }
+
+ /** @return le rang de priorité du rappel */
+ public int getRang() { return rang; }
+
+ /** @param rang définit le rang de priorité du rappel */
+ public void setRang(int rang) { this.rang = rang; }
+}
diff --git a/src/fr/iutfbleau/papillon/RappelBD.java b/src/fr/iutfbleau/papillon/RappelBD.java
index a0e7ad3..abd8459 100644
--- a/src/fr/iutfbleau/papillon/RappelBD.java
+++ b/src/fr/iutfbleau/papillon/RappelBD.java
@@ -1,49 +1,72 @@
+package fr.iutfbleau.papillon;
+
+import java.sql.*;
import java.util.ArrayList;
import java.util.List;
-import java.sql.*;
-
+/**
+ * La classe RappelBD gère les interactions entre le programme
+ * et la table rappel dans la base de données.
+ *
+ * Elle permet d'ajouter, de modifier, de supprimer et de lister les rappels
+ * associés à un utilisateur spécifique à travers son identifiant (utilisateur_id).
+ *
Utilisateur représente un utilisateur unique
+ * du logiciel Papillon, identifié par une clé locale.
+ *
+ * @version 1.0
+ * @author Seri-khane Yolou, Aylane SEHL, Jenson VAL
+ */
+package fr.iutfbleau.papillon;
+
public class Utilisateur {
+
private int id;
- private String nom;
- private String cleUnique;
+ private String cle;
- public Utilisateur(int id, String nom, String cleUnique) {
+ /**
+ * Constructeur complet d’un utilisateur.
+ *
+ * @param id l’identifiant de l’utilisateur
+ * @param cle la clé unique d’identification
+ */
+ public Utilisateur(int id, String cle) {
this.id = id;
- this.nom = nom;
- this.cleUnique = cleUnique;
+ this.cle = cle;
}
- public Utilisateur(String nom, String cleUnique) {
- this(0, nom, cleUnique);
+ /**
+ * Constructeur d’un utilisateur à partir de sa clé uniquement.
+ *
+ * @param cle la clé unique d’identification
+ */
+ public Utilisateur(String cle) {
+ this.cle = cle;
}
+ /** @return l’identifiant de l’utilisateur */
public int getId() { return id; }
- public String getNom() { return nom; }
- public String getCleUnique() { return cleUnique; }
+ /** @param id définit l’identifiant de l’utilisateur */
public void setId(int id) { this.id = id; }
- public void setNom(String nom) { this.nom = nom; }
- public void setCleUnique(String cleUnique) { this.cleUnique = cleUnique; }
+ /** @return la clé unique de l’utilisateur */
+ public String getCle() { return cle; }
+
+ /** @param cle définit la clé unique de l’utilisateur */
+ public void setCle(String cle) { this.cle = cle; }
+
+ /** @return une représentation textuelle de l’utilisateur */
+ @Override
public String toString() {
- return "[id=" + id + "] nom=" + nom + " cle=" + cleUnique;
+ return "Utilisateur [id=" + id + ", cle=" + cle + "]";
}
}
diff --git a/src/fr/iutfbleau/papillon/UtilisateurBD.java b/src/fr/iutfbleau/papillon/UtilisateurBD.java
index ca33a4e..a849ef2 100644
--- a/src/fr/iutfbleau/papillon/UtilisateurBD.java
+++ b/src/fr/iutfbleau/papillon/UtilisateurBD.java
@@ -1,51 +1,84 @@
-import java.sql.*;
+
+/**
+ * La classe UtilisateurBD gère la table utilisateur
+ * de la base de données.
+ * Elle permet de créer ou de récupérer un utilisateur à partir d’une clé locale, + * et de lire un utilisateur complet via sa clé.
+ * + * @version 1.0 + * @author Seri-khane Yolou, Aylane SEHL, Jenson VAL + */ +package fr.iutfbleau.papillon; +import java.sql.*; public class UtilisateurBD { - public static int getUserIdByKey(String cle) throws SQLException { + /** Identifiant interne de l’utilisateur. */ + private static int id; - String sql = "SELECT id FROM utilisateur WHERE cle_unique = ?"; + /** + * Récupère ou crée un utilisateur en fonction de sa clé unique. + * + * @param cle la clé unique associée à l’utilisateur + * @return l’identifiant de l’utilisateur correspondant + * @throws SQLException si une erreur SQL survient + */ + public static int getOrCreateIdByKey(String cle) throws SQLException { Connection cnx = BaseDeDonnees.getConnexion(); + + // Vérifie si un utilisateur existe déjà avec cette clé + String sqlSelect = "SELECT id FROM utilisateur WHERE cle = ?"; + PreparedStatement pstSelect = cnx.prepareStatement(sqlSelect); + pstSelect.setString(1, cle); + ResultSet rs = pstSelect.executeQuery(); + + if (rs.next()) { + id = rs.getInt("id"); + } else { + // Sinon on en crée un nouveau + String sqlInsert = "INSERT INTO utilisateur (cle) VALUES (?)"; + PreparedStatement pstInsert = cnx.prepareStatement(sqlInsert, Statement.RETURN_GENERATED_KEYS); + pstInsert.setString(1, cle); + pstInsert.executeUpdate(); + + ResultSet keys = pstInsert.getGeneratedKeys(); + if (keys.next()) { + id = keys.getInt(1); + } + + keys.close(); + pstInsert.close(); + } + + rs.close(); + pstSelect.close(); + cnx.close(); + + return id; + } + + /** + * Récupère un utilisateur complet à partir de sa clé. + * + * @param cle la clé unique de l’utilisateur + * @return un objet {@link Utilisateur} si trouvé, sinonnull
+ * @throws SQLException si une erreur SQL survient
+ */
+ public static Utilisateur findByKey(String cle) throws SQLException {
+ Connection cnx = BaseDeDonnees.getConnexion();
+ String sql = "SELECT id, cle FROM utilisateur WHERE cle = ?";
PreparedStatement pst = cnx.prepareStatement(sql);
pst.setString(1, cle);
ResultSet rs = pst.executeQuery();
- int id = -1;
-
- if (rs.next()){
- id = rs.getInt("id");
- }
- rs.close();
- pst.close();
- cnx.close();
- return id;
- }
-
- public static int creerUtilisateur(String nom, String cle) throws SQLException {
- String sql = "INSERT INTO utilisateur(nom, cle_unique) VALUES (?, ?)";
- Connection cnx = BaseDeDonnees.getConnexion();
- PreparedStatement pst = cnx.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
- pst.setString(1, nom);
- pst.setString(2, cle);
- pst.executeUpdate();
-
- int id = -1;
- ResultSet rs = pst.getGeneratedKeys();
- if (rs.next()){
- id = rs.getInt(1);
+ Utilisateur u = null;
+ if (rs.next()) {
+ u = new Utilisateur(rs.getInt("id"), rs.getString("cle"));
}
rs.close();
pst.close();
cnx.close();
- return id;
- }
-
- public static int getOrCreateUserId(String cle, String nomParDefaut) throws SQLException {
- int id = getUserIdByKey(cle);
- if (id != -1){
- return id;
- }
- return creerUtilisateur(nomParDefaut, cle);
+ return u;
}
}