MAJ V1.0.4 - images du lanceur

This commit is contained in:
pablo rodriguez 2023-07-09 21:11:39 +02:00
parent 699f38f6fe
commit 87a66cde63
56 changed files with 334 additions and 138 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 556 KiB

After

Width:  |  Height:  |  Size: 556 KiB

BIN
resources/Sans titre_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

View File

@ -1,4 +1,4 @@
package baseUFRHG; package Inscriptions;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;

View File

@ -6,10 +6,10 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import baseUFRHG.FileChooserCSV; import base.recupeBases;
import baseUFRHG.commandes; import outils.FileChooserCSV;
import baseUFRHG.noeud; import outils.commandes;
import baseUFRHG.recupeBases; import outils.noeud;
public class importInscriptionCSV { public class importInscriptionCSV {

View File

@ -15,11 +15,11 @@ import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import baseUFRHG.commandes; import base.recupeBases;
import baseUFRHG.noeud; import base.sauvegardeXMLBase;
import baseUFRHG.recupeBases; import outils.commandes;
import baseUFRHG.sauvegardeXMLBase; import outils.noeud;
import baseUFRHG.supprimeCaracatresSpeciaux; import outils.supprimeCaracatresSpeciaux;
public class importInscriptionXLS { public class importInscriptionXLS {

View File

@ -9,9 +9,8 @@ import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import baseUFRHG.FileEncodingDetector; import outils.noeud;
import baseUFRHG.noeud; import outils.supprimeCaracatresSpeciaux;
import baseUFRHG.supprimeCaracatresSpeciaux;
public class lectureCSV { public class lectureCSV {

View File

@ -2,10 +2,10 @@ package Inscriptions;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import baseUFRHG.noeud; import base.sauvegardeXMLBase;
import baseUFRHG.sauvegardeXMLBase; import base.sauvegardeXMLBase.saveType;
import baseUFRHG.supprimeCaracatresSpeciaux; import outils.noeud;
import baseUFRHG.sauvegardeXMLBase.saveType; import outils.supprimeCaracatresSpeciaux;
public class majBaseWithCSV { public class majBaseWithCSV {

View File

@ -13,6 +13,7 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.Random;
import java.util.Timer; import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
@ -27,14 +28,15 @@ import javax.swing.UIManager;
import Inscriptions.importInscriptionCSV; import Inscriptions.importInscriptionCSV;
import Inscriptions.importInscriptionXLS; import Inscriptions.importInscriptionXLS;
import baseUFRHG.CreateUpdateZipArchive; import base.CreateUpdateZipArchive;
import baseUFRHG.FileChooserXLSX; import base.Hash;
import baseUFRHG.VersionChecker; import base.recupeBases;
import baseUFRHG.commandes; import base.sauvegardeXMLBase;
import baseUFRHG.exportBaseToExcel; import exportations.exportBaseToExcel;
import baseUFRHG.importAllBaseToExcel; import gestion_version.VersionChecker;
import baseUFRHG.recupeBases; import importations.importAllBaseToExcel;
import baseUFRHG.sauvegardeXMLBase; import outils.FileChooserXLSX;
import outils.commandes;
public class Window_demarre extends JFrame { public class Window_demarre extends JFrame {
@ -73,10 +75,12 @@ public class Window_demarre extends JFrame {
// mise à jour de la base de données si nouvelle version de l'application utilisé. // mise à jour de la base de données si nouvelle version de l'application utilisé.
commandes.nBase=recupeBases.recupeLaBase(); commandes.nBase=recupeBases.recupeLaBase();
VersionChecker.UpdateVersion(commandes.nBase); VersionChecker.UpdateVersion(commandes.nBase);
if(commandes.blocageApplication) { if(commandes.blocageApplication) {
JOptionPane.showMessageDialog(null, "<html>Blocage de l'application.<br>Par pablo rodriguez</html>"); JOptionPane.showMessageDialog(null, "<html>Blocage de l'application.<br>"
+ "Contacter votre administrateur réseau.<br>Erreur : <b><u>Autorisation refusée.</u></b></html>");
return; return;
} }
@ -95,9 +99,11 @@ public class Window_demarre extends JFrame {
@Override @Override
public void run() { public void run() {
// Appeler la méthode de sauvegarde ici // Appeler la méthode de sauvegarde ici
if(Hash.faireLaSauvegarde()) {
sauvegardeXMLBase.saveSauvegarde(commandes.nBase); sauvegardeXMLBase.saveSauvegarde(commandes.nBase);
CreateUpdateZipArchive.save(); CreateUpdateZipArchive.save();
} }
}
}; };
// Planification de la tâche de sauvegarde automatique à exécuter toutes les 10 minutes 5 * 60 * 1000 // Planification de la tâche de sauvegarde automatique à exécuter toutes les 10 minutes 5 * 60 * 1000
@ -185,21 +191,16 @@ public class Window_demarre extends JFrame {
btnimporterDesInscriptionsdepuisClasseur.setBounds(397, 323, 366, 60); btnimporterDesInscriptionsdepuisClasseur.setBounds(397, 323, 366, 60);
frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur); frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur);
JLabel lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version "+ commandes.version+"</html>");
lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP);
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
lblAuteurVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
lblAuteurVersion.setForeground(new Color(255, 255, 255));
lblAuteurVersion.setBounds(22, 11, 307, 55);
frmEvalwriter.getContentPane().add(lblAuteurVersion);
btnNAideMiseAJour.setForeground(Color.GRAY); btnNAideMiseAJour.setForeground(Color.GRAY);
btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnNAideMiseAJour.setBounds(10, 561, 377, 30); btnNAideMiseAJour.setBounds(10, 561, 377, 30);
frmEvalwriter.getContentPane().add(btnNAideMiseAJour); frmEvalwriter.getContentPane().add(btnNAideMiseAJour);
// Générer un nombre aléatoire entre 1 et 4 inclusivement
ImageIcon imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre.png")); Random random = new Random();
int randomNumber = random.nextInt(16) + 1;
ImageIcon imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre_"+ String.valueOf(randomNumber) +".jpg"));
// imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre_16.jpg"));
Image image = imageIcon.getImage(); Image image = imageIcon.getImage();
// Détermination de la taille souhaitée pour l'image // Détermination de la taille souhaitée pour l'image
@ -209,9 +210,20 @@ public class Window_demarre extends JFrame {
// Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée // Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée
Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH); Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
JLabel lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version "+ commandes.version+"</html>");
lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP);
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
lblAuteurVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
lblAuteurVersion.setForeground(new Color(255, 255, 255));
lblAuteurVersion.setBounds(22, 11, 307, 55);
frmEvalwriter.getContentPane().add(lblAuteurVersion);
if(randomNumber==3 || randomNumber==4 || randomNumber==7
|| randomNumber==10 || randomNumber==11 || randomNumber==12
|| randomNumber==14 || randomNumber==15) lblAuteurVersion.setForeground(new Color(0, 0, 0));
JLabel lblFondImage= new JLabel(new ImageIcon(resizedImage)); JLabel lblFondImage= new JLabel(new ImageIcon(resizedImage));
lblFondImage.setVerticalAlignment(SwingConstants.BOTTOM); lblFondImage.setVerticalAlignment(SwingConstants.BOTTOM);
lblFondImage.setBounds(10, -48, 753, 365); lblFondImage.setBounds(10, 0, 753, 317);
frmEvalwriter.getContentPane().add(lblFondImage); frmEvalwriter.getContentPane().add(lblFondImage);

View File

@ -15,6 +15,7 @@ import java.awt.event.InputEvent;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -54,15 +55,15 @@ import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import baseUFRHG.sauvegardeXMLBase.saveType; import actions.exportEmargement;
import baseUFRHG.FileChooserXML; import actions.exportTable;
import baseUFRHG.commandes; import actions.saveTable;
import baseUFRHG.noeud; import base.recupeBases;
import baseUFRHG.recupeBases; import base.sauvegardeXMLBase;
import baseUFRHG.sauvegardeXMLBase; import base.sauvegardeXMLBase.saveType;
import baseUFRHG.actions.exportEmargement; import outils.FileChooserXML;
import baseUFRHG.actions.exportTable; import outils.commandes;
import baseUFRHG.actions.saveTable; import outils.noeud;
public class Window_gestionnaire extends JFrame { public class Window_gestionnaire extends JFrame {
@ -108,6 +109,7 @@ public class Window_gestionnaire extends JFrame {
private JTable table; private JTable table;
private String defautYear = null; private String defautYear = null;
public noeud nTable = null; public noeud nTable = null;
public noeud nStudent = null;
String oldValue = null; String oldValue = null;
@ -281,7 +283,8 @@ public class Window_gestionnaire extends JFrame {
cLangueLV1.setSelectedIndex(0); cLangueLV1.setSelectedIndex(0);
cLangueLV2.setSelectedIndex(0); cLangueLV2.setSelectedIndex(0);
cRegime.setSelectedIndex(0); cRegime.setSelectedIndex(0);
majTableGroupes(); nStudent = null;
majTable();
} }
}); });
@ -301,7 +304,7 @@ public class Window_gestionnaire extends JFrame {
cGroupeTD.addActionListener(new ActionListener() { cGroupeTD.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -326,7 +329,7 @@ public class Window_gestionnaire extends JFrame {
cLangueLV1.addActionListener(new ActionListener() { cLangueLV1.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -341,7 +344,7 @@ public class Window_gestionnaire extends JFrame {
cGroupePrincipal.addActionListener(new ActionListener() { cGroupePrincipal.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -356,7 +359,7 @@ public class Window_gestionnaire extends JFrame {
cGroupeProjet.addActionListener(new ActionListener() { cGroupeProjet.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -371,7 +374,7 @@ public class Window_gestionnaire extends JFrame {
cLV1.addActionListener(new ActionListener() { cLV1.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -386,7 +389,7 @@ public class Window_gestionnaire extends JFrame {
cProfil.addActionListener(new ActionListener() { cProfil.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
textPaneNom.setFont(new Font("Tahoma", Font.BOLD, 12)); textPaneNom.setFont(new Font("Tahoma", Font.BOLD, 12));
@ -400,13 +403,13 @@ public class Window_gestionnaire extends JFrame {
@Override @Override
public void insertUpdate(DocumentEvent e) { public void insertUpdate(DocumentEvent e) {
majTableGroupes(); majTable();
System.out.println("insertUpdate"); System.out.println("insertUpdate");
} }
@Override @Override
public void removeUpdate(DocumentEvent e) { public void removeUpdate(DocumentEvent e) {
majTableGroupes(); majTable();
System.out.println("removeUpdate"); System.out.println("removeUpdate");
} }
@ -465,8 +468,6 @@ public class Window_gestionnaire extends JFrame {
panelFiltre.add(lblLV2, gbc_lblLV2); panelFiltre.add(lblLV2, gbc_lblLV2);
// Ajout d'un ActionListener à la JComboBox // Ajout d'un ActionListener à la JComboBox
cFormations = new JComboBox<String>(); cFormations = new JComboBox<String>();
cFormations.setVisible(true); cFormations.setVisible(true);
@ -480,12 +481,11 @@ public class Window_gestionnaire extends JFrame {
cFormations.addActionListener(new ActionListener() { cFormations.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableFormation(); majFiltres();
} }
}); });
JLabel lblRegime = new JLabel("Régime"); JLabel lblRegime = new JLabel("Régime");
lblRegime.setFont(new Font("Tahoma", Font.BOLD, 12)); lblRegime.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblRegime = new GridBagConstraints(); GridBagConstraints gbc_lblRegime = new GridBagConstraints();
@ -535,8 +535,6 @@ public class Window_gestionnaire extends JFrame {
menuAffichage.setFont(new Font("Segoe UI", Font.BOLD, 14)); menuAffichage.setFont(new Font("Segoe UI", Font.BOLD, 14));
menuBar.add(menuAffichage); menuBar.add(menuAffichage);
menuAffichage.add(chckToutesLesColonnes); menuAffichage.add(chckToutesLesColonnes);
chckToutesLesColonnes.addItemListener(new ItemListener() { chckToutesLesColonnes.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) { public void itemStateChanged(ItemEvent e) {
@ -659,6 +657,39 @@ public class Window_gestionnaire extends JFrame {
mnNewMenu.addSeparator(); mnNewMenu.addSeparator();
JMenuItem menuSupprimeEtudiantDeLaBase = new JMenuItem("Supprimer de la base l'étudiant sélectionné.");
mnNewMenu.add(menuSupprimeEtudiantDeLaBase);
menuSupprimeEtudiantDeLaBase.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(nStudent!=null) {
String nomStudent = nStudent.getAttributes("Individu_-_Nom");
String prenomStudent = nStudent.getAttributes("Individu_-_Prenom");
String codeStudent = nStudent.getAttributes("Individu_-_Code_Etudiant");
String nomFormation = cFormations.getSelectedItem().toString();
int userChoice = JOptionPane.showConfirmDialog(null, "<html>Vous êtes sur le point de supprimer de la formation : \"<b>" + nomFormation +"</b>\"<br>"
+ "L'étudiant(e) : <b><u>" +codeStudent + " - "+ prenomStudent + " " + nomStudent + "</u></b><br><br>"
+ "Voulez-vous réellement le(a) retirer de cette formation ?", "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
// Vérifier le choix de l'utilisateur
if (userChoice == JOptionPane.YES_OPTION) {
System.out.println("Vous avez choisi Oui.");
commandes.nBase.getChild(nomFormation).removeChild(nStudent);
majTable();
} else if (userChoice == JOptionPane.NO_OPTION) {
System.out.println("Vous avez choisi Non.");
} else if (userChoice == JOptionPane.CANCEL_OPTION) {
System.out.println("Vous avez choisi Annuler.");
} else {
System.out.println("Aucun choix n'a été fait.");
}
}
}
});
mnNewMenu.addSeparator();
JMenuItem menuSelectYearDefautl = new JMenuItem("Sélectionner une année universitaire par défaut"); JMenuItem menuSelectYearDefautl = new JMenuItem("Sélectionner une année universitaire par défaut");
mnNewMenu.add(menuSelectYearDefautl); mnNewMenu.add(menuSelectYearDefautl);
@ -684,7 +715,7 @@ public class Window_gestionnaire extends JFrame {
cInformatique.addActionListener(new ActionListener() { cInformatique.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -698,7 +729,7 @@ public class Window_gestionnaire extends JFrame {
cLangueLV2.addActionListener(new ActionListener() { cLangueLV2.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -709,11 +740,10 @@ public class Window_gestionnaire extends JFrame {
gbc_cDocumentation.gridx = 4; gbc_cDocumentation.gridx = 4;
gbc_cDocumentation.gridy = 3; gbc_cDocumentation.gridy = 3;
panelFiltre.add(cDocumentation, gbc_cDocumentation); panelFiltre.add(cDocumentation, gbc_cDocumentation);
cDocumentation.addActionListener(new ActionListener() { cDocumentation.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -724,11 +754,10 @@ public class Window_gestionnaire extends JFrame {
gbc_cLV2.gridx = 6; gbc_cLV2.gridx = 6;
gbc_cLV2.gridy = 3; gbc_cLV2.gridy = 3;
panelFiltre.add(cLV2, gbc_cLV2); panelFiltre.add(cLV2, gbc_cLV2);
cLV2.addActionListener(new ActionListener() { cLV2.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -739,11 +768,10 @@ public class Window_gestionnaire extends JFrame {
gbc_cRegime.gridx = 7; gbc_cRegime.gridx = 7;
gbc_cRegime.gridy = 3; gbc_cRegime.gridy = 3;
panelFiltre.add(cRegime, gbc_cRegime); panelFiltre.add(cRegime, gbc_cRegime);
cRegime.addActionListener(new ActionListener() { cRegime.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
majTableGroupes(); majTable();
} }
}); });
@ -792,8 +820,10 @@ public class Window_gestionnaire extends JFrame {
if(rowData[indexPrenom]!=null && rowData[indexNom]!=null && rowData[indexCode]!=null) { if(rowData[indexPrenom]!=null && rowData[indexNom]!=null && rowData[indexCode]!=null) {
lblInformationStudent.setText(rowData[indexPrenom].toString() + " " + rowData[indexNom].toString() + " - " + rowData[indexCode].toString() ); lblInformationStudent.setText(rowData[indexPrenom].toString() + " " + rowData[indexNom].toString() + " - " + rowData[indexCode].toString() );
nStudent = commandes.nBase.getChild(cFormations.getSelectedItem().toString()).getChild("n"+ rowData[indexCode]);
}else { }else {
lblInformationStudent.setText(""); lblInformationStudent.setText("");
nStudent = null;
} }
} }
@ -817,16 +847,42 @@ public class Window_gestionnaire extends JFrame {
} }
}); });
// Ajouter un KeyListener à la JFrame
// détection de la touche escape pour remettre à null le noeud nStudent
// et réinitialise la selection de la ligne.
table.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// Cette méthode n'est pas utilisée ici
}
@Override
public void keyPressed(KeyEvent e) {
// Vérifier si la touche Echap est pressée
if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
nStudent = null;
table.clearSelection();
System.out.println("La touche Echap a été pressée !");
}
}
@Override
public void keyReleased(KeyEvent e) {
// Cette méthode n'est pas utilisée ici
}
});
majFiltres();
majTableFormation(); majTable();
majTableGroupes();
frame.setVisible(true); frame.setVisible(true);
} }
public void majTableFormation() { /**
* Mise à jour des combox
*/
public void majFiltres() {
chargeAffichageColonne(); chargeAffichageColonne();
@ -1058,7 +1114,7 @@ public class Window_gestionnaire extends JFrame {
/** /**
* Mise à jour de la table. * Mise à jour de la table.
*/ */
public void majTableGroupes() { public void majTable() {
lblInformationStudent.setText(""); lblInformationStudent.setText("");
@ -1386,8 +1442,8 @@ public class Window_gestionnaire extends JFrame {
table.setValueAt(oldValue, row, column); table.setValueAt(oldValue, row, column);
} }
majTableFormation(); majFiltres();
majTableGroupes(); majTable();
} }
}); });
@ -1453,6 +1509,11 @@ public class Window_gestionnaire extends JFrame {
return columnNames; return columnNames;
} }
/**
* Permet de construire un dictionnaire<String index> qui permet
* d'associer au nom des colonnes de la table l'index de la colonne.
* @return
*/
private Map<String, Integer> getMapNamesColumnsIndexColumns(){ private Map<String, Integer> getMapNamesColumnsIndexColumns(){
// Obtenir le modèle de la table // Obtenir le modèle de la table
TableModel model = table.getModel(); TableModel model = table.getModel();
@ -1470,6 +1531,10 @@ public class Window_gestionnaire extends JFrame {
return MapColumnNames; return MapColumnNames;
} }
/**
* Mise à jour dans la table des chckMenu pour l'affichage de colonne.
* Enregistre dans la base l'état des chcMenu.
*/
private void majAffichageDesChck() { private void majAffichageDesChck() {
noeud nYears = commandes.nBase.getChild(cYears.getSelectedItem().toString()); noeud nYears = commandes.nBase.getChild(cYears.getSelectedItem().toString());
@ -1493,9 +1558,13 @@ public class Window_gestionnaire extends JFrame {
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE,""); sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE,"");
majTableGroupes(); majTable();
} }
/**
* Mise à jour de l'affichage des colonnes en fonction de l'information qui se trouve dans le noeud commandes.nBase.
*/
private void chargeAffichageColonne() { private void chargeAffichageColonne() {
noeud nYears = commandes.nBase.getChild(cYears.getSelectedItem().toString()); noeud nYears = commandes.nBase.getChild(cYears.getSelectedItem().toString());

View File

@ -1,4 +1,4 @@
package baseUFRHG.actions; package actions;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.InputEvent; import java.awt.event.InputEvent;
@ -10,9 +10,9 @@ import javax.swing.ImageIcon;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import Windows.Window_gestionnaire; import Windows.Window_gestionnaire;
import baseUFRHG.exportBaseToExcel; import exportations.exportBaseToExcel;
import baseUFRHG.exportBaseToExcel.exportType; import exportations.exportBaseToExcel.exportType;
import baseUFRHG.noeud; import outils.noeud;
@ -38,7 +38,7 @@ public class exportEmargement extends AbstractAction{
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
instance.majTableGroupes(); instance.majTable();
this.nTable = instance.nTable; this.nTable = instance.nTable;
if(nTable!=null) { if(nTable!=null) {
exportBaseToExcel.exportTable(nTable, exportType.EMARGEMENT); exportBaseToExcel.exportTable(nTable, exportType.EMARGEMENT);

View File

@ -1,4 +1,4 @@
package baseUFRHG.actions; package actions;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.InputEvent; import java.awt.event.InputEvent;
@ -11,9 +11,9 @@ import javax.swing.JOptionPane;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import Windows.Window_gestionnaire; import Windows.Window_gestionnaire;
import baseUFRHG.exportBaseToExcel; import exportations.exportBaseToExcel;
import baseUFRHG.exportBaseToExcel.exportType; import exportations.exportBaseToExcel.exportType;
import baseUFRHG.noeud; import outils.noeud;
@ -39,7 +39,7 @@ public class exportTable extends AbstractAction{
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
instance.majTableGroupes(); instance.majTable();
this.nTable = instance.nTable; this.nTable = instance.nTable;
if(nTable!=null) { if(nTable!=null) {
exportBaseToExcel.exportTable(nTable, exportType.TABLE); exportBaseToExcel.exportTable(nTable, exportType.TABLE);

View File

@ -1,4 +1,4 @@
package baseUFRHG.actions; package actions;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.InputEvent; import java.awt.event.InputEvent;
@ -10,19 +10,15 @@ import javax.swing.ImageIcon;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import Windows.Window_gestionnaire; import Windows.Window_gestionnaire;
import baseUFRHG.CreateUpdateZipArchive; import base.CreateUpdateZipArchive;
import baseUFRHG.commandes; import base.sauvegardeXMLBase;
import baseUFRHG.sauvegardeXMLBase; import base.sauvegardeXMLBase.saveType;
import baseUFRHG.sauvegardeXMLBase.saveType; import outils.commandes;
public class saveTable extends AbstractAction{ public class saveTable extends AbstractAction{
private Window_gestionnaire instance;
public saveTable(Window_gestionnaire instance) { public saveTable(Window_gestionnaire instance) {
this.instance = instance;
putValue( Action.NAME, "Sauvegarder les modifications" ); putValue( Action.NAME, "Sauvegarder les modifications" );
putValue( Action.SMALL_ICON, new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveTable.png")) ); putValue( Action.SMALL_ICON, new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveTable.png")) );
putValue( Action.LARGE_ICON_KEY, new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveTable.png")) ); putValue( Action.LARGE_ICON_KEY, new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveTable.png")) );
@ -41,9 +37,5 @@ public class saveTable extends AbstractAction{
// Sauvegarde de la base // Sauvegarde de la base
sauvegardeXMLBase.save(commandes.nBase,saveType.WITH_DEFAULT_MESSAGE,""); sauvegardeXMLBase.save(commandes.nBase,saveType.WITH_DEFAULT_MESSAGE,"");
CreateUpdateZipArchive.save(); CreateUpdateZipArchive.save();
instance.majTableFormation();
instance.majTableGroupes();
} }
} }

View File

@ -1,4 +1,4 @@
package baseUFRHG; package base;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileWriter; import java.io.FileWriter;
@ -17,6 +17,8 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
import outils.commandes;
public class CreateUpdateZipArchive { public class CreateUpdateZipArchive {

77
src/base/Hash.java Normal file
View File

@ -0,0 +1,77 @@
package base;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import outils.commandes;
import outils.noeud;
public class Hash {
/**
* Retourne TRUE si doit réaliser une sauvegarde de la base.
* @return
*/
public static boolean faireLaSauvegarde() {
boolean result = false;
noeud nSauvgardeBase = recupeBases.recupereLaSauvegardeBase();
String nSauvegardeBaseString = "";
String nBaseString = "";
boolean sauvegareExiste = false;
String defaut_Year = "";
if(nSauvgardeBase!=null) {
if(nSauvgardeBase.getAttributes("defaut_Year")!=null) {
defaut_Year = nSauvgardeBase.getAttributes("defaut_Year");
if(nSauvgardeBase.getChild(defaut_Year)!=null) {
nSauvegardeBaseString = nSauvgardeBase.getChild(defaut_Year).toWrite();
if(commandes.nBase.getChild(defaut_Year)!=null) {
nBaseString = commandes.nBase.getChild(defaut_Year).toWrite();
sauvegareExiste = true;
}
}
}
}else {
// Si le fichier de sauvegarde n'existe pas alors doit créer une sauvegarde.
result = true;
}
if(!sauvegareExiste) return result;
try {
// Calculer le hachage (hash) du contenu du fichier
String fileHashFileSave = calculateHash(nSauvegardeBaseString);
// Hachage de référence à comparer
String fileHashBase = calculateHash(nBaseString);
// Comparer les hachages
if (!fileHashFileSave.equals(fileHashBase)) {
System.out.println("Les hachages sont différents. Sauvegarde.");
result = true;
} else {
System.out.println("Les hachages sont identiques. Pas de sauvegarde.");
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return result;
}
private static String calculateHash(String input) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] hashBytes = md.digest(input.getBytes());
StringBuilder hash = new StringBuilder();
for (byte b : hashBytes) {
hash.append(String.format("%02x", b));
}
return hash.toString();
}
}

View File

@ -1,4 +1,4 @@
package baseUFRHG; package base;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -10,7 +10,10 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import baseUFRHG.sauvegardeXMLBase.saveType; import base.sauvegardeXMLBase.saveType;
import outils.commandes;
import outils.noeud;
import outils.supprimeCaracatresSpeciaux;
public class base { public class base {

View File

@ -1,4 +1,4 @@
package baseUFRHG; package base;
import java.io.File; import java.io.File;
import java.nio.file.Paths; import java.nio.file.Paths;
@ -7,6 +7,10 @@ import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import outils.lectureFileToString;
import outils.lectureXML;
import outils.noeud;
public class recupeBases { public class recupeBases {
/** /**
@ -18,8 +22,6 @@ public class recupeBases {
noeud nBase = null; noeud nBase = null;
if (file.exists()) { if (file.exists()) {
//lecture du fichier base.xml //lecture du fichier base.xml
String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml"; String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml";
@ -45,4 +47,23 @@ public class recupeBases {
} }
public static noeud recupereLaSauvegardeBase() {
String filePath = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
File file = new File(filePath);
noeud nSauvegardeBase = null;
if (file.exists()) {
//lecture du fichier base.xml
String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
String xmlString = lectureFileToString.lecture(directoryName);
nSauvegardeBase = lectureXML.lectureStringToNoeud(xmlString);
}
return nSauvegardeBase;
}
} }

View File

@ -1,4 +1,4 @@
package baseUFRHG; package base;
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.File; import java.io.File;
@ -11,6 +11,8 @@ import java.util.Date;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import outils.noeud;
public class sauvegardeXMLBase { public class sauvegardeXMLBase {
public static enum saveType{ public static enum saveType{

View File

@ -1,4 +1,4 @@
package baseUFRHG; package exportations;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package exportations;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package exportations;
import java.util.Arrays; import java.util.Arrays;
import java.util.Comparator; import java.util.Comparator;
@ -7,6 +7,10 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import outils.FileSaveXLSX;
import outils.commandes;
import outils.noeud;
public class exportBaseToExcel { public class exportBaseToExcel {
public static enum exportType { public static enum exportType {

View File

@ -1,4 +1,4 @@
package baseUFRHG; package gestion_version;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
@ -10,7 +10,12 @@ import java.util.regex.Pattern;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import baseUFRHG.sauvegardeXMLBase.saveType; import base.recupeBases;
import base.sauvegardeXMLBase;
import base.sauvegardeXMLBase.saveType;
import outils.commandes;
import outils.lectureXML;
import outils.noeud;
public class VersionChecker { public class VersionChecker {

View File

@ -1,4 +1,4 @@
package baseUFRHG; package importations;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -13,6 +13,12 @@ import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import base.recupeBases;
import base.sauvegardeXMLBase;
import outils.commandes;
import outils.noeud;
import outils.supprimeCaracatresSpeciaux;
public class importAllBaseToExcel { public class importAllBaseToExcel {
public static void lecture(File file) { public static void lecture(File file) {

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.File; import java.io.File;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.File; import java.io.File;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.File; import java.io.File;

View File

@ -1,10 +1,14 @@
package baseUFRHG; package outils;
import java.io.File; import java.io.File;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JFrame; import javax.swing.JFrame;
import exportations.CreateCalcWorkbook;
import exportations.createEmargement;
import exportations.exportBaseToExcel;
public class FileSaveXLSX { public class FileSaveXLSX {
Object[][] data = null; Object[][] data = null;
String Formation = ""; String Formation = "";

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
public class TextComparator { public class TextComparator {

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Node; import org.w3c.dom.Node;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.File; import java.io.File;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
public class commandes { public class commandes {

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileInputStream; import java.io.FileInputStream;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -1,4 +1,4 @@
package baseUFRHG; package outils;
import java.text.Normalizer; import java.text.Normalizer;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB