Compare commits

..

32 Commits

Author SHA1 Message Date
elliass.chelloug
0d1d4385f9 Merge origin/master
Conflicts:
	src/java/bdd/PompierMysql.java
2021-10-22 12:38:08 +02:00
elliass.chelloug
30e988a406 Merge origin/master
Conflicts:
	src/java/bdd/PompierMysql.java
2021-10-21 17:22:42 +02:00
elliass.chelloug
ad2a770dc8 Merge origin/master
Conflicts:
	src/java/bdd/PompierMysql.java
2021-10-21 15:48:00 +02:00
elliass.chelloug
3cfc1f99e4 Merge origin/master
Conflicts:
	src/java/bdd/PompierMysql.java
2021-10-21 14:33:44 +02:00
elliass.chelloug
ff03911709 Merge origin/master 2021-10-21 14:14:07 +02:00
elliass.chelloug
3eafc8b2ee Merge origin/master
Conflicts:
	src/java/bdd/PompierMysql.java
2021-10-21 14:13:56 +02:00
thomas.millot
0ec37013ed Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-21 14:13:15 +02:00
elliass.chelloug
e27f948c2a Merge origin/master
Conflicts:
	src/java/bdd/PompierMysql.java
	src/java/com/test/servlets/AuthentifServlet.java
	web/WEB-INF/AuthentificationJSP.jsp
	web/WEB-INF/ProfilJSP.jsp
2021-10-20 11:50:22 +02:00
thomas.millot
1a26976d0a Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-20 11:49:53 +02:00
elliass.chelloug
c7df279eab Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
	web/WEB-INF/ProfilJSP.jsp
2021-10-20 11:46:39 +02:00
elliass.chelloug
1e8257677c Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
	web/WEB-INF/ProfilJSP.jsp
2021-10-20 11:34:47 +02:00
thomas.millot
e5fa228860 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-20 11:11:29 +02:00
elliass.chelloug
05e4eb1b4c Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
	web/WEB-INF/ProfilJSP.jsp
2021-10-19 09:50:40 +02:00
thomas.millot
2d81cde4a8 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-19 09:45:57 +02:00
thomas.millot
94db0015ee Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-19 09:29:19 +02:00
elliass.chelloug
fa6c0561f6 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
	web/WEB-INF/ProfilJSP.jsp
2021-10-19 09:10:28 +02:00
elliass.chelloug
e58f60e5ec Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-19 08:56:38 +02:00
elliass.chelloug
eb07fbaac9 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-19 08:52:08 +02:00
thomas.millot
caf65f4bfe Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-19 08:51:43 +02:00
thomas.millot
cc1a3760ef Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:54:25 +02:00
elliass.chelloug
5ebec6b026 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:22:27 +02:00
thomas.millot
239a3b33e7 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:22:06 +02:00
elliass.chelloug
8841819f19 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:20:20 +02:00
elliass.chelloug
1a8e93244b 2021-10-18 17:18:46 +02:00
thomas.millot
10c95e08ef Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:15:48 +02:00
elliass.chelloug
18fb6ec354 2021-10-18 17:03:37 +02:00
thomas.millot
d13cdc2f75 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:01:46 +02:00
thomas.millot
a0deb75318 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:00:27 +02:00
thomas.millot
4553efe201 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 16:52:21 +02:00
thomas.millot
bf5a567b33 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 16:22:57 +02:00
thomas.millot
4294fa0494 Merge origin/master 2021-10-18 15:38:38 +02:00
thomas.millot
8ca0bc8a7d Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 15:38:25 +02:00
18 changed files with 798 additions and 266 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
/nbproject/private/ /nbproject/private/
/build/ /build/
/dist/

BIN
proj/AP31-Projet1.war Normal file

Binary file not shown.

View File

@@ -1,22 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bdd;
import java.sql.Connection;
/**
*
* @author thomas.millot
*/
public class ClientMysql {
private Connection theConnection;
public ClientMysql()
{
theConnection = Connexion.getConnect("localhost", "sdis29", "admin", "minda");
}
}

View File

