From e9ea186de89b8d3a5f70518bcb8a09fad1f12d34 Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Sat, 22 Jul 2023 21:19:40 +0200 Subject: [PATCH] Maj V1.0.6 --- base/archiveBase.zip | Bin 369472 -> 564164 bytes base/base.xml | 2 +- base/base_sauvegarde.xml | 2 +- resources/portevoie.svg | 78 +++++++++ src/Inscriptions/importInscriptionXLS.java | 8 +- src/Inscriptions/lectureCSV.java | 2 +- src/Inscriptions/majBaseWithCSV.java | 6 +- src/Windows/Window_demarre.java | 185 +++++++++++++-------- src/Windows/Window_gestionnaire.java | 9 +- src/base/NomDeColonneInscriptionTable.java | 50 +++--- src/base/base.java | 18 +- src/base/recupeBases.java | 4 - src/gestion_version/VersionChecker.java | 21 ++- src/importations/importAllBaseToExcel.java | 14 +- src/outils/commandes.java | 6 +- src/outils/noeud.java | 21 ++- src/outils/supprimeCaracatresSpeciaux.java | 7 +- 17 files changed, 302 insertions(+), 131 deletions(-) create mode 100644 resources/portevoie.svg diff --git a/base/archiveBase.zip b/base/archiveBase.zip index ea11d19439241831bd9957cc4c91fb3e9c65c326..aa2a8511840be2e839c8f3f09476ee768af786bb 100644 GIT binary patch delta 158587 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 diff --git a/base/base.xml b/base/base.xml index bbcd6f8..7925e5d 100644 --- a/base/base.xml +++ b/base/base.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/base/base_sauvegarde.xml b/base/base_sauvegarde.xml index 2d37f4c..f539c10 100644 --- a/base/base_sauvegarde.xml +++ b/base/base_sauvegarde.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/portevoie.svg b/resources/portevoie.svg new file mode 100644 index 0000000..8137365 --- /dev/null +++ b/resources/portevoie.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Inscriptions/importInscriptionXLS.java b/src/Inscriptions/importInscriptionXLS.java index 8f9c33e..b80585e 100644 --- a/src/Inscriptions/importInscriptionXLS.java +++ b/src/Inscriptions/importInscriptionXLS.java @@ -73,7 +73,7 @@ public class importInscriptionXLS { for (Cell cell : sheet.getRow(0)) { if(cell.getCellType()==CellType.STRING) { - String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(cell.getStringCellValue()); + String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(cell.getStringCellValue()); if(nameColumns.equals(commandes.nomColonneNomEtudiant)) nomPresent=true; if(nameColumns.equals(commandes.nomColonnePrenomEtudiant)) prenomPresent=true; if(nameColumns.equals(commandes.nomColonneCodeEtudiant)) codePresent=true; @@ -119,14 +119,14 @@ public class importInscriptionXLS { // Création ou insertion des informations récupéré dans le HashMap Student; if(Student.get(commandes.nomColonneExcel_Formation)!=null) { - String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(Student.get(commandes.nomColonneExcel_Formation)); + String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(Student.get(commandes.nomColonneExcel_Formation)); noeud nFormation = null; // récupère le noeud formation ou bien création du noeud formation if(nYear.getChild(nameFormation)!=null) { nFormation = nYear.getChild(nameFormation); }else { - nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nameFormation)); + nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nameFormation)); nFormation.setAttribut("Colonne_Groupe_Documentation", "true"); nFormation.setAttribut("Colonne_Groupe_Informatique", "true"); nFormation.setAttribut("Colonne_Groupe_LV1", "true"); @@ -175,7 +175,7 @@ public class importInscriptionXLS { || entry.getKey().equals(commandes.nomColonneExcel_MailPersoEtudiant) || entry.getKey().equals(commandes.nomColonneExcel_MailUnivEtudiant) || entry.getKey().equals(commandes.nomColonneExcel_PortableEtudiant)) { - nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getKey()), entry.getValue()); + nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getKey()), entry.getValue()); } } diff --git a/src/Inscriptions/lectureCSV.java b/src/Inscriptions/lectureCSV.java index b1392b8..07f9268 100644 --- a/src/Inscriptions/lectureCSV.java +++ b/src/Inscriptions/lectureCSV.java @@ -35,7 +35,7 @@ public class lectureCSV { entete = false; int compteur = 0 ; for (String value : data) { - value = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(value); + value = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(value); Head.setAttribut("C"+String.valueOf(compteur), value); compteur++; } diff --git a/src/Inscriptions/majBaseWithCSV.java b/src/Inscriptions/majBaseWithCSV.java index 167d179..bee636d 100644 --- a/src/Inscriptions/majBaseWithCSV.java +++ b/src/Inscriptions/majBaseWithCSV.java @@ -22,7 +22,7 @@ public class majBaseWithCSV { if(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")!=null) { if(!nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.").isEmpty()) { if(!isExisteFormationIntoBase(nBase, nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))) { - noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))); + noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))); nFormation.setAttribut("Colonne_Groupe_Documentation", "true"); nFormation.setAttribut("Colonne_Groupe_Informatique", "true"); nFormation.setAttribut("Colonne_Groupe_LV1", "true"); @@ -57,7 +57,7 @@ public class majBaseWithCSV { private static boolean isExisteFormationIntoBase(noeud nBase , String attribut) { if(defaut_Year!=null) { - if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(attribut))!=null) { + if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(attribut))!=null) { return true; } } @@ -77,7 +77,7 @@ public class majBaseWithCSV { if(isValidEightDigits(nStudent.getAttributes("Individu_-_Code_Etudiant")) && !isOnlySpace ) { if(isExisteFormationIntoBase(nBase, nStudent.getAttributes("IAE_-_Etape_lib."))) { - noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib."))); + noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib."))); if(nBF.getChild("n"+nStudent.getAttributes("Individu_-_Code_Etudiant").trim())==null) { diff --git a/src/Windows/Window_demarre.java b/src/Windows/Window_demarre.java index 8076e69..71f6c4e 100644 --- a/src/Windows/Window_demarre.java +++ b/src/Windows/Window_demarre.java @@ -23,10 +23,10 @@ import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JTabbedPane; import javax.swing.SwingConstants; import javax.swing.UIManager; -import Inscriptions.importInscriptionCSV; import Inscriptions.importInscriptionXLS; import base.CreateUpdateZipArchive; import base.Hash; @@ -113,13 +113,19 @@ public class Window_demarre extends JFrame { } }; - // Planification de la tâche de sauvegarde automatique à exécuter toutes les 5 minutes 10 * 60 * 1000 - timer.schedule(autoSaveTask, 0, 300000); + // Planification de la tâche de sauvegarde automatique à exécuter toutes les 1 minutes 10 * 60 * 1000 + timer.schedule(autoSaveTask, 0, 60000); + + + if(commandes.newVersion && !commandes.messageVersion.isEmpty()) { + String message = "" + commandes.messageVersion + ""; + JOptionPane.showMessageDialog(null, message,"Information version",JOptionPane.INFORMATION_MESSAGE); + } if(!commandes.messageAlerte.isEmpty()) { String message = "" + commandes.messageAlerte + ""; - JOptionPane.showMessageDialog(null, message); + JOptionPane.showMessageDialog(null, message,"Information",JOptionPane.INFORMATION_MESSAGE); } } catch (Exception e) { @@ -142,11 +148,11 @@ public class Window_demarre extends JFrame { frmEvalwriter.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée"); - //frmEvalwriter.setBounds(100, 100, 765, 641); - frmEvalwriter.setBounds(100, 100, 765, 641); + //frmEvalwriter.setBounds(100, 100, 765, 640); + frmEvalwriter.setBounds(100, 100, 765, 640); //Affiche le bouton "Nouvelle version dispoinible". - if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 745); + if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 712); int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); @@ -159,20 +165,6 @@ public class Window_demarre extends JFrame { frmEvalwriter.setResizable(false); - btnExporterTouteLaBase = new JButton("Exporter toute la base dans
un classeur MS Excel"); - btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png"))); - btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16)); - btnExporterTouteLaBase.setBounds(10, 530, 360, 60); - - frmEvalwriter.getContentPane().add(btnExporterTouteLaBase); - - actImporterInscriptionDepuisCSV = new JButton("Importer des inscriptions
depuis CSV (UTF-8, point-virgule)"); - actImporterInscriptionDepuisCSV.setHorizontalAlignment(SwingConstants.LEFT); - actImporterInscriptionDepuisCSV.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importationcsv.png"))); - actImporterInscriptionDepuisCSV.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 16)); - actImporterInscriptionDepuisCSV.setBounds(409, 721, 377, 60); - actImporterInscriptionDepuisCSV.setForeground(Color.DARK_GRAY); - frmEvalwriter.getContentPane().add(actImporterInscriptionDepuisCSV); JLabel lblTitre = new JLabel(); lblTitre.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/accueil.png"))); @@ -181,26 +173,6 @@ public class Window_demarre extends JFrame { lblTitre.setFont(new Font("Pacifico", Font.PLAIN, 26)); lblTitre.setBounds(10, 35, 700, 202); frmEvalwriter.getContentPane().add(lblTitre); - btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/majInscriptionToBase.png"))); - btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); - btnMiseAJourDepuisClasseur.setBounds(10, 460, 360, 60); - frmEvalwriter.getContentPane().add(btnMiseAJourDepuisClasseur); - - - btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png"))); - btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16)); - btnGestionnaire.setBounds(380, 460, 360, 131); - frmEvalwriter.getContentPane().add(btnGestionnaire); - btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/bouton_inscription_excel.png"))); - btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); - btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 320, 360, 60); - frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur); - - btnNAideMiseAJour.setForeground(Color.GRAY); - btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnNAideMiseAJour.setBounds(380, 419, 360, 30); - frmEvalwriter.getContentPane().add(btnNAideMiseAJour); - lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP); lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT); @@ -209,34 +181,114 @@ public class Window_demarre extends JFrame { lblAuteurVersion.setBounds(22, 11, 307, 55); frmEvalwriter.getContentPane().add(lblAuteurVersion); - lblFondImage.setVerticalAlignment(SwingConstants.BOTTOM); lblFondImage.setBounds(10, 0, 730, 317); frmEvalwriter.getContentPane().add(lblFondImage); affichageImageDeFond(); + JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane.setBounds(10, 320, 729, 271); + tabbedPane.setFont(new Font("Arial", Font.BOLD, 14)); + + + JPanel tabGestionnaire = new JPanel(); + tabbedPane.addTab("Gestion de
la base de données", tabGestionnaire); + + JPanel tabInscriptions = new JPanel(); + tabbedPane.addTab("Inscriptions
des étudiants", tabInscriptions); + + JPanel tabExporteImporte = new JPanel(); + tabbedPane.addTab("Exporter et importer des données
depuis un classeur Ms Excel", tabExporteImporte); + tabbedPane.setEnabledAt(2, true); + + JPanel tabAides = new JPanel(); + tabbedPane.addTab("Aides", tabAides); + + frmEvalwriter.getContentPane().add(tabbedPane); + tabExporteImporte.setLayout(null); + + + + btnExporterTouteLaBase = new JButton("Exporter toute la base dans
un classeur MS Excel"); + btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png"))); + btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16)); + btnExporterTouteLaBase.setBounds(370, 10, 340, 80); + + tabExporteImporte.add(btnExporterTouteLaBase); +// frmEvalwriter.getContentPane().add(btnExporterTouteLaBase); + +// actImporterInscriptionDepuisCSV = new JButton("Importer des inscriptions
depuis CSV (UTF-8, point-virgule)"); +// actImporterInscriptionDepuisCSV.setHorizontalAlignment(SwingConstants.LEFT); +// actImporterInscriptionDepuisCSV.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importationcsv.png"))); +// actImporterInscriptionDepuisCSV.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 16)); +// actImporterInscriptionDepuisCSV.setBounds(409, 721, 377, 60); +// actImporterInscriptionDepuisCSV.setForeground(Color.DARK_GRAY); + +// frmEvalwriter.getContentPane().add(actImporterInscriptionDepuisCSV); + + + btnMiseAJourDepuisClasseur = new JButton("Mise à jour de la base depuis
un classeur Ms Excel"); + btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/majInscriptionToBase.png"))); + btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); + btnMiseAJourDepuisClasseur.setBounds(10, 10, 340, 200); + tabExporteImporte.add(btnMiseAJourDepuisClasseur); + tabGestionnaire.setLayout(null); + + +// frmEvalwriter.getContentPane().add(btnMiseAJourDepuisClasseur); + + btnGestionnaire = new JButton(""); + btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png"))); + btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16)); + btnGestionnaire.setBounds(10, 10, 340, 200); + tabGestionnaire.add(btnGestionnaire); + tabInscriptions.setLayout(null); + +// frmEvalwriter.getContentPane().add(btnGestionnaire); + + btnimporterDesInscriptionsdepuisClasseur = new JButton("Importer des inscriptions
depuis un classeur Ms Excel"); + btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/bouton_inscription_excel.png"))); + btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); + btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 10, 340, 200); + + tabInscriptions.add(btnimporterDesInscriptionsdepuisClasseur); + tabAides.setLayout(null); + +// frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur); + + btnNAideMiseAJour = new JButton("Aide à la mise en jour"); + btnNAideMiseAJour.setForeground(Color.GRAY); + btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); + btnNAideMiseAJour.setBounds(288, 21, 426, 30); + tabAides.add(btnNAideMiseAJour); + +// frmEvalwriter.getContentPane().add(btnNAideMiseAJour); + btnNewVersion.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newVersion.png"))); btnNewVersion.setFont(new Font("Tahoma", Font.BOLD, 16)); - btnNewVersion.setBounds(10, 602, 729, 63); - frmEvalwriter.getContentPane().add(btnNewVersion); + btnNewVersion.setBounds(20, 602, 705, 63); btnNewVersion.setVisible(commandes.newVersion); - + frmEvalwriter.getContentPane().add(btnNewVersion); + + btnHelpDownload = new JButton("Aide au téléchargement et à l'installation"); btnHelpDownload.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); btnHelpDownload.setForeground(Color.GRAY); - btnHelpDownload.setBounds(10, 665, 729, 30); - frmEvalwriter.getContentPane().add(btnHelpDownload); + btnHelpDownload.setBounds(288, 84, 426, 30); +// tabAideParamètres.add(btnHelpDownload); + + tabAides.add(btnHelpDownload); btnAideImportationInscriptionXLSX.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnAideImportationInscriptionXLSX.setBounds(380, 385, 360, 30); - frmEvalwriter.getContentPane().add(btnAideImportationInscriptionXLSX); + btnAideImportationInscriptionXLSX.setBounds(288, 52, 426, 30); btnAideImportationInscriptionXLSX.setForeground(Color.GRAY); + tabAides.add(btnAideImportationInscriptionXLSX); - JButton btnAideImportationInscriptionCSV = new JButton("Aide à l'importation des inscriptions depuis fichier CSV"); - btnAideImportationInscriptionCSV.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnAideImportationInscriptionCSV.setBounds(409, 762, 377, 30); - frmEvalwriter.getContentPane().add(btnAideImportationInscriptionCSV); - btnAideImportationInscriptionCSV.setForeground(Color.GRAY); +// JButton btnAideImportationInscriptionCSV = new JButton("Aide à l'importation des inscriptions depuis fichier CSV"); +// btnAideImportationInscriptionCSV.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); +// btnAideImportationInscriptionCSV.setBounds(409, 762, 377, 30); +// frmEvalwriter.getContentPane().add(btnAideImportationInscriptionCSV); +// btnAideImportationInscriptionCSV.setForeground(Color.GRAY); JButton btnParametresClasseurInscription = new JButton("Paramètres classeur
des inscriptions"); btnParametresClasseurInscription.addActionListener(new ActionListener() { @@ -244,25 +296,24 @@ public class Window_demarre extends JFrame { Window_parametreImportationInscription.Affiche(); } }); + btnParametresClasseurInscription.setFont(new Font("Arial", Font.BOLD, 16)); btnParametresClasseurInscription.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/parametreImportationIncriptions.png"))); - btnParametresClasseurInscription.setBounds(10, 390, 360, 60); - frmEvalwriter.getContentPane().add(btnParametresClasseurInscription); + btnParametresClasseurInscription.setBounds(370, 10, 340, 80); + tabInscriptions.add(btnParametresClasseurInscription); + +// frmEvalwriter.getContentPane().add(btnParametresClasseurInscription); JButton btnRenommerActiverColonne = new JButton("Renommer et activer
des colonnes"); btnRenommerActiverColonne.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newColumnsApplication.png"))); btnRenommerActiverColonne.setFont(new Font("Arial", Font.BOLD, 16)); - btnRenommerActiverColonne.setBounds(380, 320, 360, 60); + btnRenommerActiverColonne.setBounds(370, 10, 340, 80); btnRenommerActiverColonne.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Window_renommerColonne.Affiche(); } }); - frmEvalwriter.getContentPane().add(btnRenommerActiverColonne); - - - - btnHelpDownload.setVisible(commandes.newVersion); + tabGestionnaire.add(btnRenommerActiverColonne); ListenerAction(); @@ -340,11 +391,11 @@ public class Window_demarre extends JFrame { }); // Bouton importer des inscriptions depuis un fichier CSV. - actImporterInscriptionDepuisCSV.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - importInscriptionCSV.importe(); - } - }); +// actImporterInscriptionDepuisCSV.addActionListener(new ActionListener() { +// public void actionPerformed(ActionEvent e) { +// importInscriptionCSV.importe(); +// } +// }); // Bouton Aide à l'importation des inscription depuis un classeur Ms Excel btnAideImportationInscriptionXLSX.addActionListener(new ActionListener() { diff --git a/src/Windows/Window_gestionnaire.java b/src/Windows/Window_gestionnaire.java index e39506f..f2888b9 100644 --- a/src/Windows/Window_gestionnaire.java +++ b/src/Windows/Window_gestionnaire.java @@ -66,6 +66,7 @@ import base.sauvegardeXMLBase.saveType; import outils.FileChooserXML; import outils.commandes; import outils.noeud; +import outils.supprimeCaracatresSpeciaux; public class Window_gestionnaire extends JFrame { @@ -1381,9 +1382,12 @@ public class Window_gestionnaire extends JFrame { noeud nStudent = nF.getChild(codeStudent); + // Les caractères < ou > ou " sont interdits car ils sont interprétés comme du code XML. + value = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(value); boolean isOnlySpace = value.matches("\\s+"); + if(!isOnlySpace) { - try { + try { nStudent.setAttribut(key, value.trim() ); sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE,""); }catch (Exception e1) { @@ -1394,9 +1398,8 @@ public class Window_gestionnaire extends JFrame { table.setValueAt(oldValue, row, column); } - // Après majFiltres il y a automatiquelent majTable. + // Après la procédure "majFiltres", il y a automatique la procédure "majTable". majFiltres(); - //majTable(); } }); diff --git a/src/base/NomDeColonneInscriptionTable.java b/src/base/NomDeColonneInscriptionTable.java index 9257947..d8e787f 100644 --- a/src/base/NomDeColonneInscriptionTable.java +++ b/src/base/NomDeColonneInscriptionTable.java @@ -94,15 +94,15 @@ public class NomDeColonneInscriptionTable { commandes.nomFeuilleExcel_Inscription = "Inscrits détail"; - commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web"; - commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom"; - commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom"; - commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant"; - commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib."; - commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib."; - commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable"; - commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel"; - commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email"; + commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web"; + commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom"; + commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom"; + commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant"; + commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib."; + commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib."; + commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable"; + commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel"; + commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email"; commandes.nomColonne_Option_1 = "Option_1"; @@ -130,61 +130,61 @@ public class NomDeColonneInscriptionTable { if(nomColonne.containsKey("Excel_Formation")) { commandes.nomColonneExcel_Formation = nomColonne.get("Excel_Formation"); - commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation); + commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation); } if(nomColonne.containsKey("Excel_Individu_-_Nom")) { commandes.nomColonneExcel_NomEtudiant = nomColonne.get("Excel_Individu_-_Nom"); - commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant); + commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Prenom")) { commandes.nomColonneExcel_PrenomEtudiant = nomColonne.get("Excel_Individu_-_Prenom"); - commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant); + commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Code_Etudiant")) { commandes.nomColonneExcel_CodeEtudiant = nomColonne.get("Excel_Individu_-_Code_Etudiant"); - commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_CodeEtudiant); + commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant); } if(nomColonne.containsKey("Excel_Profil_etudiant_lib.")) { commandes.nomColonneExcel_ProfilEtudiant = nomColonne.get("Excel_Profil_etudiant_lib."); - commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); + commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); } if(nomColonne.containsKey("Excel_Bac_ou_equivalence_lib.")) { commandes.nomColonneExcel_BacEtudiant = nomColonne.get("Excel_Bac_ou_equivalence_lib."); - commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_BacEtudiant); + commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Tel._portable")) { commandes.nomColonneExcel_PortableEtudiant = nomColonne.get("Excel_Individu_-_Tel._portable"); - commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PortableEtudiant); + commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Email_personnel")) { commandes.nomColonneExcel_MailPersoEtudiant = nomColonne.get("Excel_Individu_-_Email_personnel"); - commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant); + commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Email")) { commandes.nomColonneExcel_MailUnivEtudiant = nomColonne.get("Excel_Individu_-_Email"); - commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant); + commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant); } if(nomColonne.containsKey("Excel_Feuille_Inscription")) commandes.nomFeuilleExcel_Inscription = nomColonne.get("Excel_Feuille_Inscription"); if(nomColonne.containsKey("nomColonne_Option_1")) { - commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_1")); + commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_1")); commandes.enabled_Colonne_Option_1 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_1")); } if(nomColonne.containsKey("nomColonne_Option_2")) { - commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_2")); + commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_2")); commandes.enabled_Colonne_Option_2 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_2")); } if(nomColonne.containsKey("nomColonne_Option_3")) { - commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_3")); + commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_3")); commandes.enabled_Colonne_Option_3 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_3")); } if(nomColonne.containsKey("nomColonne_Option_4")) { - commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_4")); + commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_4")); commandes.enabled_Colonne_Option_4 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_4")); } if(nomColonne.containsKey("nomColonne_Option_5")) { - commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_5")); + commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_5")); commandes.enabled_Colonne_Option_5 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_5")); } @@ -322,8 +322,8 @@ public class NomDeColonneInscriptionTable { // Remplissage de la listNomDesColonnes et vérification for (Map.Entry entry : nomColonne.entrySet()) { - if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getValue()))) { - commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getValue())); + if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue()))) { + commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue())); }else { message.append("

