Académique Documents
Professionnel Documents
Culture Documents
1
Sommaire
Cahier de charge....................................................................................... ..........................................................................................................05
1-Introduction....................................................................................... ................................................................................................................05
2-le matériel ....................................................................................... ...................................................................................................................05
3-les besoins fonctionnels ....................................................................................... ..........................................................................05.
4-les besoins non fonctionnels....................................................................................... ..............................................................06
II-les outils informatique utilisees ..........................................................................................................................................06
A-langage de programmation JAVA.......................................................................................................................................06
B-les avantages de JAVA....................................................................................... ................................................................................07
C-Les avantages qui ramène JAVA a notre projet..............................................................................................07
D-AWT The Abstract Windowing Toolkit.......................................................................................................................07
E-Swing...................................................................................... ...................................................................................................................................012
F-Principaux paqages Swing ....................................................................................... ...................................................................013
G-MySQL....................................................................................... .............................................................................................................................14
H-Netbeans64....................................................................................... ..............................................................................................................16
I-WampServer....................................................................................... .............................................................................................................19
III-Création de la base de données sous MySQL.................................................................................................20
2
Listes des figures
Figure 1 : Les composants graphiques……………..……………..………………….07
Figure 2 : bibliothèque du Swing ……………………………………………………..12
Figure 3 : système d'un serveur……………………………..…………………………14
Figure 4 : bureau du logiciel netbeans ………………………………………………19
Figure 5: Symbole et informations de WampServer………………….……………..20
Figure 6: Affichage login.application de l'écran….……………..………………….24
Figure 7 : Affichage de l'application login……………..……………..……………..25
Figure 8: Erreur affiche……………..……………..……………..……………………26
Figure 9: Affichage class welcome……………..…………….……………...……….26
Figure 10: affichage de la fenêtre gestion d 'utilisateur.……………..…………..33
Figure 11 : Affichage de la classe gestion des séances …………………………...36
Figure 12 : affichage un message de suppression ……………………..………….39
Figure 13 : affichage de la classe gestion des professeurs ………………………39
3
Nous tenons,dans un premier temps ,à remercier notre
encadrant Mr .BOUTABIA pour nous avoir dirigé et
conseiller durant toute la période de la réalisation du mini
projet .
Nos sincères remerciements s'adressent aussi à
l’université et son entourage et aussi au jury qui jugeront ce
travail le jour de la soutenance nous souhaitons en outre
remercier tous nos professeurs qui nous ont enseignes
durant tout le cycle de l’ingénieur pour toutes nos
connaissances aussi scientifique que techniques acquises
durant notre cursus universitaire
4
I-Cahier de charges:
1. Introduction:
L’administration de l'université internationale de Casablanca (UIC) assure
parmi ses fonctions la gestion économique des heures supplémentaires et vacation
des professeurs.
2.Le matériel:
Plateformeminimalecomposéed'unsystèmed'exploitationWindows,JDK,WAM
PSERVER,Netbeans64.
• Le logiciel doit imposer des limites d'accès aux utilisateurs autre que
l'administrateur.
• Le logiciel doit garantir la clarté de l'interface ainsi que la facilite de
manipulation.
• Le logiciel doit permettre de saisir les données nécessaires d'un
professeur (nom ,prénom ,grade..)et permettre la modification.
• Le logiciel doit permettre l'administration la modification du relevé des
heures supplémentaire d'un professeur d'une manière plus simple
possible.
• Le logiciel doit permettre de fixer les critères du nombre maximal des
heures supplémentaires.
• Le logiciel doit permettre de générer les documents administratifs :
5
- Générer l'état des sommes dues.
- Générer le formulaire des heures supplémentaires et vacations.
6
• JAVA runtime environnement(JRE).
• Software Development Kit (SDK).
• Java Foundation Class (AWT,SWING).
B-Les avantages de JAVA:
• Indépendance de la plate-forme .
• Programmation orientée objet .
• Pas de pointeur.
• Programmation réseau et multitâches .
• Programmation sécuritaire.
• Button
• CheckboxGroup
• Label
• Choice (Sélecteur)
• List
Il peut être construit avec une étiquette de texte (un label) précisant
son rôle à l'utilisateur.
2-Check Box:
3-CheckboxGroup:
8
On ne peut sélectionner qu’une seule case du groupe de cases à cocher
en même temps.
Sélectionner une case fera que toute autre case précédemment cochée
sera désélectionnée
4-Choice:
5-Label:
7-TextField :
10
8-Texte Area :
9-Menu :
menu déroulant de base, qui peut être ajoutée à une barre de menus
(MenuBar) ou à un autre menu.
Des MenuItem
10-PopupMenu:
11
Ces menus doivent être ajoutés à un composant parent (par
exemple un Frame), grâce à la méthode add(...).
11-Canvas:
Sa taille par défaut est zéro par zéro (Ne pas oublier de la
modifier avec un setSize(...) ) et il n’a pas de couleur.
pour forcer un canvas (ou tout autre composant) à avoir une certaine taille il faut
redéfinir les méthodes getMinimumSize() et getPreferredSize().
E-Swing:
12
inclus dans J2SE. Swingconstitue l'une des principales évolutions apportées
parJava 2 par rapport aux versions antérieures
Swing peut être téléchargé séparément pour une utilisation avec des
versions de Java antérieures (1.1.5+)
Cette bibliothèque s'ajoute à celle qui était utilisée jusqu'alors (AWT) pour des
raisons de compatibilité.
Swing fait cependant double emploi dans beaucoup de cas avec AWT.
Le paquetage général
javax.swing.border
javax.swing.colorchooser
javax.swing.event
javax.swing.filechooser
javax.swing.table
13
javax.swing.text
javax.swing.tree
javax.swing.undo
BDD
Swing/AWT My SQL
ff JDBC
Seveur PHP
Application JAVA
Apache
G-MySQL:
Définition :
Les avantages:
a)rapide
b) Facile a utiliser
MySQL est beaucoup plus simple a utiliser que la plupart des serveurs de
bases de données commerciaux.
c)API diverses
on peut effectuer diverses opérations sur une base MySQL en utilisant des
interfaces ecrits en C ,Perl ,C++,JAVA ,Python ,PHP.
d)Cout
Jusqu'a la version 3.20.32a, MySQL était sous licence JPL il faut une licence
pour faire tourner MySQL sous Windows .Sous les autres plates formes.
L'utilisation de MySQL est gratuite dans un but non commercial sinon il faudra
acheter une licence pour environ 200$ US.
15
e)Connexion et sécurité
f)probabilité
MySQL tourne sur divers systèmes tels que Unix ,Windows ou linux.
g)Distribution ouverte
H-Netbeans64:
16
Environnement de base
L'environnement de base comprend les fonctions générales suivantes :
documentation intégrée.
Principaux langage
Java (Java SE, Java ME<, Java FX, Java EE), Javadoc ;
Groovy et Grails ;
JavaScript ;
17
HTML, XHTML, RHTML (en) ;
XML ;
DTD ;
CSS ;
JSP, JSF;
…
Gestion de projet
Bases de donnees.
18
Fig4: bureau du logiciel netbeans
I-WampServer:
19
FIG 5 :Symbole et informations de WampServer:
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- Hôte : 127.0.0.1:3306
SET AUTOCOMMIT = 0;
START TRANSACTION;
20
SET time_zone = "+00:00";
--
--
CREATE DATABASE IF NOT EXISTS `gestion_prof` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci;
USE `gestion_prof`;
-- --------------------------------------------------------
--
--
-- --------------------------------------------------------
--
--
-- --------------------------------------------------------
--
--
22
`mdp` varchar(30) NOT NULL,
COMMIT;
23
C-Le Modèle physique de donnée : (mySQL)
IV-l'implémentation de l'application:
A-Class Login.Java:
24
Fig 7: Affichage de l'application login.
try {
while (rs.next()) {
username1 = rs.getString("login");
password1 = rs.getString("mdp");
} else {
w.setVisible(true);
this.dispose();
25
}
A- Commentaire :
Par exemple si on prend la fon se connecter ms abant il faut entrer un nom et
un mot de passe d'utilisateur pour se connecter au site
*/
package javaapplication1;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* @author HP
*/
/**
*/
public Welcome() {
initComponents();
/**
* This method is called from within the constructor to initialize the form.
27
* WARNING: Do NOT modify this code. The content of this method is always
*/
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Welcome");
jButton1.addActionListener(new java.awt.event.ActionListener() {
jButton1ActionPerformed(evt);
});
28
jButton2.setText("Gestion des séances");
jButton2.addActionListener(new java.awt.event.ActionListener() {
jButton2ActionPerformed(evt);
});
jButton3.setText("Gestion d'utilisateurs");
jButton3.addActionListener(new java.awt.event.ActionListener() {
jButton3ActionPerformed(evt);
});
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3)
.addComponent(jLabel1))
.addContainerGap(86, Short.MAX_VALUE))
29
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3)
.addContainerGap(44, Short.MAX_VALUE))
);
setLocationRelativeTo(null);
}// </editor-fold>
p.setVisible(true);
dispose();
30
Seance s;
try {
s = new Seance();
s.setVisible(true);
dispose();
u.setVisible(true);
dispose();
/**
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
31
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(Welcome.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(Welcome.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(Welcome.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(Welcome.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new Welcome().setVisible(true);
});
32
// Variables declaration - do not modify
33
Code Java1:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(login.getText().equals("") || mdp.getText().equals(""))
else
table();
actualiser();
Commentaire :
ce code Java c'est pour la fonction ajouter qui a un role d'ajouter un autre login et
un mot de passe d'autre utilisateurs
Code Java 2:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
return;
table();
if (login.getText().equals("") || mdp.getText().equals("")) {
} else {
table();
actualiser();
Commentaire:
Code Java 3:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
if (login.getText().equals("") || mdp.getText().equals("")) {
35
JOptionPane.showMessageDialog(this, "SVP entrer les informations
complete");
} else {
table();
actualiser();
Commentaire:
Ce code a la fonction de modifier les informations entrées pour
que l'utilisateur peut accéder au compte correctement sans erreurs
36
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(nbr_h.getText().equals("") || date1.getText().equals(""))
else
/*try {
while(rs.next())
System.out.print("//////////"+rs.getString("id"));
}*/
//System.out.println();
37
String[] cols = {"nbr_h","date","id_p"};
try {
//System.out.println(rs.getString("id"));
String id = "";
while(rs.next())
id = rs.getString("id");
table();
actualiser();
Commentaire :
Si on veut ajouter une séance il faut entrer son non son grade et la
date et les nombre d'heures enseignes
38
Fig 12: affichage un message de suppression.
Commentaire:
D-Classe professeurs:
if(nom_txt.getText().equals("") || prenom_txt.getText().equals(""))
else
String[] ligne =
{nom_txt.getText(),prenom_txt.getText(),grade_txt.getSelectedItem().toString()};
table();
actualiser();
Commentaire:
41