@@ -1,4 +1,5 @@
package bdd; package bdd;
/* /*
Connexion.java Connexion.java
Classe permettant d'établir une connexion avec une base de données mySQL Classe permettant d'établir une connexion avec une base de données mySQL
@@ -7,10 +8,12 @@ import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
public class Connexion { public class Connexion {
private static Connection connect; // Variable de connexion private static Connection connect; // Variable de connexion
/** /**
* Constructeur * Constructeur
*
* @param serveur nom du serveur, localhost si local * @param serveur nom du serveur, localhost si local
* @param bdd nom de la base de données * @param bdd nom de la base de données
* @param nomUtil nom utilisateur * @param nomUtil nom utilisateur
@@ -44,7 +47,9 @@ public class Connexion {
} }
/** /**
* Retourne la connection établie (Création d'une connection si elle n'existe pas) * Retourne la connection établie (Création d'une connection si elle
* n'existe pas)
*
* @param serveur nom du serveur, localhost si local * @param serveur nom du serveur, localhost si local
* @param bdd nom de la base de données * @param bdd nom de la base de données
* @param nomUtil nom utilisateur * @param nomUtil nom utilisateur

View File

@@ -0,0 +1,186 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bdd;
import com.mysql.cj.xdevapi.Client;
import com.test.beans.Pompier;
import com.test.forms.MD5;
import jakarta.servlet.http.HttpServletRequest;
import java.net.http.HttpRequest;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author thomas.millot
*/
public class PompierMysql {
private Connection theConnection;
private Pompier unPompier;
public PompierMysql() {
theConnection = Connexion.getConnect("localhost", "sdis29", "admin", "minda");
}
public ArrayList<Pompier> readAll() {
ArrayList<Pompier> lesPompiers = new ArrayList<>();
try {
Statement stmt = theConnection.createStatement();
ResultSet resultQ = null;
resultQ = stmt.executeQuery("SELECT * FROM pompier");
while (resultQ.next()) {
unPompier = new Pompier(resultQ.getInt("id"),
resultQ.getString("nom"),
resultQ.getString("prenom"),
resultQ.getString("statut"),
resultQ.getString("typePers"),
resultQ.getString("mail"),
resultQ.getString("login"),
resultQ.getString("mdp"),
resultQ.getString("adresse"),
resultQ.getInt("cp"),
resultQ.getString("ville"),
resultQ.getInt("bip"),
resultQ.getInt("nbGardes"),
resultQ.getInt("grade"),
resultQ.getString("commentaire"),
resultQ.getString("dateEnreg"),
resultQ.getString("dateModif"));
lesPompiers.add(unPompier);
}
resultQ.close();
stmt.close();
//theConnection.close();
} catch (SQLException ex) {
System.out.println("SQLException : " + ex.getMessage());
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("Code erreur : " + ex.getErrorCode());
}
return lesPompiers;
}
/**
* Creation du client passé en paramètre dans la table client Requête non
* préparée
*
* @param c objet de type Client (sans identifiant)
* @return int : id du client créé
*/
public int create(Pompier p) {
int id = -1;
try {
Statement stmt = theConnection.createStatement();
int status = stmt.executeUpdate(
"INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES ('" + p.getNom() + "', '"
+ p.getPrenom() + "', '"
+ p.getStatut() + "', "
+ p.getMail() + ", '"
+ p.getLogin() + "', '"
+ p.getMdp() + "', '"
+ p.getAdresse() + "', '"
+ p.getVille() + "', '"
+ p.getBip() + "', '"
+ p.getNbGardes() + "', '"
+ p.getGrade() + "', '"
+ p.getCommentaire() + "', '"
+ p.getDateEnreg() + "', '"
+ p.getDateModif() + "');",
Statement.RETURN_GENERATED_KEYS);
// Recherche de l'identifiant du client créé
if (status > 0) {
ResultSet result = stmt.getGeneratedKeys();
if (result.first()) {
id = result.getInt(1);
}
}
} catch (SQLException ex) {
System.out.println("SQLException : " + ex.getMessage());
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("Code erreur : " + ex.getErrorCode());
}
return id;
}
/**
* Creation du client passé en paramètre dans la table client Requête
* préparée
*
* @param c objet de type Client (sans identifiant)
* @return int : id du client créé
*/
public int createRP(Pompier p) {
int id = -1;
try {
PreparedStatement stmt = null;
String sql = "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
stmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, p.getNom());
stmt.setString(2, p.getPrenom());
stmt.setString(3, p.getStatut());
stmt.setString(4, p.getMail());
stmt.setString(5, p.getLogin());
stmt.setString(6, p.getMdp());
stmt.setString(7, p.getAdresse());
stmt.setString(8, p.getVille());
stmt.setInt(9, p.getBip());
stmt.setInt(10, p.getNbGardes());
stmt.setInt(11, p.getGrade());
stmt.setString(12, p.getCommentaire());
stmt.setString(13, p.getDateEnreg());
stmt.setString(14, p.getDateModif());
System.out.println("Requête : " + stmt.toString());
int status = stmt.executeUpdate();
// Recherche de l'identifiant du client créé
if (status > 0) {
ResultSet result = stmt.getGeneratedKeys();
if (result.first()) {
id = result.getInt(1);
}
}
} catch (SQLException ex) {
System.out.println("SQLException : " + ex.getMessage());
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("Code erreur : " + ex.getErrorCode());
}
return id;
}
public boolean readPompier(HttpServletRequest request) {
boolean reponse = false;
Statement stmt;
String userSaisi = request.getParameter("ztPseudo");
String mdpSaisi = request.getParameter("ztMDP");
String mdpChiffre = MD5.encode(mdpSaisi);
System.out.println("userSaisi : "+ userSaisi);
System.out.println("mdpSaisi : "+ mdpChiffre);
try {
System.out.println("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';");
stmt = theConnection.createStatement();
ResultSet resultQ = null;
resultQ = stmt.executeQuery("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';");
reponse = resultQ.next();
} catch (SQLException ex) {
Logger.getLogger(PompierMysql.class.getName()).log(Level.SEVERE, null, ex);
}
return reponse;
}
}

