+ * Et/Ou vérification de la présence de de la base de données.
+ * @author pabr6
+ *
+ */
+public class CreerBaseParDefautEvaluation {
public Boolean isExist() throws IOException {
diff --git a/src/baseEvaluations/recupeNodeBaseEvaluations.java b/src/baseEvaluations/recupeNodeBaseEvaluations.java
index e6c79ad..4853c19 100644
--- a/src/baseEvaluations/recupeNodeBaseEvaluations.java
+++ b/src/baseEvaluations/recupeNodeBaseEvaluations.java
@@ -58,8 +58,8 @@ public class recupeNodeBaseEvaluations {
if(evaluations.getNodes().size()>0) HasEvaluation=true;
}catch (Exception e) {
- JLabel texte = new JLabel("La base de données n'est pas située dans le même répertoire que celui de l'application.
"
- +"Vous pouvez charger ou créer une base de données depuis la fenêtre \"base de données d'évaluation\" de l'application.
");
+ JLabel texte = new JLabel("La base de données des évaluations n'est pas située dans le même répertoire que celui de l'application.
"
+ +"Vous pouvez charger ou créer une base de données depuis la fenêtre \"base de données d'évaluation\".
");
JOptionPane.showMessageDialog(null, texte);
}
}
diff --git a/src/baseListesEtudiants/CreerBaseParDefautListesEtudiants.java b/src/baseListesEtudiants/CreerBaseParDefautListesEtudiants.java
new file mode 100644
index 0000000..08df89f
--- /dev/null
+++ b/src/baseListesEtudiants/CreerBaseParDefautListesEtudiants.java
@@ -0,0 +1,43 @@
+package baseListesEtudiants;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.text.ParseException;
+import java.util.Date;
+
+import MEPTL.commandes;
+
+
+public class CreerBaseParDefautListesEtudiants {
+ public Boolean isExist() throws IOException {
+ File file = null;
+ String directoryName = Paths.get("").toAbsolutePath().toString();
+
+ if(commandes.os.contains("Win")) {
+ file = new File(directoryName + "\\" + "base_listes_etudiants.xml");
+ }else {
+ file = new File(directoryName + "/" + "base_listes_etudiants.xml");
+ }
+
+ if(!file.exists()) {
+ Date aujourdhui = new Date();
+ Path outputFilePath = file.toPath();
+ BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
+ try {
+ fichier.write("");
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ fichier.close();
+ return false;
+ }
+ return new recupeNodeBaseListesEtudiants().isHasliste();
+ }
+}
diff --git a/src/baseListesEtudiants/recupeNodeBaseListesEtudiants.java b/src/baseListesEtudiants/recupeNodeBaseListesEtudiants.java
new file mode 100644
index 0000000..e56777a
--- /dev/null
+++ b/src/baseListesEtudiants/recupeNodeBaseListesEtudiants.java
@@ -0,0 +1,66 @@
+package baseListesEtudiants;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.nio.file.Paths;
+
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+
+import MEPTL.commandes;
+import cXML.node;
+
+public class recupeNodeBaseListesEtudiants {
+ private boolean Hasliste = false;
+
+ public recupeNodeBaseListesEtudiants() {
+ File file = null;
+ String directoryName = Paths.get("").toAbsolutePath().toString();
+
+ if(commandes.os.contains("Win")) {
+ file = new File(directoryName + "\\" + "base_listes_etudiants.xml");
+ }else {
+ file = new File(directoryName + "/" + "base_listes_etudiants.xml");
+ }
+
+ if(file!=null) {
+ BufferedReader br;
+ try {
+ br = new BufferedReader(
+ new InputStreamReader(
+ new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
+ String line;
+ StringBuilder targetString = new StringBuilder();
+ while ((line = br.readLine()) != null) {
+ targetString.append(line);
+ }
+ String codeTexte = "" + targetString.toString().replace("\t","").replace("\r", "").replace("\n", "");
+
+ node nodRetourne = new node(codeTexte.replaceAll(">/{1,}<", "><")); //Le node A est nécessaire.
+
+ if(nodRetourne.getNomElt().equals("fichier")) {
+ nodRetourne.setNomElt("ListesEtudiants");
+ }
+
+ commandes.listesEtudiants = nodRetourne;
+ if(nodRetourne.getNodes().size()>0) Hasliste=true;
+
+ }catch (Exception e) {
+ JLabel texte = new JLabel("La base de données des listes des étudiants
n'est pas située dans le même répertoire que celui de l'application.
");
+ JOptionPane.showMessageDialog(null, texte);
+ }
+ }
+
+ }
+
+ public boolean isHasliste() {
+ return Hasliste;
+ }
+
+ public void setHasliste(boolean hasliste) {
+ Hasliste = hasliste;
+ }
+
+}
diff --git a/src/fenetres/CustomInputDialogListeEtudiant.java b/src/fenetres/CustomInputDialogListeEtudiant.java
index c7cf1f9..45cded2 100644
--- a/src/fenetres/CustomInputDialogListeEtudiant.java
+++ b/src/fenetres/CustomInputDialogListeEtudiant.java
@@ -14,7 +14,11 @@ import javax.swing.filechooser.FileNameExtensionFilter;
import MEPTL.commandes;
import MEPTL.meptl;
import cXML.node;
-
+/**
+ *
+ * @author pabr6
+ *
+ */
public class CustomInputDialogListeEtudiant {
public static String showCustominputDialog() {
String separateur ="";
@@ -71,14 +75,17 @@ public class CustomInputDialogListeEtudiant {
textField.setFont(new Font("Tahoma", Font.BOLD, 14));
textField.setHorizontalAlignment(SwingConstants.LEFT);
ImageIcon icon = new ImageIcon(create.class.getResource("/resources/fichierCSV.png"));
-
+ JTextField textFieldYear = new JTextField("2024");
+
Object[] message = {
lblTitre,
lblExpliaction,
"Le nom d'une liste d'étudiant doit être unique.
"
+ "Sinon, les étudiants seront ajoutés à la liste existante.
"
- + "Quel doit être le nom de cette liste ?
",
- textField
+ + "Quel doit être le nom de cette liste ?
",
+ textField,
+ "Quel est l'année ?
",
+ textFieldYear
};
String[] options = {"Importer la liste", "Annuler"};
@@ -93,7 +100,7 @@ public class CustomInputDialogListeEtudiant {
options,
options[0]);
- if (optionSelected == 0) { // Bouton "Valiser" sélectionné
+ if (optionSelected == 0) { // Bouton "Importer la liste" sélectionné
JFileChooser chooser = new JFileChooser();
chooser.setDialogTitle("Choisir un fichier CSV");
@@ -108,15 +115,7 @@ public class CustomInputDialogListeEtudiant {
System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath());
commandes.nameCSV = chooser.getSelectedFile().getAbsolutePath();
- meptl.chargementFichierCSV();
-
- commandes.nodeCSV.getAttributs().put("nameListStudent", nameListStudent);
- commandes.nodeCSV.getAttributs().put("encoding", encodage);
- commandes.nodeCSV.getAttributs().put("separator", separateur);
- commandes.nodeCSV.getAttributs().put("name", name);
- commandes.nodeCSV.getAttributs().put("firstname", firstname);
- commandes.nodeCSV.getAttributs().put("email", email);
- commandes.nodeCSV.getAttributs().put("id", id);
+ meptl.chargementFichierCSV(nameListStudent, textFieldYear.getText());
if(commandes.nodeCSV.getNbrEnfants()>=1) commandes.fourniCSV=true;
diff --git a/src/fenetres/evaluate.java b/src/fenetres/evaluate.java
index 53ba79c..30dd9da 100644
--- a/src/fenetres/evaluate.java
+++ b/src/fenetres/evaluate.java
@@ -1146,11 +1146,11 @@ public class evaluate extends JFrame {
private static final long serialVersionUID = 1L;
{
- putValue( Action.NAME, "Charge la liste des étudiants" );
+ putValue( Action.NAME, "Ajoute une liste ou des étudiants à une liste" );
putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVmini.png")) );
putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV.png")) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
- putValue( Action.SHORT_DESCRIPTION, "Charge la liste des étudiants (CTRL+L)" );
+ putValue( Action.SHORT_DESCRIPTION, "Ajoute une liste ou des étudiants à une liste (CTRL+L)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_DOWN_MASK) );
}
diff --git a/src/fenetres/mainApp.java b/src/fenetres/mainApp.java
index 26d2a46..7eb2c98 100644
--- a/src/fenetres/mainApp.java
+++ b/src/fenetres/mainApp.java
@@ -14,8 +14,9 @@ import javax.swing.SwingConstants;
import MEPTL.commandes;
import OnLineVersions.verificationNewVersion;
-import baseEvaluations.CreerBaseParDefaut;
+import baseEvaluations.CreerBaseParDefautEvaluation;
import baseEvaluations.recupeNodeBaseEvaluations;
+import baseListesEtudiants.CreerBaseParDefautListesEtudiants;
public class mainApp extends JFrame implements ActionListener{
@@ -41,7 +42,8 @@ public class mainApp extends JFrame implements ActionListener{
}
/**
- * Create the application.
+ * Initalise la fenêtre de démarrage
+ * Initalise l'application.
*/
public mainApp() {
initialize();
@@ -57,18 +59,21 @@ public class mainApp extends JFrame implements ActionListener{
System.out.println("Pas de connexion internet.");
}
- Boolean LaBaseExiste = false;
+ Boolean LaBaseEvaluationsExiste = false;
+ Boolean LabaseListesEtudiantsExiste = false;
try {
- LaBaseExiste = new CreerBaseParDefaut().isExist();
+ LaBaseEvaluationsExiste = new CreerBaseParDefautEvaluation().isExist();
+ LabaseListesEtudiantsExiste = new CreerBaseParDefautListesEtudiants().isExist();
} catch (IOException e) {
+ System.out.println("Problème au moment du charge de la base d'évaluation.");
e.printStackTrace();
}
frmEvalwriter = new JFrame();
frmEvalwriter.setResizable(false);
- frmEvalwriter.setBounds(100, 100, 500, 380);
+ frmEvalwriter.setBounds(100, 100, 500, 360);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
frmEvalwriter.setLocation(( (screenWidth) - frmEvalwriter.getWidth()) / 2, (screenHeight - frmEvalwriter.getHeight()) / 2);
@@ -85,17 +90,18 @@ public class mainApp extends JFrame implements ActionListener{
btnCreate.setFont(new Font("Arial", Font.BOLD, 16));
btnCreate.addActionListener(this);
- btnCreate.setBounds(34, 180, 420, 60);
+ btnCreate.setBounds(34, 181, 420, 60);
frmEvalwriter.getContentPane().add(btnCreate);
actCharge = new JButton("Evaluer les fichiers des étudiants");
+ if(!LabaseListesEtudiantsExiste) actCharge.setText("Evaluer les fichiers des étudiants*");
actCharge.setHorizontalAlignment(SwingConstants.LEFT);
actCharge.setIcon(new ImageIcon(mainApp.class.getResource("/resources/evaluate.png")));
actCharge.setBackground(SystemColor.inactiveCaption);
actCharge.setFont(new Font("Arial", Font.BOLD, 16));
actCharge.setBounds(34, 110, 420, 60);
frmEvalwriter.getContentPane().add(actCharge);
- actCharge.setEnabled(LaBaseExiste);
+ actCharge.setEnabled(LaBaseEvaluationsExiste);
JLabel lblNewLabel = new JLabel();
ImageIcon img2 = new ImageIcon(getClass().getResource("/accueil.png") );
@@ -111,14 +117,9 @@ public class mainApp extends JFrame implements ActionListener{
JButton btnNewButton = new JButton("Verif. version");
btnNewButton.setHorizontalAlignment(SwingConstants.LEFT);
- btnNewButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- about.getInstance();
- }
- });
btnNewButton.setFont(new Font("Arial", Font.PLAIN, 14));
btnNewButton.setIcon(new ImageIcon(mainApp.class.getResource("/resources/apropos.png")));
- btnNewButton.setBounds(34, 270, 200, 60);
+ btnNewButton.setBounds(34, 252, 200, 60);
frmEvalwriter.getContentPane().add(btnNewButton);
JButton btnTutoriels = new JButton("Documentations");
@@ -137,7 +138,7 @@ public class mainApp extends JFrame implements ActionListener{
btnTutoriels.setIcon(new ImageIcon(mainApp.class.getResource("/resources/documentation.png")));
btnTutoriels.setHorizontalAlignment(SwingConstants.LEFT);
btnTutoriels.setFont(new Font("Arial", Font.PLAIN, 14));
- btnTutoriels.setBounds(254, 270, 200, 60);
+ btnTutoriels.setBounds(254, 252, 200, 60);
frmEvalwriter.getContentPane().add(btnTutoriels);