This commit is contained in:
		
							
								
								
									
										2
									
								
								web/META-INF/context.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								web/META-INF/context.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Context path="/sdis29M1"/>
 | 
			
		||||
							
								
								
									
										41
									
								
								web/WEB-INF/authentifJSP.jsp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								web/WEB-INF/authentifJSP.jsp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
<%-- 
 | 
			
		||||
    Document   : authentifJSP
 | 
			
		||||
    Created on : 23 oct. 2021, 10:02:18
 | 
			
		||||
    Author     : domin
 | 
			
		||||
--%>
 | 
			
		||||
<%@include file= "jspf/debutJSP.jspf" %>
 | 
			
		||||
    <body>
 | 
			
		||||
        <c:set var="page" value="1" scope="request" />
 | 
			
		||||
        <%@include file= "jspf/header.jspf" %>
 | 
			
		||||
        <div class="container">
 | 
			
		||||
            
 | 
			
		||||
            <section id="contenuAffiche">
 | 
			
		||||
                <fieldset id="authentif">
 | 
			
		||||
                    <legend>
 | 
			
		||||
                        Authentification
 | 
			
		||||
                    </legend>
 | 
			
		||||
                    <form id="fAuthentif" method="POST" action="authentification">
 | 
			
		||||
                        <div class="mb-3 mt-3">
 | 
			
		||||
                            <label for="ztLogin"> Login * </label>
 | 
			
		||||
                            <input type="text" placeholder="login" id="ztLogin" 
 | 
			
		||||
                                   autocomplete="username" name="ztLogin" class="form-control" required />
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="mb-3">
 | 
			
		||||
                            <label for="ztMDP"> Mot de passe  * </label>
 | 
			
		||||
                            <input type="password" placeholder="mdp" id="ztMDP" 
 | 
			
		||||
                                   name="ztMDP" class="form-control" required />
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="text-center">
 | 
			
		||||
                            <button type="submit" value="Valider" class="btn btn-danger"><i class="bi bi-check2"></i> Valider</button>                                    
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </form> 
 | 
			
		||||
                    ${message}
 | 
			
		||||
                </fieldset>
 | 
			
		||||
            </section> <!-- /section id contenuAffiche -->
 | 
			
		||||
            <%@include file= "jspf/footer.jspf" %>
 | 
			
		||||
        </div> <!-- /div class container -->  
 | 
			
		||||
 | 
			
		||||
        <!-- Bootstrap Bundle with Popper -->
 | 
			
		||||
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>    
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										16
									
								
								web/WEB-INF/jspf/debutJSP.jspf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								web/WEB-INF/jspf/debutJSP.jspf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
<%-- jspf/debutJSP.jsp --%>
 | 
			
		||||
<%@page contentType="text/html" pageEncoding="UTF-8"%>
 | 
			
		||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
    <head>
 | 
			
		||||
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 | 
			
		||||
        <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
			
		||||
 | 
			
		||||
        <!-- Bootstrap CSS -->
 | 
			
		||||
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.6.1/font/bootstrap-icons.css">
 | 
			
		||||
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
 | 
			
		||||
        <link href="css/mycss.css" rel="stylesheet" />
 | 
			
		||||
        <link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
 | 
			
		||||
        <title>SDIS29</title>
 | 
			
		||||
    </head>
 | 
			
		||||
							
								
								
									
										5
									
								
								web/WEB-INF/jspf/footer.jspf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								web/WEB-INF/jspf/footer.jspf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
<%-- jspf/footer.jspf --%>
 | 
			
		||||
<%@ page pageEncoding="UTF-8" %>
 | 
			
		||||
<footer>
 | 
			
		||||
    <p>SDIS 29 - 58, avenue de Keradennec - 29337 QUIMPER CEDEX - 02 98 10 31 50</p>
 | 
			
		||||
</footer>
 | 
			
		||||
							
								
								
									
										30
									
								
								web/WEB-INF/jspf/formChoixPompier.jspf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								web/WEB-INF/jspf/formChoixPompier.jspf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
<%-- any content can be specified here e.g.: --%>
 | 
			
		||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 | 
			
		||||
<%@ page pageEncoding="UTF-8" %>
 | 
			
		||||
 | 
			
		||||
