diff --git a/src/Windows/Window_demarre.java b/src/Windows/Window_demarre.java index 21d16ba..8e32827 100644 --- a/src/Windows/Window_demarre.java +++ b/src/Windows/Window_demarre.java @@ -4,6 +4,7 @@ import java.awt.Color; import java.awt.Desktop; import java.awt.Font; import java.awt.Image; +import java.awt.SystemColor; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -39,7 +40,6 @@ import gestion_version.VersionChecker; import importations.importAllBaseToExcel; import outils.FileChooserXLSX; import outils.commandes; -import java.awt.SystemColor; public class Window_demarre extends JFrame { @@ -50,13 +50,10 @@ public class Window_demarre extends JFrame { private static JFrame frmEvalwriter; JButton btnExporterTouteLaBase; JButton actImporterInscriptionDepuisCSV; - - JButton btnAideImportationInscriptionXLSX = new JButton("Aide : Importer des inscriptions"); - JButton btnHelpDownload = new JButton("Aide : Téléchargement et installation"); JButton btnNewVersion = new JButton("Nouvelle version disponible"); - JButton btnNAideMiseAJour = new JButton("Aide : Importer des données"); JButton btnMiseAJourDepuisClasseur = new JButton("Mise à jour de la base depuis
un classeur Ms Excel"); JButton btnGestionnaire = new JButton(""); + JButton btnLicence = new JButton("Licence GNU GPL 3.0"); JButton btnimporterDesInscriptionsdepuisClasseur = new JButton("Importer des inscriptions
depuis un classeur Ms Excel"); static JLabel lblAuteurVersion = new JLabel("Pablo Rodriguez - 2023
Version "+ commandes.version+""); static JLabel lblFondImage = new JLabel(); @@ -73,11 +70,9 @@ public class Window_demarre extends JFrame { Font police = new Font("Arial", Font.PLAIN, 14); UIManager.put("OptionPane.messageFont", police); - // Vérification d'une nouvelle version dans la forge de Chapril VersionChecker.verificationNewVersion(); - // mise à jour de la base de données si nouvelle version de l'application utilisé. commandes.nBase=recupeBases.recupeLaBase(); @@ -90,7 +85,7 @@ public class Window_demarre extends JFrame { // Vérification du blocage de l'application if(VerificationBlocageApplication()) { JOptionPane.showMessageDialog(null, "Blocage de l'application.
" - + "Contacter votre administrateur réseau.
Erreur : Autorisation refusée."); + + "
Erreur : Autorisation refusée."); return; } @@ -125,12 +120,12 @@ public class Window_demarre extends JFrame { boolean affichagePremierInformation = false; if(commandes.newVersion && (!commandes.messageVersion.isEmpty() || !commandes.messageAlerte.isEmpty()) ) { String message = "" + commandes.messageVersion + commandes.messageAlerte + ""; + if(commandes.noMessageAlerte) message = "" + commandes.messageVersion + ""; JOptionPane.showMessageDialog(null, message,"Information version",JOptionPane.INFORMATION_MESSAGE); affichagePremierInformation = true; } - - if(!commandes.messageAlerte.isEmpty() && !affichagePremierInformation) { + if(!commandes.messageAlerte.isEmpty() && !affichagePremierInformation && !commandes.noMessageAlerte) { String message = "" + commandes.messageAlerte + ""; JOptionPane.showMessageDialog(null, message,"Information",JOptionPane.INFORMATION_MESSAGE); } @@ -211,22 +206,14 @@ public class Window_demarre extends JFrame { tabExporteImporte.setLayout(null); JPanel tabAides = new JPanel(); - tabbedPane.addTab("Aides-Tutoriels
Tickets-Versions", tabAides); + tabbedPane.addTab("Wikidoc-Tutoriels
Tickets-Versions", tabAides); JPanel tabLicence = new JPanel(); tabbedPane.addTab("Crédits
Licences", tabLicence); tabLicence.setLayout(null); - JLabel lblCredits = new JLabel("

Auteur : Pablo Rodriguez

\r\n

Il n'y a aucune autre motivation que celle de vous rendre service qui m'ait poussé à réaliser ce programme. J'espère sincèrement qu'il vous sera utile.

\r\n
\r\n

Enseignant : Université d'Artois

\r\n

Matières : T.I.C.E. - Informatique - Automatisme (informatique Industruiel) - Productique - Statistique.

\r\n

Email : pablo rodriguez@univ-artois.fr

"); - lblCredits.setHorizontalAlignment(SwingConstants.LEFT); - lblCredits.setVerticalAlignment(SwingConstants.TOP); - lblCredits.setFont(new Font("Arial", Font.PLAIN, 14)); - lblCredits.setToolTipText(""); - lblCredits.setBounds(10, 10, 704, 140); - tabLicence.add(lblCredits); - - JButton btnNewButton_1 = new JButton("Licence GNU GPL 3.0"); - btnNewButton_1.addActionListener(new ActionListener() { + btnLicence.setBounds(390, 173, 324, 50); + btnLicence.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String url = "https://www.gnu.org/licenses/gpl-3.0.html#license-text"; try { @@ -237,23 +224,30 @@ public class Window_demarre extends JFrame { } } }); - btnNewButton_1.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gplv3-127x51.png"))); - btnNewButton_1.setFont(new Font("Arial", Font.BOLD, 14)); - btnNewButton_1.setBounds(10, 150, 326, 64); - tabLicence.add(btnNewButton_1); + btnLicence.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gplv3-127x51.png"))); + btnLicence.setFont(new Font("Arial", Font.BOLD, 14)); - JLabel lblVersion = new JLabel("

Version : " + commandes.version + "
"+ commandes.dateversion +"

"); + tabLicence.add(btnLicence); + + + JLabel lblCredits = new JLabel("

Auteur : Pablo Rodriguez

\r\n

Mon programme a été créé de manière totalement désintéressée, avec pour seul objectif de vous aider. Mon souhait sincère est qu'il vous soit véritablement utile. N'hésitez pas à l'utiliser pleinement ou à le partager. Si vous avez des questions ou des suggestions pour l'améliorer, vous pouvez aisément publier un ticket pour me faire part de vos suggestions ou commentaires.

\r\n
\r\n

Enseignant à l'Université d'Artois, je suis agrégé de génie mécanique, diplomé de l'I.N.S.A. (ingénieur mécanique). Spécialisé dans les matières suivantes : T.I.C.E., Informatique, Automatisme, Gestion de projet, Statistique, Mécanique, Productique.


\r\n

Email : pablo.rodriguez@univ-artois.fr

"); + lblCredits.setHorizontalAlignment(SwingConstants.LEFT); + lblCredits.setVerticalAlignment(SwingConstants.TOP); + lblCredits.setFont(new Font("Arial", Font.PLAIN, 14)); + lblCredits.setToolTipText(""); + lblCredits.setBounds(10, 10, 704, 204); + tabLicence.add(lblCredits); + + JLabel lblVersion = new JLabel("

Version : 1.0.6 - juillet 2023

"); lblVersion.setForeground(SystemColor.textHighlight); lblVersion.setVerticalAlignment(SwingConstants.TOP); lblVersion.setHorizontalAlignment(SwingConstants.RIGHT); - lblVersion.setBounds(563, 150, 151, 64); + lblVersion.setBounds(455, 6, 259, 33); tabLicence.add(lblVersion); frmEvalwriter.getContentPane().add(tabbedPane); - - 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)); @@ -289,13 +283,6 @@ public class Window_demarre extends JFrame { tabInscriptions.add(btnimporterDesInscriptionsdepuisClasseur); tabAides.setLayout(null); - - - btnNAideMiseAJour.setForeground(Color.GRAY); - btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnNAideMiseAJour.setBounds(370, 11, 340, 30); - tabAides.add(btnNAideMiseAJour); - if(commandes.newVersion) { btnNewVersion = new JButton("Nouvelle version disponible : "+ commandes.nameNewVersion + ""); @@ -305,17 +292,6 @@ public class Window_demarre extends JFrame { btnNewVersion.setBounds(20, 602, 705, 63); btnNewVersion.setVisible(commandes.newVersion); frmEvalwriter.getContentPane().add(btnNewVersion); - - btnHelpDownload.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnHelpDownload.setForeground(Color.GRAY); - btnHelpDownload.setBounds(370, 74, 340, 30); - - tabAides.add(btnHelpDownload); - - btnAideImportationInscriptionXLSX.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnAideImportationInscriptionXLSX.setBounds(370, 42, 340, 30); - btnAideImportationInscriptionXLSX.setForeground(Color.GRAY); - tabAides.add(btnAideImportationInscriptionXLSX); JButton btnNewButton = new JButton(""); btnNewButton.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/tickets_bouton.png"))); @@ -365,6 +341,22 @@ public class Window_demarre extends JFrame { btnVersions.setBounds(370, 116, 340, 95); tabAides.add(btnVersions); + JButton btnWiki = new JButton(""); + btnWiki.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/wiki_bouton.png"))); + btnWiki.setBounds(370, 10, 340, 95); + tabAides.add(btnWiki); + btnWiki.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String url = "https://forge.chapril.org/pablo/GestionDesInscriptions/wiki/?action=_pages"; + try { + Desktop.getDesktop().browse(new URI(url)); + } catch (IOException | URISyntaxException ex) { + JOptionPane.showMessageDialog(null, "Problème avec la connexion internet."); + ex.printStackTrace(); + } + } + }); + JButton btnParametresClasseurInscription = new JButton("Paramètres classeur
des inscriptions"); btnParametresClasseurInscription.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -394,12 +386,16 @@ public class Window_demarre extends JFrame { }); tabGestionnaire.add(btnRenommerActiverColonne); - JLabel lblNewLabel = new JLabel("Grâce au gestionnaire, vous pouvez sélectionner une formation. Ensuite, vous pouvez modifier directement les données de chaque étudiant. Une fonction vous permet de créer des groupes.
Si nécessaire, vous pouvez exporter une table filtrée des données, ou bien exporter les feuilles d'émargements en fonction des critères de filtrage choisis."); + JLabel lblNewLabel = new JLabel("Grâce au gestionnaire, vous pouvez sélectionner une formation. Ensuite, vous pouvez modifier directement les données de chaque étudiant. Une fonction vous permet de créer des groupes.
Si nécessaire, vous pouvez exporter une formation avec les données filtrées, ou bien exporter les feuilles d'émargements en fonction des critères de filtrage choisis."); lblNewLabel.setVerticalAlignment(SwingConstants.TOP); lblNewLabel.setFont(new Font("Arial", Font.PLAIN, 12)); lblNewLabel.setBounds(370, 101, 340, 109); tabGestionnaire.add(lblNewLabel); + + + + ListenerAction(); @@ -475,27 +471,6 @@ 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(); -// } -// }); - - // Bouton Aide à l'importation des inscription depuis un classeur Ms Excel - btnAideImportationInscriptionXLSX.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - new Window_Help_inscriptionXLSX(); - } - }); - - // Bouton Aide au téléchargement et à l'installation de l'application. - btnHelpDownload.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - new Window_Help_download_and_install(); - } - }); - // Bouton nouvelle version disponible. btnNewVersion.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -509,12 +484,6 @@ public class Window_demarre extends JFrame { } }); - // Bouton aide à la mise à jour de la base depuis un classeur Ms Excel - btnNAideMiseAJour.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - new Window_Help_maj_data(); - } - }); } @@ -611,4 +580,5 @@ public class Window_demarre extends JFrame { } lblFondImage.setIcon(new ImageIcon(resizedImage)); } + } diff --git a/src/gestion_version/VersionChecker.java b/src/gestion_version/VersionChecker.java index 574ff92..319a5d0 100644 --- a/src/gestion_version/VersionChecker.java +++ b/src/gestion_version/VersionChecker.java @@ -1,5 +1,6 @@ package gestion_version; +import java.awt.Font; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -8,8 +9,12 @@ import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.swing.Icon; +import javax.swing.ImageIcon; import javax.swing.JOptionPane; +import javax.swing.UIManager; +import Windows.Window_demarre; import base.NomDeColonneInscriptionTable; import base.recupeBases; import base.sauvegardeXMLBase; @@ -71,11 +76,7 @@ public class VersionChecker { // Conversion en nombre entier String numericString = match.replaceAll("[^\\d.]", ""); -// int versionIntegerIntoForge = Integer.parseInt(numericString.replace(".", "")); -// if(versionIntegerIntoForge>versionIntegerApplication) { -// System.out.println("Une nouvelle version est disponible !"); -// commandes.newVersion = true; -// } + versionMax = versionNombre(numericString); @@ -117,6 +118,13 @@ public class VersionChecker { commandes.newVersion = false; } + // Deblocage de l'application + pattern ="noMessageAlerte"; + regex = Pattern.compile(pattern); + matcher = regex.matcher(content); + if(matcher.find()) { + commandes.noMessageAlerte = true; + } pattern = "messageVersion-(.*?)-messageVersion"; regex = Pattern.compile(pattern); @@ -144,7 +152,8 @@ public class VersionChecker { // Récupérer le texte entre les balises messageAlerte // -br- retour à la ligne // -b- et -/b- en gras - // -u- et -/u- soiligné + // -u- et -/u- souligné + // commandes.messageAlerte = matcher.group(1); 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-", "