View File

@@ -0,0 +1,306 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.test.beans;
import java.util.Objects;
/**
*
* @author thomas.millot
*/
public class Pompier {
private int id;
private int idCaserne;
private String nom;
private String prenom;
private String Statut;
private String typePers;
private String mail;
private String login;
private String mdp;
private String adresse;
private int cp;
private String ville;
private int bip;
private int nbGardes;
private int grade;
private String commentaire;
private String dateEnreg;
private String dateModif;
public Pompier(int id, int idCaserne, String nom, String prenom, String Statut, String typePers, String mail, String login, String mdp, String adresse, int cp, String ville, int bip, int nbGardes, int grade, String commentaire, String dateEnreg, String dateModif) {
this.id = id;
this.idCaserne = idCaserne;
this.nom = nom;
this.prenom = prenom;
this.Statut = Statut;
this.typePers = typePers;
this.mail = mail;
this.login = login;
this.mdp = mdp;
this.adresse = adresse;
this.cp = cp;
this.ville = ville;
this.bip = bip;
this.nbGardes = nbGardes;
this.grade = grade;
this.commentaire = commentaire;
this.dateEnreg = dateEnreg;
this.dateModif = dateModif;
}
public Pompier(int aInt, String string, String string0, String string1, String string2, int aInt0, String string3, String string4, String string5, String string6, String string7, String string8) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public Pompier(int aInt, String string, String string0, String string1, String string2, String string3, String string4, String string5, String string6, int aInt0, String string7, int aInt1, int aInt2, int aInt3, String string8, String string9, String string10) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getIdCaserne() {
return idCaserne;
}
public void setIdCaserne(int idCaserne) {
this.idCaserne = idCaserne;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getStatut() {
return Statut;
}
public void setStatut(String Statut) {
this.Statut = Statut;
}
public String getTypePers() {
return typePers;
}
public void setTypePers(String typePers) {
this.typePers = typePers;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getMdp() {
return mdp;
}
public void setMdp(String mdp) {
this.mdp = mdp;
}
public String getAdresse() {
return adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}
public int getCp() {
return cp;
}
public void setCp(int cp) {
this.cp = cp;
}
public String getVille() {
return ville;
}
public void setVille(String ville) {
this.ville = ville;
}
public int getBip() {
return bip;
}
public void setBip(int bip) {
this.bip = bip;
}
public int getNbGardes() {
return nbGardes;
}
public void setNbGardes(int nbGardes) {
this.nbGardes = nbGardes;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getCommentaire() {
return commentaire;
}
public void setCommentaire(String commentaire) {
this.commentaire = commentaire;
}
public String getDateEnreg() {
return dateEnreg;
}
public void setDateEnreg(String dateEnreg) {
this.dateEnreg = dateEnreg;
}
public String getDateModif() {
return dateModif;
}
public void setDateModif(String dateModif) {
this.dateModif = dateModif;
}
@Override
public int hashCode() {
int hash = 5;
hash = 89 * hash + this.id;
hash = 89 * hash + this.idCaserne;
hash = 89 * hash + Objects.hashCode(this.nom);
hash = 89 * hash + Objects.hashCode(this.prenom);
hash = 89 * hash + Objects.hashCode(this.Statut);
hash = 89 * hash + Objects.hashCode(this.typePers);
hash = 89 * hash + Objects.hashCode(this.mail);
hash = 89 * hash + Objects.hashCode(this.login);
hash = 89 * hash + Objects.hashCode(this.mdp);
hash = 89 * hash + Objects.hashCode(this.adresse);
hash = 89 * hash + this.cp;
hash = 89 * hash + Objects.hashCode(this.ville);
hash = 89 * hash + this.bip;
hash = 89 * hash + this.nbGardes;
hash = 89 * hash + this.grade;
hash = 89 * hash + Objects.hashCode(this.commentaire);
hash = 89 * hash + Objects.hashCode(this.dateEnreg);
hash = 89 * hash + Objects.hashCode(this.dateModif);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Pompier other = (Pompier) obj;
if (this.id != other.id) {
return false;
}
if (this.idCaserne != other.idCaserne) {
return false;
}
if (this.cp != other.cp) {
return false;
}
if (this.bip != other.bip) {
return false;
}
if (this.nbGardes != other.nbGardes) {
return false;
}
if (this.grade != other.grade) {
return false;
}
if (!Objects.equals(this.nom, other.nom)) {
return false;
}
if (!Objects.equals(this.prenom, other.prenom)) {
return false;
}
if (!Objects.equals(this.Statut, other.Statut)) {
return false;
}
if (!Objects.equals(this.typePers, other.typePers)) {
return false;
}
if (!Objects.equals(this.mail, other.mail)) {
return false;
}
if (!Objects.equals(this.login, other.login)) {
return false;
}
if (!Objects.equals(this.mdp, other.mdp)) {
return false;
}
if (!Objects.equals(this.adresse, other.adresse)) {
return false;
}
if (!Objects.equals(this.ville, other.ville)) {
return false;
}
if (!Objects.equals(this.commentaire, other.commentaire)) {
return false;
}
if (!Objects.equals(this.dateEnreg, other.dateEnreg)) {
return false;
}
if (!Objects.equals(this.dateModif, other.dateModif)) {
return false;
}
return true;
}
@Override
public String toString() {
return "Pompier{" + "id=" + id + ", idCaserne=" + idCaserne + ", nom=" + nom + ", prenom=" + prenom + ", Statut=" + Statut + ", typePers=" + typePers + ", mail=" + mail + ", login=" + login + ", mdp=" + mdp + ", adresse=" + adresse + ", cp=" + cp + ", ville=" + ville + ", bip=" + bip + ", nbGardes=" + nbGardes + ", grade=" + grade + ", commentaire=" + commentaire + ", dateEnreg=" + dateEnreg + ", dateModif=" + dateModif + '}';
}
}

View File

@@ -6,11 +6,13 @@
package com.test.beans; package com.test.beans;
import java.util.Objects; import java.util.Objects;
/** /**
* *
* @author thomas.millot * @author thomas.millot
*/ */
public class User { public class User {
private String pseudo; private String pseudo;
private String mdp; private String mdp;

View File

@@ -0,0 +1,37 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.test.forms;
import bdd.PompierMysql;
import com.test.beans.User;
import jakarta.servlet.http.HttpServletRequest;
/**
*
* @author thomas.millot
*/
public class AuthentifForm {
private String resultat;
public String getResultat() {
return resultat;
}
public void setResultat(String resultat) {
this.resultat = resultat;
}
public boolean authentifPompier(HttpServletRequest request)
{
PompierMysql pms = new PompierMysql();
boolean reponse = pms.readPompier(request);
resultat = reponse ?"": "login ou mot de passe incorrect";
request.setAttribute("message", resultat);
return reponse;
}
}

View File

@@ -0,0 +1,36 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.test.forms;
/**
*
* @author sio
*/
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
public abstract class MD5 {
public static String encode(String uneChaine){
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException ex) {
throw new IllegalArgumentException(ex);
}
md.update(uneChaine.getBytes());
byte[] digest = md.digest();
//myHash = DatatypeConverter.printHexBinary(digest).toLowerCase();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}

View File

@@ -5,6 +5,7 @@
*/ */
package com.test.servlets; package com.test.servlets;
import com.test.forms.AuthentifForm;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
@@ -71,7 +72,19 @@ public class AuthentifServlet extends HttpServlet {
@Override @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { throws ServletException, IOException {
processRequest(request, response); // Création de l'objet leControle de type AuthentifForm
AuthentifForm leControle = new AuthentifForm();
// Appel de la méthode authentifPompier
if(leControle.authentifPompier(request))
{
getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp")
.forward(request, response);
}
else
{
getServletContext().getRequestDispatcher("/WEB-INF/AuthentificationJSP.jsp")
.forward(request, response);
}
} }
/** /**

View File

@@ -30,15 +30,15 @@ public class ProfilServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8"); response.setContentType("text/html;charset=UTF-8");
try ( PrintWriter out = response.getWriter()) { try ( PrintWriter out = response.getWriter())
/* TODO output your page here. You may use following sample code. */ {
out.println("<!DOCTYPE html>"); out.println("<!DOCTYPE html>");
out.println("<html>"); out.println("<html>");
out.println("<head>"); out.println("<head>");
out.println("<title>Servlet ProfilServlet</title>"); out.println("<title>Servlet ProfilServlets</title>");
out.println("</head>"); out.println("</head>");
out.println("<body>"); out.println("<body>");
out.println("<h1>Servlet ProfilServlet at " + request.getContextPath() + "</h1>"); out.println("<h1>Servlet ProfilServlets at " + request.getContextPath() + "</h1>");
out.println("</body>"); out.println("</body>");
out.println("</html>"); out.println("</html>");
} }
@@ -71,7 +71,8 @@ public class ProfilServlet extends HttpServlet {
@Override @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { throws ServletException, IOException {
processRequest(request, response); getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp")
.forward(request, response);
} }
/** /**

View File

@@ -1,26 +1,31 @@
<%-- <%--
Document : authentificationJSP Document : authentificationJSP
Created on : 18 oct. 2021, 11:09:26 Created on : 18 oct. 2021, 11:09:26
Author : Chelloug.Eliass Author : Millot.Thomas
--%> --%>
<%@include file="jspf/enteteJSPF.jspf" %> <%@include file="jspf/enteteJSPF.jspf" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="com.test.forms.AuthentifForm" %>
<!-- Affichage du formulaire si l'utilisateur ne s'est pas encore authentifi<66> -->
<div id="contenu"> <div id="contenu">
<form name="frmIdentification" method="POST" action="Authentif">
<h2>Merci de vous identifier pour acceder aux dossiers</h2> <h2>Merci de vous identifier pour acceder aux dossiers</h2>
<form name="frmIdentification" method="POST" action="index.php?choixTraitement=connexion&action=valideConnexion">
<fieldset><legend>Identification utilisateur</legend> <fieldset><legend>Identification utilisateur</legend>
<br /><br /> <br /><br />
<label for="nom">Nom du compte</label> <label for="nom">Nom du compte</label>
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur"> <input type="text" name="ztPseudo" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
</p> </p>
<p> <p>
<label for="mdp">Mot de passe</label> <label for="mdp">Mot de passe</label>
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe"> <input type="password" name="ztMDP" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
</p><br /><br /> </p><br /><br />
<input type="submit" name="valider" value="Valider"> <input type="submit" name="valider" value="Valider">
<input type="reset" name="annuler" value="Annuler"> <input type="reset" name="annuler" value="Annuler">
</p> </p>
<p>${message}</p>
</fieldset> </fieldset>
</form> </form>
<br/><br/> <br/><br/>
</div> </div>
</html>

View File

@@ -1,17 +1,36 @@
<%-- <%--
Document : ModifProfilJSP Document : ModifProfilJSP
Created on : 18 oct. 2021, 11:10:01 Created on : 18 oct. 2021, 11:10:01
Author : Chelloug.Eliass Author : Millot.thomas
--%> --%>
<%@include file="jspf/enteteJSPF.jspf" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <form name="Profil" method="POST" action="ProfilJSP.jsp">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <table style='border: 0px solid white;'>
<title>JSP Page</title> <tr>
</head> <td style='border :0px;'>
<body> <fieldset><legend>Coordonnées Pompier</legend>
<h1>Hello World!</h1> <table>
</body> <tr><th>Nom : </th><td><input type="text" name="ztNom" size="20" maxlength="30"></td></tr>
<tr><th>Prénom : </th><td><input type="text" name="ztPrenom" size="20" maxlength="30"></td></tr>
<tr><th>Adresse : </th><td><input type="text" name="ztAdr" size="20" maxlength="30"></td></tr>
<tr><th>Ville : </th><td><input type="text"name="ztVille" size="20" maxlength="30"></td></tr>
<tr><th>Code postal : </th><td><input type="text" name="ztCp" size="20" maxlength="30"></td></tr>
<tr><th>Téléphone : </th><td><input type="text" name="ztTel" size="20" maxlength="30"></td></tr>
<tr><th>Mail : </th><td><input type="text" name="ztMail" size="20" maxlength="30"></td></tr>
<tr><th>Statut : </th><td><input readonly type="text" name="ztStatut" size="20" maxlength="30"></td></tr>
<tr><th>Grade : </th><td><input readonly type="text" name="ztGrade" size="20" maxlength="30"></td></tr>
</table>
</fieldset>
<fieldset><legend>Coordonnées Employeur</legend>
<table>
<tr><th>Nom employeur : </th><td><input type="text" name="ztNomEmp" size="20" maxlength="30"></td></tr>
<tr><th>Téléphone employeur : </th><td><input type="text" name="ztTelEmp" size="20" maxlength="30"></td></tr>
<tr><th>Adresse employeur : </th><td><input type="text" name="ztadrEmp" size="20" maxlength="30"></td></tr>
<tr><th>Mail employeur : </th><td><input type="text" name="ztMailEmp" size="20" maxlength="30"></td></tr>
</table>
</fieldset>
<input type="button" name="button" onclick="window.location='http://localhost:8080/AP31-Projet1/Profil'" value="Valider les modification">
</html> </html>

View File

@@ -1,150 +1,31 @@
<div id="contenu"> <%@include file="jspf/enteteJSPF.jspf" %>
<% <br /><br />
$type = ''; <form name="frmModifProfil" method="POST" action="ModifProfilJSP.jsp">
if ($_REQUEST['action']=="supprimer")
{ echo '<h2>SUPPRESSION DU POMPIER '.$lesInfosPompier['nom'].' '.$lesInfosPompier['prenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerSupprimer&type='.$type.'&agent='.$lesInfosPompier['id'].'" method="post">';}
if ($_REQUEST['action']=="modifier")
{ echo '<h2>MODIFICATION DU POMPIER '.$lesInfosPompier['nom'].' '.$lesInfosPompier['prenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerModifier&type='.$type.'&agent='.$lesInfosPompier['id'].'&cis='.$lesInfosPompier['pCis'].'" method="post">';}
if ($_REQUEST['action']=="ajouter")
{ echo "<h2>AJOUT D'UN NOUVEAU POMPIER</h2>";
echo '
<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerAjouter&type='.$type.'" method="post" onsubmit="return valider(this)">';}
echo ("
<table style='border: 0px solid white;'> <table style='border: 0px solid white;'>
<tr> <tr>
<td style='border :0px;'> <td style='border :0px;'>
<fieldset><legend>Coordonn&eacute;es</legend> <fieldset><legend>Coordonn<EFBFBD>es Pompier</legend>
<table>");
$titre="Pr&eacute;nom";
if ($_REQUEST['action']=="supprimer") //-------------------------------------------------------- cas suppression
{ echo ("
<tr><th style='width:130px;'>Nom</th> <td style='width:130px;'>".$lesInfosPompier['nom']."</td></tr>
<tr><th>".$titre."</th> <td>".$lesInfosPompier['prenom']."</td></tr>
<tr><th>Adresse</th> <td>".$lesInfosPompier['pAdresse']."</td></tr>
<tr><th>Code postal</th> <td>".$lesInfosPompier['pCp']."</td></tr>
<tr><th>Ville</th> <td>".$lesInfosPompier['pVille']."</td></tr>
<tr><th>T&eacute;l&eacute;phone</th> <td>".$lesInfosPompier['pBip']."</td></tr>
<tr><th>Adresse &eacute;lectronique</th><td>".$lesInfosPompier['pMail']."</td></tr>
<tr><th>T&eacute;l&eacute;phone</th> <td>".$lesInfosPompier['pTel']."</td></tr>
<tr><th>Nom de compte</th> <td>".$lesInfosPompier['pLogin']."</td></tr>
<tr><th>Grade</th> <td>".$lesInfosPompier['wGrade']."</td></tr>
<tr><th>Statut</th> <td>".$lesInfosPompier['wStatut']."</td></tr>
</table>
</fieldset>");
}
else //------------------------------------------------------------------------------------ cas ajout ou modification
{
$checked = '';
$display = 'none';
$mdp = '';
echo ("
<tr><th style='width:130px;'>Nom</th> <td style='width:130px;'><INPUT type = 'text' name = 'ztNom'value=".$lesInfosPompier['nom']."></td></tr>
<tr><th>".$titre."</th> <td><INPUT type = 'text' name = 'ztPrenom' value=".$lesInfosPompier['prenom']."></td></tr>
<tr><th>Adresse</th> <td><INPUT type = 'text' name = 'ztAdresse' value=".$lesInfosPompier['pAdresse']."></td></tr>
<tr><th>Code postal</th> <td><INPUT type = 'text' name = 'ztCP' value=".$lesInfosPompier['pCp']."></td></tr>
<tr><th>Ville</th> <td><INPUT type = 'text' name = 'ztVille' value=".$lesInfosPompier['pVille']."></td></tr>
<tr><th>Adresse &eacute;lectronique</th> <td><INPUT type = 'text' name = 'ztMail' value=".$lesInfosPompier['pMail']."></p></td></tr>
<tr><th>Bipper</th> <td><INPUT type = 'text' name = 'ztTel' value=".$lesInfosPompier['pBip']."></p></td></tr>
<tr><th>Nom de compte</th> <td><INPUT type = 'text' name = 'ztLogin' value=".$lesInfosPompier['pLogin']."></p></tr>
<tr><th>Nouveau mot de passe ?</th> <td>oui<INPUT type= 'radio' id='motdepasse' name= 'oui'".$checked." onchange='afficherBloc(\"code\")'>
non<INPUT type= 'radio' id='motdepasse' name= 'oui'".$checked." onchange='afficherBloc(\"code\")' checked><span id='code' style='display:".$display.";'>
<INPUT type = 'text' name = 'ztMdp' value=".$mdp."></p></td></tr></span>
</table>
</fieldset>");
echo ("
<td style='border :0px;'>
<fieldset><legend>Centre d'Incendie et de Secours</legend>
<table> <table>
<tr><th style='width:130px;'>Code</th> <td>".$lesInfosPompier['pCis']."</td> </tr> <tr><th>Nom : </th><td><input type="text" name="ztNom" size="20" maxlength="30"></td></tr>
<tr><th>Nom</th> <td>".$lesInfosPompier['cNom']."</td> </tr> <tr><th>Pr<50>nom : </th><td><input type="text" name="ztPrenom" size="20" maxlength="30"></td></tr>
<tr><th>Adresse</th> <td>".$lesInfosPompier['cAdresse']."</td> </tr> <tr><th>Adresse : </th><td><input type="text" name="ztAdr" size="20" maxlength="30"></td></tr>
<tr><th>T&eacute;l&eacute;phone</th> <td>".$lesInfosPompier['cTel']."</td> </tr> <tr><th>Ville : </th><td><input type="text"name="ztVille" size="20" maxlength="30"></td></tr>
<tr><th>Groupement</th> <td>".$lesInfosPompier['cGroupement']."</td> </tr> <tr><th>Code postal : </th><td><input type="text" name="ztCp" size="20" maxlength="30"></td></tr>
<tr><th>T<>l<EFBFBD>phone : </th><td><input type="text" name="ztTel" size="20" maxlength="30"></td></tr>
<tr><th>Mail : </th><td><input type="text" name="ztMail" size="20" maxlength="30"></td></tr>
<tr><th>Statut : </th><td><input readonly type="text" name="ztStatut" size="20" maxlength="30"></td></tr>
<tr><th>Grade : </th><td><input readonly type="text" name="ztGrade" size="20" maxlength="30"></td></tr>
</table> </table>
</fieldset> </fieldset>
<fieldset><legend>Fonction</legend> <fieldset><legend>Coordonn<EFBFBD>es Employeur</legend>
<table> <table>
<tr><th>Type</th> <td> <tr><th>Nom employeur : </th><td><input type="text" name="ztNomEmp" size="20" maxlength="30"></td></tr>
<select name='lstTypes' id='type-select' "); if($_SESSION['statut']!=2){echo("disabled=true ");} echo(">"); <tr><th>T<>l<EFBFBD>phone employeur : </th><td><input type="text" name="ztTelEmp" size="20" maxlength="30"></td></tr>
if (!isset($_REQUEST['lstTypes'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstTypes'];} <tr><th>Adresse employeur : </th><td><input type="text" name="ztadrEmp" size="20" maxlength="30"></td></tr>
<tr><th>Mail employeur : </th><td><input type="text" name="ztMailEmp" size="20" maxlength="30"></td></tr>
foreach ($lesTypes as $unType)
{
if($unType['pIndice'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$unType['pIndice']."\">".$unType['pLibelle']."</option>\n ";
$choix = $unType['pIndice'];
}
else
{echo "<option value=\"".$unType['pIndice']."\">".$unType['pLibelle']."</option>\n";}
}
echo ("
</select></td> </tr>
<tr><th>Grade</th> <td>
<select name='lstGrades' id='grade-select' "); if($_SESSION['statut']!=2){echo("disabled=true ");} echo(">");
if (!isset($_REQUEST['lstGrades'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstGrades'];}
foreach ($lesGrades as $unGrade)
{
if($unGrade['pIndice'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$unGrade['pIndice']."\">".$unGrade['pLibelle']."</option>\n ";
$choix = $unGrade['pIndice'];
}
else
{echo "<option value=\"".$unGrade['pIndice']."\">".$unGrade['pLibelle']."</option>\n";}
}
echo ("
</select></td> </tr>
<tr><th>Statut</th> <td>
<select name='lstStatut' id='statut-select' "); if($_SESSION['statut']!=2){echo("disabled=true ");} echo(">");
if (!isset($_REQUEST['lstStatut'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstStatut'];}
foreach ($lesStatuts as $unStatut)
{
if($unStatut['pIndice'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$unStatut['pIndice']."\">".$unStatut['pLibelle']."</option>\n ";
$choix = $unStatut['pIndice'];
}
else
{echo "<option value=\"".$unStatut['pIndice']."\">".$unStatut['pLibelle']."</option>\n ";}
}
echo ("
</select></td> </tr>
</table>
</fieldset></td>
</tr>
</table>
<fieldset><legend>Observations</legend>
<table style='border: 0px solid white;'>
<tr>
<td><textarea name='ztObs' cols='70' rows='1'>".$lesInfosPompier['pCommentaire']."</textarea></td>
</tr>
</table> </table>
</fieldset> </fieldset>
</div>"); <input type="button" name="button" onclick="window.location='http://localhost:8080/AP31-Projet1/Modif'" value="Modification du profil">
}
echo ("
</td>
</tr>
</fieldset>
</table>");
%>
<table style='border: 0px solid white; '>
<tr>
<td style='border: 0px solid white; witdh:130px; text-align:right;'>
<input type="hidden" name="zTypeAdm" value="<?php if ($type=="adm") {echo ("true");} else {echo ("false");} ?>">
<input type="hidden" name="zOk" value="OK">
<input type="image" name="btValider" alt="Valider" src="images/valider.jpg" value="OK" >
<input type="image" name="btAnnuler" alt="Annuler" src="images/annuler.jpg" value="nonOK" onclick="annuler('frmA');">
</td> </td>
</tr> </tr>
</table> </table>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -1,10 +1,13 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head> <head>
<<link rel="stylesheet" href="css/newcss.css"/>
<title>SDIS29</title> <title>SDIS29</title>
</head> </head>
<div id="page"> <div id="page">
<div id="entete"> <div id="entete">
<img src="./images/LogoSDIS29.jpg" id="logo" alt="SDIS29" title="SDIS 29" align='left' style="width: 200px; height: 180px" /> <img src="./images/LogoSDIS29.jpg" id="logo" alt="SDIS29" title="SDIS 29" align='left' style="width: 200px; height: 180px";
}/>
<!-- fin de l'ent<6E>te --> <!-- fin de l'ent<6E>te -->

59
web/css/newcss.css Normal file
View File

@@ -0,0 +1,59 @@
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/*
Created on : 21 oct. 2021, 16:37:16
Author : elliass.chelloug
*/
body
{
background-color: #596b6e;
background-repeat: repeat-x;
margin:0% 0%;
padding : 0.9em;
font-family:"Trebuchet MS",Verdana,Geneva,Arial,Helvetica,sans-serif;
font-size: 0.9em;
}
#contenu
{
border: none;
padding: 2.1em;
background-color: white;
border-left : groove 0.8em #980101;
margin-top : 1.1em;
margin-left: 82px;
min-height:27em;
height:27em;
}
piedForm
{
border-bottom-width : 0.1em;
border-left-width : 0.1em;
border-right-width : 0.1em;
border-top-width : 0em;
border-style : solid;
border-color : #000;
text-align:right ;
width : 95%;
margin-top:0em;
}
form
{
margin-bottom:1em;
}
corpsForm legend
{
font-weight:bold;
font-size:1.2em;
}
corpsForm label
{
float: left;
text-align:right;
width:33%;
margin: 0;
padding: 0 .5em 0 0;
line-height: 1.8;
}