<form action="pompier" method="POST" id="fChoixPompier" name="fChoixPompier">
 | 
			
		||||
    <div class="row"> 
 | 
			
		||||
        <div class="col-md-9">
 | 
			
		||||
            <label for="ldrPompier">Choix du pompier</label>
 | 
			
		||||
            <select class="form-control" id="ldrPompier" name="ldrPompier">
 | 
			
		||||
                <optgroup label="les pompiers volontaires" />
 | 
			
		||||
                    <c:forEach items="${sessionScope.lesPompiers}" var="unPompier" varStatus="status">
 | 
			
		||||
                        <c:set var="select" value="" scope="page" />
 | 
			
		||||
                        <c:if test="${lePompier.getId() eq unPompier.getId()}" var="testSelect" scope="page">
 | 
			
		||||
                             <c:set var="select" value="selected" scope="page" />
 | 
			
		||||
                        </c:if>
 | 
			
		||||
                        <option ${select} value="${status.index}">${unPompier.getLeGrade().getValeur()} ${unPompier.getNom()} ${unPompier.getPrenom()}</option>                        
 | 
			
		||||
                    </c:forEach>
 | 
			
		||||
            </select>
 | 
			
		||||
        </div>        
 | 
			
		||||
        <div class="col-md-3" id="btAfficherPompier" name="btAfficherPompier">
 | 
			
		||||
            <!--<input class="btn btn-danger" name="btAfficherPompier" type="submit" value="Afficher" /> -->
 | 
			
		||||
            <button class="btn btn-danger" name="btAfficherPompier" value="Afficher" type="submit"><i class="bi bi-eye-fill"></i> Afficher</button>
 | 
			
		||||
            <button class="btn btn-danger ms-5" name="btAfficherPompier" value="Ajouter" type="submit"> <i class="bi bi-plus-lg"></i> Ajouter</button>            
 | 
			
		||||
        </div>    
 | 
			
		||||
    </div>            
 | 
			
		||||
</form>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
   
 | 
			
		||||
    
 | 
			
		||||
							
								
								
									
										198
									
								
								web/WEB-INF/jspf/formulairePompier.jspf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										198
									
								
								web/WEB-INF/jspf/formulairePompier.jspf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,198 @@
 | 
			
		||||
<%@ page pageEncoding="UTF-8" %>
 | 
			
		||||