Le nom de la colonne " + entry.getKey() + " = "+ entry.getValue() + " est en double.

"); result =true; diff --git a/src/base/base.java b/src/base/base.java index ecc2c41..cfb91d0 100644 --- a/src/base/base.java +++ b/src/base/base.java @@ -55,8 +55,22 @@ public class base { nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription); + nBase.setAttribut("nomColonne_Option_1", "Option_1"); + nBase.setAttribut("Enabled_Colonne_Option_1", "false"); - String defaultValue = "2022-2023"; + nBase.setAttribut("nomColonne_Option_2", "Atelier-rentree_horaire"); + nBase.setAttribut("Enabled_Colonne_Option_2", "true"); + + nBase.setAttribut("nomColonne_Option_3", "Atelier_pre-rentree_enseignant"); + nBase.setAttribut("Enabled_Colonne_Option_3", "true"); + + nBase.setAttribut("nomColonne_Option_4", "Atelier_pre-rentree_salle"); + nBase.setAttribut("Enabled_Colonne_Option_4", "true"); + + nBase.setAttribut("nomColonne_Option_5", "Information"); + nBase.setAttribut("Enabled_Colonne_Option_5", "false"); + + String defaultValue = "2023-2024"; String userInput = JOptionPane.showInputDialog("Quelle est l'année universitaire ? ",defaultValue); String regex = "(\\d{4})-(\\d{4})"; @@ -72,7 +86,7 @@ public class base { if (secondNumber==(firstNumber+1)) { if(!userInput.isEmpty()) { - userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(userInput); + userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(userInput); nBase.addChild(new noeud(userInput)); nBase.setAttribut("defaut_Year", userInput); diff --git a/src/base/recupeBases.java b/src/base/recupeBases.java index 8290280..6c4fa1b 100644 --- a/src/base/recupeBases.java +++ b/src/base/recupeBases.java @@ -52,15 +52,11 @@ public class recupeBases { 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; diff --git a/src/gestion_version/VersionChecker.java b/src/gestion_version/VersionChecker.java index e60dafe..6f55fcd 100644 --- a/src/gestion_version/VersionChecker.java +++ b/src/gestion_version/VersionChecker.java @@ -100,6 +100,21 @@ public class VersionChecker { } + pattern = "messageVersion-(.*?)-messageVersion"; + regex = Pattern.compile(pattern); + matcher = regex.matcher(content); + + // message alerte sur le site de la forge de chapril + while (matcher.find()) { + // Récupérer le texte entre les balises messageAlerte + // -br- retour à la ligne + // -b- et -/b- en gras + // -u- et -/u- soiligné + commandes.messageVersion = matcher.group(1); + commandes.messageVersion = commandes.messageVersion.replaceAll("-br-", "
").replaceAll("-b-", "").replaceAll("-/b-", "").replaceAll("-u-", "").replaceAll("-/u-", "") + .replaceAll("-h1-", "