"); @@ -152,9 +161,7 @@ public class VersionChecker { } 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."); + showCustomMessagePasInternet(); commandes.pasDeConnexion=true; e.printStackTrace(); } @@ -289,6 +296,28 @@ public class VersionChecker { return 0; } + + /** + * Message erreur pas de connexion internet + * @return + */ + private static int showCustomMessagePasInternet() { + String message = "

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

."; + String title = "Pas de connexion internet"; + int optionType = JOptionPane.PLAIN_MESSAGE ; + Icon icon = new ImageIcon(Window_demarre.class.getResource("/resources/erreur404.png")); + + // Define the custom font + Font customFont = new Font("Arial", Font.BOLD, 14); + + // Set the custom font for the message + UIManager.put("OptionPane.messageFont", customFont); + + return JOptionPane.showOptionDialog(null, message, title, optionType, JOptionPane.QUESTION_MESSAGE, icon, null, null); + } + /** * Mise à jour de la version 1.0.2 vers 1.0.3 * @param nBase diff --git a/src/outils/commandes.java b/src/outils/commandes.java index 376b43f..fc44c47 100644 --- a/src/outils/commandes.java +++ b/src/outils/commandes.java @@ -12,7 +12,7 @@ public class commandes { public static noeud nBase = null; // La base de données sous forme de noeud. public static String version = "1.0.6"; // La version actuelle - public static String dateversion = "25 juillet 2023"; // La version actuelle + public static String dateversion = "30 juillet 2023"; // 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) @@ -50,6 +50,7 @@ public class commandes { public static Boolean helpme1 = false; //M'aider à compléter mon service annuel. public static Boolean blocageApplication = false; //Blocage total de l'application. L'attribut bapp = true est enregistré dans la base. public static Boolean pasDeConnexion = false; //Pas de connexion internet. + public static Boolean noMessageAlerte = false; //Pas de message d'alerte public static String messageAlerte = ""; //Message alerte public static String messageVersion = ""; //Message version diff --git a/src/resources/erreur404.png b/src/resources/erreur404.png new file mode 100644 index 0000000..53fa930 Binary files /dev/null and b/src/resources/erreur404.png differ diff --git a/src/resources/gplv3-127x51.png b/src/resources/gplv3-127x51.png index 3e9136e..bcabfdf 100644 Binary files a/src/resources/gplv3-127x51.png and b/src/resources/gplv3-127x51.png differ diff --git a/src/resources/wiki_bouton.png b/src/resources/wiki_bouton.png new file mode 100644 index 0000000..8fb4141 Binary files /dev/null and b/src/resources/wiki_bouton.png differ