<form action="pompier" method="POST" class="formPompier"> <!-- enctype="multipart/form-data" -->
 | 
			
		||||
    <div class="row">
 | 
			
		||||
        <aside class="col-md-3 text-center"> 
 | 
			
		||||
            <img src="images/pompier.png" alt="portrait">
 | 
			
		||||
        </aside>
 | 
			
		||||
 | 
			
		||||
        <section class="col-md-8">
 | 
			
		||||
            <div class="row">        
 | 
			
		||||
                <div class="col-md-6">
 | 
			
		||||
                    <label for="ztNom">Nom *</label>
 | 
			
		||||
                    <input type="text" class="form-control" id="ztNom" name="ztNom" 
 | 
			
		||||
                           placeholder="Nom" value="${lePompier.getNom()}" required />
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="col-md-6">
 | 
			
		||||
                    <label for="ztPrenom">Prenom *</label>
 | 
			
		||||
                    <input type="text" class="form-control" id="ztPrenom" name="ztPrenom" 
 | 
			
		||||
                           placeholder="Prénom" value="${lePompier.getPrenom()}" required />
 | 
			
		||||
                </div>
 | 
			
		||||
            </div><!-- fin ligne nom prenom -->
 | 
			
		||||
 | 
			
		||||
            <div class="row mt-3">
 | 
			
		||||
                <div class="col-md-6">
 | 
			
		||||
                    <label for="ztRue">Adresse *</label>
 | 
			
		||||
                    <input type="text" class="form-control" id="ztRue" name="ztAdresse" 
 | 
			
		||||
                           placeholder="Adresse" value="${lePompier.getAdresse()}" required="" />
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="col-md-2">
 | 
			
		||||
                    <label for="ztCP">Code postal *</label>
 | 
			
		||||
                    <input type="text" class="form-control" id="ztCP" name="ztCP" pattern="^(([0-8][0-9])|(9[0-5])|(2[ab]))[0-9]{3}$"  
 | 
			
		||||
                           placeholder="Code postal" value="${lePompier.getCp()}" required />          
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="col-md-4">
 | 
			
		||||
                    <label for="zlVille">Ville *</label>
 | 
			
		||||
                    <!-- <input type="text" class="form-control" id="zlVille" name = "zlVille" 
 | 
			
		||||
                           placeholder="Ville" value="${lePompier.getVille()}" required /> comment -->
 | 
			
		||||
 | 
			
		||||
                    <select class="form-select" aria-label="Default select example" id="zlVille" name = "zlVille" required>                    
 | 
			
		||||
                        <option value="${lePompier.getVille()}">${lePompier.getVille()}</option>                    
 | 
			
		||||
                    </select>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div><!-- fin ligne adresse -->
 | 
			
		||||
 | 
			
		||||
            <div class="row mt-3">  
 | 
			
		||||
                <div class="col-md-6">
 | 
			
		||||
                    <label for="ztMail">Adresse électronique *</label>
 | 
			
		||||
                    <input type="email" class="form-control" id="ztMail" name="ztMail" 
 | 
			
		||||
                           placeholder="Email" value="${lePompier.getMail()}" required />            
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="text-danger col-md-6" id="msgCP" ></div>
 | 
			
		||||
            </div><!-- fin ligne mail -->    
 | 
			
		||||
            <div class="row mt-3">    
 | 
			
		||||
                <div class="col-md-6">
 | 
			
		||||
                    <label for="ztLogin">Login *</label>
 | 
			
		||||
                    <input type="text" class="form-control" id="ztLogin" name="ztLogin" 
 | 
			
		||||
                           placeholder="Login" value="${lePompier.getLogin()}" required />
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="col-md-6">
 | 
			
		||||
                    <label for="ztMdp">Mot de passe *</label>
 | 
			
		||||
                    <input type="password" class="form-control" id="ztMdp" name="ztMdp" value="12345"
 | 
			
		||||
                           placeholder="Mot de passe"  required />
 | 
			
		||||
                </div>
 | 
			
		||||
            </div><!-- fin ligne login mot de passe -->
 | 
			
		||||
            <div class="row refPhoto mt-3">
 | 
			
		||||
                <div class="col-md-12">
 | 
			
		||||
                    <label for="photo" class="custom-file">Changer la photo</label>
 | 
			
		||||
                    <input type="file" class="form-control" id="photo" name="photo" accept=".png, .jpg, .jpeg" />     
 | 
			
		||||
                </div>
 | 
			
		||||
            </div> <!-- fin ligne photo -->
 | 
			
		||||
 | 
			
		||||
            <div class="row mt-3">                         
 | 
			
		||||
                <div class="col-md-2">
 | 
			
		||||
                    <c:set var="readO" value="" scope="page" />
 | 
			
		||||
                    <c:if test="${sessionScope.lePompierConnecte.getLeStatut().getCode() ne 2  || 
 | 
			
		||||
                                  sessionScope.lePompierConnecte.getId() == lePompier.getId()}" var="testChef" scope="page">
 | 
			
		||||
                        <c:set var="readO" value="readonly" scope="page" />
 | 
			
		||||
                    </c:if>
 | 
			
		||||
                    <label for="ztBip">No bip *</label>
 | 
			
		||||
                    <input type="number" ${readO} class="form-control" id="ztBip" 
 | 
			
		||||
                           name="ztBip" placeholder="No bip" value="${lePompier.getBip()}" required  min="1" />
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="col-md-4">
 | 
			
		||||
                    <label for="ldrGrade">Grade *</label>                    
 | 
			
		||||
                    <select ${readO} class="form-control" id="ldrGrade" name="ldrGrade">
 | 
			
		||||
                        <c:forEach items="${sessionScope.lesGrades}" var="unGrade" >
 | 
			
		||||
                            <c:set var="select" value="" scope="page" />
 | 
			
		||||
                            <c:if test="${lePompier.getLeGrade().getCode() eq unGrade.getCode()}" var="testGrade" scope="page">
 | 
			
		||||
                                <c:set var="select" value="selected" scope="page" />
 | 
			
		||||
                            </c:if>
 | 
			
		||||
                            <option ${select} value="${unGrade.getCode()}">${unGrade.getValeur()}</option>;
 | 
			
		||||
                        </c:forEach>
 | 
			
		||||
                    </select>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="col-md-3">
 | 
			
		||||
                    <label for="ldrStatut">Statut *</label>                    
 | 
			
		||||
                    <select ${readO} class="form-control" id="ldrStatut" name="ldrStatut">
 | 
			
		||||
                        <c:forEach items="${sessionScope.lesStatuts}" var="unStatut" >
 | 
			
		||||
                            <c:set var="select" value="" scope="page" />
 | 
			
		||||
                            <c:if test="${lePompier.getLeStatut().getCode() eq unStatut.getCode()}" var="testStatut" scope="page">
 | 
			
		||||
                                <c:set var="select" value="selected" scope="page" />
 | 
			
		||||
                            </c:if>
 | 
			
		||||
                            <option ${select} value="${unStatut.getCode()}">${unStatut.getValeur()}</option>;
 | 
			
		||||
 | 
			
		||||
                        </c:forEach>
 | 
			
		||||
                    </select>
 | 
			
		||||
                </div> 
 | 
			
		||||
                <div class="col-md-3">
 | 
			
		||||
                    <label for="ldrType">Type personnel *</label>                    
 | 
			
		||||
                    <select ${readO} class="form-control" id="ldrType" name="ldrType">
 | 
			
		||||
                        <c:forEach items="${sessionScope.lesTypes}" var="unType" >
 | 
			
		||||
                            <c:set var="select" value="" scope="page" />
 | 
			
		||||
                            <c:if test="${lePompier.getLeType().getCode() eq unType.getCode()}" var="testStatut" scope="page">
 | 
			
		||||
                                <c:set var="select" value="selected" scope="page" />
 | 
			
		||||
                            </c:if>
 | 
			
		||||
                            <option ${select} value="${unType.getCode()}">${unType.getValeur()}</option>;
 | 
			
		||||
 | 
			
		||||
                        </c:forEach>
 | 
			
		||||
                    </select>
 | 
			
		||||
                </div> 
 | 
			
		||||
            </div><!-- fin ligne bip grade statut type-->
 | 
			
		||||
 | 
			
		||||
            <div class="row mt-3"> 
 | 
			
		||||
                <div class="col-md-12">
 | 
			
		||||
                    <label for="ztObs">Observations</label>
 | 
			
		||||
                    <input type="text" class="form-control" id="ztObs" name="ztObs" 
 | 
			
		||||
                           value="${lePompier.getCommentaire()}" />                
 | 
			
		||||
                </div><!-- fin ligne observation -->
 | 
			
		||||
            </div> <!-- fin observation -->
 | 
			
		||||
            <br/>
 | 
			
		||||
            <!-- tab disp -->
 | 
			
		||||
            <div>
 | 
			
		||||
                <label for="tDisp">Disponibilitées</label>
 | 
			
		||||
                <table border="1" cellspacing="3" cellpadding="1" class="table table-striped">
 | 
			
		||||
                    <thead>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                    <c:forEach items="${sessionScope.lesDatesEnString}" var="uneDate" varStatus="status">
 | 
			
		||||
                        <th colspan="2" class="text-center">${uneDate}</th>
 | 
			
		||||
                    </c:forEach>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                    <c:forEach var="i" begin="0" end="4" step="1">
 | 
			
		||||
                        <c:forEach items="${sessionScope.lesPeriodes}" var="uneP" varStatus="status">
 | 
			
		||||
                            <td class="text-center">${uneP}</td>
 | 
			
		||||
                        </c:forEach>
 | 
			
		||||
                    </c:forEach>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                    </thead>
 | 
			
		||||
                    <tbody>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <c:forEach items="${sessionScope.lesVentilInit}" var="ventil" varStatus="status">
 | 
			
		||||
                            <c:set var="act" value="${ventil.getActivite()}" scope="page"/>
 | 
			
		||||
                        <td><input type="text" value="${act}" name="lesAct" class="ztVentil ${sessionScope.lesCouleurs[act]}" readonly/></td>
 | 
			
		||||
 | 
			
		||||
                    </c:forEach>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                    </tbody>
 | 
			
		||||
                </table>
 | 
			
		||||
                        <div id="legendCouleur">
 | 
			
		||||
                    
 | 
			
		||||
                        <span  style="background-color: white">Dispo</span>
 | 
			
		||||
                        <span  style="background-color: gray">Indispo</span>
 | 
			
		||||
                        <span  style="background-color: yellow">Au travail</span>
 | 
			
		||||
                        
 | 
			
		||||
                    
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <!-- fin tab disp -->
 | 
			
		||||
            <div class="danger mt-3">${message} </div> 
 | 
			
		||||
 | 
			
		||||
            <div class="text-center mt-3">
 | 
			
		||||
                <button type="submit" name="btAfficherPompier" value="ValiderMaj" class="btn btn-danger">
 | 
			
		||||
                    <i class="bi bi-check2"></i> Valider
 | 
			
		||||
                </button>                                    
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <p><em>* zone obligatoire</em></p>
 | 
			
		||||
 | 
			
		||||
        </section>
 | 
			
		||||
            <script>
 | 
			
		||||
    var couleurs = ["blanc", "gris", "jaune"];
 | 
			
		||||
    var lesAct = document.getElementsByClassName("ztVentil");
 | 
			
		||||
    for (var uneAct of lesAct) {
 | 
			
		||||
        uneAct.onclick = function () {
 | 
			
		||||
            var act = this.value;
 | 
			
		||||
            var newAct = (act + 1) % 3;
 | 
			
		||||
            var coul = couleurs[newAct];
 | 
			
		||||
            this.classList.remove(couleurs[act]);
 | 
			
		||||
            this.classList.add(coul);
 | 
			
		||||
            this.value = newAct;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
</script>
 | 
			
		||||
    </div> <!-- fin div contenant aside et section -->
 | 
			
		||||
</form>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										112
									
								
								web/WEB-INF/jspf/header.jspf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								web/WEB-INF/jspf/header.jspf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,112 @@
 | 
			
		||||
<%-- jspf/header.jspf --%>
 | 
			
		||||
<%@ page pageEncoding="UTF-8" %>
 | 
			
		||||
<c:set var="blancs8" value="          " scope="page" />
 | 
			
		||||
<header>
 | 
			
		||||
    <div class="container" id="entete">
 | 
			
		||||
 | 
			
		||||
        <img id="logo" src="images/logo-sdis.png" alt='logo sdis29' />
 | 
			
		||||
        <div id="identite">
 | 
			
		||||
            <div id="login">
 | 
			
		||||
                <c:choose>
 | 
			
		||||
                    <c:when test="${empty sessionScope.lePompierConnecte}">
 | 
			
		||||
                        <h4>Bienvenue</h4>
 | 
			
		||||
                    </c:when>  
 | 
			
		||||
                    <c:otherwise>
 | 
			
		||||
                        <h4>Bienvenue   ${sessionScope.lePompierConnecte.getPrenom()} 
 | 
			
		||||
                            ${sessionScope.lePompierConnecte.getNom()} (
 | 
			
		||||
                            ${sessionScope.lePompierConnecte.getLeStatut().getValeur()})
 | 
			
		||||
                        </h4>
 | 
			
		||||
                     
 | 
			
		||||
                        <button type="button" class="btn btn-warning fs-4" title="Déconnexion">
 | 
			
		||||
                            <a href="authentification">
 | 
			
		||||
                                <i class="bi bi-box-arrow-right heading" width="32" height="32" fill="currentColor"></i> Déconnexion
 | 
			
		||||
                            </a>
 | 
			
		||||
                        </button>
 | 
			
		||||
                    </c:otherwise>
 | 
			
		||||
                </c:choose>
 | 
			
		||||
            </div>
 | 
			
		||||
            <h4>Service Départemental d'Incendie et de Secours du Finistère</h4>
 | 
			
		||||
 | 
			
		||||
            <div id="caserne" title="Adresse caserne">             
 | 
			
		||||
                ${sessionScope.lePompierConnecte.getLaCaserne().getNom()} 
 | 
			
		||||
                ${sessionScope.lePompierConnecte.getLaCaserne().getAdresse()}<br />
 | 
			
		||||
                ${sessionScope.lePompierConnecte.getLaCaserne().getTel()}<br />
 | 
			
		||||
            </div>
 | 
			
		||||
            <nav class="navbar navbar-expand-sm bg-danger navbar-dark">
 | 
			
		||||
                <div class="container-fluid">
 | 
			
		||||
                    <ul class="navbar-nav">
 | 
			
		||||
                        <li class="nav-item">
 | 
			
		||||
                            <span class="nav-link"><pre>${blancs8}</pre> </span>
 | 
			
		||||
                        </li>
 | 
			
		||||
                        <li class="nav-item">
 | 
			
		||||
                            <c:choose>
 | 
			
		||||
                                <c:when test="${page eq 1}">
 | 
			
		||||
                                    <a  class="nav-link active" href="authentification">Authentification</a>
 | 
			
		||||
                                </c:when>
 | 
			
		||||
                                <c:otherwise>
 | 
			
		||||
                                    <a  class="nav-link" href="authentification">Authentification</a>
 | 
			
		||||
                                </c:otherwise>
 | 
			
		||||
                            </c:choose>
 | 
			
		||||
                        </li>
 | 
			
		||||
                        <li class="nav-item">
 | 
			
		||||
                            <c:choose>
 | 
			
		||||
                                <c:when test="${page eq 2}">
 | 
			
		||||
                                    <a class="nav-link active" href="pompier?pageDemandee=2">Mes Données</a>
 | 
			
		||||
                                </c:when>
 | 
			
		||||
                                <c:when test="${empty lePompierConnecte}">
 | 
			
		||||
                                    <a class="nav-link disabled" href="#">Mes Données</a>
 | 
			
		||||
                                </c:when>                                       
 | 
			
		||||
                                <c:otherwise>
 | 
			
		||||
                                   <a class="nav-link" href="pompier?pageDemandee=2">Mes Données</a>
 | 
			
		||||
                                </c:otherwise>
 | 
			
		||||
                            </c:choose>                            
 | 
			
		||||
                        </li>
 | 
			
		||||
                        <li class="nav-item">   
 | 
			
		||||
                            <c:choose>                                
 | 
			
		||||
                                <c:when test="${page eq 3}">                                     
 | 
			
		||||
                                    <a class="nav-link active" href="pompier?pageDemandee=3">Les Pompiers</a>
 | 
			
		||||
                                </c:when>
 | 
			
		||||
                                <c:when test="${sessionScope.lePompierConnecte.getLeStatut().getCode() eq 2}">
 | 
			
		||||
                                    <a class="nav-link" href="pompier?pageDemandee=3">Les pompiers</a>
 | 
			
		||||
                                </c:when>                                       
 | 
			
		||||
                                <c:otherwise>
 | 
			
		||||
                                   
 | 
			
		||||
                                </c:otherwise>
 | 
			
		||||
                               
 | 
			
		||||
                            </c:choose>                            
 | 
			
		||||
                         </li>
 | 
			
		||||
                        <li class="nav-item">
 | 
			
		||||
                            <c:choose>                                
 | 
			
		||||
                                <c:when test="${page eq 4}">                                     
 | 
			
		||||
                                    <a class="nav-link active" href="#">Les Paramètres</a>
 | 
			
		||||
                                </c:when>
 | 
			
		||||
                                <c:when test="${sessionScope.lePompierConnecte.getLeStatut().getCode() eq 2}">
 | 
			
		||||
                                    <a class="nav-link" href="#">Les paramètres</a>
 | 
			
		||||
                                </c:when>                                       
 | 
			
		||||
                                <c:otherwise>
 | 
			
		||||
                                   
 | 
			
		||||
                                </c:otherwise>
 | 
			
		||||
                               
 | 
			
		||||
                            </c:choose>                            
 | 
			
		||||
                        </li>
 | 
			
		||||
                        <li class="nav-item">   
 | 
			
		||||
                            <c:choose>                                
 | 
			
		||||
                                <c:when test="${page eq 5}">                                     
 | 
			
		||||
                                    <a class="nav-link active" href="pompier?pageDemandee=5">Gardes</a>
 | 
			
		||||
                                </c:when>
 | 
			
		||||
                                <c:when test="${sessionScope.lePompierConnecte.getLeStatut().getCode() eq 2}">
 | 
			
		||||
                                    <a class="nav-link" href="pompier?pageDemandee=5">Gardes</a>
 | 
			
		||||
                                </c:when>                                       
 | 
			
		||||
                                <c:otherwise>
 | 
			
		||||
                                   
 | 
			
		||||
                                </c:otherwise>
 | 
			
		||||
                               
 | 
			
		||||
                            </c:choose>                            
 | 
			
		||||
                         </li>
 | 
			
		||||
                    </ul>
 | 
			
		||||
 | 
			
		||||
                </div>    
 | 
			
		||||
            </nav>
 | 
			
		||||
        </div> <!-- fin id=identie -->
 | 
			
		||||
    </div> <!-- fin class=container -->
 | 
			
		||||
</header>
 | 
			
		||||
							
								
								
									
										50
									
								
								web/WEB-INF/pompierJSP.jsp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								web/WEB-INF/pompierJSP.jsp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
<%-- 
 | 
			
		||||
    pompierJSP.jsp
 | 
			
		||||
--%>
 | 
			
		||||
<%@page contentType="text/html" pageEncoding="UTF-8"%>
 | 
			
		||||
<%@include file= "jspf/debutJSP.jspf" %>
 | 
			
		||||
<body>
 | 
			
		||||
    
 | 
			
		||||
    <%@include file= "jspf/header.jspf" %>
 | 
			
		||||
    <div class="container">
 | 
			
		||||
        <section id="contenuAffiche" class="row">
 | 
			
		||||
            <c:set var="legend" value="Mes données" scope="page" />
 | 
			
		||||
            <c:if test="${sessionScope.lePompierConnecte.getLeStatut().getCode() eq 2}" var="testChef" scope="page">
 | 
			
		||||
                <c:if test="${sessionScope.lePompierConnecte.getId() ne lePompier.getId()}" var="testAffich" scope="page">
 | 
			
		||||
                    <c:set var="legend" scope="page">
 | 
			
		||||
                            Données du pompier ${lePompier.getNom()} ${lePompier.getPrenom()}
 | 
			
		||||
                    </c:set>
 | 
			
		||||
                    <c:if test="${sessionScope.lePompier==null}" var="testCreation" scope="page">
 | 
			
		||||
                        <c:set var="legend" scope="page">
 | 
			
		||||
                            Données du pompier à créer
 | 
			
		||||
                        </c:set>
 | 
			
		||||
                    </c:if>         
 | 
			
		||||
                    <fieldset class="row mb-10 text-center">  
 | 
			
		||||
                        <%@include file= "jspf/formChoixPompier.jspf" %>  
 | 
			
		||||
                    </fieldset> 
 | 
			
		||||
                </c:if>                             
 | 
			
		||||
            </c:if>
 | 
			
		||||
 | 
			
		||||
            <fieldset class="row mt-1 mb-10">  
 | 
			
		||||
                <legend>                    
 | 
			
		||||
                    ${legend}              
 | 
			
		||||
                </legend>               
 | 
			
		||||
 | 
			
		||||
                <%@include file= "jspf/formulairePompier.jspf" %>
 | 
			
		||||
            </fieldset> 
 | 
			
		||||
        </section>
 | 
			
		||||
 | 
			
		||||
        <%@include file= "jspf/footer.jspf" %>
 | 
			
		||||
    </div> <!-- /div class container -->  
 | 
			
		||||
 | 
			
		||||
    <!-- Bootstrap Bundle with Popper   -->
 | 
			
		||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
 | 
			
		||||
 | 
			
		||||
    <!-- Code postaux -->
 | 
			
		||||
    <script src="js/ctrlCodePostal.js"></script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										32
									
								
								web/WEB-INF/web.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								web/WEB-INF/web.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
 | 
			
		||||
    <filter>
 | 
			
		||||
        <filter-name>authentifFilter</filter-name>
 | 
			
		||||
        <filter-class>filter.authentifFilter</filter-class>
 | 
			
		||||
    </filter>
 | 
			
		||||
    <filter-mapping>
 | 
			
		||||
        <filter-name>authentifFilter</filter-name>
 | 
			
		||||
        <url-pattern>/*</url-pattern>
 | 
			
		||||
    </filter-mapping>
 | 
			
		||||
    <servlet>
 | 
			
		||||
        <servlet-name>AuthentifServlet</servlet-name>
 | 
			
		||||
        <servlet-class>servlet.AuthentifServlet</servlet-class>
 | 
			
		||||
    </servlet>
 | 
			
		||||
    <servlet>
 | 
			
		||||
        <servlet-name>PompierServlet</servlet-name>
 | 
			
		||||
        <servlet-class>servlet.PompierServlet</servlet-class>
 | 
			
		||||
    </servlet>
 | 
			
		||||
    <servlet-mapping>
 | 
			
		||||
        <servlet-name>AuthentifServlet</servlet-name>
 | 
			
		||||
        <url-pattern>/authentification</url-pattern>
 | 
			
		||||
    </servlet-mapping>
 | 
			
		||||
    <servlet-mapping>
 | 
			
		||||
        <servlet-name>PompierServlet</servlet-name>
 | 
			
		||||
        <url-pattern>/pompier</url-pattern>
 | 
			
		||||
    </servlet-mapping>
 | 
			
		||||
    <session-config>
 | 
			
		||||
        <session-timeout>
 | 
			
		||||
            30
 | 
			
		||||
        </session-timeout>
 | 
			
		||||
    </session-config>
 | 
			
		||||
</web-app>
 | 
			
		||||
							
								
								
									
										86
									
								
								web/css/mycss.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								web/css/mycss.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
			
		||||
/* 
 | 
			
		||||
    css/mycss.css
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
    background-color: #ECECEC;   
 | 
			
		||||
}
 | 
			
		||||
#contenuAffiche {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content:center;
 | 
			
		||||
    padding-top: 10px;
 | 
			
		||||
    padding-bottom: 10px;
 | 
			
		||||
    background-color: #ffffff;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
 }       
 | 
			
		||||
#authentif {
 | 
			
		||||
     width : 50%;
 | 
			
		||||
}
 | 
			
		||||
fieldset {
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    padding: 5px;
 | 
			
		||||
    border: 1px solid #DB0005;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
}
 | 
			
		||||
legend {
 | 
			
		||||
    margin-bottom:0px;
 | 
			
		||||
    padding-bottom: 0px;
 | 
			
		||||
}
 | 
			
		||||
footer {
 | 
			
		||||
    margin-top: 10px;
 | 
			
		||||
    background-color: #EDEDED;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    font-size: smaller;
 | 
			
		||||
    padding: 10px;
 | 
			
		||||
    /*border-bottom: 3px solid #DB0005; */
 | 
			
		||||
}
 | 
			
		||||
header {
 | 
			
		||||
    background-color: #333333;
 | 
			
		||||
    color: #EDEDED;  
 | 
			
		||||
    padding: 10px;
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
#entete {   
 | 
			
		||||
    display: flex;
 | 
			
		||||
    /* align-items: center; */
 | 
			
		||||
    align-items: flex-end ;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
li {    
 | 
			
		||||
    text-align: center;   
 | 
			
		||||
}
 | 
			
		||||
li:not(:first-child) {    
 | 
			
		||||
   border-left: 2px solid #EDEDED; 
 | 
			
		||||
}
 | 
			
		||||
#identite {
 | 
			
		||||
     width : 100%;
 | 
			
		||||
}
 | 
			
		||||
.navbar {
 | 
			
		||||
    padding: 0 0 0 0;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    margin-left: -8%;   
 | 
			
		||||
}
 | 
			
		||||
#logo {
 | 
			
		||||
    z-index:1; /* arriere plan */
 | 
			
		||||
}
 | 
			
		||||