").replaceAll("-/h1-", "

").replaceAll("-h2-", "

").replaceAll("-/h2-", "

").replaceAll("-p-", "

").replaceAll("-/p-", "

"); + } + // Définir le motif de la regex pattern = "messageAlerte-(.*?)-messageAlerte"; @@ -113,11 +128,15 @@ public class VersionChecker { // -b- et -/b- en gras // -u- et -/u- soiligné commandes.messageAlerte = matcher.group(1); - commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "
").replaceAll("-b-", "").replaceAll("-/b-", "").replaceAll("-u-", "").replaceAll("-/u-", ""); + commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "
").replaceAll("-b-", "").replaceAll("-/b-", "").replaceAll("-u-", "").replaceAll("-/u-", "") + .replaceAll("-h1-", "

").replaceAll("-/h1-", "

").replaceAll("-h2-", "

").replaceAll("-/h2-", "

").replaceAll("-p-", "

").replaceAll("-/p-", "

"); } } catch (IOException e) { + JOptionPane.showMessageDialog(null, "

Pas de connexion internet.


" + + "Impossible de vérifier si une nouvelle version est disponible.
" + + "Impossible d'afficher le message d'information, s'il est disponible."); e.printStackTrace(); } } diff --git a/src/importations/importAllBaseToExcel.java b/src/importations/importAllBaseToExcel.java index 7d77b5d..461c148 100644 --- a/src/importations/importAllBaseToExcel.java +++ b/src/importations/importAllBaseToExcel.java @@ -69,7 +69,7 @@ public class importAllBaseToExcel { trouveColonneFormation = true; indexColonneFormation = cell.getColumnIndex(); } - if(cell.getStringCellValue().equals("Individu_-_Code_Etudiant")) { + if(cell.getStringCellValue().equals(commandes.nomColonneCodeEtudiant)) { trouveColonneCode = true; indexColonneCode = cell.getColumnIndex(); } @@ -88,10 +88,9 @@ public class importAllBaseToExcel { noeud nBF = null; noeud nStudent = null; - // Colonne formation doit être la première colonne if(row.getCell(indexColonneFormation)!=null) { if(row.getCell(indexColonneFormation).getCellType() == CellType.STRING) { - nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue())); + nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue())); } }else { continue; @@ -115,6 +114,7 @@ public class importAllBaseToExcel { if(nStudent!=null) { CellType cellType = cell.getCellType(); + if (cellType == CellType.STRING) { String cellValue = cell.getStringCellValue().trim(); if(sheet.getRow(0).getCell(indexCol)!=null) { @@ -122,6 +122,7 @@ public class importAllBaseToExcel { if(isString) { String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue()); if(value!=null && !cellValue.isEmpty()) { + cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue); boolean isOnlySpaces = value.matches("\\s+"); if(!isOnlySpaces)if(!cellValue.equals(value)) { nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue); @@ -153,8 +154,8 @@ public class importAllBaseToExcel { boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING; if(isString) { String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue()); - boolean isOnlySpaces = value.matches("\\s+"); if(value!=null && !cellValue.isEmpty()) { + boolean isOnlySpaces = value.matches("\\s+"); if(!isOnlySpaces)if(!cellValue.equals(value)) { nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue); compteur++; @@ -171,7 +172,8 @@ public class importAllBaseToExcel { if(isString) { String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue()); if(value!=null && !cellValue.isEmpty()) { - boolean isOnlySpaces = value.matches("\\s+"); + cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue); + boolean isOnlySpaces = value.matches("\\s+"); if(!isOnlySpaces)if(!cellValue.equals(value)) { nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue); compteur++; @@ -194,7 +196,7 @@ public class importAllBaseToExcel { } catch (IOException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class importAllBaseToExcel", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la classe \"importAllBaseToExcel\"", JOptionPane.ERROR_MESSAGE); } sauvegardeXMLBase.saveModif(commandes.nBase, compteur); } diff --git a/src/outils/commandes.java b/src/outils/commandes.java index 36c5c46..5d08fd8 100644 --- a/src/outils/commandes.java +++ b/src/outils/commandes.java @@ -11,7 +11,7 @@ import java.util.List; public class commandes { public static noeud nBase = null; // La base de données sous forme de noeud. - public static String version = "1.0.5"; // La version actuelle + public static String version = "1.0.6"; // La version actuelle // Les colonnes obligatoires dû à l'inscription des étudaints. // nom des colonnes après traitement des caractères (Accès à la base XML) @@ -41,14 +41,12 @@ public class commandes { // liste des noms des colonnes pour éviter les colitions. public static List listNomDesColonnes = new ArrayList(); - - // Messages et sécurité public static Boolean newVersion = false; //Permet de vérifier l'existance d'un nouvelle version. public static Boolean helpme1 = false; //M'aider à compléter mon service annuel. public static Boolean blocageApplication = false; //Blocage total de l'application. public static String messageAlerte = ""; //Message alerte - + public static String messageVersion = ""; //Message version //noms des colonnes de l'application qui sont modifiables public static String nomColonne_Option_1 = "Option_1"; diff --git a/src/outils/noeud.java b/src/outils/noeud.java index 28323f0..a2db285 100644 --- a/src/outils/noeud.java +++ b/src/outils/noeud.java @@ -251,17 +251,22 @@ public class noeud implements Cloneable{ } /** - * Changement du nom d'un attribut. - * @param oldName - * @param newName + * Modification du nom d'un attribut.
+ * Si le string "oldName" est nul alors création de l'attribut "newName" avec une valeur vide. + * @param oldName : ancien nom de l'attribut. + * @param newName : nouveau nom de l'attribut. */ public void changeAttributName(String oldName, String newName) { - if(attributes.get(oldName)==null) { - return; + if(oldName!=null) { + if(attributes.get(oldName)==null) { + return; + } + String value = attributes.get(oldName); + attributes.remove(oldName); + attributes.put(newName, value); + }else { + attributes.put(newName, ""); } - String value = attributes.get(oldName); - attributes.remove(oldName); - attributes.put(newName, value); } diff --git a/src/outils/supprimeCaracatresSpeciaux.java b/src/outils/supprimeCaracatresSpeciaux.java index 6a0276b..ffe370d 100644 --- a/src/outils/supprimeCaracatresSpeciaux.java +++ b/src/outils/supprimeCaracatresSpeciaux.java @@ -4,7 +4,7 @@ import java.text.Normalizer; public class supprimeCaracatresSpeciaux { - public static String TousLesCaracatresSpeciaux(String str) { + public static String TousLesCaracteresSpeciaux(String str) { // Supprimer les accents String normalizedStr = Normalizer.normalize(str, Normalizer.Form.NFD); @@ -18,5 +18,10 @@ public class supprimeCaracatresSpeciaux { return replaceSpace; } + + + public static String LesCaracteresCodeXML(String str) { + return str.replaceAll("<", "").replaceAll(">", "").replaceAll("\"", ""); + } }