#login {
 | 
			
		||||
    background-color: #EDEDED;    
 | 
			
		||||
    color: #333333;   
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content:space-around;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    margin-left: -8%;   
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button a {
 | 
			
		||||
    text-decoration:none;
 | 
			
		||||
    color: #333333;     
 | 
			
		||||
}
 | 
			
		||||
aside, #btAfficherPompier {
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
}
 | 
			
		||||
select[readonly] {
 | 
			
		||||
  pointer-events: none; 
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								web/images/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								web/images/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								web/images/logo-sdis.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								web/images/logo-sdis.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 13 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								web/images/pompier.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								web/images/pompier.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.0 KiB  | 
							
								
								
									
										15
									
								
								web/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								web/index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<!--
 | 
			
		||||
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 | 
			
		||||
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Html.html to edit this template
 | 
			
		||||
-->
 | 
			
		||||
<html>
 | 
			
		||||
    <head>
 | 
			
		||||
        <title>TODO supply a title</title>
 | 
			
		||||
        <meta charset="UTF-8">
 | 
			
		||||
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
			
		||||
    </head>
 | 
			
		||||
    <body>
 | 
			
		||||
        <div>TODO write content</div>
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										28
									
								
								web/js/ctrlCodePostal.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								web/js/ctrlCodePostal.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
    // Recherche de la ou des villes correspondantes au code postal saisi (exemple 54490 --> 7 villes)
 | 
			
		||||
    ztCP.onchange = function () {
 | 
			
		||||
        //alert("ztCP a changé");
 | 
			
		||||
        msgCP.textContent = "";
 | 
			
		||||
        zlVille.length = 0;
 | 
			
		||||
        const XHTTP = new XMLHttpRequest();
 | 
			
		||||
        XHTTP.onload = function () {
 | 
			
		||||
            if (this.status != 200) {
 | 
			
		||||
                msgCP.textContent = "Code postal erroné";
 | 
			
		||||
            } else {
 | 
			
		||||
                var lesVilles = JSON.parse(this.responseText);
 | 
			
		||||
                    var info = "";
 | 
			
		||||
                    if (lesVilles.length > 1) {
 | 
			
		||||
                        info += "<optgroup label='Les villes du code postal' />";
 | 
			
		||||
                    }
 | 
			
		||||
                    for (var i = 0; i < lesVilles.length; i++) {
 | 
			
		||||
                        var uneVille = lesVilles[i];
 | 
			
		||||
                        info += "<option value='" + uneVille.libelleAcheminement + "'>";
 | 
			
		||||
                        info += uneVille.libelleAcheminement + '</option>';
 | 
			
		||||
                    }
 | 
			
		||||
                zlVille.innerHTML = info;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        var cp = ztCP.value;
 | 
			
		||||
        XHTTP.open("GET", "https://apicarto.ign.fr/api/codes-postaux/communes/" + cp);
 | 
			
		||||
        XHTTP.send();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user