Ajouts de la maquette web sur le nouveau git (suite au bug de l'ancien répertoire git
This commit is contained in:
		
							
								
								
									
										0
									
								
								MaquetteWEB/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								MaquetteWEB/README.md
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										222
									
								
								MaquetteWEB/css/CHEF/chef_departement.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								MaquetteWEB/css/CHEF/chef_departement.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,222 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #592e05;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.section-header {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border-left: 5px solid #5e3a19;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 15px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.table-container {
 | 
				
			||||||
 | 
					    overflow-x: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th, table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th {
 | 
				
			||||||
 | 
					    background-color: #f2f2f2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #f44336;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn:hover {
 | 
				
			||||||
 | 
					    background-color: #9c5e24;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group {
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group label {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					    margin-bottom: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group input, .input-group select {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border: 1px solid #ccc;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styling for the modern schedule */
 | 
				
			||||||
 | 
					.schedule-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th,
 | 
				
			||||||
 | 
					.schedule-table td {
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th {
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.time-slot {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    width: 70px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class {
 | 
				
			||||||
 | 
					    background-color: #e3f2fd;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					    border-left: 5px solid #2141f3;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    padding-left: 10px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class span {
 | 
				
			||||||
 | 
					    font-size: 0.9em;
 | 
				
			||||||
 | 
					    color: #555;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.no-class {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button:hover {
 | 
				
			||||||
 | 
					    background-color: #9c5e24;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										207
									
								
								MaquetteWEB/css/CHEF/gestion-heures-formation.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										207
									
								
								MaquetteWEB/css/CHEF/gestion-heures-formation.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,207 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-card h2 {
 | 
				
			||||||
 | 
					    border-bottom: 2px solid #5e3a19;
 | 
				
			||||||
 | 
					    padding-bottom: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table th,
 | 
				
			||||||
 | 
					.info-table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table th {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.action-btn {
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    margin: 10px 0;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.action-btn:hover {
 | 
				
			||||||
 | 
					    background-color: #4a2e13;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    z-index: 1;
 | 
				
			||||||
 | 
					    left: 0;
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    height: 100%;
 | 
				
			||||||
 | 
					    overflow: auto;
 | 
				
			||||||
 | 
					    background-color: rgb(0, 0, 0);
 | 
				
			||||||
 | 
					    background-color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					    padding-top: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal-content {
 | 
				
			||||||
 | 
					    background-color: #fefefe;
 | 
				
			||||||
 | 
					    margin: 5% auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    border: 1px solid #888;
 | 
				
			||||||
 | 
					    width: 80%;
 | 
				
			||||||
 | 
					    max-width: 400px;
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.close {
 | 
				
			||||||
 | 
					    color: #aaa;
 | 
				
			||||||
 | 
					    float: right;
 | 
				
			||||||
 | 
					    font-size: 28px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.close:hover,
 | 
				
			||||||
 | 
					.close:focus {
 | 
				
			||||||
 | 
					    color: black;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    margin-top: 40px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.search-bar {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.details {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Dropdown menu */
 | 
				
			||||||
 | 
					        .dropdown {
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    min-width: 200px;
 | 
				
			||||||
 | 
					    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    z-index: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a {
 | 
				
			||||||
 | 
					    color: black;
 | 
				
			||||||
 | 
					    padding: 12px 16px;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a:hover {
 | 
				
			||||||
 | 
					    background-color: #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropdown-content {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropbtn {
 | 
				
			||||||
 | 
					    background-color: #4a2e13;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										206
									
								
								MaquetteWEB/css/CHEF/gestion-heures-professeur.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								MaquetteWEB/css/CHEF/gestion-heures-professeur.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,206 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-card h2 {
 | 
				
			||||||
 | 
					    border-bottom: 2px solid #5e3a19;
 | 
				
			||||||
 | 
					    padding-bottom: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table th,
 | 
				
			||||||
 | 
					.info-table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table th {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.action-btn {
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    margin: 10px 0;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.action-btn:hover {
 | 
				
			||||||
 | 
					    background-color: #4a2e13;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    z-index: 1;
 | 
				
			||||||
 | 
					    left: 0;
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    height: 100%;
 | 
				
			||||||
 | 
					    overflow: auto;
 | 
				
			||||||
 | 
					    background-color: rgb(0, 0, 0);
 | 
				
			||||||
 | 
					    background-color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					    padding-top: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal-content {
 | 
				
			||||||
 | 
					    background-color: #fefefe;
 | 
				
			||||||
 | 
					    margin: 5% auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    border: 1px solid #888;
 | 
				
			||||||
 | 
					    width: 80%;
 | 
				
			||||||
 | 
					    max-width: 400px;
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.close {
 | 
				
			||||||
 | 
					    color: #aaa;
 | 
				
			||||||
 | 
					    float: right;
 | 
				
			||||||
 | 
					    font-size: 28px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.close:hover,
 | 
				
			||||||
 | 
					.close:focus {
 | 
				
			||||||
 | 
					    color: black;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    margin-top: 40px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.search-bar {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.details {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown {
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    min-width: 200px;
 | 
				
			||||||
 | 
					    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    z-index: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a {
 | 
				
			||||||
 | 
					    color: black;
 | 
				
			||||||
 | 
					    padding: 12px 16px;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a:hover {
 | 
				
			||||||
 | 
					    background-color: #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropdown-content {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropbtn {
 | 
				
			||||||
 | 
					    background-color: #4a2e13;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										222
									
								
								MaquetteWEB/css/FINANCE/finance.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								MaquetteWEB/css/FINANCE/finance.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,222 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #20195e;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.section-header {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border-left: 5px solid #20195e;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 15px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.table-container {
 | 
				
			||||||
 | 
					    overflow-x: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th, table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th {
 | 
				
			||||||
 | 
					    background-color: #f2f2f2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #f44336;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #20195e;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn:hover {
 | 
				
			||||||
 | 
					    background-color: #130d47;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group {
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group label {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					    margin-bottom: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group input, .input-group select {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border: 1px solid #ccc;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styling for the modern schedule */
 | 
				
			||||||
 | 
					.schedule-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th,
 | 
				
			||||||
 | 
					.schedule-table td {
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th {
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.time-slot {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    width: 70px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class {
 | 
				
			||||||
 | 
					    background-color: #e3f2fd;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					    border-left: 5px solid #20195e;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    padding-left: 10px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class span {
 | 
				
			||||||
 | 
					    font-size: 0.9em;
 | 
				
			||||||
 | 
					    color: #555;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.no-class {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #5e3a19;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button:hover {
 | 
				
			||||||
 | 
					    background-color: #150f48;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    background-color: #20195e;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #20195e;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										194
									
								
								MaquetteWEB/css/FINANCE/style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								MaquetteWEB/css/FINANCE/style.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,194 @@
 | 
				
			|||||||
 | 
					    body {
 | 
				
			||||||
 | 
					        font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					        background-color: #f4f4f4;
 | 
				
			||||||
 | 
					        margin: 0;
 | 
				
			||||||
 | 
					        padding: 0;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .container {
 | 
				
			||||||
 | 
					        max-width: 1200px;
 | 
				
			||||||
 | 
					        margin: auto;
 | 
				
			||||||
 | 
					        padding: 20px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .header {
 | 
				
			||||||
 | 
					        background-color: #20195e;
 | 
				
			||||||
 | 
					        color: white;
 | 
				
			||||||
 | 
					        padding: 10px 0;
 | 
				
			||||||
 | 
					        display: flex;
 | 
				
			||||||
 | 
					        justify-content: space-between;
 | 
				
			||||||
 | 
					        align-items: center;
 | 
				
			||||||
 | 
					        position: relative;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .logo-container img {
 | 
				
			||||||
 | 
					        width: 200px;
 | 
				
			||||||
 | 
					        height: 50px;
 | 
				
			||||||
 | 
					        cursor: pointer;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .categories {
 | 
				
			||||||
 | 
					        display: flex;
 | 
				
			||||||
 | 
					        gap: 15px;
 | 
				
			||||||
 | 
					        margin-left: 50px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .categories a {
 | 
				
			||||||
 | 
					        color: white;
 | 
				
			||||||
 | 
					        text-decoration: none;
 | 
				
			||||||
 | 
					        font-weight: bold;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .categories a:hover {
 | 
				
			||||||
 | 
					        text-decoration: underline;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .user-section {
 | 
				
			||||||
 | 
					        display: flex;
 | 
				
			||||||
 | 
					        align-items: center;
 | 
				
			||||||
 | 
					        margin-right: 20px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .user-name {
 | 
				
			||||||
 | 
					        margin-right: 15px;
 | 
				
			||||||
 | 
					        font-size: 16px;
 | 
				
			||||||
 | 
					        font-weight: bold;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .logout-container {
 | 
				
			||||||
 | 
					        display: flex;
 | 
				
			||||||
 | 
					        align-items: center;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .logout-container img {
 | 
				
			||||||
 | 
					        width: 25px;
 | 
				
			||||||
 | 
					        height: 25px;
 | 
				
			||||||
 | 
					        margin-left: 10px;
 | 
				
			||||||
 | 
					        cursor: pointer;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .info-card {
 | 
				
			||||||
 | 
					        background-color: white;
 | 
				
			||||||
 | 
					        padding: 20px;
 | 
				
			||||||
 | 
					        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					        margin-bottom: 20px;
 | 
				
			||||||
 | 
					        border-radius: 8px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .info-card h2 {
 | 
				
			||||||
 | 
					        border-bottom: 2px solid #20195e;
 | 
				
			||||||
 | 
					        padding-bottom: 10px;
 | 
				
			||||||
 | 
					        margin-bottom: 20px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .info-table {
 | 
				
			||||||
 | 
					        width: 100%;
 | 
				
			||||||
 | 
					        border-collapse: collapse;
 | 
				
			||||||
 | 
					        margin-bottom: 20px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .info-table th,
 | 
				
			||||||
 | 
					    .info-table td {
 | 
				
			||||||
 | 
					        padding: 12px;
 | 
				
			||||||
 | 
					        text-align: left;
 | 
				
			||||||
 | 
					        border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .info-table th {
 | 
				
			||||||
 | 
					        background-color: #f8f8f8;
 | 
				
			||||||
 | 
					        color: #333;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .action-btn {
 | 
				
			||||||
 | 
					        display: inline-block;
 | 
				
			||||||
 | 
					        padding: 10px 20px;
 | 
				
			||||||
 | 
					        color: white;
 | 
				
			||||||
 | 
					        background-color: #20195e;
 | 
				
			||||||
 | 
					        text-decoration: none;
 | 
				
			||||||
 | 
					        border-radius: 5px;
 | 
				
			||||||
 | 
					        margin: 10px 0;
 | 
				
			||||||
 | 
					        cursor: pointer;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .action-btn:hover {
 | 
				
			||||||
 | 
					        background-color: #191351;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .modal {
 | 
				
			||||||
 | 
					        display: none;
 | 
				
			||||||
 | 
					        position: fixed;
 | 
				
			||||||
 | 
					        z-index: 1;
 | 
				
			||||||
 | 
					        left: 0;
 | 
				
			||||||
 | 
					        top: 0;
 | 
				
			||||||
 | 
					        width: 100%;
 | 
				
			||||||
 | 
					        height: 100%;
 | 
				
			||||||
 | 
					        overflow: auto;
 | 
				
			||||||
 | 
					        background-color: rgb(0, 0, 0);
 | 
				
			||||||
 | 
					        background-color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					        padding-top: 60px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .modal-content {
 | 
				
			||||||
 | 
					        background-color: #fefefe;
 | 
				
			||||||
 | 
					        margin: 5% auto;
 | 
				
			||||||
 | 
					        padding: 20px;
 | 
				
			||||||
 | 
					        border: 1px solid #888;
 | 
				
			||||||
 | 
					        width: 80%;
 | 
				
			||||||
 | 
					        max-width: 400px;
 | 
				
			||||||
 | 
					        border-radius: 8px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .footer {
 | 
				
			||||||
 | 
					        text-align: center;
 | 
				
			||||||
 | 
					        padding: 10px 0;
 | 
				
			||||||
 | 
					        background-color: #20195e;
 | 
				
			||||||
 | 
					        color: white;
 | 
				
			||||||
 | 
					        margin-top: 40px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .search-bar {
 | 
				
			||||||
 | 
					        width: 100%;
 | 
				
			||||||
 | 
					        padding: 10px;
 | 
				
			||||||
 | 
					        margin-bottom: 20px;
 | 
				
			||||||
 | 
					        border-radius: 5px;
 | 
				
			||||||
 | 
					        border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .details {
 | 
				
			||||||
 | 
					        display: none;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Dropdown menu */
 | 
				
			||||||
 | 
					    .dropdown {
 | 
				
			||||||
 | 
					        position: relative;
 | 
				
			||||||
 | 
					        display: inline-block;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    min-width: 200px;
 | 
				
			||||||
 | 
					    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    z-index: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a {
 | 
				
			||||||
 | 
					    color: black;
 | 
				
			||||||
 | 
					    padding: 12px 16px;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a:hover {
 | 
				
			||||||
 | 
					    background-color: #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropdown-content {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropbtn {
 | 
				
			||||||
 | 
					    background-color: #20195e;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										221
									
								
								MaquetteWEB/css/PROF/enseignant_permanent.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										221
									
								
								MaquetteWEB/css/PROF/enseignant_permanent.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,221 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.section-header {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border-left: 5px solid #a17b12;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 15px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.table-container {
 | 
				
			||||||
 | 
					    overflow-x: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th, table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th {
 | 
				
			||||||
 | 
					    background-color: #f2f2f2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #f44336;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn:hover {
 | 
				
			||||||
 | 
					    background-color: #644c08;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group {
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group label {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					    margin-bottom: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group input, .input-group select {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border: 1px solid #ccc;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styling for the modern schedule */
 | 
				
			||||||
 | 
					.schedule-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th,
 | 
				
			||||||
 | 
					.schedule-table td {
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th {
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.time-slot {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    width: 70px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class {
 | 
				
			||||||
 | 
					    background-color: #e3f2fd;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					    border-left: 5px solid #2141f3;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    padding-left: 10px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class span {
 | 
				
			||||||
 | 
					    font-size: 0.9em;
 | 
				
			||||||
 | 
					    color: #555;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.no-class {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button:hover {
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										299
									
								
								MaquetteWEB/css/PROF/mes-heures.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										299
									
								
								MaquetteWEB/css/PROF/mes-heures.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,299 @@
 | 
				
			|||||||
 | 
					        body {
 | 
				
			||||||
 | 
					            font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					            background-color: #f4f4f4;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .dashboard-container {
 | 
				
			||||||
 | 
					            max-width: 1500px;
 | 
				
			||||||
 | 
					            margin: auto;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .header {
 | 
				
			||||||
 | 
					            background-color: #a17b12;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            padding: 10px 0;
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            justify-content: space-between;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					            position: relative;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .logo-container img {
 | 
				
			||||||
 | 
					            width: 200px;
 | 
				
			||||||
 | 
					            height: 50px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .categories {
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            gap: 20px;
 | 
				
			||||||
 | 
					            margin-left: 50px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .categories a {
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            text-decoration: none;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .categories a:hover {
 | 
				
			||||||
 | 
					            text-decoration: underline;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .user-section {
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					            margin-right: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .user-name {
 | 
				
			||||||
 | 
					            margin-right: 15px;
 | 
				
			||||||
 | 
					            font-size: 16px;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .logout-container img {
 | 
				
			||||||
 | 
					            width: 25px;
 | 
				
			||||||
 | 
					            height: 25px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .section-header {
 | 
				
			||||||
 | 
					            background-color: #f8f8f8;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            border-left: 5px solid #a17b12;
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .card {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 15px;
 | 
				
			||||||
 | 
					            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .table-container {
 | 
				
			||||||
 | 
					            overflow-x: auto;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            border-collapse: collapse;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table th, table td {
 | 
				
			||||||
 | 
					            padding: 12px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					            border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-valide {
 | 
				
			||||||
 | 
					            color: green;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-attente {
 | 
				
			||||||
 | 
					            color: red;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour les graphiques */
 | 
				
			||||||
 | 
					        .chart-container {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            margin: 20px 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour le formulaire */
 | 
				
			||||||
 | 
					        .contact-form {
 | 
				
			||||||
 | 
					            margin-top: 30px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            background-color: #fff;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form h3 {
 | 
				
			||||||
 | 
					            margin-bottom: 15px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form select, .contact-form input {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            margin: 10px 0;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form button {
 | 
				
			||||||
 | 
					            background-color: #a17b12;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px 20px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form button:hover {
 | 
				
			||||||
 | 
					            background-color: #5f490b;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .footer {
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            padding: 10px 0;
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            background-color: #a17b12;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour le popup */
 | 
				
			||||||
 | 
					        .popup {
 | 
				
			||||||
 | 
					            display: none;
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            top: 50%;
 | 
				
			||||||
 | 
					            left: 50%;
 | 
				
			||||||
 | 
					            transform: translate(-50%, -50%);
 | 
				
			||||||
 | 
					            background-color: #fff; /* Blanc */
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 2px solid #a17b12; /* Bordure couleur thème */
 | 
				
			||||||
 | 
					            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					            z-index: 1000;
 | 
				
			||||||
 | 
					            border-radius: 10px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            width: 300px; /* Largeur fixe */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup h4 {
 | 
				
			||||||
 | 
					            margin: 0 0 15px 0;
 | 
				
			||||||
 | 
					            font-size: 1.5em;
 | 
				
			||||||
 | 
					            color: #a17b12; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup p {
 | 
				
			||||||
 | 
					            font-size: 1.2em;
 | 
				
			||||||
 | 
					            margin: 5px 0; /* Espacement entre les lignes */
 | 
				
			||||||
 | 
					            color: #333; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button {
 | 
				
			||||||
 | 
					            background-color: #a17b12;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            border-radius: 5px; /* Arrondir les coins */
 | 
				
			||||||
 | 
					            margin-top: 15px; /* Espacement au-dessus du bouton */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button:hover {
 | 
				
			||||||
 | 
					            background-color: #5f490b;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Style pour le détail du cours */
 | 
				
			||||||
 | 
					        .details-button {
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            color: #a17b12;
 | 
				
			||||||
 | 
					            text-decoration: underline;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .proposition-container {
 | 
				
			||||||
 | 
					            margin-top: 30px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            background-color: #fff;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .proposition-table th, .proposition-table td {
 | 
				
			||||||
 | 
					            padding: 12px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					            border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .proposition-table th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .refuse-button{
 | 
				
			||||||
 | 
					            background-color: #a61414;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .refuse-button:hover{
 | 
				
			||||||
 | 
					            background-color: #590505;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .accept-button {
 | 
				
			||||||
 | 
					            background-color: #077712;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .accept-button:hover {
 | 
				
			||||||
 | 
					            background-color: #0d5905;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour le formulaire de pièces justificatives */
 | 
				
			||||||
 | 
					        .justificatif-form {
 | 
				
			||||||
 | 
					            display: none; /* Cacher par défaut */
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            background-color: #f8f8f8;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Styles pour la popup de confirmation */
 | 
				
			||||||
 | 
					        .confirmation-popup {
 | 
				
			||||||
 | 
					            display: none; /* Cacher par défaut */
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            left: 0;
 | 
				
			||||||
 | 
					            top: 0;
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					            background-color: rgba(0, 0, 0, 0.5);
 | 
				
			||||||
 | 
					            justify-content: center;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .confirmation-content {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .validated-hours {
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            border-top: 1px solid #ccc;
 | 
				
			||||||
 | 
					            padding-top: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .validated-hours h3 {
 | 
				
			||||||
 | 
					            margin: 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .status-valide {
 | 
				
			||||||
 | 
					            color: green; /* Pour le statut validé */
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        .status-attente {
 | 
				
			||||||
 | 
					            color: rgb(255, 136, 0); /* Pour le statut en attente */
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Style général pour le conteneur de pagination */
 | 
				
			||||||
 | 
					#pagination {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin: 20px 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Style pour les boutons Précédent et Suivant */
 | 
				
			||||||
 | 
					#pagination button {
 | 
				
			||||||
 | 
					    background-color: #a17b12; /* Couleur de fond verte */
 | 
				
			||||||
 | 
					    color: white;              /* Couleur du texte */
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    margin: 0 5px;             /* Espacement entre les boutons */
 | 
				
			||||||
 | 
					    border-radius: 5px;        /* Coins arrondis */
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    transition: background-color 0.3s ease;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Hover effect pour les boutons */
 | 
				
			||||||
 | 
					#pagination button:hover {
 | 
				
			||||||
 | 
					    background-color: #5f490b; /* Couleur plus foncée au survol */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Style du texte de la page actuelle */
 | 
				
			||||||
 | 
					#pagination span {
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					    margin: 0 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Désactivation des boutons si nécessaire */
 | 
				
			||||||
 | 
					#pagination button:disabled {
 | 
				
			||||||
 | 
					    background-color: #cccccc; /* Couleur gris clair si désactivé */
 | 
				
			||||||
 | 
					    cursor: not-allowed;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										205
									
								
								MaquetteWEB/css/PROF/paiements.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								MaquetteWEB/css/PROF/paiements.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,205 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1500px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.section-header {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border-left: 5px solid #a17b12;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 15px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.table-container {
 | 
				
			||||||
 | 
					    overflow-x: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th, table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th {
 | 
				
			||||||
 | 
					    background-color: #f2f2f2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.status-valide {
 | 
				
			||||||
 | 
					    color: green;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.status-attente {
 | 
				
			||||||
 | 
					    color: red;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styles pour les graphiques */
 | 
				
			||||||
 | 
					.chart-container {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    margin: 20px 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styles pour le formulaire */
 | 
				
			||||||
 | 
					.contact-form {
 | 
				
			||||||
 | 
					    margin-top: 30px;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    background-color: #fff;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form h3 {
 | 
				
			||||||
 | 
					    margin-bottom: 15px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form select, .contact-form input, .contact-form textarea {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin: 10px 0;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form button {
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form button:hover {
 | 
				
			||||||
 | 
					    background-color: #5f490b;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styles pour le popup */
 | 
				
			||||||
 | 
					        /* Styles pour le popup */
 | 
				
			||||||
 | 
					        .popup {
 | 
				
			||||||
 | 
					            display: none;
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            top: 50%;
 | 
				
			||||||
 | 
					            left: 50%;
 | 
				
			||||||
 | 
					            transform: translate(-50%, -50%);
 | 
				
			||||||
 | 
					            background-color: #fff; /* Blanc */
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 2px solid #a17b12; /* Bordure couleur thème */
 | 
				
			||||||
 | 
					            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					            z-index: 1000;
 | 
				
			||||||
 | 
					            border-radius: 10px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            width: 300px; /* Largeur fixe */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup h4 {
 | 
				
			||||||
 | 
					            margin: 0 0 15px 0;
 | 
				
			||||||
 | 
					            font-size: 1.5em;
 | 
				
			||||||
 | 
					            color: #a17b12; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup p {
 | 
				
			||||||
 | 
					            font-size: 1.2em;
 | 
				
			||||||
 | 
					            margin: 5px 0; /* Espacement entre les lignes */
 | 
				
			||||||
 | 
					            color: #333; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button {
 | 
				
			||||||
 | 
					            background-color: #a17b12;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            border-radius: 5px; /* Arrondir les coins */
 | 
				
			||||||
 | 
					            margin-top: 15px; /* Espacement au-dessus du bouton */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button:hover {
 | 
				
			||||||
 | 
					            background-color: #5f490b;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #a17b12;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					th[data-sort] {
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					    padding-right: 20px; /* Espace pour l'icône */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Icône par défaut (tri croissant) */
 | 
				
			||||||
 | 
					th::after {
 | 
				
			||||||
 | 
					    content: "▲";
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    font-size: 12px;
 | 
				
			||||||
 | 
					    color: gray;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Classe pour tri croissant */
 | 
				
			||||||
 | 
					th.ascending::after {
 | 
				
			||||||
 | 
					    content: "▲"; /* Tri croissant */
 | 
				
			||||||
 | 
					    color: black; /* Icône active */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Classe pour tri décroissant */
 | 
				
			||||||
 | 
					th.descending::after {
 | 
				
			||||||
 | 
					    content: "▼"; /* Tri décroissant */
 | 
				
			||||||
 | 
					    color: black; /* Icône active */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										136
									
								
								MaquetteWEB/css/RH/rh.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								MaquetteWEB/css/RH/rh.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: 'Arial', sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    height: 50px; /* Ajuster la taille du logo */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    transition: background-color 0.3s;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    background-color: rgba(255, 255, 255, 0.2); /* Effet au survol */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Section principale */
 | 
				
			||||||
 | 
					main {
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h2 {
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    color: #0f431f; /* Couleur bleu */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Table */
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background: white; /* Fond de la table */
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					th, td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #dddddd; /* Bordure des cellules */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					th {
 | 
				
			||||||
 | 
					    background-color: #0f431f; /* Couleur des en-têtes */
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tr:hover {
 | 
				
			||||||
 | 
					    background-color: #f1f1f1; /* Effet au survol des lignes */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Boutons */
 | 
				
			||||||
 | 
					button {
 | 
				
			||||||
 | 
					    background-color: #0f431f;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    transition: background-color 0.3s;
 | 
				
			||||||
 | 
					    margin-right: 5px; /* Espacement entre les boutons */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button:hover {
 | 
				
			||||||
 | 
					    background-color: #082d13; /* Couleur au survol */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Styles pour le pop-up */
 | 
				
			||||||
 | 
					.modal {
 | 
				
			||||||
 | 
					    display: none; 
 | 
				
			||||||
 | 
					    position: fixed; 
 | 
				
			||||||
 | 
					    z-index: 1; 
 | 
				
			||||||
 | 
					    left: 0;
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    width: 100%; 
 | 
				
			||||||
 | 
					    height: 100%; 
 | 
				
			||||||
 | 
					    overflow: auto; 
 | 
				
			||||||
 | 
					    background-color: rgba(0,0,0,0.4); 
 | 
				
			||||||
 | 
					    padding-top: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal-content {
 | 
				
			||||||
 | 
					    background-color: #fff;
 | 
				
			||||||
 | 
					    margin: 5% auto; 
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    border: 1px solid #888;
 | 
				
			||||||
 | 
					    width: 70%; 
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.close {
 | 
				
			||||||
 | 
					    color: #aaa;
 | 
				
			||||||
 | 
					    float: right;
 | 
				
			||||||
 | 
					    font-size: 28px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.close:hover,
 | 
				
			||||||
 | 
					.close:focus {
 | 
				
			||||||
 | 
					    color: black;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Formulaire */
 | 
				
			||||||
 | 
					form {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					label {
 | 
				
			||||||
 | 
					    margin: 10px 0 5px; /* Espacement autour des labels */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input[type="text"],
 | 
				
			||||||
 | 
					input[type="date"] {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border: 1px solid #ccc;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    margin-bottom: 15px; /* Espacement entre les champs */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input[type="text"]:focus,
 | 
				
			||||||
 | 
					input[type="date"]:focus {
 | 
				
			||||||
 | 
					    border-color: #0f431f; /* Couleur de bordure au focus */
 | 
				
			||||||
 | 
					    outline: none; /* Enlève le contour par défaut */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										194
									
								
								MaquetteWEB/css/RH/style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								MaquetteWEB/css/RH/style.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,194 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #0f431f;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-card h2 {
 | 
				
			||||||
 | 
					    border-bottom: 2px solid #0f431f;
 | 
				
			||||||
 | 
					    padding-bottom: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table th,
 | 
				
			||||||
 | 
					.info-table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.info-table th {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.action-btn {
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    background-color: #0f431f;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    margin: 10px 0;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.action-btn:hover {
 | 
				
			||||||
 | 
					    background-color: #092d14;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    z-index: 1;
 | 
				
			||||||
 | 
					    left: 0;
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    height: 100%;
 | 
				
			||||||
 | 
					    overflow: auto;
 | 
				
			||||||
 | 
					    background-color: rgb(0, 0, 0);
 | 
				
			||||||
 | 
					    background-color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					    padding-top: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.modal-content {
 | 
				
			||||||
 | 
					    background-color: #fefefe;
 | 
				
			||||||
 | 
					    margin: 5% auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    border: 1px solid #888;
 | 
				
			||||||
 | 
					    width: 80%;
 | 
				
			||||||
 | 
					    max-width: 400px;
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    background-color: #0f431f;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    margin-top: 40px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.search-bar {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.details {
 | 
				
			||||||
 | 
					    display: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Dropdown menu */
 | 
				
			||||||
 | 
					.dropdown {
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content {
 | 
				
			||||||
 | 
					display: none;
 | 
				
			||||||
 | 
					position: absolute;
 | 
				
			||||||
 | 
					background-color: white;
 | 
				
			||||||
 | 
					min-width: 200px;
 | 
				
			||||||
 | 
					box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					z-index: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a {
 | 
				
			||||||
 | 
					color: black;
 | 
				
			||||||
 | 
					padding: 12px 16px;
 | 
				
			||||||
 | 
					text-decoration: none;
 | 
				
			||||||
 | 
					display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown-content a:hover {
 | 
				
			||||||
 | 
					background-color: #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropdown-content {
 | 
				
			||||||
 | 
					display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dropdown:hover .dropbtn {
 | 
				
			||||||
 | 
					background-color: #0f431f;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										300
									
								
								MaquetteWEB/css/VACATAIRE/mes-heures.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										300
									
								
								MaquetteWEB/css/VACATAIRE/mes-heures.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,300 @@
 | 
				
			|||||||
 | 
					        body {
 | 
				
			||||||
 | 
					            font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					            background-color: #f4f4f4;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .dashboard-container {
 | 
				
			||||||
 | 
					            max-width: 1500px;
 | 
				
			||||||
 | 
					            margin: auto;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .header {
 | 
				
			||||||
 | 
					            background-color: #370559;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            padding: 10px 0;
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            justify-content: space-between;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					            position: relative;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .logo-container img {
 | 
				
			||||||
 | 
					            width: 200px;
 | 
				
			||||||
 | 
					            height: 50px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .categories {
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            gap: 20px;
 | 
				
			||||||
 | 
					            margin-left: 50px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .categories a {
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            text-decoration: none;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .categories a:hover {
 | 
				
			||||||
 | 
					            text-decoration: underline;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .user-section {
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					            margin-right: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .user-name {
 | 
				
			||||||
 | 
					            margin-right: 15px;
 | 
				
			||||||
 | 
					            font-size: 16px;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .logout-container img {
 | 
				
			||||||
 | 
					            width: 25px;
 | 
				
			||||||
 | 
					            height: 25px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .section-header {
 | 
				
			||||||
 | 
					            background-color: #f8f8f8;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            border-left: 5px solid #4a0777;
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .card {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 15px;
 | 
				
			||||||
 | 
					            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .table-container {
 | 
				
			||||||
 | 
					            overflow-x: auto;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            border-collapse: collapse;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table th, table td {
 | 
				
			||||||
 | 
					            padding: 12px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					            border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-valide {
 | 
				
			||||||
 | 
					            color: green;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-attente {
 | 
				
			||||||
 | 
					            color: red;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour les graphiques */
 | 
				
			||||||
 | 
					        .chart-container {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            margin: 20px 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour le formulaire */
 | 
				
			||||||
 | 
					        .contact-form {
 | 
				
			||||||
 | 
					            margin-top: 30px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            background-color: #fff;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form h3 {
 | 
				
			||||||
 | 
					            margin-bottom: 15px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form select, .contact-form input {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            margin: 10px 0;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form button {
 | 
				
			||||||
 | 
					            background-color: #4a0777;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px 20px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .contact-form button:hover {
 | 
				
			||||||
 | 
					            background-color: #370559;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .footer {
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            padding: 10px 0;
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            background-color: #4a0777;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour le popup */
 | 
				
			||||||
 | 
					        .popup {
 | 
				
			||||||
 | 
					            display: none;
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            top: 50%;
 | 
				
			||||||
 | 
					            left: 50%;
 | 
				
			||||||
 | 
					            transform: translate(-50%, -50%);
 | 
				
			||||||
 | 
					            background-color: #fff; /* Blanc */
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 2px solid #4a0777; /* Bordure couleur thème */
 | 
				
			||||||
 | 
					            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					            z-index: 1000;
 | 
				
			||||||
 | 
					            border-radius: 10px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            width: 300px; /* Largeur fixe */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup h4 {
 | 
				
			||||||
 | 
					            margin: 0 0 15px 0;
 | 
				
			||||||
 | 
					            font-size: 1.5em;
 | 
				
			||||||
 | 
					            color: #4a0777; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup p {
 | 
				
			||||||
 | 
					            font-size: 1.2em;
 | 
				
			||||||
 | 
					            margin: 5px 0; /* Espacement entre les lignes */
 | 
				
			||||||
 | 
					            color: #333; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button {
 | 
				
			||||||
 | 
					            background-color: #4a0777;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            border-radius: 5px; /* Arrondir les coins */
 | 
				
			||||||
 | 
					            margin-top: 15px; /* Espacement au-dessus du bouton */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button:hover {
 | 
				
			||||||
 | 
					            background-color: #370559;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Style pour le détail du cours */
 | 
				
			||||||
 | 
					        .details-button {
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            color: #4a0777;
 | 
				
			||||||
 | 
					            text-decoration: underline;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .proposition-container {
 | 
				
			||||||
 | 
					            margin-top: 30px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            background-color: #fff;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .proposition-table th, .proposition-table td {
 | 
				
			||||||
 | 
					            padding: 12px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					            border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .proposition-table th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .refuse-button{
 | 
				
			||||||
 | 
					            background-color: #a61414;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .refuse-button:hover{
 | 
				
			||||||
 | 
					            background-color: #590505;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .accept-button {
 | 
				
			||||||
 | 
					            background-color: #077712;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .accept-button:hover {
 | 
				
			||||||
 | 
					            background-color: #0d5905;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Styles pour le formulaire de pièces justificatives */
 | 
				
			||||||
 | 
					        .justificatif-form {
 | 
				
			||||||
 | 
					            display: none; /* Cacher par défaut */
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            background-color: #f8f8f8;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Styles pour la popup de confirmation */
 | 
				
			||||||
 | 
					        .confirmation-popup {
 | 
				
			||||||
 | 
					            display: none; /* Cacher par défaut */
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            left: 0;
 | 
				
			||||||
 | 
					            top: 0;
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					            background-color: rgba(0, 0, 0, 0.5);
 | 
				
			||||||
 | 
					            justify-content: center;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .confirmation-content {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .validated-hours {
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            border-top: 1px solid #ccc;
 | 
				
			||||||
 | 
					            padding-top: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .validated-hours h3 {
 | 
				
			||||||
 | 
					            margin: 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .status-valide {
 | 
				
			||||||
 | 
					            color: green; /* Pour le statut validé */
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        .status-attente {
 | 
				
			||||||
 | 
					            color: rgb(255, 136, 0); /* Pour le statut en attente */
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Style général pour le conteneur de pagination */
 | 
				
			||||||
 | 
					#pagination {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin: 20px 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Style pour les boutons Précédent et Suivant */
 | 
				
			||||||
 | 
					#pagination button {
 | 
				
			||||||
 | 
					    background-color: #4a0777; /* Couleur de fond verte */
 | 
				
			||||||
 | 
					    color: white;              /* Couleur du texte */
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    margin: 0 5px;             /* Espacement entre les boutons */
 | 
				
			||||||
 | 
					    border-radius: 5px;        /* Coins arrondis */
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    transition: background-color 0.3s ease;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Hover effect pour les boutons */
 | 
				
			||||||
 | 
					#pagination button:hover {
 | 
				
			||||||
 | 
					    background-color: #3b085e; /* Couleur plus foncée au survol */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Style du texte de la page actuelle */
 | 
				
			||||||
 | 
					#pagination span {
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					    margin: 0 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Désactivation des boutons si nécessaire */
 | 
				
			||||||
 | 
					#pagination button:disabled {
 | 
				
			||||||
 | 
					    background-color: #cccccc; /* Couleur gris clair si désactivé */
 | 
				
			||||||
 | 
					    cursor: not-allowed;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										205
									
								
								MaquetteWEB/css/VACATAIRE/paiements.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								MaquetteWEB/css/VACATAIRE/paiements.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,205 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1500px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #4a0777;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.section-header {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border-left: 5px solid #4a0777;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 15px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.table-container {
 | 
				
			||||||
 | 
					    overflow-x: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th, table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th {
 | 
				
			||||||
 | 
					    background-color: #f2f2f2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.status-valide {
 | 
				
			||||||
 | 
					    color: green;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.status-attente {
 | 
				
			||||||
 | 
					    color: red;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styles pour les graphiques */
 | 
				
			||||||
 | 
					.chart-container {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    margin: 20px 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styles pour le formulaire */
 | 
				
			||||||
 | 
					.contact-form {
 | 
				
			||||||
 | 
					    margin-top: 30px;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    background-color: #fff;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form h3 {
 | 
				
			||||||
 | 
					    margin-bottom: 15px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form select, .contact-form input, .contact-form textarea {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin: 10px 0;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form button {
 | 
				
			||||||
 | 
					    background-color: #4a0777;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    padding: 10px 20px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.contact-form button:hover {
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    background-color: #4a0777;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styles pour le popup */
 | 
				
			||||||
 | 
					        /* Styles pour le popup */
 | 
				
			||||||
 | 
					        .popup {
 | 
				
			||||||
 | 
					            display: none;
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            top: 50%;
 | 
				
			||||||
 | 
					            left: 50%;
 | 
				
			||||||
 | 
					            transform: translate(-50%, -50%);
 | 
				
			||||||
 | 
					            background-color: #fff; /* Blanc */
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 2px solid #4a0777; /* Bordure couleur thème */
 | 
				
			||||||
 | 
					            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					            z-index: 1000;
 | 
				
			||||||
 | 
					            border-radius: 10px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            width: 300px; /* Largeur fixe */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup h4 {
 | 
				
			||||||
 | 
					            margin: 0 0 15px 0;
 | 
				
			||||||
 | 
					            font-size: 1.5em;
 | 
				
			||||||
 | 
					            color: #4a0777; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup p {
 | 
				
			||||||
 | 
					            font-size: 1.2em;
 | 
				
			||||||
 | 
					            margin: 5px 0; /* Espacement entre les lignes */
 | 
				
			||||||
 | 
					            color: #333; /* Couleur de texte */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button {
 | 
				
			||||||
 | 
					            background-color: #4a0777;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            border-radius: 5px; /* Arrondir les coins */
 | 
				
			||||||
 | 
					            margin-top: 15px; /* Espacement au-dessus du bouton */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup button:hover {
 | 
				
			||||||
 | 
					            background-color: #370559;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					th[data-sort] {
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					    padding-right: 20px; /* Espace pour l'icône */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Icône par défaut (tri croissant) */
 | 
				
			||||||
 | 
					th::after {
 | 
				
			||||||
 | 
					    content: "▲";
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    font-size: 12px;
 | 
				
			||||||
 | 
					    color: gray;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Classe pour tri croissant */
 | 
				
			||||||
 | 
					th.ascending::after {
 | 
				
			||||||
 | 
					    content: "▲"; /* Tri croissant */
 | 
				
			||||||
 | 
					    color: black; /* Icône active */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Classe pour tri décroissant */
 | 
				
			||||||
 | 
					th.descending::after {
 | 
				
			||||||
 | 
					    content: "▼"; /* Tri décroissant */
 | 
				
			||||||
 | 
					    color: black; /* Icône active */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										221
									
								
								MaquetteWEB/css/VACATAIRE/vacataire.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										221
									
								
								MaquetteWEB/css/VACATAIRE/vacataire.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,221 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: Arial, sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f4f4f4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.section-header {
 | 
				
			||||||
 | 
					    background-color: #f8f8f8;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border-left: 5px solid #370559;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.card {
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					    padding: 15px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.table-container {
 | 
				
			||||||
 | 
					    overflow-x: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th, table td {
 | 
				
			||||||
 | 
					    padding: 12px;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					table th {
 | 
				
			||||||
 | 
					    background-color: #f2f2f2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #f44336;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.alert .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success {
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.success .close {
 | 
				
			||||||
 | 
					    position: absolute;
 | 
				
			||||||
 | 
					    right: 10px;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.btn:hover {
 | 
				
			||||||
 | 
					    background-color: #5a0bda;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group {
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group label {
 | 
				
			||||||
 | 
					    display: block;
 | 
				
			||||||
 | 
					    margin-bottom: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.input-group input, .input-group select {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    border: 1px solid #ccc;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/* Styling for the modern schedule */
 | 
				
			||||||
 | 
					.schedule-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    border-collapse: collapse;
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    background-color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th,
 | 
				
			||||||
 | 
					.schedule-table td {
 | 
				
			||||||
 | 
					    border: 1px solid #ddd;
 | 
				
			||||||
 | 
					    padding: 10px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.schedule-table th {
 | 
				
			||||||
 | 
					    background-color: #4CAF50;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.time-slot {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    width: 70px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class {
 | 
				
			||||||
 | 
					    background-color: #e3f2fd;
 | 
				
			||||||
 | 
					    color: #333;
 | 
				
			||||||
 | 
					    border-left: 5px solid #2141f3;
 | 
				
			||||||
 | 
					    text-align: left;
 | 
				
			||||||
 | 
					    padding-left: 10px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.class span {
 | 
				
			||||||
 | 
					    font-size: 0.9em;
 | 
				
			||||||
 | 
					    color: #555;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.no-class {
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button {
 | 
				
			||||||
 | 
					    padding: 10px 15px;
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    border-radius: 5px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.week-navigation button:hover {
 | 
				
			||||||
 | 
					    background-color: #2e0449;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.dashboard-container {
 | 
				
			||||||
 | 
					    max-width: 1200px;
 | 
				
			||||||
 | 
					    margin: auto;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.header {
 | 
				
			||||||
 | 
					    background-color: #370559;
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    padding: 10px 0;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.logo-container img {
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    gap: 15px;
 | 
				
			||||||
 | 
					    margin-left: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a {
 | 
				
			||||||
 | 
					    color: white;
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.categories a:hover {
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-section {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    margin-right: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.user-name {
 | 
				
			||||||
 | 
					    margin-right: 15px;
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.logout-container img {
 | 
				
			||||||
 | 
					    width: 25px;
 | 
				
			||||||
 | 
					    height: 25px;
 | 
				
			||||||
 | 
					    margin-left: 10px;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										118
									
								
								MaquetteWEB/css/index.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								MaquetteWEB/css/index.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,118 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: 'Roboto', sans-serif; 
 | 
				
			||||||
 | 
					    background-color: #bbd6fb; /* Fond bleu clair */
 | 
				
			||||||
 | 
					    color: #333; /* Couleur du texte */
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.w3-container {
 | 
				
			||||||
 | 
					    margin-top: 50px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h1 {
 | 
				
			||||||
 | 
					    font-size: 36px; 
 | 
				
			||||||
 | 
					    color: #0f126b; /* Titre en bleu foncé */
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    margin-bottom: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					p.intro-text {
 | 
				
			||||||
 | 
					    font-size: 20px;
 | 
				
			||||||
 | 
					    color: #555; /* Texte d'intro en gris foncé */
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    margin-bottom: 40px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.profile-container {
 | 
				
			||||||
 | 
					    display: grid;
 | 
				
			||||||
 | 
					    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 | 
				
			||||||
 | 
					    gap: 20px;
 | 
				
			||||||
 | 
					    justify-items: center;
 | 
				
			||||||
 | 
					    margin-top: 20px;
 | 
				
			||||||
 | 
					    padding: 0 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.profile-card {
 | 
				
			||||||
 | 
					    background-color: #ffffff; /* Fond blanc pour les cartes */
 | 
				
			||||||
 | 
					    border: 1px solid #ddd; /* Bordure grise légère */
 | 
				
			||||||
 | 
					    border-radius: 8px;
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    max-width: 300px;
 | 
				
			||||||
 | 
					    padding: 25px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    transition: box-shadow 0.3s;
 | 
				
			||||||
 | 
					    cursor: pointer;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Ombre pour les cartes */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.profile-card:hover {
 | 
				
			||||||
 | 
					    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* Ombre plus marquée au survol */
 | 
				
			||||||
 | 
					    opacity: 0.95; /* Légère transparence au survol */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.profile-card img {
 | 
				
			||||||
 | 
					    width: 125px;
 | 
				
			||||||
 | 
					    height: 125px;
 | 
				
			||||||
 | 
					    border-radius: 50%;
 | 
				
			||||||
 | 
					    margin-bottom: 15px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.profile-card h3 {
 | 
				
			||||||
 | 
					    font-size: 22px; 
 | 
				
			||||||
 | 
					    color: #0f126b; /* Couleur du texte des cartes en bleu foncé */
 | 
				
			||||||
 | 
					    margin: 10px 0;
 | 
				
			||||||
 | 
					    text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.profile-card p {
 | 
				
			||||||
 | 
					    font-size: 17px; 
 | 
				
			||||||
 | 
					    color: #666; /* Couleur du texte en gris foncé */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					footer {
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    margin-top: 40px;
 | 
				
			||||||
 | 
					    color: #888; /* Couleur du texte en gris clair */
 | 
				
			||||||
 | 
					    font-size: 14px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a {
 | 
				
			||||||
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					    color: #0f126b; /* Couleur des liens en bleu foncé */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Mode sombre */
 | 
				
			||||||
 | 
					body.dark-mode {
 | 
				
			||||||
 | 
					    background-color: #0d1b2a; /* Fond bleu très foncé */
 | 
				
			||||||
 | 
					    color: #ffffff; /* Couleur du texte en blanc */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode h1 {
 | 
				
			||||||
 | 
					    color: #ffffff; /* Titre en blanc */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode p.intro-text {
 | 
				
			||||||
 | 
					    color: #e0e0e0; /* Texte d'introduction en gris clair */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode .profile-card {
 | 
				
			||||||
 | 
					    background-color: #1c2b4b; /* Cartes en bleu foncé */
 | 
				
			||||||
 | 
					    border: 1px solid #2a4a69; /* Bordure plus sombre en bleu */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode .profile-card h3 {
 | 
				
			||||||
 | 
					    color: #ffffff; /* Couleur des titres des cartes en blanc */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode .profile-card p {
 | 
				
			||||||
 | 
					    color: #d1d1d1; /* Couleur du texte en gris clair */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode footer {
 | 
				
			||||||
 | 
					    color: #cccccc; /* Texte du footer en gris clair */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body.dark-mode a {
 | 
				
			||||||
 | 
					    color: #ffffff; /* Lien en blanc */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								MaquetteWEB/css/mentions_legales.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								MaquetteWEB/css/mentions_legales.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					body {
 | 
				
			||||||
 | 
					    font-family: 'Roboto', sans-serif;
 | 
				
			||||||
 | 
					    background-color: #f9f9f9;
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h1, h2, h3 {
 | 
				
			||||||
 | 
					    color: #0f1878; /* Bleu */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					p {
 | 
				
			||||||
 | 
					    line-height: 1.6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.email {
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					    color: #1631c8;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										768
									
								
								MaquetteWEB/html/CHEF/chef_departement.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										768
									
								
								MaquetteWEB/html/CHEF/chef_departement.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										842
									
								
								MaquetteWEB/html/CHEF/gestion-edt.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										842
									
								
								MaquetteWEB/html/CHEF/gestion-edt.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										373
									
								
								MaquetteWEB/html/CHEF/gestion-heures-formation.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										373
									
								
								MaquetteWEB/html/CHEF/gestion-heures-formation.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,373 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Pilotage Budgétaire</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/CHEF/gestion-heures-formation.css">
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        /* Styles pour le modal */
 | 
				
			||||||
 | 
					        .modal {
 | 
				
			||||||
 | 
					            display: none; /* Hidden by default */
 | 
				
			||||||
 | 
					            position: fixed; /* Stay in place */
 | 
				
			||||||
 | 
					            z-index: 1; /* Sit on top */
 | 
				
			||||||
 | 
					            left: 0;
 | 
				
			||||||
 | 
					            top: 0;
 | 
				
			||||||
 | 
					            width: 100%; /* Full width */
 | 
				
			||||||
 | 
					            height: 100%; /* Full height */
 | 
				
			||||||
 | 
					            overflow: auto; /* Enable scroll if needed */
 | 
				
			||||||
 | 
					            background-color: rgb(0, 0, 0); /* Fallback color */
 | 
				
			||||||
 | 
					            background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
 | 
				
			||||||
 | 
					            padding-top: 60px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .modal-content {
 | 
				
			||||||
 | 
					            background-color: #fefefe;
 | 
				
			||||||
 | 
					            margin: 5% auto; /* 15% from the top and centered */
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 1px solid #888;
 | 
				
			||||||
 | 
					            width: 80%; /* Could be more or less, depending on screen size */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .close {
 | 
				
			||||||
 | 
					            color: #aaa;
 | 
				
			||||||
 | 
					            float: right;
 | 
				
			||||||
 | 
					            font-size: 28px;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .close:hover,
 | 
				
			||||||
 | 
					        .close:focus {
 | 
				
			||||||
 | 
					            color: black;
 | 
				
			||||||
 | 
					            text-decoration: none;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .action-btn {
 | 
				
			||||||
 | 
					            margin: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .chart-container {
 | 
				
			||||||
 | 
					            position: relative;
 | 
				
			||||||
 | 
					            margin: 20px 0;
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            max-width: 1200px; /* Largeur max du graphique */
 | 
				
			||||||
 | 
					            height: 400px; /* Hauteur du graphique */
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./chef_departement.html">Accueil</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div class="dropdown">
 | 
				
			||||||
 | 
					                <a href="javascript:void(0)" class="dropbtn">Gestion des heures</a>
 | 
				
			||||||
 | 
					                <div class="dropdown-content">
 | 
				
			||||||
 | 
					                    <a href="./gestion-heures-professeur.html">Professeur</a>
 | 
				
			||||||
 | 
					                    <a href="./gestion-heures-formation.html">Formation</a>
 | 
				
			||||||
 | 
					                    <a href="./gestion-edt.html">EDT</a>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Pilotage budgétaire</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Florent MADELAINE
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <input type="text" id="searchBar" class="search-bar" placeholder="Rechercher une formation..." onkeyup="searchFormation()">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="info-card">
 | 
				
			||||||
 | 
					            <h2>Détails des Formations</h2>
 | 
				
			||||||
 | 
					            <table class="info-table" id="formationTable">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Formation</th>
 | 
				
			||||||
 | 
					                        <th>Nombre total d'heures</th>
 | 
				
			||||||
 | 
					                        <th>Actions</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>BUT1 Informatique</td>
 | 
				
			||||||
 | 
					                        <td>400h</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="action-btn" onclick="toggleDetails(this, 'but1-details')">Voir</button>
 | 
				
			||||||
 | 
					                            <button class="action-btn" onclick="openModal('BUT1 Informatique')">Ajouter des heures</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr class="details" id="but1-details">
 | 
				
			||||||
 | 
					                        <td colspan="3">
 | 
				
			||||||
 | 
					                            <strong>Détails des heures :</strong>
 | 
				
			||||||
 | 
					                            <ul>
 | 
				
			||||||
 | 
					                                <li>Maxime MENAULT - Groupe 1 : 30h</li>
 | 
				
			||||||
 | 
					                                <li>Denis MONNERAT - Groupe 2 : 45h</li>
 | 
				
			||||||
 | 
					                                <li>Période : Semestre 1</li>
 | 
				
			||||||
 | 
					                            </ul>
 | 
				
			||||||
 | 
					                            <!-- Graphique pour BUT1 Informatique -->
 | 
				
			||||||
 | 
					                            <div class="chart-container">
 | 
				
			||||||
 | 
					                                <canvas id="but1Chart"></canvas>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>BUT2 Informatique FA</td>
 | 
				
			||||||
 | 
					                        <td>600h</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="action-btn" onclick="toggleDetails(this, 'master-details')">Voir</button>
 | 
				
			||||||
 | 
					                            <button class="action-btn" onclick="openModal('BUT2 Informatique FA')">Ajouter des heures</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr class="details" id="master-details">
 | 
				
			||||||
 | 
					                        <td colspan="3">
 | 
				
			||||||
 | 
					                            <strong>Détails des heures :</strong>
 | 
				
			||||||
 | 
					                            <ul>
 | 
				
			||||||
 | 
					                                <li>Maxime MENAULT - Groupe FA : 50h</li>
 | 
				
			||||||
 | 
					                                <li>Denis MONNERAT - Groupe FA : 90h</li>
 | 
				
			||||||
 | 
					                                <li>Période : Semestre 2</li>
 | 
				
			||||||
 | 
					                            </ul>
 | 
				
			||||||
 | 
					                            <!-- Graphique pour BUT2 Informatique FA -->
 | 
				
			||||||
 | 
					                            <div class="chart-container">
 | 
				
			||||||
 | 
					                                <canvas id="masterChart"></canvas>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <canvas id="totalHoursChart"></canvas>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Modal pour ajouter des heures -->
 | 
				
			||||||
 | 
					<div id="myModal" class="modal">
 | 
				
			||||||
 | 
					    <div class="modal-content">
 | 
				
			||||||
 | 
					        <span class="close" onclick="closeModal()">×</span>
 | 
				
			||||||
 | 
					        <h2>Ajouter des heures</h2>
 | 
				
			||||||
 | 
					        <form id="addHoursForm">
 | 
				
			||||||
 | 
					            <label for="professor">Choisissez un professeur :</label>
 | 
				
			||||||
 | 
					            <select id="professor" name="professor">
 | 
				
			||||||
 | 
					                <option value="Denis MONNERAT">Denis MONNERAT (Permanent)</option>
 | 
				
			||||||
 | 
					                <option value="Maxime MENAULT">Maxime MENAULT (Vacataire)</option>
 | 
				
			||||||
 | 
					            </select>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            <label for="subject">Choisissez une matière :</label>
 | 
				
			||||||
 | 
					            <select id="subject" name="subject">
 | 
				
			||||||
 | 
					                <option value="SCR">SCR</option>
 | 
				
			||||||
 | 
					                <option value="Mathématiques">Mathématiques</option>
 | 
				
			||||||
 | 
					                <option value="DEV">DEV</option>
 | 
				
			||||||
 | 
					                <option value="EGOD">EGOD</option>
 | 
				
			||||||
 | 
					                <option value="EC">EC</option>
 | 
				
			||||||
 | 
					                <option value="BD">BD</option>
 | 
				
			||||||
 | 
					                <option value="Anglais">Anglais</option>
 | 
				
			||||||
 | 
					            </select>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            <!-- Nouveau champ pour la date -->
 | 
				
			||||||
 | 
					            <label for="date">Date :</label>
 | 
				
			||||||
 | 
					            <input type="date" id="date" name="date" required>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            <!-- Nouveau champ pour l'heure -->
 | 
				
			||||||
 | 
					            <label for="time">Heure de début :</label>
 | 
				
			||||||
 | 
					            <input type="time" id="time" name="time" required>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Nouveau champ pour l'heure -->
 | 
				
			||||||
 | 
					            <label for="time">Heure de fin :</label>
 | 
				
			||||||
 | 
					            <input type="time" id="time" name="time" required>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            <!-- Nouveau champ pour la salle -->
 | 
				
			||||||
 | 
					            <label for="classroom">Salle de classe :</label>
 | 
				
			||||||
 | 
					            <input type="text" id="classroom" name="classroom" placeholder="Ex: 224" required>
 | 
				
			||||||
 | 
					            <br><br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <button type="button" onclick="submitHours()">Ajouter</button>
 | 
				
			||||||
 | 
					        </form>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Modal de confirmation -->
 | 
				
			||||||
 | 
					    <div id="confirmationModal" class="modal">
 | 
				
			||||||
 | 
					        <div class="modal-content">
 | 
				
			||||||
 | 
					            <span class="close" onclick="closeConfirmationModal()">×</span>
 | 
				
			||||||
 | 
					            <h2>Confirmation</h2>
 | 
				
			||||||
 | 
					            <p>Les heures ont été ajoutées avec succès.</p>
 | 
				
			||||||
 | 
					            <p>Un e-mail a été envoyé au professeur.</p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés |
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        // Fonction pour afficher ou masquer les détails d'une formation et changer le texte du bouton
 | 
				
			||||||
 | 
					        function toggleDetails(button, detailId) {
 | 
				
			||||||
 | 
					            const detailsRow = document.getElementById(detailId);
 | 
				
			||||||
 | 
					            if (detailsRow.style.display === "none" || detailsRow.style.display === "") {
 | 
				
			||||||
 | 
					                detailsRow.style.display = "table-row";
 | 
				
			||||||
 | 
					                button.textContent = "Fermer"; // Change le texte du bouton en "Fermer"
 | 
				
			||||||
 | 
					                // Dessiner le graphique lorsque les détails sont affichés
 | 
				
			||||||
 | 
					                if (detailId === 'but1-details') {
 | 
				
			||||||
 | 
					                    drawChart('but1Chart', 'BUT1 Informatique', [30, 45], ['Maxime MENAULT', 'Denis MONNERAT']);
 | 
				
			||||||
 | 
					                } else if (detailId === 'master-details') {
 | 
				
			||||||
 | 
					                    drawChart('masterChart', 'BUT2 Informatique FA', [50, 90], ['Maxime MENAULT', 'Denis MONNERAT']);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                detailsRow.style.display = "none";
 | 
				
			||||||
 | 
					                button.textContent = "Voir"; // Remet le texte du bouton à "Voir"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction de recherche des formations
 | 
				
			||||||
 | 
					        function searchFormation() {
 | 
				
			||||||
 | 
					            const input = document.getElementById("searchBar").value.toLowerCase();
 | 
				
			||||||
 | 
					            const table = document.getElementById("formationTable");
 | 
				
			||||||
 | 
					            const rows = table.getElementsByTagName("tr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for (let i = 1; i < rows.length; i++) {
 | 
				
			||||||
 | 
					                const cells = rows[i].getElementsByTagName("td");
 | 
				
			||||||
 | 
					                if (cells.length > 0) {
 | 
				
			||||||
 | 
					                    const formationName = cells[0].innerText.toLowerCase();
 | 
				
			||||||
 | 
					                    if (formationName.includes(input)) {
 | 
				
			||||||
 | 
					                        rows[i].style.display = "";
 | 
				
			||||||
 | 
					                    } else {
 | 
				
			||||||
 | 
					                        rows[i].style.display = "none";
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour ouvrir le modal pour ajouter des heures
 | 
				
			||||||
 | 
					        function openModal(formationName) {
 | 
				
			||||||
 | 
					            document.getElementById("myModal").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour fermer le modal
 | 
				
			||||||
 | 
					        function closeModal() {
 | 
				
			||||||
 | 
					            document.getElementById("myModal").style.display = "none";
 | 
				
			||||||
 | 
					            document.getElementById("addHoursForm").reset(); // Réinitialiser le formulaire
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour soumettre les heures ajoutées
 | 
				
			||||||
 | 
					        function submitHours() {
 | 
				
			||||||
 | 
					            const professor = document.getElementById("professor").value;
 | 
				
			||||||
 | 
					            const subject = document.getElementById("subject").value;
 | 
				
			||||||
 | 
					            const hours = document.getElementById("hours").value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Ici, vous pouvez ajouter la logique pour mettre à jour la table des formations
 | 
				
			||||||
 | 
					            // Exemple : ajouter les heures à la table
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Ouvrir le modal de confirmation
 | 
				
			||||||
 | 
					            document.getElementById("confirmationModal").style.display = "block";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Fermer le modal d'ajout d'heures
 | 
				
			||||||
 | 
					            closeModal();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour fermer le modal de confirmation
 | 
				
			||||||
 | 
					        function closeConfirmationModal() {
 | 
				
			||||||
 | 
					            document.getElementById("confirmationModal").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour dessiner le graphique
 | 
				
			||||||
 | 
					        function drawChart(chartId, label, data, labels) {
 | 
				
			||||||
 | 
					            const ctx = document.getElementById(chartId).getContext('2d');
 | 
				
			||||||
 | 
					            const myChart = new Chart(ctx, {
 | 
				
			||||||
 | 
					                type: 'bar',
 | 
				
			||||||
 | 
					                data: {
 | 
				
			||||||
 | 
					                    labels: labels,
 | 
				
			||||||
 | 
					                    datasets: [{
 | 
				
			||||||
 | 
					                        label: label,
 | 
				
			||||||
 | 
					                        data: data,
 | 
				
			||||||
 | 
					                        backgroundColor: [
 | 
				
			||||||
 | 
					                            'rgba(255, 99, 132, 0.2)',
 | 
				
			||||||
 | 
					                            'rgba(54, 162, 235, 0.2)',
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        borderColor: [
 | 
				
			||||||
 | 
					                            'rgba(255, 99, 132, 1)',
 | 
				
			||||||
 | 
					                            'rgba(54, 162, 235, 1)',
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        borderWidth: 1
 | 
				
			||||||
 | 
					                    }]
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                options: {
 | 
				
			||||||
 | 
					                    scales: {
 | 
				
			||||||
 | 
					                        y: {
 | 
				
			||||||
 | 
					                            beginAtZero: true
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour dessiner le graphique général
 | 
				
			||||||
 | 
					        function drawTotalHoursChart() {
 | 
				
			||||||
 | 
					            const ctx = document.getElementById('totalHoursChart').getContext('2d');
 | 
				
			||||||
 | 
					            const totalHoursChart = new Chart(ctx, {
 | 
				
			||||||
 | 
					                type: 'bar',
 | 
				
			||||||
 | 
					                data: {
 | 
				
			||||||
 | 
					                    labels: ['BUT1 Informatique', 'BUT2 Informatique FA'],
 | 
				
			||||||
 | 
					                    datasets: [{
 | 
				
			||||||
 | 
					                        label: 'Total d\'heures',
 | 
				
			||||||
 | 
					                        data: [400, 600], // Remplacez ces valeurs par le total d'heures pour chaque formation
 | 
				
			||||||
 | 
					                        backgroundColor: [
 | 
				
			||||||
 | 
					                            'rgba(255, 99, 132, 0.2)',
 | 
				
			||||||
 | 
					                            'rgba(54, 162, 235, 0.2)',
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        borderColor: [
 | 
				
			||||||
 | 
					                            'rgba(255, 99, 132, 1)',
 | 
				
			||||||
 | 
					                            'rgba(54, 162, 235, 1)',
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        borderWidth: 1
 | 
				
			||||||
 | 
					                    }]
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                options: {
 | 
				
			||||||
 | 
					                    scales: {
 | 
				
			||||||
 | 
					                        y: {
 | 
				
			||||||
 | 
					                            beginAtZero: true
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Dessiner le graphique général après le chargement de la page
 | 
				
			||||||
 | 
					        window.onload = function() {
 | 
				
			||||||
 | 
					            drawTotalHoursChart();
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										723
									
								
								MaquetteWEB/html/CHEF/gestion-heures-professeur.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										723
									
								
								MaquetteWEB/html/CHEF/gestion-heures-professeur.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										582
									
								
								MaquetteWEB/html/CHEF/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										582
									
								
								MaquetteWEB/html/CHEF/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										296
									
								
								MaquetteWEB/html/CHEF/paiements.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										296
									
								
								MaquetteWEB/html/CHEF/paiements.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,296 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Pilotage Budgétaire</title>
 | 
				
			||||||
 | 
					    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/CHEF/gestion-heures-professeur.css">
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        .container {
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            justify-content: space-between;
 | 
				
			||||||
 | 
					            flex-wrap: wrap;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .section {
 | 
				
			||||||
 | 
					            flex: 1;
 | 
				
			||||||
 | 
					            min-width: 300px;
 | 
				
			||||||
 | 
					            margin: 20px;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .section h2 {
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            color: #333;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        canvas {
 | 
				
			||||||
 | 
					            max-width: 100%;
 | 
				
			||||||
 | 
					            height: 300px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        table {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            border-collapse: collapse;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        table th, table td {
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        table th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .filters {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .filters select {
 | 
				
			||||||
 | 
					            padding: 8px;
 | 
				
			||||||
 | 
					            font-size: 16px;
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .filters input {
 | 
				
			||||||
 | 
					            padding: 8px;
 | 
				
			||||||
 | 
					            font-size: 16px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .button-container {
 | 
				
			||||||
 | 
					            margin: 20px 0;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .button-container button {
 | 
				
			||||||
 | 
					            padding: 10px 20px;
 | 
				
			||||||
 | 
					            font-size: 16px;
 | 
				
			||||||
 | 
					            margin: 0 10px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./chef_departement.html">Accueil</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div class="dropdown">
 | 
				
			||||||
 | 
					                <a href="javascript:void(0)" class="dropbtn">Gestion des heures</a>
 | 
				
			||||||
 | 
					                <div class="dropdown-content">
 | 
				
			||||||
 | 
					                    <a href="./gestion-heures-professeur.html">Professeur</a>
 | 
				
			||||||
 | 
					                    <a href="./gestion-heures-formation.html">Formation</a>
 | 
				
			||||||
 | 
					                    <a href="./gestion-edt.html">EDT</a>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Pilotage budgétaire</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Florent MADELAINE
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="container">
 | 
				
			||||||
 | 
					        <!-- Résumé des finances globales -->
 | 
				
			||||||
 | 
					        <div class="section">
 | 
				
			||||||
 | 
					            <h2>Résumé des Finances</h2>
 | 
				
			||||||
 | 
					            <canvas id="budgetOverview"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Répartition des heures -->
 | 
				
			||||||
 | 
					        <div class="section">
 | 
				
			||||||
 | 
					            <h2>Répartition des Heures</h2>
 | 
				
			||||||
 | 
					            <canvas id="hoursDistribution"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Bilan des formations -->
 | 
				
			||||||
 | 
					        <div class="section">
 | 
				
			||||||
 | 
					            <h2>Bilan des dépenses mensuels</h2>
 | 
				
			||||||
 | 
					            <canvas id="formationBalance"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Bilan comptable détaillé -->
 | 
				
			||||||
 | 
					        <div class="section">
 | 
				
			||||||
 | 
					            <h2>Bilan Comptable</h2>
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Formation</th>
 | 
				
			||||||
 | 
					                        <th>Budget Alloué</th>
 | 
				
			||||||
 | 
					                        <th>Budget Utilisé</th>
 | 
				
			||||||
 | 
					                        <th>Bénéfices</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>BUT Informatique</td>
 | 
				
			||||||
 | 
					                        <td>500 000 €</td>
 | 
				
			||||||
 | 
					                        <td>420 000 €</td>
 | 
				
			||||||
 | 
					                        <td>80 000 €</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>BUT Génie Mécanique</td>
 | 
				
			||||||
 | 
					                        <td>600 000 €</td>
 | 
				
			||||||
 | 
					                        <td>580 000 €</td>
 | 
				
			||||||
 | 
					                        <td>20 000 €</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Licence Mathématiques</td>
 | 
				
			||||||
 | 
					                        <td>300 000 €</td>
 | 
				
			||||||
 | 
					                        <td>250 000 €</td>
 | 
				
			||||||
 | 
					                        <td>50 000 €</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Button Container -->
 | 
				
			||||||
 | 
					    <div class="button-container">
 | 
				
			||||||
 | 
					        <button id="downloadCharts">Télécharger les Graphiques</button>
 | 
				
			||||||
 | 
					        <button id="downloadCSV">Télécharger en CSV</button>
 | 
				
			||||||
 | 
					        <button id="importCSV">Importer des données CSV</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Script Chart.js pour les graphiques -->
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        // Résumé des finances globales
 | 
				
			||||||
 | 
					        const ctx1 = document.getElementById('budgetOverview').getContext('2d');
 | 
				
			||||||
 | 
					        const budgetOverview = new Chart(ctx1, {
 | 
				
			||||||
 | 
					            type: 'bar',
 | 
				
			||||||
 | 
					            data: {
 | 
				
			||||||
 | 
					                labels: ['Informatique', 'Génie Mécanique', 'Mathématiques', 'Chimie'],
 | 
				
			||||||
 | 
					                datasets: [{
 | 
				
			||||||
 | 
					                    label: 'Budget Alloué (€)',
 | 
				
			||||||
 | 
					                    data: [500000, 600000, 300000, 450000],
 | 
				
			||||||
 | 
					                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
 | 
				
			||||||
 | 
					                    borderColor: 'rgba(75, 192, 192, 1)',
 | 
				
			||||||
 | 
					                    borderWidth: 1
 | 
				
			||||||
 | 
					                }, {
 | 
				
			||||||
 | 
					                    label: 'Budget Utilisé (€)',
 | 
				
			||||||
 | 
					                    data: [420000, 580000, 250000, 430000],
 | 
				
			||||||
 | 
					                    backgroundColor: 'rgba(255, 99, 132, 0.2)',
 | 
				
			||||||
 | 
					                    borderColor: 'rgba(255, 99, 132, 1)',
 | 
				
			||||||
 | 
					                    borderWidth: 1
 | 
				
			||||||
 | 
					                }]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            options: {
 | 
				
			||||||
 | 
					                responsive: true,
 | 
				
			||||||
 | 
					                scales: {
 | 
				
			||||||
 | 
					                    y: {
 | 
				
			||||||
 | 
					                        beginAtZero: true
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Répartition des heures
 | 
				
			||||||
 | 
					        const ctx2 = document.getElementById('hoursDistribution').getContext('2d');
 | 
				
			||||||
 | 
					        const hoursDistribution = new Chart(ctx2, {
 | 
				
			||||||
 | 
					            type: 'pie',
 | 
				
			||||||
 | 
					            data: {
 | 
				
			||||||
 | 
					                labels: ['Permanents', 'Heures Complémentaires', 'Vacataires'],
 | 
				
			||||||
 | 
					                datasets: [{
 | 
				
			||||||
 | 
					                    label: 'Heures de travail',
 | 
				
			||||||
 | 
					                    data: [60, 25, 15],
 | 
				
			||||||
 | 
					                    backgroundColor: [
 | 
				
			||||||
 | 
					                        'rgba(54, 162, 235, 0.2)',
 | 
				
			||||||
 | 
					                        'rgba(255, 206, 86, 0.2)',
 | 
				
			||||||
 | 
					                        'rgba(75, 192, 192, 0.2)'
 | 
				
			||||||
 | 
					                    ],
 | 
				
			||||||
 | 
					                    borderColor: [
 | 
				
			||||||
 | 
					                        'rgba(54, 162, 235, 1)',
 | 
				
			||||||
 | 
					                        'rgba(255, 206, 86, 1)',
 | 
				
			||||||
 | 
					                        'rgba(75, 192, 192, 1)'
 | 
				
			||||||
 | 
					                    ],
 | 
				
			||||||
 | 
					                    borderWidth: 1
 | 
				
			||||||
 | 
					                }]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            options: {
 | 
				
			||||||
 | 
					                responsive: true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Bilan des formations
 | 
				
			||||||
 | 
					        const ctx3 = document.getElementById('formationBalance').getContext('2d');
 | 
				
			||||||
 | 
					        const formationBalance = new Chart(ctx3, {
 | 
				
			||||||
 | 
					            type: 'line',
 | 
				
			||||||
 | 
					            data: {
 | 
				
			||||||
 | 
					                labels: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin'],
 | 
				
			||||||
 | 
					                datasets: [{
 | 
				
			||||||
 | 
					                    label: 'BUT Informatique',
 | 
				
			||||||
 | 
					                    data: [70000, 90000, 80000, 85000, 90000, 95000],
 | 
				
			||||||
 | 
					                    borderColor: 'rgba(75, 192, 192, 1)',
 | 
				
			||||||
 | 
					                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
 | 
				
			||||||
 | 
					                    fill: true
 | 
				
			||||||
 | 
					                }, {
 | 
				
			||||||
 | 
					                    label: 'BUT Génie Mécanique',
 | 
				
			||||||
 | 
					                    data: [80000, 82000, 81000, 78000, 84000, 86000],
 | 
				
			||||||
 | 
					                    borderColor: 'rgba(153, 102, 255, 1)',
 | 
				
			||||||
 | 
					                    backgroundColor: 'rgba(153, 102, 255, 0.2)',
 | 
				
			||||||
 | 
					                    fill: true
 | 
				
			||||||
 | 
					                }]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            options: {
 | 
				
			||||||
 | 
					                responsive: true,
 | 
				
			||||||
 | 
					                scales: {
 | 
				
			||||||
 | 
					                    y: {
 | 
				
			||||||
 | 
					                        beginAtZero: true
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Function to download charts as images
 | 
				
			||||||
 | 
					        document.getElementById('downloadCharts').addEventListener('click', function () {
 | 
				
			||||||
 | 
					            const chartIds = ['budgetOverview', 'hoursDistribution', 'formationBalance'];
 | 
				
			||||||
 | 
					            chartIds.forEach(id => {
 | 
				
			||||||
 | 
					                const chart = document.getElementById(id);
 | 
				
			||||||
 | 
					                const link = document.createElement('a');
 | 
				
			||||||
 | 
					                link.href = chart.toDataURL('image/png');
 | 
				
			||||||
 | 
					                link.download = `${id}.png`;
 | 
				
			||||||
 | 
					                document.body.appendChild(link);
 | 
				
			||||||
 | 
					                link.click();
 | 
				
			||||||
 | 
					                document.body.removeChild(link);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Function to download table data as CSV
 | 
				
			||||||
 | 
					        document.getElementById('downloadCSV').addEventListener('click', function () {
 | 
				
			||||||
 | 
					            const table = document.querySelector('table');
 | 
				
			||||||
 | 
					            const rows = Array.from(table.rows);
 | 
				
			||||||
 | 
					            const csvContent = rows.map(row => Array.from(row.cells).map(cell => cell.textContent).join(",")).join("\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
 | 
				
			||||||
 | 
					            const link = document.createElement('a');
 | 
				
			||||||
 | 
					            link.href = URL.createObjectURL(blob);
 | 
				
			||||||
 | 
					            link.download = 'bilan_comptable.csv';
 | 
				
			||||||
 | 
					            document.body.appendChild(link);
 | 
				
			||||||
 | 
					            link.click();
 | 
				
			||||||
 | 
					            document.body.removeChild(link);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										205
									
								
								MaquetteWEB/html/FINANCE/finance.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								MaquetteWEB/html/FINANCE/finance.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,205 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Dashboard Financier</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/FINANCE/finance.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./finance.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./paiements_en_attente.html">Paiements en attente</a>
 | 
				
			||||||
 | 
					            <a href="./rapports_financiers.html">Rapports Financiers</a>
 | 
				
			||||||
 | 
					            <a href="./historique_paiements.html">Historique des transactions</a>
 | 
				
			||||||
 | 
					            <a href="./mes_informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Jean DUPONT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					        <!-- Alertes et Notifications -->
 | 
				
			||||||
 | 
					        <div class="section-header" id="notifications-section">
 | 
				
			||||||
 | 
					            <h2>Alertes et Notifications</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div id="notifications-container">
 | 
				
			||||||
 | 
					            <!-- Notifications -->
 | 
				
			||||||
 | 
					            <div class="alert">
 | 
				
			||||||
 | 
					                <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					                <p><strong>Paiements en attente :</strong> Vous avez des paiements qui n'ont pas encore été traités. Merci de vérifier dans : <a href="paiements_en_attente.html">Paiements en attente</a>.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="success">
 | 
				
			||||||
 | 
					                <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					                <p><strong>Rapport validé :</strong> Votre dernier rapport financier a été validé. Vous pouvez le consulter dans : <a href="rapports_financiers.html">Rapports Financiers</a>.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Script pour gérer l'affichage des notifications -->
 | 
				
			||||||
 | 
					        <script>
 | 
				
			||||||
 | 
					            const notificationsContainer = document.getElementById('notifications-container');
 | 
				
			||||||
 | 
					            const notificationsSection = document.getElementById('notifications-section');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Vérifiez si le conteneur des notifications est vide
 | 
				
			||||||
 | 
					            if (notificationsContainer.childElementCount === 0) {
 | 
				
			||||||
 | 
					                notificationsSection.style.display = 'none'; // Masquer la section si aucune notification
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Paiements en attente -->
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Paiements en Attente</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <div class="table-container">
 | 
				
			||||||
 | 
					                <table>
 | 
				
			||||||
 | 
					                    <thead>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <th>ID Transaction</th>
 | 
				
			||||||
 | 
					                            <th>Période</th>
 | 
				
			||||||
 | 
					                            <th>Montant en Attente (€)</th>
 | 
				
			||||||
 | 
					                            <th>Date prévue de paiement</th>
 | 
				
			||||||
 | 
					                            <th>Statut</th>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </thead>
 | 
				
			||||||
 | 
					                    <tbody>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <td>002</td>
 | 
				
			||||||
 | 
					                            <td>Octobre 2024</td>
 | 
				
			||||||
 | 
					                            <td>1200,00</td>
 | 
				
			||||||
 | 
					                            <td>15/10/2024</td>
 | 
				
			||||||
 | 
					                            <td>En attente</td>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <td>003</td>
 | 
				
			||||||
 | 
					                            <td>Novembre 2024</td>
 | 
				
			||||||
 | 
					                            <td>1800,00</td>
 | 
				
			||||||
 | 
					                            <td>15/11/2024</td>
 | 
				
			||||||
 | 
					                            <td>En attente</td>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </tbody>
 | 
				
			||||||
 | 
					                </table>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div class="button-container" style="text-align: center; margin-top: 20px;">
 | 
				
			||||||
 | 
					                <a href="./paiements_en_attente.html">
 | 
				
			||||||
 | 
					                    <button class="button see-more" style="padding: 10px 20px; background-color: #20195e; color: white; border: none; border-radius: 4px; cursor: pointer;">
 | 
				
			||||||
 | 
					                        Voir plus
 | 
				
			||||||
 | 
					                    </button>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Rapports Financiers -->
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Rapports Financiers</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <div class="table-container">
 | 
				
			||||||
 | 
					                <table>
 | 
				
			||||||
 | 
					                    <thead>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <th>Rapport</th>
 | 
				
			||||||
 | 
					                            <th>Date de création</th>
 | 
				
			||||||
 | 
					                            <th>Statut</th>
 | 
				
			||||||
 | 
					                            <th>Actions</th>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </thead>
 | 
				
			||||||
 | 
					                    <tbody>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <td>Rapport d'Octobre 2024</td>
 | 
				
			||||||
 | 
					                            <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                            <td>Validé</td>
 | 
				
			||||||
 | 
					                            <td><a href="rapports_financiers.html#octobre2024" class="btn">Voir Rapport</a></td>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <td>Rapport de Novembre 2024</td>
 | 
				
			||||||
 | 
					                            <td>01/11/2024</td>
 | 
				
			||||||
 | 
					                            <td>En cours</td>
 | 
				
			||||||
 | 
					                            <td><a href="#" class="btn">Préparer Rapport</a></td>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </tbody>
 | 
				
			||||||
 | 
					                </table>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="button-container" style="text-align: center; margin-top: 20px;">
 | 
				
			||||||
 | 
					                <a href="./rapports_financiers.html">
 | 
				
			||||||
 | 
					                    <button class="button see-more" style="padding: 10px 20px; background-color: #20195e; color: white; border: none; border-radius: 4px; cursor: pointer;">
 | 
				
			||||||
 | 
					                        Voir plus
 | 
				
			||||||
 | 
					                    </button>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Historique des paiements du personnel -->
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Historique des Paiements du Personnel</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <div class="table-container">
 | 
				
			||||||
 | 
					                <table>
 | 
				
			||||||
 | 
					                    <thead>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <th>Période</th>
 | 
				
			||||||
 | 
					                            <th>Personnel</th>
 | 
				
			||||||
 | 
					                            <th>Montant (€)</th>
 | 
				
			||||||
 | 
					                            <th>Date de Paiement</th>
 | 
				
			||||||
 | 
					                            <th>Bulletin de paie</th>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </thead>
 | 
				
			||||||
 | 
					                    <tbody>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <td>Septembre 2024</td>
 | 
				
			||||||
 | 
					                            <td>Denis MONNERAT (permanent)</td>
 | 
				
			||||||
 | 
					                            <td>1800,00</td>
 | 
				
			||||||
 | 
					                            <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                            <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <td>Août 2024</td>
 | 
				
			||||||
 | 
					                            <td>Maxime MENAULT (vacataire)</td>
 | 
				
			||||||
 | 
					                            <td>870,00</td>
 | 
				
			||||||
 | 
					                            <td>01/09/2024</td>
 | 
				
			||||||
 | 
					                            <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </tbody>
 | 
				
			||||||
 | 
					                </table>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="button-container" style="text-align: center; margin-top: 20px;">
 | 
				
			||||||
 | 
					                <a href="./historique_paiements.html">
 | 
				
			||||||
 | 
					                    <button class="button see-more" style="padding: 10px 20px; background-color: #20195e; color: white; border: none; border-radius: 4px; cursor: pointer;">
 | 
				
			||||||
 | 
					                        Voir plus
 | 
				
			||||||
 | 
					                    </button>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										202
									
								
								MaquetteWEB/html/FINANCE/historique_paiements.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								MaquetteWEB/html/FINANCE/historique_paiements.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,202 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Historique des Transactions</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/FINANCE/style.css">
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        .dashboard-container {
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .card {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            border-collapse: collapse;
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        th, td {
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .button {
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .block { background-color: #f44336; }
 | 
				
			||||||
 | 
					        .cancel { background-color: #ff9800; }
 | 
				
			||||||
 | 
					        .unblock { background-color: #4caf50; }
 | 
				
			||||||
 | 
					        .send { background-color: #2196F3; }
 | 
				
			||||||
 | 
					        .status-en-attente { background-color: #ffeb3b; color: black; }
 | 
				
			||||||
 | 
					        .status-bloque { background-color: #f44336; color: white; }
 | 
				
			||||||
 | 
					        .status-annule { background-color: #ff9800; color: white; }
 | 
				
			||||||
 | 
					        .status-debloque { background-color: #4caf50; color: white; }
 | 
				
			||||||
 | 
					        .status-envoye { background-color: #2196F3; color: white; }
 | 
				
			||||||
 | 
					        .filter-section {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .filter-input {
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            width: 300px;
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .filter-button {
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .filter-all { background-color: #888; }
 | 
				
			||||||
 | 
					        .filter-waiting { background-color: #ffeb3b; color: black; }
 | 
				
			||||||
 | 
					        .filter-blocked { background-color: #f44336; }
 | 
				
			||||||
 | 
					        .filter-canceled { background-color: #ff9800; }
 | 
				
			||||||
 | 
					        .filter-paid { background-color: #2196F3; }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./finance.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./paiements_en_attente.html">Paiements en attente</a>
 | 
				
			||||||
 | 
					            <a href="./rapports_financiers.html">Rapports Financiers</a>
 | 
				
			||||||
 | 
					            <a href="./historique_paiements.html">Historique des transactions</a>
 | 
				
			||||||
 | 
					            <a href="./mes_informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">Jean DUPONT</div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <h2>Historique des Transactions</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Section de filtre -->
 | 
				
			||||||
 | 
					            <div class="filter-section">
 | 
				
			||||||
 | 
					                <input type="text" id="nameFilter" class="filter-input" placeholder="Rechercher par nom..." oninput="filterTable()">
 | 
				
			||||||
 | 
					                <button class="filter-button filter-all" onclick="filterByStatus('')">Tous</button>
 | 
				
			||||||
 | 
					                <button class="filter-button filter-waiting" onclick="filterByStatus('En attente')">En attente</button>
 | 
				
			||||||
 | 
					                <button class="filter-button filter-blocked" onclick="filterByStatus('Bloqué')">Bloqué</button>
 | 
				
			||||||
 | 
					                <button class="filter-button filter-canceled" onclick="filterByStatus('Annulé')">Annulé</button>
 | 
				
			||||||
 | 
					                <button class="filter-button filter-paid" onclick="filterByStatus('Salaire payer')">Payé</button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Tableau des transactions -->
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>ID Paiement</th>
 | 
				
			||||||
 | 
					                        <th>Nom du Bénéficiaire</th>
 | 
				
			||||||
 | 
					                        <th>Montant (€)</th>
 | 
				
			||||||
 | 
					                        <th>Status</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody id="paymentTableBody">
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>002</td>
 | 
				
			||||||
 | 
					                        <td>Maxime Menault</td>
 | 
				
			||||||
 | 
					                        <td>1200,00</td>
 | 
				
			||||||
 | 
					                        <td class="status-bloque">Bloqué</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>003</td>
 | 
				
			||||||
 | 
					                        <td>Denis Monnerat</td>
 | 
				
			||||||
 | 
					                        <td>1800,00</td>
 | 
				
			||||||
 | 
					                        <td class="status-envoye">Salaire payer</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>004</td>
 | 
				
			||||||
 | 
					                        <td>Sophie Bernard</td>
 | 
				
			||||||
 | 
					                        <td>1350,00</td>
 | 
				
			||||||
 | 
					                        <td class="status-annule">Annulé</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>005</td>
 | 
				
			||||||
 | 
					                        <td>Lucas Leroy</td>
 | 
				
			||||||
 | 
					                        <td>2000,00</td>
 | 
				
			||||||
 | 
					                        <td class="status-bloque">Bloqué</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>006</td>
 | 
				
			||||||
 | 
					                        <td>Julie Robert</td>
 | 
				
			||||||
 | 
					                        <td>1600,00</td>
 | 
				
			||||||
 | 
					                        <td class="status-envoye">Salaire payer</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>007</td>
 | 
				
			||||||
 | 
					                        <td>Emilie Caron</td>
 | 
				
			||||||
 | 
					                        <td>1750,00</td>
 | 
				
			||||||
 | 
					                        <td class="status-envoye">Salaire payer</td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés |
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        // Filtre par nom
 | 
				
			||||||
 | 
					        function filterTable() {
 | 
				
			||||||
 | 
					            const filter = document.getElementById("nameFilter").value.toLowerCase();
 | 
				
			||||||
 | 
					            const rows = document.querySelectorAll("#paymentTableBody tr");
 | 
				
			||||||
 | 
					            rows.forEach(row => {
 | 
				
			||||||
 | 
					                const nameCell = row.cells[1].textContent.toLowerCase();
 | 
				
			||||||
 | 
					                if (nameCell.includes(filter)) {
 | 
				
			||||||
 | 
					                    row.style.display = "";
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    row.style.display = "none";
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Filtre par statut
 | 
				
			||||||
 | 
					        function filterByStatus(status) {
 | 
				
			||||||
 | 
					            const rows = document.querySelectorAll("#paymentTableBody tr");
 | 
				
			||||||
 | 
					            rows.forEach(row => {
 | 
				
			||||||
 | 
					                const statusCell = row.cells[3].textContent;
 | 
				
			||||||
 | 
					                if (status === "" || statusCell === status) {
 | 
				
			||||||
 | 
					                    row.style.display = "";
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    row.style.display = "none";
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										576
									
								
								MaquetteWEB/html/FINANCE/mes_informations.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										576
									
								
								MaquetteWEB/html/FINANCE/mes_informations.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										303
									
								
								MaquetteWEB/html/FINANCE/paiements_en_attente.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										303
									
								
								MaquetteWEB/html/FINANCE/paiements_en_attente.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,303 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Paiements en Attente</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/FINANCE/style.css">
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        .dashboard-container {
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .card {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        table {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            border-collapse: collapse;
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        th, td {
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            text-align: left;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        th {
 | 
				
			||||||
 | 
					            background-color: #f2f2f2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .button {
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-right: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .block { background-color: #f44336; } /* Red */
 | 
				
			||||||
 | 
					        .cancel { background-color: #ff9800; } /* Orange */
 | 
				
			||||||
 | 
					        .unblock { background-color: #4caf50; } /* Green */
 | 
				
			||||||
 | 
					        .send { background-color: #2196F3; } /* Blue */
 | 
				
			||||||
 | 
					        .popup {
 | 
				
			||||||
 | 
					            display: none;
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            left: 0;
 | 
				
			||||||
 | 
					            top: 0;
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					            background-color: rgba(0,0,0,0.7);
 | 
				
			||||||
 | 
					            justify-content: center;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .popup-content {
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            width: 300px;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .close {
 | 
				
			||||||
 | 
					            background-color: #f44336;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            padding: 5px 10px;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .confirm {
 | 
				
			||||||
 | 
					            background-color: #4caf50;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            padding: 5px 10px;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					            margin-left: 10px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Classes pour les différents statuts */
 | 
				
			||||||
 | 
					        .status-en-attente {
 | 
				
			||||||
 | 
					            background-color: #ffeb3b; /* Jaune pour "En attente" */
 | 
				
			||||||
 | 
					            color: black;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-bloque {
 | 
				
			||||||
 | 
					            background-color: #f44336; /* Rouge pour "Bloqué" */
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-annule {
 | 
				
			||||||
 | 
					            background-color: #ff9800; /* Orange pour "Annulé" */
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-debloque {
 | 
				
			||||||
 | 
					            background-color: #4caf50; /* Vert pour "Débloqué" */
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .status-envoye {
 | 
				
			||||||
 | 
					            background-color: #2196F3; /* Bleu pour "Envoyé" */
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./finance.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./paiements_en_attente.html">Paiements en attente</a>
 | 
				
			||||||
 | 
					            <a href="./rapports_financiers.html">Rapports Financiers</a>
 | 
				
			||||||
 | 
					            <a href="./historique_paiements.html">Historique des transactions</a>
 | 
				
			||||||
 | 
					            <a href="./mes_informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Jean DUPONT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <h2>Liste des paiements en attente de traitement</h2>
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>ID Paiement</th>
 | 
				
			||||||
 | 
					                        <th>Nom du Bénéficiaire</th>
 | 
				
			||||||
 | 
					                        <th>Montant (€)</th>
 | 
				
			||||||
 | 
					                        <th>Status</th>
 | 
				
			||||||
 | 
					                        <th>Actions</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody id="paymentTableBody">
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>002</td>
 | 
				
			||||||
 | 
					                        <td>Maxime Menault (vacataire)</td>
 | 
				
			||||||
 | 
					                        <td>1200,00</td>
 | 
				
			||||||
 | 
					                        <td id="status-2">En attente</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="button block" onclick="openPopup('bloquer', 2)">Bloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button cancel" onclick="openPopup('annuler', 2)">Annuler</button>
 | 
				
			||||||
 | 
					                            <button class="button unblock" onclick="openPopup('débloquer', 2)">Débloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button send" onclick="openPopup('envoyer', 2)">Payer</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>003</td>
 | 
				
			||||||
 | 
					                        <td>Denis Monnerat (permanent)</td>
 | 
				
			||||||
 | 
					                        <td>1800,00</td>
 | 
				
			||||||
 | 
					                        <td id="status-3">En attente</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="button block" onclick="openPopup('bloquer', 3)">Bloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button cancel" onclick="openPopup('annuler', 3)">Annuler</button>
 | 
				
			||||||
 | 
					                            <button class="button unblock" onclick="openPopup('débloquer', 3)">Débloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button send" onclick="openPopup('envoyer', 3)">Payer</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>004</td>
 | 
				
			||||||
 | 
					                        <td>Sophie Bernard (vacataire)</td>
 | 
				
			||||||
 | 
					                        <td>1350,00</td>
 | 
				
			||||||
 | 
					                        <td id="status-4">En attente</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="button block" onclick="openPopup('bloquer', 4)">Bloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button cancel" onclick="openPopup('annuler', 4)">Annuler</button>
 | 
				
			||||||
 | 
					                            <button class="button unblock" onclick="openPopup('débloquer', 4)">Débloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button send" onclick="openPopup('envoyer', 4)">Payer</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>005</td>
 | 
				
			||||||
 | 
					                        <td>Lucas Leroy (permanent)</td>
 | 
				
			||||||
 | 
					                        <td>2000,00</td>
 | 
				
			||||||
 | 
					                        <td id="status-5">En attente</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="button block" onclick="openPopup('bloquer', 5)">Bloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button cancel" onclick="openPopup('annuler', 5)">Annuler</button>
 | 
				
			||||||
 | 
					                            <button class="button unblock" onclick="openPopup('débloquer', 5)">Débloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button send" onclick="openPopup('envoyer', 5)">Payer</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>006</td>
 | 
				
			||||||
 | 
					                        <td>Julie Robert (permanent)</td>
 | 
				
			||||||
 | 
					                        <td>1600,00</td>
 | 
				
			||||||
 | 
					                        <td id="status-6">En attente</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="button block" onclick="openPopup('bloquer', 6)">Bloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button cancel" onclick="openPopup('annuler', 6)">Annuler</button>
 | 
				
			||||||
 | 
					                            <button class="button unblock" onclick="openPopup('débloquer', 6)">Débloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button send" onclick="openPopup('envoyer', 6)">Payer</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>007</td>
 | 
				
			||||||
 | 
					                        <td>Emilie Caron (permanent)</td>
 | 
				
			||||||
 | 
					                        <td>1750,00</td>
 | 
				
			||||||
 | 
					                        <td id="status-7">En attente</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="button block" onclick="openPopup('bloquer', 7)">Bloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button cancel" onclick="openPopup('annuler', 7)">Annuler</button>
 | 
				
			||||||
 | 
					                            <button class="button unblock" onclick="openPopup('débloquer', 7)">Débloquer</button>
 | 
				
			||||||
 | 
					                            <button class="button send" onclick="openPopup('envoyer', 7)">Payer</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                    <!-- Ajouter plus de lignes ici -->
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Pop-up pour les actions -->
 | 
				
			||||||
 | 
					    <div id="popup" class="popup">
 | 
				
			||||||
 | 
					        <div class="popup-content">
 | 
				
			||||||
 | 
					            <h3 id="popupTitle">Action</h3>
 | 
				
			||||||
 | 
					            <p id="popupMessage"></p>
 | 
				
			||||||
 | 
					            <button class="close" onclick="closePopup()">Fermer</button>
 | 
				
			||||||
 | 
					            <button class="confirm" onclick="confirmAction()">Confirmer</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        let currentAction = '';
 | 
				
			||||||
 | 
					        let currentPaymentId = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function openPopup(action, paymentId) {
 | 
				
			||||||
 | 
					            const popup = document.getElementById('popup');
 | 
				
			||||||
 | 
					            const title = document.getElementById('popupTitle');
 | 
				
			||||||
 | 
					            const message = document.getElementById('popupMessage');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            currentAction = action;
 | 
				
			||||||
 | 
					            currentPaymentId = paymentId;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            title.textContent = action.charAt(0).toUpperCase() + action.slice(1) + ' Paiement';
 | 
				
			||||||
 | 
					            message.textContent = `Êtes-vous sûr de vouloir ${action} le paiement ID ${paymentId} ?`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            popup.style.display = 'flex';
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closePopup() {
 | 
				
			||||||
 | 
					            const popup = document.getElementById('popup');
 | 
				
			||||||
 | 
					            popup.style.display = 'none';
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function confirmAction() {
 | 
				
			||||||
 | 
					    const statusElement = document.getElementById(`status-${currentPaymentId}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Réinitialise toutes les classes de statut avant d'ajouter la nouvelle
 | 
				
			||||||
 | 
					    statusElement.classList.remove('status-en-attente', 'status-bloque', 'status-annule', 'status-debloque', 'status-envoye');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch(currentAction) {
 | 
				
			||||||
 | 
					        case 'bloquer':
 | 
				
			||||||
 | 
					            statusElement.textContent = 'Bloqué';
 | 
				
			||||||
 | 
					            statusElement.classList.add('status-bloque');
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'annuler':
 | 
				
			||||||
 | 
					            statusElement.textContent = 'Annulé';
 | 
				
			||||||
 | 
					            statusElement.classList.add('status-annule');
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'débloquer':
 | 
				
			||||||
 | 
					            statusElement.textContent = 'Débloqué';
 | 
				
			||||||
 | 
					            statusElement.classList.add('status-debloque');
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'envoyer':
 | 
				
			||||||
 | 
					            statusElement.textContent = 'Salaire payer';
 | 
				
			||||||
 | 
					            statusElement.classList.add('status-envoye');
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            statusElement.textContent = 'En attente';
 | 
				
			||||||
 | 
					            statusElement.classList.add('status-en-attente');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    closePopup();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										158
									
								
								MaquetteWEB/html/FINANCE/rapports_financiers.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								MaquetteWEB/html/FINANCE/rapports_financiers.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,158 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Index des Rapports Financiers</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/FINANCE/style.css">
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        .dashboard-container {
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .section-header {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .index-container {
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            margin: 20px 0;
 | 
				
			||||||
 | 
					            background-color: white;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .report-item {
 | 
				
			||||||
 | 
					            padding: 15px;
 | 
				
			||||||
 | 
					            background-color: #e9ecef;
 | 
				
			||||||
 | 
					            border: 1px solid #ddd;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            margin-bottom: 10px;
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            justify-content: space-between;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .report-item a {
 | 
				
			||||||
 | 
					            color: #20195e;
 | 
				
			||||||
 | 
					            text-decoration: none;
 | 
				
			||||||
 | 
					            font-weight: bold;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .generate-report-section {
 | 
				
			||||||
 | 
					            margin: 20px 0;
 | 
				
			||||||
 | 
					            padding: 15px;
 | 
				
			||||||
 | 
					            background-color: #f1f1f1;
 | 
				
			||||||
 | 
					            border-radius: 8px;
 | 
				
			||||||
 | 
					            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        button {
 | 
				
			||||||
 | 
					            background-color: #20195e;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            border: none;
 | 
				
			||||||
 | 
					            border-radius: 4px;
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            cursor: pointer;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        button:hover {
 | 
				
			||||||
 | 
					            background-color: #1a1451;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        label {
 | 
				
			||||||
 | 
					            margin-right: 10px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./finance.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./paiements_en_attente.html">Paiements en attente</a>
 | 
				
			||||||
 | 
					            <a href="./rapports_financiers.html">Rapports Financiers</a>
 | 
				
			||||||
 | 
					            <a href="./historique_paiements.html">Historique des transactions</a>
 | 
				
			||||||
 | 
					            <a href="./mes_informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">Jean DUPONT</div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Historique des rapports financiers</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Index des rapports financiers -->
 | 
				
			||||||
 | 
					        <div class="index-container">
 | 
				
			||||||
 | 
					            <div class="report-item">
 | 
				
			||||||
 | 
					                <span>Rapport financier : BUT Informatique - Octobre 2024</span>
 | 
				
			||||||
 | 
					                <a href="chemin/vers/rapport_but_informatique_sem1_2024.pdf" download>Télécharger</a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="report-item">
 | 
				
			||||||
 | 
					                <span>Rapport financier : BUT GEA - Octobre 2024</span>
 | 
				
			||||||
 | 
					                <a href="chemin/vers/rapport_but_gea_sem1_2024.pdf" download>Télécharger</a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="report-item">
 | 
				
			||||||
 | 
					                <span>Rapport financier : BUT Informatique - Septembre 2024</span>
 | 
				
			||||||
 | 
					                <a href="chemin/vers/rapport_but_informatique_sem2_2024.pdf" download>Télécharger</a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="report-item">
 | 
				
			||||||
 | 
					                <span>Rapport financier : BUT GEA - Septembre 2024</span>
 | 
				
			||||||
 | 
					                <a href="chemin/vers/rapport_but_gea_sem2_2024.pdf" download>Télécharger</a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <!-- Ajoutez d'autres rapports ici -->
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Section pour générer un faux rapport -->
 | 
				
			||||||
 | 
					        <div class="generate-report-section">
 | 
				
			||||||
 | 
					            <h3>Générer un rapport financier</h3>
 | 
				
			||||||
 | 
					            <form id="generateReportForm">
 | 
				
			||||||
 | 
					                <label for="formationSelect">Sélectionnez une formation:</label>
 | 
				
			||||||
 | 
					                <select id="formationSelect" name="formation">
 | 
				
			||||||
 | 
					                    <option value="informatique">BUT Informatique</option>
 | 
				
			||||||
 | 
					                    <option value="gea">BUT GEA</option>
 | 
				
			||||||
 | 
					                </select><br>
 | 
				
			||||||
 | 
					                <label for="semesterSelect">Sélectionnez un semestre:</label>
 | 
				
			||||||
 | 
					                <select id="semesterSelect" name="semester">
 | 
				
			||||||
 | 
					                    <option value="semestre1">Octobre 2024</option>
 | 
				
			||||||
 | 
					                    <option value="semestre2">Septembre 2024</option>
 | 
				
			||||||
 | 
					                </select><br><br>
 | 
				
			||||||
 | 
					                <button type="submit">Générer le Rapport</button>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html" style="color: white;">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        document.getElementById('generateReportForm').addEventListener('submit', function (event) {
 | 
				
			||||||
 | 
					            event.preventDefault();
 | 
				
			||||||
 | 
					            const formation = document.getElementById('formationSelect').value;
 | 
				
			||||||
 | 
					            const semester = document.getElementById('semesterSelect').value;
 | 
				
			||||||
 | 
					            alert(`Génération d'un rapport financier pour la formation BUT ${formation} - ${semester}`);
 | 
				
			||||||
 | 
					            // Ici, vous pouvez ajouter votre logique pour générer le rapport
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										237
									
								
								MaquetteWEB/html/PROF/enseignant_permanent.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										237
									
								
								MaquetteWEB/html/PROF/enseignant_permanent.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,237 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Dashboard enseignant permanent</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/PROF/enseignant_permanent.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./enseignant_permanent.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./mes-heures.html">Heures</a>
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Paiements</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Denis MONNERAT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="dashboard-container">
 | 
				
			||||||
 | 
					    <!-- Alertes et Notifications -->
 | 
				
			||||||
 | 
					    <div class="section-header" id="notifications-section">
 | 
				
			||||||
 | 
					        <h2>Alertes et Notifications</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div id="notifications-container">
 | 
				
			||||||
 | 
					        <!-- Notifications -->
 | 
				
			||||||
 | 
					        <div class="alert">
 | 
				
			||||||
 | 
					            <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					            <p><strong>Propositions d'heures en attente :</strong> Vous n'avez toujours pas validé les propositions d'heures. Ces dernières seront automatiquement acceptées dans 3 jours. Merci de le faire au plus vite dans : <a href="mes-heures.html">Mes heures</a>.</p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="success">
 | 
				
			||||||
 | 
					            <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					            <p><strong>Pièces justificatives :</strong> Vos pièces justificatives ont été validées par le responsable pédagogique et sont accessibles dans : <a href="mes-informations.html">Mes informations et documents</a>.</p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Script pour gérer l'affichage des notifications -->
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        const notificationsContainer = document.getElementById('notifications-container');
 | 
				
			||||||
 | 
					        const notificationsSection = document.getElementById('notifications-section');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Vérifiez si le conteneur des notifications est vide
 | 
				
			||||||
 | 
					        if (notificationsContainer.childElementCount === 0) {
 | 
				
			||||||
 | 
					            notificationsSection.style.display = 'none'; // Masquer la section si aucune notification
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Emploi du Temps avec navigation de semaines -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Mon Emploi du Temps</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <!-- Navigation entre semaines -->
 | 
				
			||||||
 | 
					        <div class="week-navigation">
 | 
				
			||||||
 | 
					            <button>« Semaine précédente</button>
 | 
				
			||||||
 | 
					            <p><strong>Semaine du 18 au 24 Novembre 2024</strong></p>
 | 
				
			||||||
 | 
					            <button>Semaine suivante »</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="schedule-container">
 | 
				
			||||||
 | 
					            <table class="schedule-table">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Heures</th>
 | 
				
			||||||
 | 
					                        <th>Lundi</th>
 | 
				
			||||||
 | 
					                        <th>Mardi</th>
 | 
				
			||||||
 | 
					                        <th>Mercredi</th>
 | 
				
			||||||
 | 
					                        <th>Jeudi</th>
 | 
				
			||||||
 | 
					                        <th>Vendredi</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">08:00 - 08:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">08:30 - 09:00</td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - SCR<br><span>Salle 224 - BUT1 Groupe 3</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">09:00 - 09:30</td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - Mathématiques<br><span>Salle 101 - BUT2 Groupe 1</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TD - SCR<br><span>Salle 305 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">09:30 - 10:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">10:00 - 10:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - SCR<br><span>Salle 305 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">10:30 - 11:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 4</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">11:00 - 11:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">13:00 - 13:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 1</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">13:30 - 14:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">14:00 - 14:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 3</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">14:30 - 15:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 4</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Suivi des Paiements -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Suivi des Paiements</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <div class="table-container">
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Période</th>
 | 
				
			||||||
 | 
					                        <th>Heures Payées</th>
 | 
				
			||||||
 | 
					                        <th>Montant Brut (€)</th>
 | 
				
			||||||
 | 
					                        <th>Date de Paiement</th>
 | 
				
			||||||
 | 
					                        <th>Bulletin de paie</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Septembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Octobre 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>En attente</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <p><strong>Prochain paiement prévu :</strong> Novembre 2024 (20h restantes)</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="more-payments">
 | 
				
			||||||
 | 
					            <p><a href="./paiements.html" class="btn">Voir tous les paiements</a></p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="footer">
 | 
				
			||||||
 | 
					    <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					        <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										474
									
								
								MaquetteWEB/html/PROF/mes-heures.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										474
									
								
								MaquetteWEB/html/PROF/mes-heures.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,474 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Suivi des Heures</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/PROF/mes-heures.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./enseignant_permanent.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./mes-heures.html">Heures</a>
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Paiements</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Denis MONNERAT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Propositions d'Heures</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="proposition-container">
 | 
				
			||||||
 | 
					            <table class="proposition-table" id="proposalTable">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Période</th>
 | 
				
			||||||
 | 
					                        <th>Formation</th>
 | 
				
			||||||
 | 
					                        <th>Nom du Cours</th>
 | 
				
			||||||
 | 
					                        <th>Semestre</th>
 | 
				
			||||||
 | 
					                        <th>Type d'intervention</th>
 | 
				
			||||||
 | 
					                        <th>Volume Prévisionnel</th>
 | 
				
			||||||
 | 
					                        <th>Actions</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Décembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>BUT1</td>
 | 
				
			||||||
 | 
					                        <td>Développement Web</td>
 | 
				
			||||||
 | 
					                        <td>1</td>
 | 
				
			||||||
 | 
					                        <td>CM, TD</td>
 | 
				
			||||||
 | 
					                        <td>8h</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="accept-button" onclick="acceptProposal(this)">Accepter</button>
 | 
				
			||||||
 | 
					                            <button class="refuse-button" onclick="confirmRefusal(this)">Refuser</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Janvier 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT2</td>
 | 
				
			||||||
 | 
					                        <td>SCR</td>
 | 
				
			||||||
 | 
					                        <td>3</td>
 | 
				
			||||||
 | 
					                        <td>TD, TP</td>
 | 
				
			||||||
 | 
					                        <td>6h</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="accept-button" onclick="acceptProposal(this)">Accepter</button>
 | 
				
			||||||
 | 
					                            <button class="refuse-button" onclick="confirmRefusal(this)">Refuser</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Popup pour pièces justificatives -->
 | 
				
			||||||
 | 
					        <div id="justificatifForm" class="justificatif-form popup">
 | 
				
			||||||
 | 
					            <h3>Téléchargez vos pièces justificatives</h3>
 | 
				
			||||||
 | 
					            <p>Veuillez télécharger le document suivant :</p>
 | 
				
			||||||
 | 
					            <ul>
 | 
				
			||||||
 | 
					                <li>Contrat de travail actuel</li>
 | 
				
			||||||
 | 
					            </ul>
 | 
				
			||||||
 | 
					            <input type="file" id="justificatif" name="justificatif" required>
 | 
				
			||||||
 | 
					            <button id="submitJustificatif" onclick="submitJustificatif()">Soumettre</button>
 | 
				
			||||||
 | 
					            <button onclick="closeJustificatifPopup()">Annuler</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Prochaines heures</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="validated-hours-container card">
 | 
				
			||||||
 | 
					            <table class="validated-hours-table" id="validatedTable">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Période</th>
 | 
				
			||||||
 | 
					                        <th>Formation</th>
 | 
				
			||||||
 | 
					                        <th>Nom du Cours</th>
 | 
				
			||||||
 | 
					                        <th>Semestre</th>
 | 
				
			||||||
 | 
					                        <th>Type d'intervention</th>
 | 
				
			||||||
 | 
					                        <th>Volume Prévisionnel</th>
 | 
				
			||||||
 | 
					                        <th>Statut</th> <!-- Nouvelle colonne pour le statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody id="validatedTableBody">
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Décembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>BUT1</td>
 | 
				
			||||||
 | 
					                        <td>Développement Web</td>
 | 
				
			||||||
 | 
					                        <td>1</td>
 | 
				
			||||||
 | 
					                        <td>CM, TD</td>
 | 
				
			||||||
 | 
					                        <td>8h</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td> <!-- Statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Janvier 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT2</td>
 | 
				
			||||||
 | 
					                        <td>SCR</td>
 | 
				
			||||||
 | 
					                        <td>3</td>
 | 
				
			||||||
 | 
					                        <td>TD, TP</td>
 | 
				
			||||||
 | 
					                        <td>6h</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td> <!-- Statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Février 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT3</td>
 | 
				
			||||||
 | 
					                        <td>Base de données</td>
 | 
				
			||||||
 | 
					                        <td>5</td>
 | 
				
			||||||
 | 
					                        <td>CM</td>
 | 
				
			||||||
 | 
					                        <td>10h</td>
 | 
				
			||||||
 | 
					                        <td  class="status-valide">Validé</td> <!-- Statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mars 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT3</td>
 | 
				
			||||||
 | 
					                        <td>IA et Machine Learning</td>
 | 
				
			||||||
 | 
					                        <td>6</td>
 | 
				
			||||||
 | 
					                        <td>TD, TP</td>
 | 
				
			||||||
 | 
					                        <td>12h</td>
 | 
				
			||||||
 | 
					                        <td class="status-attente">En attente de traitement</td> <!-- Statut en attente -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Avril 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT2</td>
 | 
				
			||||||
 | 
					                        <td>Réseaux</td>
 | 
				
			||||||
 | 
					                        <td>4</td>
 | 
				
			||||||
 | 
					                        <td>CM, TD</td>
 | 
				
			||||||
 | 
					                        <td>4h</td>
 | 
				
			||||||
 | 
					                        <td class="status-attente">En attente de traitement</td> <!-- Statut en attente -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Historique des Heures Travaillées</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <div class="table-container">
 | 
				
			||||||
 | 
					                <table id="hoursTable">
 | 
				
			||||||
 | 
					                    <thead>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <th onclick="sortTable(0)">Date ▲</th> <!-- Triable -->
 | 
				
			||||||
 | 
					                            <th>Matière</th>
 | 
				
			||||||
 | 
					                            <th>Type d'Intervention</th>
 | 
				
			||||||
 | 
					                            <th onclick="sortTable(3)">Volume Horaire ▲</th> <!-- Triable -->
 | 
				
			||||||
 | 
					                            <th onclick="sortTable(4)">Heures Travaillées ▲</th> <!-- Triable -->
 | 
				
			||||||
 | 
					                            <th>Actions</th>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </thead>
 | 
				
			||||||
 | 
					                    <tbody id="hoursTableBody">
 | 
				
			||||||
 | 
					                        <!-- Rows will be generated dynamically with JavaScript -->
 | 
				
			||||||
 | 
					                    </tbody>
 | 
				
			||||||
 | 
					                </table>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					        <!-- Pagination Buttons -->
 | 
				
			||||||
 | 
					        <div id="pagination">
 | 
				
			||||||
 | 
					            <button onclick="prevPage()">Précédent</button>
 | 
				
			||||||
 | 
					            <span id="pageNumber"></span>
 | 
				
			||||||
 | 
					            <button onclick="nextPage()">Suivant</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Graphique des Heures Travaillées</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="chart-container">
 | 
				
			||||||
 | 
					            <canvas id="hoursChart"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Signalement de problèmes d'heures</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="contact-form">
 | 
				
			||||||
 | 
					            <form id="contactForm">
 | 
				
			||||||
 | 
					                <label for="probleme">Type de problème :</label>
 | 
				
			||||||
 | 
					                <select id="probleme" name="probleme" required>
 | 
				
			||||||
 | 
					                    <option value="" disabled selected>Choisir un problème</option>
 | 
				
			||||||
 | 
					                    <option value="non_paye">Il manque des heures dans mon historique</option>
 | 
				
			||||||
 | 
					                    <option value="montant_incorrect">Il y a des heures en trop</option>
 | 
				
			||||||
 | 
					                    <option value="autre">Autre</option>
 | 
				
			||||||
 | 
					                </select>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <label for="commentaire">Commentaires :</label>
 | 
				
			||||||
 | 
					                <input type="text" id="commentaire" name="commentaire" placeholder="Décrivez votre problème" required>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <button type="submit">Soumettre</button>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Popup pour les détails du cours -->
 | 
				
			||||||
 | 
					    <div id="infoPopup" class="popup">
 | 
				
			||||||
 | 
					        <h4>Détails du la journée</h4>
 | 
				
			||||||
 | 
					        <p><strong>Promotion :</strong> <span id="promotion"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Groupe(s) :</strong> <span id="groupe"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Salle :</strong> <span id="salle"></span></p>
 | 
				
			||||||
 | 
					        <button onclick="closeInfoPopup()">Fermer</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Popup pour succès de l'envoi du formulaire -->
 | 
				
			||||||
 | 
					    <div id="popup" class="popup">
 | 
				
			||||||
 | 
					        <img src="https://img.icons8.com/ios-filled/50/155724/checkmark.png" alt="Success Icon">
 | 
				
			||||||
 | 
					        <h4>Signalement Envoyé !</h4>
 | 
				
			||||||
 | 
					        <p>Merci pour votre signalement. Nous allons traiter votre demande dans les plus brefs délais.</p>
 | 
				
			||||||
 | 
					        <button onclick="closePopup()">Fermer</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Popup de confirmation de refus -->
 | 
				
			||||||
 | 
					    <div id="confirmationPopup" class="confirmation-popup">
 | 
				
			||||||
 | 
					        <div class="confirmation-content">
 | 
				
			||||||
 | 
					            <h4>Confirmer le Refus</h4>
 | 
				
			||||||
 | 
					            <p>Êtes-vous sûr de vouloir refuser cette proposition d'heure ?</p>
 | 
				
			||||||
 | 
					            <button id="confirmRefusalButton" onclick="confirmRefusalAction()">Confirmer</button>
 | 
				
			||||||
 | 
					            <button onclick="closeConfirmationPopup()">Annuler</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div id="infoPopup" class="popup">
 | 
				
			||||||
 | 
					        <h4>Détails de l'intervention</h4>
 | 
				
			||||||
 | 
					        <p><strong>Promotion :</strong> <span id="popupPromotion"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Type de Cours :</strong> <span id="popupTypeCours"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>ETD :</strong> <span id="popupETD"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Montant :</strong> <span id="popupMontant"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Matière :</strong> <span id="popupMatiere"></span></p>
 | 
				
			||||||
 | 
					        <button onclick="closeInfoPopup()">Fermer</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | <a href="html/mentions_legales.html" style="color: white;">Mentions légales</a></p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        // Données du graphique
 | 
				
			||||||
 | 
					        const ctx = document.getElementById('hoursChart').getContext('2d');
 | 
				
			||||||
 | 
					        const hoursChart = new Chart(ctx, {
 | 
				
			||||||
 | 
					            type: 'bar',
 | 
				
			||||||
 | 
					            data: {
 | 
				
			||||||
 | 
					                labels: ['Semaine 1', 'Semaine 2', 'Semaine 3', 'Semaine 4'],
 | 
				
			||||||
 | 
					                datasets: [{
 | 
				
			||||||
 | 
					                    label: 'Heures Travaillées',
 | 
				
			||||||
 | 
					                    data: [5, 10, 7, 8],
 | 
				
			||||||
 | 
					                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
 | 
				
			||||||
 | 
					                    borderColor: 'rgba(75, 192, 192, 1)',
 | 
				
			||||||
 | 
					                    borderWidth: 1
 | 
				
			||||||
 | 
					                }]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            options: {
 | 
				
			||||||
 | 
					                responsive: true,
 | 
				
			||||||
 | 
					                scales: {
 | 
				
			||||||
 | 
					                    y: {
 | 
				
			||||||
 | 
					                        beginAtZero: true,
 | 
				
			||||||
 | 
					                        title: {
 | 
				
			||||||
 | 
					                            display: true,
 | 
				
			||||||
 | 
					                            text: 'Heures'
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    x: {
 | 
				
			||||||
 | 
					                        title: {
 | 
				
			||||||
 | 
					                            display: true,
 | 
				
			||||||
 | 
					                            text: 'Semaines'
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let proposalToRemove; // Variable pour stocker la proposition à supprimer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonctions pour gérer l'acceptation et le refus
 | 
				
			||||||
 | 
					        function acceptProposal(button) {
 | 
				
			||||||
 | 
					            document.getElementById("justificatifForm").style.display = "block";
 | 
				
			||||||
 | 
					            proposalToRemove = button.closest('tr'); // Stocker la proposition à supprimer
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function confirmRefusal(button) {
 | 
				
			||||||
 | 
					            proposalToRemove = button.closest('tr');
 | 
				
			||||||
 | 
					            document.getElementById("confirmationPopup").style.display = "flex";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function confirmRefusalAction() {
 | 
				
			||||||
 | 
					            proposalToRemove.remove();
 | 
				
			||||||
 | 
					            closeConfirmationPopup();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeConfirmationPopup() {
 | 
				
			||||||
 | 
					            document.getElementById("confirmationPopup").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function submitJustificatif() {
 | 
				
			||||||
 | 
					            alert("Vos pièces justificatives ont été soumises avec succès.");
 | 
				
			||||||
 | 
					            closeJustificatifPopup(); // Cacher le formulaire
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Ajouter l'heure validée à la section des heures validées
 | 
				
			||||||
 | 
					            const validatedTableBody = document.getElementById("validatedTableBody");
 | 
				
			||||||
 | 
					            const newRow = document.createElement("tr");
 | 
				
			||||||
 | 
					            const periode = proposalToRemove.cells[0].innerText; // Récupérer la période
 | 
				
			||||||
 | 
					            const formation = proposalToRemove.cells[1].innerText; // Récupérer la formation
 | 
				
			||||||
 | 
					            const nomCours = proposalToRemove.cells[2].innerText; // Récupérer le nom du cours
 | 
				
			||||||
 | 
					            const semestre = proposalToRemove.cells[3].innerText; // Récupérer le semestre
 | 
				
			||||||
 | 
					            const typeIntervention = proposalToRemove.cells[4].innerText; // Récupérer le type d'intervention
 | 
				
			||||||
 | 
					            const volumePrevisionnel = proposalToRemove.cells[5].innerText; // Récupérer le volume prévisionnel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            newRow.innerHTML = `<td>${periode}</td><td>${formation}</td><td>${nomCours}</td><td>${semestre}</td><td>${typeIntervention}</td><td>${volumePrevisionnel}</td><td class="status-attente">En attente de traitement</td> `;
 | 
				
			||||||
 | 
					            validatedTableBody.appendChild(newRow);
 | 
				
			||||||
 | 
					            proposalToRemove.remove(); // Supprimer la proposition de l'affichage
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeJustificatifPopup() {
 | 
				
			||||||
 | 
					            document.getElementById("justificatifForm").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function getRandomBUT() {
 | 
				
			||||||
 | 
					            return "BUT" + Math.floor(Math.random() * 3 + 1);  // Génère un nombre aléatoire entre 1 et 3
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Gestion des popups
 | 
				
			||||||
 | 
					        function showDetails(promotion, groupes, salle) {
 | 
				
			||||||
 | 
					            document.getElementById("promotion").innerText = promotion;
 | 
				
			||||||
 | 
					            document.getElementById("groupe").innerText = groupes;
 | 
				
			||||||
 | 
					            document.getElementById("salle").innerText = salle;
 | 
				
			||||||
 | 
					            document.getElementById("infoPopup").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeInfoPopup() {
 | 
				
			||||||
 | 
					            document.getElementById("infoPopup").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closePopup() {
 | 
				
			||||||
 | 
					            document.getElementById("popup").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Gestion de l'envoi du formulaire de contact
 | 
				
			||||||
 | 
					        document.getElementById('contactForm').addEventListener('submit', function(event) {
 | 
				
			||||||
 | 
					            event.preventDefault();
 | 
				
			||||||
 | 
					            document.getElementById("popup").style.display = "block";
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					     <script>
 | 
				
			||||||
 | 
					        // Exemple d'un grand nombre d'heures pour l'historique
 | 
				
			||||||
 | 
					        const hoursData = [
 | 
				
			||||||
 | 
					            { date: '01/02/2024', matiere: 'SCR', type: 'CM', volume: '3 ETD', worked: '4h' },
 | 
				
			||||||
 | 
					            { date: '05/02/2024', matiere: 'Web Dev', type: 'TP', volume: '2 ETD', worked: '3h' },
 | 
				
			||||||
 | 
					            { date: '10/02/2024', matiere: 'Mathématiques', type: 'TD', volume: '4 ETD', worked: '5h' },
 | 
				
			||||||
 | 
					            { date: '15/02/2024', matiere: 'IA', type: 'CM', volume: '2 ETD', worked: '2h' },
 | 
				
			||||||
 | 
					            { date: '20/02/2024', matiere: 'Python', type: 'TP', volume: '5 ETD', worked: '7h' },
 | 
				
			||||||
 | 
					            // Ajoutez ici un grand nombre de données...
 | 
				
			||||||
 | 
					            { date: '01/03/2024', matiere: 'Réseaux', type: 'TD', volume: '3 ETD', worked: '4h' },
 | 
				
			||||||
 | 
					            { date: '10/03/2024', matiere: 'Big Data', type: 'CM', volume: '5 ETD', worked: '6h' },
 | 
				
			||||||
 | 
					            // Plusieurs lignes (simulons jusqu'à 50 lignes ou plus)...
 | 
				
			||||||
 | 
					            { date: '01/04/2024', matiere: 'Dev Mobile', type: 'TP', volume: '2 ETD', worked: '3h' },
 | 
				
			||||||
 | 
					            { date: '10/04/2024', matiere: 'Sécurité', type: 'CM', volume: '3 ETD', worked: '5h' },
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Variables pour la pagination
 | 
				
			||||||
 | 
					        const rowsPerPage = 5;
 | 
				
			||||||
 | 
					        let currentPage = 1;
 | 
				
			||||||
 | 
					        const totalRows = hoursData.length;
 | 
				
			||||||
 | 
					        const totalPages = Math.ceil(totalRows / rowsPerPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour afficher la table avec pagination
 | 
				
			||||||
 | 
					        function displayTable(page) {
 | 
				
			||||||
 | 
					            const start = (page - 1) * rowsPerPage;
 | 
				
			||||||
 | 
					            const end = start + rowsPerPage;
 | 
				
			||||||
 | 
					            const tableBody = document.getElementById('hoursTableBody');
 | 
				
			||||||
 | 
					            tableBody.innerHTML = ''; // Clear existing rows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const pageData = hoursData.slice(start, end);
 | 
				
			||||||
 | 
					            pageData.forEach(row => {
 | 
				
			||||||
 | 
					                const tr = document.createElement('tr');
 | 
				
			||||||
 | 
					                tr.innerHTML = `<td>${row.date}</td>
 | 
				
			||||||
 | 
					                                <td>${row.matiere}</td>
 | 
				
			||||||
 | 
					                                <td>${row.type}</td>
 | 
				
			||||||
 | 
					                                <td>${row.volume}</td>
 | 
				
			||||||
 | 
					                                <td>${row.worked}</td>
 | 
				
			||||||
 | 
					                                <td><span class="details-button" onclick="showDetails('BUT2', '1,2,3', '140')">Plus d'infos</span></td>`;
 | 
				
			||||||
 | 
					                tableBody.appendChild(tr);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            document.getElementById('pageNumber').innerText = `Page ${page} sur ${totalPages}`;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonctions pour naviguer dans la pagination
 | 
				
			||||||
 | 
					        function nextPage() {
 | 
				
			||||||
 | 
					            if (currentPage < totalPages) {
 | 
				
			||||||
 | 
					                currentPage++;
 | 
				
			||||||
 | 
					                displayTable(currentPage);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function prevPage() {
 | 
				
			||||||
 | 
					            if (currentPage > 1) {
 | 
				
			||||||
 | 
					                currentPage--;
 | 
				
			||||||
 | 
					                displayTable(currentPage);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction de tri pour les colonnes
 | 
				
			||||||
 | 
					        function sortTable(n) {
 | 
				
			||||||
 | 
					            const table = document.getElementById('hoursTable');
 | 
				
			||||||
 | 
					            let rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
 | 
				
			||||||
 | 
					            switching = true;
 | 
				
			||||||
 | 
					            dir = "asc"; // Set the sorting direction to ascending
 | 
				
			||||||
 | 
					            while (switching) {
 | 
				
			||||||
 | 
					                switching = false;
 | 
				
			||||||
 | 
					                rows = table.rows;
 | 
				
			||||||
 | 
					                for (i = 1; i < (rows.length - 1); i++) {
 | 
				
			||||||
 | 
					                    shouldSwitch = false;
 | 
				
			||||||
 | 
					                    x = rows[i].getElementsByTagName("TD")[n];
 | 
				
			||||||
 | 
					                    y = rows[i + 1].getElementsByTagName("TD")[n];
 | 
				
			||||||
 | 
					                    if (dir === "asc") {
 | 
				
			||||||
 | 
					                        if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
 | 
				
			||||||
 | 
					                            shouldSwitch = true;
 | 
				
			||||||
 | 
					                            break;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    } else if (dir === "desc") {
 | 
				
			||||||
 | 
					                        if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
 | 
				
			||||||
 | 
					                            shouldSwitch = true;
 | 
				
			||||||
 | 
					                            break;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (shouldSwitch) {
 | 
				
			||||||
 | 
					                    rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
 | 
				
			||||||
 | 
					                    switching = true;
 | 
				
			||||||
 | 
					                    switchcount++;
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    if (switchcount === 0 && dir === "asc") {
 | 
				
			||||||
 | 
					                        dir = "desc";
 | 
				
			||||||
 | 
					                        switching = true;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Initial load
 | 
				
			||||||
 | 
					        displayTable(currentPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										541
									
								
								MaquetteWEB/html/PROF/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										541
									
								
								MaquetteWEB/html/PROF/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										402
									
								
								MaquetteWEB/html/PROF/paiements.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										402
									
								
								MaquetteWEB/html/PROF/paiements.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,402 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Suivi des Paiements</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/PROF/paiements.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./enseignant_permanent.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./mes-heures.html">Heures</a>
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Paiements</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Denis MONNERAT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="dashboard-container">
 | 
				
			||||||
 | 
					    <!-- Historique des paiements -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Historique des Paiements</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <div class="table-container">
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th data-sort="periode">Période</th>
 | 
				
			||||||
 | 
					                        <th data-sort="heuresPayees">Heures Payées</th>
 | 
				
			||||||
 | 
					                        <th data-sort="montantBrut">Montant Brut (€)</th>
 | 
				
			||||||
 | 
					                        <th data-sort="montantNet">Montant Net (€)</th>
 | 
				
			||||||
 | 
					                        <th data-sort="datePaiement">Date de Paiement</th>
 | 
				
			||||||
 | 
					                        <th data-sort="modePaiement">Mode de Paiement</th>
 | 
				
			||||||
 | 
					                        <th data-sort="compteBancaire">Compte Bancaire</th>
 | 
				
			||||||
 | 
					                        <th data-sort="statut">Statut</th>
 | 
				
			||||||
 | 
					                        <th>Bulletin de Paie</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>                
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Février 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/03/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mars 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/04/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Avril 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/05/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mai 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/06/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Juin 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/07/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Septembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Octobre 2024</td>
 | 
				
			||||||
 | 
					                        <td>35h</td>
 | 
				
			||||||
 | 
					                        <td>3500,00</td>
 | 
				
			||||||
 | 
					                        <td>2722,00</td>
 | 
				
			||||||
 | 
					                        <td>01/11/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-attente">En attente</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <p><strong>Prochain paiement prévu :</strong> Novembre 2024 (35h restantes)</p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Graphique des paiements (brut) -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Évolution de vos Paiements</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <div class="chart-container">
 | 
				
			||||||
 | 
					            <canvas id="paymentChart"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Formulaire pour signaler un problème -->
 | 
				
			||||||
 | 
					<!-- Formulaire pour signaler un problème -->
 | 
				
			||||||
 | 
					<div class="section-header">
 | 
				
			||||||
 | 
					    <h2>Signaler un problème de paye</h2>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					<div class="card contact-form">
 | 
				
			||||||
 | 
					    <h3>Formulaire de signalement</h3>
 | 
				
			||||||
 | 
					    <form id="contactForm">
 | 
				
			||||||
 | 
					        <label for="probleme">Sélectionnez un problème :</label>
 | 
				
			||||||
 | 
					        <select id="probleme" required>
 | 
				
			||||||
 | 
					            <option value="">-- Sélectionner un problème --</option>
 | 
				
			||||||
 | 
					            <option value="noPayment">Je n'ai pas reçu de paiement</option>
 | 
				
			||||||
 | 
					            <option value="wrongAmount">Le montant de mon salaire est inférieur à ce qui était prévu.</option>
 | 
				
			||||||
 | 
					            <option value="duplicatePayment">J'ai reçu un paiement en double</option>
 | 
				
			||||||
 | 
					            <option value="latePayment">Mon paiement est en retard</option>
 | 
				
			||||||
 | 
					            <option value="unjustifiedWithholding">Il y a une retenue sur mon paiement que je ne comprends pas</option>
 | 
				
			||||||
 | 
					            <option value="technicalIssue">J'ai des difficultés à accéder à mes bulletins de salaire en ligne</option>
 | 
				
			||||||
 | 
					        </select>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Champs supplémentaires qui s'affichent selon le problème -->
 | 
				
			||||||
 | 
					        <div id="detailsSupplementaires" style="display: none;">
 | 
				
			||||||
 | 
					            <!-- Champ pour sélectionner le mois -->
 | 
				
			||||||
 | 
					            <div id="moisEnQuestion" style="display:none;">
 | 
				
			||||||
 | 
					                <label for="mois">Sélectionner le mois :</label>
 | 
				
			||||||
 | 
					                <select id="mois">
 | 
				
			||||||
 | 
					                    <option value="">-- Sélectionner le mois --</option>
 | 
				
			||||||
 | 
					                    <option value="fevrier">Février 2024</option>
 | 
				
			||||||
 | 
					                    <option value="mars">Mars 2024</option>
 | 
				
			||||||
 | 
					                    <option value="avril">Avril 2024</option>
 | 
				
			||||||
 | 
					                    <option value="mai">Mai 2024</option>
 | 
				
			||||||
 | 
					                    <option value="juin">Juin 2024</option>
 | 
				
			||||||
 | 
					                    <option value="septembre">Septembre 2024</option>
 | 
				
			||||||
 | 
					                    <option value="octobre">Octobre 2024</option>
 | 
				
			||||||
 | 
					                </select>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Champ pour indiquer le montant reçu -->
 | 
				
			||||||
 | 
					            <div id="montantRecuSupplementaire" style="display:none;">
 | 
				
			||||||
 | 
					                <label for="montantRecu">Montant reçu (€) :</label>
 | 
				
			||||||
 | 
					                <input type="number" id="montantRecu" placeholder="Montant reçu" />
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Champ pour indiquer le montant attendu -->
 | 
				
			||||||
 | 
					            <div id="montantAttendu" style="display:none;">
 | 
				
			||||||
 | 
					                <label for="montantAttenduInput">Montant attendu (€) :</label>
 | 
				
			||||||
 | 
					                <input type="number" id="montantAttenduInput" placeholder="Montant attendu" />
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <button type="submit">Envoyer</button>
 | 
				
			||||||
 | 
					    </form>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="footer">
 | 
				
			||||||
 | 
					    <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					        <a href="html/mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Popup de confirmation -->
 | 
				
			||||||
 | 
					<div class="popup" id="popup">
 | 
				
			||||||
 | 
					    <img src="https://img.icons8.com/ios-filled/50/155724/checkmark.png" alt="Coche">
 | 
				
			||||||
 | 
					    <h4>Message envoyé</h4>
 | 
				
			||||||
 | 
					    <p>Votre message a été transmis à la direction. Un email de confirmation vous a été envoyé.</p>
 | 
				
			||||||
 | 
					    <button onclick="fermerPopup()">Fermer</button>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Script pour gérer le formulaire et le popup -->
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					document.getElementById('probleme').addEventListener('change', function() {
 | 
				
			||||||
 | 
					    var detailsSupplementaires = document.getElementById('detailsSupplementaires');
 | 
				
			||||||
 | 
					    var montantRecuSupplementaire = document.getElementById('montantRecuSupplementaire');
 | 
				
			||||||
 | 
					    var moisEnQuestion = document.getElementById('moisEnQuestion'); // Champ pour sélectionner le mois
 | 
				
			||||||
 | 
					    var montantAttendu = document.getElementById('montantAttendu'); // Champ pour indiquer le montant attendu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Masquer tous les champs au départ
 | 
				
			||||||
 | 
					    detailsSupplementaires.style.display = 'none';
 | 
				
			||||||
 | 
					    montantRecuSupplementaire.style.display = 'none';
 | 
				
			||||||
 | 
					    moisEnQuestion.style.display = 'none'; 
 | 
				
			||||||
 | 
					    montantAttendu.style.display = 'none';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Afficher les champs en fonction du problème sélectionné
 | 
				
			||||||
 | 
					    switch (this.value) {
 | 
				
			||||||
 | 
					        case 'noPayment':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'wrongAmount':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            montantRecuSupplementaire.style.display = 'block'; // Afficher le montant
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'duplicatePayment':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            montantAttendu.style.display = 'block'; // Afficher le champ pour le montant attendu
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'latePayment':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'unjustifiedWithholding':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'technicalIssue':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            // Aucune action si aucune valeur valide n'est sélectionnée
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					document.getElementById('contactForm').addEventListener('submit', function(event) {
 | 
				
			||||||
 | 
					    event.preventDefault();
 | 
				
			||||||
 | 
					    // Afficher le popup de confirmation
 | 
				
			||||||
 | 
					    document.getElementById('popup').style.display = 'block';
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function fermerPopup() {
 | 
				
			||||||
 | 
					    document.getElementById('popup').style.display = 'none';
 | 
				
			||||||
 | 
					    // Réinitialiser le formulaire après soumission
 | 
				
			||||||
 | 
					    document.getElementById('contactForm').reset();
 | 
				
			||||||
 | 
					    document.getElementById('detailsSupplementaires').style.display = 'none';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Configuration du graphique Chart.js
 | 
				
			||||||
 | 
					const ctx = document.getElementById('paymentChart').getContext('2d');
 | 
				
			||||||
 | 
					const paymentChart = new Chart(ctx, {
 | 
				
			||||||
 | 
					    type: 'line',
 | 
				
			||||||
 | 
					    data: {
 | 
				
			||||||
 | 
					        labels: ['Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Septembre', 'Octobre'],
 | 
				
			||||||
 | 
					        datasets: [{
 | 
				
			||||||
 | 
					            label: 'Montant Brut (€)',
 | 
				
			||||||
 | 
					            data: [3500, 3500, 3500, 3500, 3500, 3500, 3500],
 | 
				
			||||||
 | 
					            borderColor: 'rgba(75, 192, 192, 1)',
 | 
				
			||||||
 | 
					            backgroundColor: 'rgba(75, 192, 192, 0.2)',
 | 
				
			||||||
 | 
					            fill: true,
 | 
				
			||||||
 | 
					            tension: 0.3,
 | 
				
			||||||
 | 
					        }]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    options: {
 | 
				
			||||||
 | 
					        responsive: true,
 | 
				
			||||||
 | 
					        scales: {
 | 
				
			||||||
 | 
					            y: {
 | 
				
			||||||
 | 
					                beginAtZero: true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        plugins: {
 | 
				
			||||||
 | 
					            legend: {
 | 
				
			||||||
 | 
					                display: true,
 | 
				
			||||||
 | 
					                position: 'top',
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					document.querySelectorAll('th[data-sort]').forEach(function (header) {
 | 
				
			||||||
 | 
					    header.addEventListener('click', function () {
 | 
				
			||||||
 | 
					        const table = header.closest('table');
 | 
				
			||||||
 | 
					        const tbody = table.querySelector('tbody');
 | 
				
			||||||
 | 
					        const rowsArray = Array.from(tbody.querySelectorAll('tr'));
 | 
				
			||||||
 | 
					        const index = Array.from(header.parentElement.children).indexOf(header);
 | 
				
			||||||
 | 
					        let order = header.dataset.order || 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Retirer les classes de tri des autres colonnes
 | 
				
			||||||
 | 
					        document.querySelectorAll('th[data-sort]').forEach(function (th) {
 | 
				
			||||||
 | 
					            th.classList.remove('ascending', 'descending');
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Appliquer la classe de tri
 | 
				
			||||||
 | 
					        if (order == 1) {
 | 
				
			||||||
 | 
					            header.classList.add('ascending');
 | 
				
			||||||
 | 
					            header.dataset.order = -1;  // Inverser l'ordre pour la prochaine fois
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            header.classList.add('descending');
 | 
				
			||||||
 | 
					            header.dataset.order = 1;  // Réinitialiser pour la prochaine fois
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Trier les lignes du tableau
 | 
				
			||||||
 | 
					        rowsArray.sort(function (rowA, rowB) {
 | 
				
			||||||
 | 
					            let cellA = rowA.children[index].innerText.trim();
 | 
				
			||||||
 | 
					            let cellB = rowB.children[index].innerText.trim();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les périodes (mois)
 | 
				
			||||||
 | 
					            if (header.dataset.sort === 'periode') {
 | 
				
			||||||
 | 
					                cellA = moisToNumero(cellA);
 | 
				
			||||||
 | 
					                cellB = moisToNumero(cellB);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les montants numériques avec des virgules
 | 
				
			||||||
 | 
					            else if (!isNaN(cellA.replace(',', '.')) && !isNaN(cellB.replace(',', '.'))) {
 | 
				
			||||||
 | 
					                return (parseFloat(cellA.replace(',', '.')) - parseFloat(cellB.replace(',', '.'))) * order;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les dates
 | 
				
			||||||
 | 
					            else if (isDate(cellA) && isDate(cellB)) {
 | 
				
			||||||
 | 
					                return (new Date(cellA) - new Date(cellB)) * order;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les textes (par défaut)
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                return cellA.localeCompare(cellB) * order;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return (cellA - cellB) * order;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Réorganiser les lignes dans le tableau
 | 
				
			||||||
 | 
					        rowsArray.forEach(function (row) {
 | 
				
			||||||
 | 
					            tbody.appendChild(row);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Fonction pour convertir les mois en numéros pour faciliter le tri
 | 
				
			||||||
 | 
					function moisToNumero(mois) {
 | 
				
			||||||
 | 
					    const moisIndex = {
 | 
				
			||||||
 | 
					        "Janvier": 1,
 | 
				
			||||||
 | 
					        "Février": 2,
 | 
				
			||||||
 | 
					        "Mars": 3,
 | 
				
			||||||
 | 
					        "Avril": 4,
 | 
				
			||||||
 | 
					        "Mai": 5,
 | 
				
			||||||
 | 
					        "Juin": 6,
 | 
				
			||||||
 | 
					        "Juillet": 7,
 | 
				
			||||||
 | 
					        "Août": 8,
 | 
				
			||||||
 | 
					        "Septembre": 9,
 | 
				
			||||||
 | 
					        "Octobre": 10,
 | 
				
			||||||
 | 
					        "Novembre": 11,
 | 
				
			||||||
 | 
					        "Décembre": 12
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Extraire le mois et l'année du texte (ex: "Février 2024")
 | 
				
			||||||
 | 
					    const [moisNom, annee] = mois.split(' ');
 | 
				
			||||||
 | 
					    return new Date(annee, moisIndex[moisNom] - 1); // Créer un objet Date
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Fonction pour vérifier si un texte est une date valide
 | 
				
			||||||
 | 
					function isDate(dateString) {
 | 
				
			||||||
 | 
					    return !isNaN(Date.parse(dateString));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										279
									
								
								MaquetteWEB/html/RH/candidature.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										279
									
								
								MaquetteWEB/html/RH/candidature.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,279 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/RH/style.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/RH/rh.css">
 | 
				
			||||||
 | 
					    <title>Gestion des Candidatures</title>
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        /* Ajout de styles pour la barre de recherche et le tri */
 | 
				
			||||||
 | 
					        .search-container {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .sort-container {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .sort-button {
 | 
				
			||||||
 | 
					            margin-right: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .modal-content {
 | 
				
			||||||
 | 
					            max-height: 80vh;
 | 
				
			||||||
 | 
					            overflow-y: auto;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .comment-container {
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Styles pour la pop-up d'ajout d'offre de vacation */
 | 
				
			||||||
 | 
					        .vacation-modal {
 | 
				
			||||||
 | 
					            display: none; /* Masquer par défaut */
 | 
				
			||||||
 | 
					            position: fixed;
 | 
				
			||||||
 | 
					            z-index: 1;
 | 
				
			||||||
 | 
					            left: 0;
 | 
				
			||||||
 | 
					            top: 0;
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					            overflow: auto;
 | 
				
			||||||
 | 
					            background-color: rgb(0,0,0);
 | 
				
			||||||
 | 
					            background-color: rgba(0,0,0,0.4);
 | 
				
			||||||
 | 
					            padding-top: 60px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .vacation-modal-content {
 | 
				
			||||||
 | 
					            background-color: #fefefe;
 | 
				
			||||||
 | 
					            margin: 5% auto;
 | 
				
			||||||
 | 
					            padding: 20px;
 | 
				
			||||||
 | 
					            border: 1px solid #888;
 | 
				
			||||||
 | 
					            width: 80%;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .validationDossier{
 | 
				
			||||||
 | 
					            margin-top: 25px;
 | 
				
			||||||
 | 
					            background-color: green;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .refusDossier{
 | 
				
			||||||
 | 
					            background-color: rgb(128, 0, 0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .commentairee{
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					            box-sizing: border-box;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./rh.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./gestion_personnel.html">Gestion du personnel</a>
 | 
				
			||||||
 | 
					            <a href="./candidature.html">Candidatures</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">Alice BERGER</div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <main>
 | 
				
			||||||
 | 
					        <section>
 | 
				
			||||||
 | 
					            <h2>Candidatures en Attente de Validation</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Barre de recherche -->
 | 
				
			||||||
 | 
					            <div class="search-container">
 | 
				
			||||||
 | 
					                <input type="text" id="search-input" placeholder="Rechercher par nom" oninput="filterTable()">
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Conteneur de tri -->
 | 
				
			||||||
 | 
					            <div class="sort-container">
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(0)">Trier par Nom</button>
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(1)">Trier par Prénom</button>
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(2)">Trier par Formation</button>
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="openVacationModal()">Ajouter une Offre de Vacation</button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Nom</th>
 | 
				
			||||||
 | 
					                        <th>Prénom</th>
 | 
				
			||||||
 | 
					                        <th>Formation Demandée</th>
 | 
				
			||||||
 | 
					                        <th>Action</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody id="candidatures-table">
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mike</td>
 | 
				
			||||||
 | 
					                        <td>Michel</td>
 | 
				
			||||||
 | 
					                        <td>Informatique - BUT1</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button onclick="consulterDossier('Mike', 'Michel')">Consulter Dossier</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>John</td>
 | 
				
			||||||
 | 
					                        <td>Williams</td>
 | 
				
			||||||
 | 
					                        <td>Mathématiques - BUT GEA</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button onclick="consulterDossier('John', 'Williams')">Consulter Dossier</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <!-- Ajoutez d'autres lignes ici -->
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </section>
 | 
				
			||||||
 | 
					    </main>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Modal pour consulter le dossier de candidature -->
 | 
				
			||||||
 | 
					    <div id="dossierModal" class="modal">
 | 
				
			||||||
 | 
					        <div class="modal-content">
 | 
				
			||||||
 | 
					            <span class="close" onclick="closeDossierModal()">×</span>
 | 
				
			||||||
 | 
					            <h2>Dossier de Candidature : <span id="dossier-nom"></span> <span id="dossier-prenom"></span></h2>
 | 
				
			||||||
 | 
					            <h3>Pièces Justificatives :</h3>
 | 
				
			||||||
 | 
					            <ul id="pieces-list"></ul>
 | 
				
			||||||
 | 
					            <div class="comment-container">
 | 
				
			||||||
 | 
					                <h3>Commentaire :</h3>
 | 
				
			||||||
 | 
					                <textarea class="commentairee" rows="4" placeholder="Ajouter un commentaire sur ce dossier..."></textarea><br>
 | 
				
			||||||
 | 
					                <button onclick="ajouterCommentaire()">Ajouter Commentaire</button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div>
 | 
				
			||||||
 | 
					                <button class="validationDossier" onclick="validerDossier()">Valider Dossier</button>
 | 
				
			||||||
 | 
					                <button class="refusDossier" onclick="refuserDossier()">Refuser Dossier</button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Modal pour ajouter une offre de vacation -->
 | 
				
			||||||
 | 
					    <div id="vacationModal" class="vacation-modal">
 | 
				
			||||||
 | 
					        <div class="vacation-modal-content">
 | 
				
			||||||
 | 
					            <span class="close" onclick="closeVacationModal()">×</span>
 | 
				
			||||||
 | 
					            <h2>Ajouter une Offre de Vacation</h2>
 | 
				
			||||||
 | 
					            <form id="vacation-form">
 | 
				
			||||||
 | 
					                <label for="diplome">Diplôme requis :</label><br>
 | 
				
			||||||
 | 
					                <input type="text" id="diplome" name="diplome" required><br><br>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <label for="description">Description :</label><br>
 | 
				
			||||||
 | 
					                <textarea id="description" name="description" rows="4" required></textarea><br><br>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <label for="duree">Durée (en jours) :</label><br>
 | 
				
			||||||
 | 
					                <input type="number" id="duree" name="duree" min="1" required><br><br>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <button type="submit">Soumettre l'Offre</button>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        const sortOrder = [true, true, true]; // État du tri pour chaque colonne
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function sortTable(columnIndex) {
 | 
				
			||||||
 | 
					            const table = document.getElementById("candidatures-table");
 | 
				
			||||||
 | 
					            const rows = Array.from(table.rows);
 | 
				
			||||||
 | 
					            const direction = sortOrder[columnIndex] ? 1 : -1; // Déterminer la direction du tri
 | 
				
			||||||
 | 
					            sortOrder[columnIndex] = !sortOrder[columnIndex]; // Basculer l'ordre de tri pour le prochain clic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            rows.sort((a, b) => {
 | 
				
			||||||
 | 
					                const aText = a.cells[columnIndex].textContent.trim();
 | 
				
			||||||
 | 
					                const bText = b.cells[columnIndex].textContent.trim();
 | 
				
			||||||
 | 
					                return direction * aText.localeCompare(bText);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Réattacher les lignes triées au tableau
 | 
				
			||||||
 | 
					            rows.forEach(row => table.appendChild(row));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function filterTable() {
 | 
				
			||||||
 | 
					            const input = document.getElementById("search-input").value.toLowerCase();
 | 
				
			||||||
 | 
					            const table = document.getElementById("candidatures-table");
 | 
				
			||||||
 | 
					            const rows = Array.from(table.rows);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            rows.forEach(row => {
 | 
				
			||||||
 | 
					                const cells = Array.from(row.cells);
 | 
				
			||||||
 | 
					                const match = cells[0].textContent.toLowerCase().includes(input) || 
 | 
				
			||||||
 | 
					                              cells[1].textContent.toLowerCase().includes(input);
 | 
				
			||||||
 | 
					                row.style.display = match ? "" : "none";
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function consulterDossier(nom, prenom) {
 | 
				
			||||||
 | 
					            document.getElementById("dossier-nom").textContent = nom;
 | 
				
			||||||
 | 
					            document.getElementById("dossier-prenom").textContent = prenom;
 | 
				
			||||||
 | 
					            const piecesList = document.getElementById("pieces-list");
 | 
				
			||||||
 | 
					            piecesList.innerHTML = `
 | 
				
			||||||
 | 
					                <li><a href="">CV - ${prenom} ${nom}.pdf</a></li>
 | 
				
			||||||
 | 
					                <li><a href="">Diplôme - Licence Informatique.pdf</a></li>
 | 
				
			||||||
 | 
					                <li><a href="">Lettre de motivation.pdf</a></li>
 | 
				
			||||||
 | 
					                <li><a href="">Justificatif d'expérience.pdf</a></li>
 | 
				
			||||||
 | 
					            `; // Remplacer par les vraies données
 | 
				
			||||||
 | 
					            document.getElementById("dossierModal").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeDossierModal() {
 | 
				
			||||||
 | 
					            document.getElementById("dossierModal").style.display = "none";
 | 
				
			||||||
 | 
					            document.getElementById("commentaire").value = ""; // Réinitialiser le champ de commentaire
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function ajouterCommentaire() {
 | 
				
			||||||
 | 
					            const commentaire = document.getElementById("commentaire").value;
 | 
				
			||||||
 | 
					            alert(`Commentaire ajouté : ${commentaire}`);
 | 
				
			||||||
 | 
					            // Logic to handle the comment addition can be implemented here
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function validerDossier() {
 | 
				
			||||||
 | 
					            alert("Dossier validé !");
 | 
				
			||||||
 | 
					            closeDossierModal();
 | 
				
			||||||
 | 
					            // Logic to handle the validation of the dossier can be implemented here
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function refuserDossier() {
 | 
				
			||||||
 | 
					            alert("Dossier refusé !");
 | 
				
			||||||
 | 
					            closeDossierModal();
 | 
				
			||||||
 | 
					            // Logic to handle the refusal of the dossier can be implemented here
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function openVacationModal() {
 | 
				
			||||||
 | 
					            document.getElementById("vacationModal").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeVacationModal() {
 | 
				
			||||||
 | 
					            document.getElementById("vacationModal").style.display = "none";
 | 
				
			||||||
 | 
					            document.getElementById("vacation-form").reset(); // Réinitialiser le formulaire
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Gestion de la soumission du formulaire d'offre de vacation
 | 
				
			||||||
 | 
					        document.getElementById("vacation-form").addEventListener("submit", function(event) {
 | 
				
			||||||
 | 
					            event.preventDefault(); // Empêcher le rechargement de la page
 | 
				
			||||||
 | 
					            alert("Offre de vacation soumise !");
 | 
				
			||||||
 | 
					            closeVacationModal(); // Fermer la pop-up après soumission
 | 
				
			||||||
 | 
					            // Ici, vous pouvez ajouter le code pour traiter l'envoi du formulaire, comme envoyer les données à un serveur.
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										261
									
								
								MaquetteWEB/html/RH/gestion_personnel.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								MaquetteWEB/html/RH/gestion_personnel.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,261 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/RH/style.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/RH/rh.css">
 | 
				
			||||||
 | 
					    <title>Gestion du Personnel</title>
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        /* Ajout de styles pour la barre de recherche et le tri */
 | 
				
			||||||
 | 
					        .search-container {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .sort-container {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .sort-button {
 | 
				
			||||||
 | 
					            margin-right: 5px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .modal-content {
 | 
				
			||||||
 | 
					            max-height: 80vh;
 | 
				
			||||||
 | 
					            overflow-y: auto;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .supprimerBouton{
 | 
				
			||||||
 | 
					            background-color: rgb(128, 0, 0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .voirDetailBouton{
 | 
				
			||||||
 | 
					            background-color: rgb(255, 140, 0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .modifierBouton{
 | 
				
			||||||
 | 
					            background-color: #28A745;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./rh.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./gestion_personnel.html">Gestion du personnel</a>
 | 
				
			||||||
 | 
					            <a href="./candidature.html">Candidatures</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">Alice BERGER</div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <main>
 | 
				
			||||||
 | 
					        <section>
 | 
				
			||||||
 | 
					            <h2>Gestion du personnel</h2>
 | 
				
			||||||
 | 
					            <!-- Barre de recherche -->
 | 
				
			||||||
 | 
					            <div class="search-container">
 | 
				
			||||||
 | 
					                <input type="text" id="search-input" placeholder="Rechercher par nom" oninput="filterTable()">
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Conteneur de tri -->
 | 
				
			||||||
 | 
					            <div class="sort-container">
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(0)">Trier par Nom</button>
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(1)">Trier par Prénom</button>
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(2)">Trier par Statut</button>
 | 
				
			||||||
 | 
					                <button class="sort-button" onclick="sortTable(3)">Trier par Dernière Intervention</button>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Nom</th>
 | 
				
			||||||
 | 
					                        <th>Prénom</th>
 | 
				
			||||||
 | 
					                        <th>Statut</th>
 | 
				
			||||||
 | 
					                        <th>Dernière Intervention</th>
 | 
				
			||||||
 | 
					                        <th>Actions</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody id="personnel-table">
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Dupont</td>
 | 
				
			||||||
 | 
					                        <td>Jean</td>
 | 
				
			||||||
 | 
					                        <td>Professeur Vacataire</td>
 | 
				
			||||||
 | 
					                        <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="modifierBouton" onclick="openModal('Dupont', 'Jean', 'Professeur Vacataire', '01/10/2024')">Modifier</button>
 | 
				
			||||||
 | 
					                            <button class="supprimerBouton" onclick="supprimerPersonnel('Dupont', 'Jean')">Supprimer</button>
 | 
				
			||||||
 | 
					                            <button class="voirDetailBouton" onclick="voirDetails('Dupont', 'Jean', 'Professeur Vacataire', '01/10/2024')">Voir Détails</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Martin</td>
 | 
				
			||||||
 | 
					                        <td>Sophie</td>
 | 
				
			||||||
 | 
					                        <td>Professeur Vacataire</td>
 | 
				
			||||||
 | 
					                        <td>15/09/2024</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="modifierBouton" onclick="openModal('Martin', 'Sophie', 'Professeur Vacataire', '15/09/2024')">Modifier</button>
 | 
				
			||||||
 | 
					                            <button class="supprimerBouton" onclick="supprimerPersonnel('Martin', 'Sophie')">Supprimer</button>
 | 
				
			||||||
 | 
					                            <button class="voirDetailBouton" onclick="voirDetails('Martin', 'Sophie', 'Professeur Vacataire', '15/09/2024')">Voir Détails</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <!-- Ajoutez d'autres lignes ici -->
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					            <button onclick="ajouterPersonnel()">Ajouter un Personnel</button>
 | 
				
			||||||
 | 
					        </section>
 | 
				
			||||||
 | 
					    </main>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Modal pour modifier le personnel -->
 | 
				
			||||||
 | 
					    <div id="myModal" class="modal">
 | 
				
			||||||
 | 
					        <div class="modal-content">
 | 
				
			||||||
 | 
					            <span class="close" onclick="closeModal()">×</span>
 | 
				
			||||||
 | 
					            <h2>Modifier le Personnel</h2>
 | 
				
			||||||
 | 
					            <form id="edit-form">
 | 
				
			||||||
 | 
					                <label for="nom">Nom:</label>
 | 
				
			||||||
 | 
					                <input type="text" id="nom" required><br>
 | 
				
			||||||
 | 
					                <label for="prenom">Prénom:</label>
 | 
				
			||||||
 | 
					                <input type="text" id="prenom" required><br>
 | 
				
			||||||
 | 
					                <label for="statut">Statut:</label>
 | 
				
			||||||
 | 
					                <input type="text" id="statut" required><br>
 | 
				
			||||||
 | 
					                <label for="intervention">Dernière Intervention:</label>
 | 
				
			||||||
 | 
					                <input type="date" id="intervention" required><br>
 | 
				
			||||||
 | 
					                <button type="submit">Enregistrer</button>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Modal pour voir les détails du personnel -->
 | 
				
			||||||
 | 
					    <div id="detailModal" class="modal">
 | 
				
			||||||
 | 
					        <div class="modal-content">
 | 
				
			||||||
 | 
					            <span class="close" onclick="closeDetailModal()">×</span>
 | 
				
			||||||
 | 
					            <h2>Détails de Personnel</h2>
 | 
				
			||||||
 | 
					            <p id="detail-info"></p>
 | 
				
			||||||
 | 
					            <h3>Heures à Payer</h3>
 | 
				
			||||||
 | 
					            <p id="heures-a-payer"></p>
 | 
				
			||||||
 | 
					            <h3>Demandes de Corrections d'Heures</h3>
 | 
				
			||||||
 | 
					            <ul id="corrections-list"></ul>
 | 
				
			||||||
 | 
					            <h3>Documents</h3>
 | 
				
			||||||
 | 
					            <ul id="documents-list"></ul>
 | 
				
			||||||
 | 
					            <h3>Statut</h3>
 | 
				
			||||||
 | 
					            <p id="statut-detail"></p>
 | 
				
			||||||
 | 
					            <h3>Historique des Heures</h3>
 | 
				
			||||||
 | 
					            <ul id="historique-list"></ul>
 | 
				
			||||||
 | 
					            <h3>Coordonnées</h3>
 | 
				
			||||||
 | 
					            <p id="coordonnees"></p>
 | 
				
			||||||
 | 
					            <button onclick="lancerProcedurePaiement()">Lancer la Procédure de Paiement</button>
 | 
				
			||||||
 | 
					            <button onclick="modifierHeures()">Modifier les Heures</button>
 | 
				
			||||||
 | 
					           
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="footer">
 | 
				
			||||||
 | 
					    <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					        <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        let sortOrder = [true, true, true, true]; // Array to keep track of sort order for each column
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function sortTable(columnIndex) {
 | 
				
			||||||
 | 
					            const table = document.getElementById("personnel-table");
 | 
				
			||||||
 | 
					            const rows = Array.from(table.rows);
 | 
				
			||||||
 | 
					            const direction = sortOrder[columnIndex] ? 1 : -1; // Determine sorting direction
 | 
				
			||||||
 | 
					            sortOrder[columnIndex] = !sortOrder[columnIndex]; // Toggle sort order for the next click
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            rows.sort((a, b) => {
 | 
				
			||||||
 | 
					                const aText = a.cells[columnIndex].textContent.trim();
 | 
				
			||||||
 | 
					                const bText = b.cells[columnIndex].textContent.trim();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (columnIndex === 3) { // Date column
 | 
				
			||||||
 | 
					                    return direction * (new Date(aText) - new Date(bText));
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    return direction * aText.localeCompare(bText);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Reattach sorted rows to the table
 | 
				
			||||||
 | 
					            rows.forEach(row => table.appendChild(row));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function filterTable() {
 | 
				
			||||||
 | 
					            const input = document.getElementById("search-input").value.toLowerCase();
 | 
				
			||||||
 | 
					            const table = document.getElementById("personnel-table");
 | 
				
			||||||
 | 
					            const rows = Array.from(table.rows);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            rows.forEach(row => {
 | 
				
			||||||
 | 
					                const cells = Array.from(row.cells);
 | 
				
			||||||
 | 
					                const match = cells[0].textContent.toLowerCase().includes(input) || 
 | 
				
			||||||
 | 
					                              cells[1].textContent.toLowerCase().includes(input);
 | 
				
			||||||
 | 
					                row.style.display = match ? "" : "none";
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function openModal(nom, prenom, statut, intervention) {
 | 
				
			||||||
 | 
					            document.getElementById("nom").value = nom;
 | 
				
			||||||
 | 
					            document.getElementById("prenom").value = prenom;
 | 
				
			||||||
 | 
					            document.getElementById("statut").value = statut;
 | 
				
			||||||
 | 
					            document.getElementById("intervention").value = intervention;
 | 
				
			||||||
 | 
					            document.getElementById("myModal").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeModal() {
 | 
				
			||||||
 | 
					            document.getElementById("myModal").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function supprimerPersonnel(nom, prenom) {
 | 
				
			||||||
 | 
					            if (confirm(`Êtes-vous sûr de vouloir supprimer ${prenom} ${nom} ?`)) {
 | 
				
			||||||
 | 
					                const row = event.target.closest("tr");
 | 
				
			||||||
 | 
					                row.parentNode.removeChild(row);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function voirDetails(nom, prenom, statut, intervention) {
 | 
				
			||||||
 | 
					            // Remplir les détails du personnel ici
 | 
				
			||||||
 | 
					            document.getElementById("detail-info").textContent = `Nom: ${nom}, Prénom: ${prenom}, Statut: ${statut}, Dernière Intervention: ${intervention}`;
 | 
				
			||||||
 | 
					            document.getElementById("heures-a-payer").textContent = "10 heures"; // Remplacer par les vraies données
 | 
				
			||||||
 | 
					            document.getElementById("corrections-list").innerHTML = "<li><a href=\"#\">Pas assez d'heures</a> : 19/10/2024</li>"; // Remplacer par les vraies données
 | 
				
			||||||
 | 
					            document.getElementById("documents-list").innerHTML = "<li><a href=\"#\">Contrat de travail</a></li><li><a href=\"#\">CV</a></li><li><a href=\"#\">Diplôme</a></li><li><a href=\"#\">Justificatif d'expérience</a></li>"; // Remplacer par les vraies données
 | 
				
			||||||
 | 
					            document.getElementById("statut-detail").textContent = statut;
 | 
				
			||||||
 | 
					            document.getElementById("historique-list").innerHTML = "<li>CM - SCR - 19/10/2024 - 12h30</li><li>TP - DEV - 19/10/2024 - 15h30</li>"; // Remplacer par les vraies données
 | 
				
			||||||
 | 
					            document.getElementById("coordonnees").textContent = `${prenom}.${nom}@u-pec.fr`;
 | 
				
			||||||
 | 
					            document.getElementById("detailModal").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeDetailModal() {
 | 
				
			||||||
 | 
					            document.getElementById("detailModal").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function ajouterPersonnel() {
 | 
				
			||||||
 | 
					            // Logic to add personnel goes here
 | 
				
			||||||
 | 
					            alert("Fonctionnalité à venir !");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function lancerProcedurePaiement() {
 | 
				
			||||||
 | 
					            alert("Lancement de la procédure de paiement...");
 | 
				
			||||||
 | 
					            // Logic to launch payment process goes here
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function modifierHeures() {
 | 
				
			||||||
 | 
					            alert("Modification des heures...");
 | 
				
			||||||
 | 
					            // Logic to modify hours goes here
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										518
									
								
								MaquetteWEB/html/RH/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										518
									
								
								MaquetteWEB/html/RH/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										130
									
								
								MaquetteWEB/html/RH/rh.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								MaquetteWEB/html/RH/rh.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Dashboard Vacataire</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/VACATAIRE/vacataire.css">
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        .header {
 | 
				
			||||||
 | 
					            background-color: #0f431f;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            padding: 10px 0;
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .section-header {
 | 
				
			||||||
 | 
					            background-color: #f8f8f8;
 | 
				
			||||||
 | 
					            padding: 10px;
 | 
				
			||||||
 | 
					            border-left: 5px solid #0f431f;
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .footer {
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            padding: 10px 0;
 | 
				
			||||||
 | 
					            margin-top: 20px;
 | 
				
			||||||
 | 
					            background-color: #0f431f;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .btn {
 | 
				
			||||||
 | 
					            padding: 10px 15px;
 | 
				
			||||||
 | 
					            background-color: #0f431f;
 | 
				
			||||||
 | 
					            color: white;
 | 
				
			||||||
 | 
					            text-decoration: none;
 | 
				
			||||||
 | 
					            border-radius: 5px;
 | 
				
			||||||
 | 
					            display: inline-block;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .btn:hover {
 | 
				
			||||||
 | 
					            background-color: #0b3116;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        .summary, .upcoming-sessions, .important-documents, .feedback, .events {
 | 
				
			||||||
 | 
					            margin-bottom: 20px;
 | 
				
			||||||
 | 
					            padding: 15px;
 | 
				
			||||||
 | 
					            border: 1px solid #ccc;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./rh.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./gestion_personnel.html">Gestion du personnel</a>
 | 
				
			||||||
 | 
					            <a href="./candidature.html">Candidatures</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">Alice BERGER</div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					        <!-- Alertes et Notifications -->
 | 
				
			||||||
 | 
					        <div class="section-header" id="notifications-section">
 | 
				
			||||||
 | 
					            <h2>Alertes et Notifications</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div id="notifications-container">
 | 
				
			||||||
 | 
					            <!-- Notifications -->
 | 
				
			||||||
 | 
					            <div class="alert">
 | 
				
			||||||
 | 
					                <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					                <p><strong>Validation de Candidature :</strong> Une nouvelle candidature a été soumise pour l'offre de vacation n°383. Veuillez la consulter et valider dans les plus brefs délais dans (la candidature expire dans 26 jours) : <a href="./candidature.html">Candidatures</a>.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="success">
 | 
				
			||||||
 | 
					                <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					                <p><strong>Demande de paiement :</strong> Le service financier a procédé au paiement de Jean DUPONT. Vous pouvez consulter les détails : <a href="gestion_personnel.html">Gestion du personnel</a>.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Résumé des Heures -->
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Résumé des Heures</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="summary">
 | 
				
			||||||
 | 
					            <p><strong>Heures Travaillées :</strong> 120 heures</p>
 | 
				
			||||||
 | 
					            <p><strong>Heures à Payer :</strong> 30 heures</p>
 | 
				
			||||||
 | 
					            <p><a href="./gestion_personnel.html" class="btn">Voir Détails</a></p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Événements à Venir -->
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Événements à Venir</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="events">
 | 
				
			||||||
 | 
					            <ul>
 | 
				
			||||||
 | 
					                <li>Réunion des RH : 30 Octobre 2024</li>
 | 
				
			||||||
 | 
					                <li>Formation sur l'Utilisation des Outils Numériques : 5 Novembre 2024</li>
 | 
				
			||||||
 | 
					            </ul>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Script pour gérer l'affichage des notifications -->
 | 
				
			||||||
 | 
					        <script>
 | 
				
			||||||
 | 
					            const notificationsContainer = document.getElementById('notifications-container');
 | 
				
			||||||
 | 
					            const notificationsSection = document.getElementById('notifications-section');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Vérifiez si le conteneur des notifications est vide
 | 
				
			||||||
 | 
					            if (notificationsContainer.childElementCount === 0) {
 | 
				
			||||||
 | 
					                notificationsSection.style.display = 'none'; // Masquer la section si aucune notification
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        </script>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					            <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										474
									
								
								MaquetteWEB/html/VACATAIRE/mes-heures.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										474
									
								
								MaquetteWEB/html/VACATAIRE/mes-heures.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,474 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Suivi des Heures</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/VACATAIRE/mes-heures.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./vacataire.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./mes-heures.html">Heures</a>
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Paiements</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Maxime MENAULT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="dashboard-container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Offres de vacation</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="proposition-container">
 | 
				
			||||||
 | 
					            <table class="proposition-table" id="proposalTable">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Période</th>
 | 
				
			||||||
 | 
					                        <th>Formation</th>
 | 
				
			||||||
 | 
					                        <th>Nom du Cours</th>
 | 
				
			||||||
 | 
					                        <th>Semestre</th>
 | 
				
			||||||
 | 
					                        <th>Type d'intervention</th>
 | 
				
			||||||
 | 
					                        <th>Volume Prévisionnel</th>
 | 
				
			||||||
 | 
					                        <th>Actions</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Décembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>BUT1</td>
 | 
				
			||||||
 | 
					                        <td>Développement Web</td>
 | 
				
			||||||
 | 
					                        <td>1</td>
 | 
				
			||||||
 | 
					                        <td>CM, TD</td>
 | 
				
			||||||
 | 
					                        <td>8h</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="accept-button" onclick="acceptProposal(this)">Postuler</button>
 | 
				
			||||||
 | 
					                            <button class="refuse-button" onclick="confirmRefusal(this)">Refuser</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Janvier 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT2</td>
 | 
				
			||||||
 | 
					                        <td>SCR</td>
 | 
				
			||||||
 | 
					                        <td>3</td>
 | 
				
			||||||
 | 
					                        <td>TD, TP</td>
 | 
				
			||||||
 | 
					                        <td>6h</td>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <button class="accept-button" onclick="acceptProposal(this)">Postuler</button>
 | 
				
			||||||
 | 
					                            <button class="refuse-button" onclick="confirmRefusal(this)">Refuser</button>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Popup pour pièces justificatives -->
 | 
				
			||||||
 | 
					        <div id="justificatifForm" class="justificatif-form popup">
 | 
				
			||||||
 | 
					            <h3>Téléchargez vos pièces justificatives</h3>
 | 
				
			||||||
 | 
					            <p>Veuillez télécharger le document suivant :</p>
 | 
				
			||||||
 | 
					            <ul>
 | 
				
			||||||
 | 
					                <li>Contrat de travail actuel</li>
 | 
				
			||||||
 | 
					            </ul>
 | 
				
			||||||
 | 
					            <input type="file" id="justificatif" name="justificatif" required>
 | 
				
			||||||
 | 
					            <button id="submitJustificatif" onclick="submitJustificatif()">Soumettre</button>
 | 
				
			||||||
 | 
					            <button onclick="closeJustificatifPopup()">Annuler</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Prochaines heures</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="validated-hours-container card">
 | 
				
			||||||
 | 
					            <table class="validated-hours-table" id="validatedTable">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Période</th>
 | 
				
			||||||
 | 
					                        <th>Formation</th>
 | 
				
			||||||
 | 
					                        <th>Nom du Cours</th>
 | 
				
			||||||
 | 
					                        <th>Semestre</th>
 | 
				
			||||||
 | 
					                        <th>Type d'intervention</th>
 | 
				
			||||||
 | 
					                        <th>Volume Prévisionnel</th>
 | 
				
			||||||
 | 
					                        <th>Statut</th> <!-- Nouvelle colonne pour le statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody id="validatedTableBody">
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Décembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>BUT1</td>
 | 
				
			||||||
 | 
					                        <td>Développement Web</td>
 | 
				
			||||||
 | 
					                        <td>1</td>
 | 
				
			||||||
 | 
					                        <td>CM, TD</td>
 | 
				
			||||||
 | 
					                        <td>8h</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td> <!-- Statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Janvier 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT2</td>
 | 
				
			||||||
 | 
					                        <td>SCR</td>
 | 
				
			||||||
 | 
					                        <td>3</td>
 | 
				
			||||||
 | 
					                        <td>TD, TP</td>
 | 
				
			||||||
 | 
					                        <td>6h</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td> <!-- Statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Février 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT3</td>
 | 
				
			||||||
 | 
					                        <td>Base de données</td>
 | 
				
			||||||
 | 
					                        <td>5</td>
 | 
				
			||||||
 | 
					                        <td>CM</td>
 | 
				
			||||||
 | 
					                        <td>10h</td>
 | 
				
			||||||
 | 
					                        <td  class="status-valide">Validé</td> <!-- Statut -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mars 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT3</td>
 | 
				
			||||||
 | 
					                        <td>IA et Machine Learning</td>
 | 
				
			||||||
 | 
					                        <td>6</td>
 | 
				
			||||||
 | 
					                        <td>TD, TP</td>
 | 
				
			||||||
 | 
					                        <td>12h</td>
 | 
				
			||||||
 | 
					                        <td class="status-attente">En attente de traitement</td> <!-- Statut en attente -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Avril 2025</td>
 | 
				
			||||||
 | 
					                        <td>BUT2</td>
 | 
				
			||||||
 | 
					                        <td>Réseaux</td>
 | 
				
			||||||
 | 
					                        <td>4</td>
 | 
				
			||||||
 | 
					                        <td>CM, TD</td>
 | 
				
			||||||
 | 
					                        <td>4h</td>
 | 
				
			||||||
 | 
					                        <td class="status-attente">En attente de traitement</td> <!-- Statut en attente -->
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Historique des Heures Travaillées</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <div class="card">
 | 
				
			||||||
 | 
					            <div class="table-container">
 | 
				
			||||||
 | 
					                <table id="hoursTable">
 | 
				
			||||||
 | 
					                    <thead>
 | 
				
			||||||
 | 
					                        <tr>
 | 
				
			||||||
 | 
					                            <th onclick="sortTable(0)">Date ▲</th> <!-- Triable -->
 | 
				
			||||||
 | 
					                            <th>Matière</th>
 | 
				
			||||||
 | 
					                            <th>Type d'Intervention</th>
 | 
				
			||||||
 | 
					                            <th onclick="sortTable(3)">Volume Horaire ▲</th> <!-- Triable -->
 | 
				
			||||||
 | 
					                            <th onclick="sortTable(4)">Heures Travaillées ▲</th> <!-- Triable -->
 | 
				
			||||||
 | 
					                            <th>Actions</th>
 | 
				
			||||||
 | 
					                        </tr>
 | 
				
			||||||
 | 
					                    </thead>
 | 
				
			||||||
 | 
					                    <tbody id="hoursTableBody">
 | 
				
			||||||
 | 
					                        <!-- Rows will be generated dynamically with JavaScript -->
 | 
				
			||||||
 | 
					                    </tbody>
 | 
				
			||||||
 | 
					                </table>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					        <!-- Pagination Buttons -->
 | 
				
			||||||
 | 
					        <div id="pagination">
 | 
				
			||||||
 | 
					            <button onclick="prevPage()">Précédent</button>
 | 
				
			||||||
 | 
					            <span id="pageNumber"></span>
 | 
				
			||||||
 | 
					            <button onclick="nextPage()">Suivant</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Graphique des Heures Travaillées</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="chart-container">
 | 
				
			||||||
 | 
					            <canvas id="hoursChart"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="section-header">
 | 
				
			||||||
 | 
					            <h2>Signalement de problèmes d'heures</h2>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="contact-form">
 | 
				
			||||||
 | 
					            <form id="contactForm">
 | 
				
			||||||
 | 
					                <label for="probleme">Type de problème :</label>
 | 
				
			||||||
 | 
					                <select id="probleme" name="probleme" required>
 | 
				
			||||||
 | 
					                    <option value="" disabled selected>Choisir un problème</option>
 | 
				
			||||||
 | 
					                    <option value="non_paye">Il manque des heures dans mon historique</option>
 | 
				
			||||||
 | 
					                    <option value="montant_incorrect">Il y a des heures en trop</option>
 | 
				
			||||||
 | 
					                    <option value="autre">Autre</option>
 | 
				
			||||||
 | 
					                </select>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <label for="commentaire">Commentaires :</label>
 | 
				
			||||||
 | 
					                <input type="text" id="commentaire" name="commentaire" placeholder="Décrivez votre problème" required>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                <button type="submit">Soumettre</button>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Popup pour les détails du cours -->
 | 
				
			||||||
 | 
					    <div id="infoPopup" class="popup">
 | 
				
			||||||
 | 
					        <h4>Détails du la journée</h4>
 | 
				
			||||||
 | 
					        <p><strong>Promotion :</strong> <span id="promotion"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Groupe(s) :</strong> <span id="groupe"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Salle :</strong> <span id="salle"></span></p>
 | 
				
			||||||
 | 
					        <button onclick="closeInfoPopup()">Fermer</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Popup pour succès de l'envoi du formulaire -->
 | 
				
			||||||
 | 
					    <div id="popup" class="popup">
 | 
				
			||||||
 | 
					        <img src="https://img.icons8.com/ios-filled/50/155724/checkmark.png" alt="Success Icon">
 | 
				
			||||||
 | 
					        <h4>Signalement Envoyé !</h4>
 | 
				
			||||||
 | 
					        <p>Merci pour votre signalement. Nous allons traiter votre demande dans les plus brefs délais.</p>
 | 
				
			||||||
 | 
					        <button onclick="closePopup()">Fermer</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Popup de confirmation de refus -->
 | 
				
			||||||
 | 
					    <div id="confirmationPopup" class="confirmation-popup">
 | 
				
			||||||
 | 
					        <div class="confirmation-content">
 | 
				
			||||||
 | 
					            <h4>Confirmer le Refus</h4>
 | 
				
			||||||
 | 
					            <p>Êtes-vous sûr de vouloir refuser cette proposition d'heure ?</p>
 | 
				
			||||||
 | 
					            <button id="confirmRefusalButton" onclick="confirmRefusalAction()">Confirmer</button>
 | 
				
			||||||
 | 
					            <button onclick="closeConfirmationPopup()">Annuler</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div id="infoPopup" class="popup">
 | 
				
			||||||
 | 
					        <h4>Détails de l'intervention</h4>
 | 
				
			||||||
 | 
					        <p><strong>Promotion :</strong> <span id="popupPromotion"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Type de Cours :</strong> <span id="popupTypeCours"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>ETD :</strong> <span id="popupETD"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Montant :</strong> <span id="popupMontant"></span></p>
 | 
				
			||||||
 | 
					        <p><strong>Matière :</strong> <span id="popupMatiere"></span></p>
 | 
				
			||||||
 | 
					        <button onclick="closeInfoPopup()">Fermer</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="footer">
 | 
				
			||||||
 | 
					        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | <a href="html/mentions_legales.html" style="color: white;">Mentions légales</a></p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        // Données du graphique
 | 
				
			||||||
 | 
					        const ctx = document.getElementById('hoursChart').getContext('2d');
 | 
				
			||||||
 | 
					        const hoursChart = new Chart(ctx, {
 | 
				
			||||||
 | 
					            type: 'bar',
 | 
				
			||||||
 | 
					            data: {
 | 
				
			||||||
 | 
					                labels: ['Semaine 1', 'Semaine 2', 'Semaine 3', 'Semaine 4'],
 | 
				
			||||||
 | 
					                datasets: [{
 | 
				
			||||||
 | 
					                    label: 'Heures Travaillées',
 | 
				
			||||||
 | 
					                    data: [5, 10, 7, 8],
 | 
				
			||||||
 | 
					                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
 | 
				
			||||||
 | 
					                    borderColor: 'rgba(75, 192, 192, 1)',
 | 
				
			||||||
 | 
					                    borderWidth: 1
 | 
				
			||||||
 | 
					                }]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            options: {
 | 
				
			||||||
 | 
					                responsive: true,
 | 
				
			||||||
 | 
					                scales: {
 | 
				
			||||||
 | 
					                    y: {
 | 
				
			||||||
 | 
					                        beginAtZero: true,
 | 
				
			||||||
 | 
					                        title: {
 | 
				
			||||||
 | 
					                            display: true,
 | 
				
			||||||
 | 
					                            text: 'Heures'
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    x: {
 | 
				
			||||||
 | 
					                        title: {
 | 
				
			||||||
 | 
					                            display: true,
 | 
				
			||||||
 | 
					                            text: 'Semaines'
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let proposalToRemove; // Variable pour stocker la proposition à supprimer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonctions pour gérer l'acceptation et le refus
 | 
				
			||||||
 | 
					        function acceptProposal(button) {
 | 
				
			||||||
 | 
					            document.getElementById("justificatifForm").style.display = "block";
 | 
				
			||||||
 | 
					            proposalToRemove = button.closest('tr'); // Stocker la proposition à supprimer
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function confirmRefusal(button) {
 | 
				
			||||||
 | 
					            proposalToRemove = button.closest('tr');
 | 
				
			||||||
 | 
					            document.getElementById("confirmationPopup").style.display = "flex";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function confirmRefusalAction() {
 | 
				
			||||||
 | 
					            proposalToRemove.remove();
 | 
				
			||||||
 | 
					            closeConfirmationPopup();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeConfirmationPopup() {
 | 
				
			||||||
 | 
					            document.getElementById("confirmationPopup").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function submitJustificatif() {
 | 
				
			||||||
 | 
					            alert("Vos pièces justificatives ont été soumises avec succès.");
 | 
				
			||||||
 | 
					            closeJustificatifPopup(); // Cacher le formulaire
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Ajouter l'heure validée à la section des heures validées
 | 
				
			||||||
 | 
					            const validatedTableBody = document.getElementById("validatedTableBody");
 | 
				
			||||||
 | 
					            const newRow = document.createElement("tr");
 | 
				
			||||||
 | 
					            const periode = proposalToRemove.cells[0].innerText; // Récupérer la période
 | 
				
			||||||
 | 
					            const formation = proposalToRemove.cells[1].innerText; // Récupérer la formation
 | 
				
			||||||
 | 
					            const nomCours = proposalToRemove.cells[2].innerText; // Récupérer le nom du cours
 | 
				
			||||||
 | 
					            const semestre = proposalToRemove.cells[3].innerText; // Récupérer le semestre
 | 
				
			||||||
 | 
					            const typeIntervention = proposalToRemove.cells[4].innerText; // Récupérer le type d'intervention
 | 
				
			||||||
 | 
					            const volumePrevisionnel = proposalToRemove.cells[5].innerText; // Récupérer le volume prévisionnel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            newRow.innerHTML = `<td>${periode}</td><td>${formation}</td><td>${nomCours}</td><td>${semestre}</td><td>${typeIntervention}</td><td>${volumePrevisionnel}</td><td class="status-attente">En attente de traitement</td> `;
 | 
				
			||||||
 | 
					            validatedTableBody.appendChild(newRow);
 | 
				
			||||||
 | 
					            proposalToRemove.remove(); // Supprimer la proposition de l'affichage
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeJustificatifPopup() {
 | 
				
			||||||
 | 
					            document.getElementById("justificatifForm").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function getRandomBUT() {
 | 
				
			||||||
 | 
					            return "BUT" + Math.floor(Math.random() * 3 + 1);  // Génère un nombre aléatoire entre 1 et 3
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Gestion des popups
 | 
				
			||||||
 | 
					        function showDetails(promotion, groupes, salle) {
 | 
				
			||||||
 | 
					            document.getElementById("promotion").innerText = promotion;
 | 
				
			||||||
 | 
					            document.getElementById("groupe").innerText = groupes;
 | 
				
			||||||
 | 
					            document.getElementById("salle").innerText = salle;
 | 
				
			||||||
 | 
					            document.getElementById("infoPopup").style.display = "block";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closeInfoPopup() {
 | 
				
			||||||
 | 
					            document.getElementById("infoPopup").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function closePopup() {
 | 
				
			||||||
 | 
					            document.getElementById("popup").style.display = "none";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Gestion de l'envoi du formulaire de contact
 | 
				
			||||||
 | 
					        document.getElementById('contactForm').addEventListener('submit', function(event) {
 | 
				
			||||||
 | 
					            event.preventDefault();
 | 
				
			||||||
 | 
					            document.getElementById("popup").style.display = "block";
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					     <script>
 | 
				
			||||||
 | 
					        // Exemple d'un grand nombre d'heures pour l'historique
 | 
				
			||||||
 | 
					        const hoursData = [
 | 
				
			||||||
 | 
					            { date: '01/02/2024', matiere: 'SCR', type: 'CM', volume: '3 ETD', worked: '4h' },
 | 
				
			||||||
 | 
					            { date: '05/02/2024', matiere: 'Web Dev', type: 'TP', volume: '2 ETD', worked: '3h' },
 | 
				
			||||||
 | 
					            { date: '10/02/2024', matiere: 'Mathématiques', type: 'TD', volume: '4 ETD', worked: '5h' },
 | 
				
			||||||
 | 
					            { date: '15/02/2024', matiere: 'IA', type: 'CM', volume: '2 ETD', worked: '2h' },
 | 
				
			||||||
 | 
					            { date: '20/02/2024', matiere: 'Python', type: 'TP', volume: '5 ETD', worked: '7h' },
 | 
				
			||||||
 | 
					            // Ajoutez ici un grand nombre de données...
 | 
				
			||||||
 | 
					            { date: '01/03/2024', matiere: 'Réseaux', type: 'TD', volume: '3 ETD', worked: '4h' },
 | 
				
			||||||
 | 
					            { date: '10/03/2024', matiere: 'Big Data', type: 'CM', volume: '5 ETD', worked: '6h' },
 | 
				
			||||||
 | 
					            // Plusieurs lignes (simulons jusqu'à 50 lignes ou plus)...
 | 
				
			||||||
 | 
					            { date: '01/04/2024', matiere: 'Dev Mobile', type: 'TP', volume: '2 ETD', worked: '3h' },
 | 
				
			||||||
 | 
					            { date: '10/04/2024', matiere: 'Sécurité', type: 'CM', volume: '3 ETD', worked: '5h' },
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Variables pour la pagination
 | 
				
			||||||
 | 
					        const rowsPerPage = 5;
 | 
				
			||||||
 | 
					        let currentPage = 1;
 | 
				
			||||||
 | 
					        const totalRows = hoursData.length;
 | 
				
			||||||
 | 
					        const totalPages = Math.ceil(totalRows / rowsPerPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction pour afficher la table avec pagination
 | 
				
			||||||
 | 
					        function displayTable(page) {
 | 
				
			||||||
 | 
					            const start = (page - 1) * rowsPerPage;
 | 
				
			||||||
 | 
					            const end = start + rowsPerPage;
 | 
				
			||||||
 | 
					            const tableBody = document.getElementById('hoursTableBody');
 | 
				
			||||||
 | 
					            tableBody.innerHTML = ''; // Clear existing rows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const pageData = hoursData.slice(start, end);
 | 
				
			||||||
 | 
					            pageData.forEach(row => {
 | 
				
			||||||
 | 
					                const tr = document.createElement('tr');
 | 
				
			||||||
 | 
					                tr.innerHTML = `<td>${row.date}</td>
 | 
				
			||||||
 | 
					                                <td>${row.matiere}</td>
 | 
				
			||||||
 | 
					                                <td>${row.type}</td>
 | 
				
			||||||
 | 
					                                <td>${row.volume}</td>
 | 
				
			||||||
 | 
					                                <td>${row.worked}</td>
 | 
				
			||||||
 | 
					                                <td><span class="details-button" onclick="showDetails('BUT2', '1,2,3', '140')">Plus d'infos</span></td>`;
 | 
				
			||||||
 | 
					                tableBody.appendChild(tr);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            document.getElementById('pageNumber').innerText = `Page ${page} sur ${totalPages}`;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonctions pour naviguer dans la pagination
 | 
				
			||||||
 | 
					        function nextPage() {
 | 
				
			||||||
 | 
					            if (currentPage < totalPages) {
 | 
				
			||||||
 | 
					                currentPage++;
 | 
				
			||||||
 | 
					                displayTable(currentPage);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function prevPage() {
 | 
				
			||||||
 | 
					            if (currentPage > 1) {
 | 
				
			||||||
 | 
					                currentPage--;
 | 
				
			||||||
 | 
					                displayTable(currentPage);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Fonction de tri pour les colonnes
 | 
				
			||||||
 | 
					        function sortTable(n) {
 | 
				
			||||||
 | 
					            const table = document.getElementById('hoursTable');
 | 
				
			||||||
 | 
					            let rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
 | 
				
			||||||
 | 
					            switching = true;
 | 
				
			||||||
 | 
					            dir = "asc"; // Set the sorting direction to ascending
 | 
				
			||||||
 | 
					            while (switching) {
 | 
				
			||||||
 | 
					                switching = false;
 | 
				
			||||||
 | 
					                rows = table.rows;
 | 
				
			||||||
 | 
					                for (i = 1; i < (rows.length - 1); i++) {
 | 
				
			||||||
 | 
					                    shouldSwitch = false;
 | 
				
			||||||
 | 
					                    x = rows[i].getElementsByTagName("TD")[n];
 | 
				
			||||||
 | 
					                    y = rows[i + 1].getElementsByTagName("TD")[n];
 | 
				
			||||||
 | 
					                    if (dir === "asc") {
 | 
				
			||||||
 | 
					                        if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
 | 
				
			||||||
 | 
					                            shouldSwitch = true;
 | 
				
			||||||
 | 
					                            break;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    } else if (dir === "desc") {
 | 
				
			||||||
 | 
					                        if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
 | 
				
			||||||
 | 
					                            shouldSwitch = true;
 | 
				
			||||||
 | 
					                            break;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (shouldSwitch) {
 | 
				
			||||||
 | 
					                    rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
 | 
				
			||||||
 | 
					                    switching = true;
 | 
				
			||||||
 | 
					                    switchcount++;
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    if (switchcount === 0 && dir === "asc") {
 | 
				
			||||||
 | 
					                        dir = "desc";
 | 
				
			||||||
 | 
					                        switching = true;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Initial load
 | 
				
			||||||
 | 
					        displayTable(currentPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										554
									
								
								MaquetteWEB/html/VACATAIRE/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										554
									
								
								MaquetteWEB/html/VACATAIRE/mes-informations.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										402
									
								
								MaquetteWEB/html/VACATAIRE/paiements.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										402
									
								
								MaquetteWEB/html/VACATAIRE/paiements.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,402 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Suivi des Paiements</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/VACATAIRE/paiements.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./vacataire.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./mes-heures.html">Heures</a>
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Paiements</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Maxime MENAULT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="dashboard-container">
 | 
				
			||||||
 | 
					    <!-- Historique des paiements -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Historique des Paiements</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <div class="table-container">
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th data-sort="periode">Période</th>
 | 
				
			||||||
 | 
					                        <th data-sort="heuresPayees">Heures Payées</th>
 | 
				
			||||||
 | 
					                        <th data-sort="montantBrut">Montant Brut (€)</th>
 | 
				
			||||||
 | 
					                        <th data-sort="montantNet">Montant Net (€)</th>
 | 
				
			||||||
 | 
					                        <th data-sort="datePaiement">Date de Paiement</th>
 | 
				
			||||||
 | 
					                        <th data-sort="modePaiement">Mode de Paiement</th>
 | 
				
			||||||
 | 
					                        <th data-sort="compteBancaire">Compte Bancaire</th>
 | 
				
			||||||
 | 
					                        <th data-sort="statut">Statut</th>
 | 
				
			||||||
 | 
					                        <th>Bulletin de Paie</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>                
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Février 2024</td>
 | 
				
			||||||
 | 
					                        <td>20h</td>
 | 
				
			||||||
 | 
					                        <td>870,00</td>
 | 
				
			||||||
 | 
					                        <td>700,00</td>
 | 
				
			||||||
 | 
					                        <td>01/03/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mars 2024</td>
 | 
				
			||||||
 | 
					                        <td>25h</td>
 | 
				
			||||||
 | 
					                        <td>1 087,50</td>
 | 
				
			||||||
 | 
					                        <td>875,00</td>
 | 
				
			||||||
 | 
					                        <td>01/04/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Avril 2024</td>
 | 
				
			||||||
 | 
					                        <td>22h</td>
 | 
				
			||||||
 | 
					                        <td>957,00</td>
 | 
				
			||||||
 | 
					                        <td>760,00</td>
 | 
				
			||||||
 | 
					                        <td>01/05/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Mai 2024</td>
 | 
				
			||||||
 | 
					                        <td>20h</td>
 | 
				
			||||||
 | 
					                        <td>870,00</td>
 | 
				
			||||||
 | 
					                        <td>700,00</td>
 | 
				
			||||||
 | 
					                        <td>01/06/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Juin 2024</td>
 | 
				
			||||||
 | 
					                        <td>18h</td>
 | 
				
			||||||
 | 
					                        <td>783,00</td>
 | 
				
			||||||
 | 
					                        <td>625,00</td>
 | 
				
			||||||
 | 
					                        <td>01/07/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Septembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>20h</td>
 | 
				
			||||||
 | 
					                        <td>870,00</td>
 | 
				
			||||||
 | 
					                        <td>700,00</td>
 | 
				
			||||||
 | 
					                        <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-valide">Validé</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Octobre 2024</td>
 | 
				
			||||||
 | 
					                        <td>22h</td>
 | 
				
			||||||
 | 
					                        <td>957,00</td>
 | 
				
			||||||
 | 
					                        <td>760,00</td>
 | 
				
			||||||
 | 
					                        <td>01/11/2024</td>
 | 
				
			||||||
 | 
					                        <td>Virement Bancaire</td>
 | 
				
			||||||
 | 
					                        <td>Compte XXXXXX1234</td>
 | 
				
			||||||
 | 
					                        <td class="status-attente">En attente</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <p><strong>Prochain paiement prévu :</strong> Novembre 2024 (20h restantes)</p>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Graphique des paiements (brut) -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Évolution de vos Paiements</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <div class="chart-container">
 | 
				
			||||||
 | 
					            <canvas id="paymentChart"></canvas>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Formulaire pour signaler un problème -->
 | 
				
			||||||
 | 
					<!-- Formulaire pour signaler un problème -->
 | 
				
			||||||
 | 
					<div class="section-header">
 | 
				
			||||||
 | 
					    <h2>Signaler un problème de paye</h2>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					<div class="card contact-form">
 | 
				
			||||||
 | 
					    <h3>Formulaire de signalement</h3>
 | 
				
			||||||
 | 
					    <form id="contactForm">
 | 
				
			||||||
 | 
					        <label for="probleme">Sélectionnez un problème :</label>
 | 
				
			||||||
 | 
					        <select id="probleme" required>
 | 
				
			||||||
 | 
					            <option value="">-- Sélectionner un problème --</option>
 | 
				
			||||||
 | 
					            <option value="noPayment">Je n'ai pas reçu de paiement</option>
 | 
				
			||||||
 | 
					            <option value="wrongAmount">Le montant de mon salaire est inférieur à ce qui était prévu.</option>
 | 
				
			||||||
 | 
					            <option value="duplicatePayment">J'ai reçu un paiement en double</option>
 | 
				
			||||||
 | 
					            <option value="latePayment">Mon paiement est en retard</option>
 | 
				
			||||||
 | 
					            <option value="unjustifiedWithholding">Il y a une retenue sur mon paiement que je ne comprends pas</option>
 | 
				
			||||||
 | 
					            <option value="technicalIssue">J'ai des difficultés à accéder à mes bulletins de salaire en ligne</option>
 | 
				
			||||||
 | 
					        </select>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Champs supplémentaires qui s'affichent selon le problème -->
 | 
				
			||||||
 | 
					        <div id="detailsSupplementaires" style="display: none;">
 | 
				
			||||||
 | 
					            <!-- Champ pour sélectionner le mois -->
 | 
				
			||||||
 | 
					            <div id="moisEnQuestion" style="display:none;">
 | 
				
			||||||
 | 
					                <label for="mois">Sélectionner le mois :</label>
 | 
				
			||||||
 | 
					                <select id="mois">
 | 
				
			||||||
 | 
					                    <option value="">-- Sélectionner le mois --</option>
 | 
				
			||||||
 | 
					                    <option value="fevrier">Février 2024</option>
 | 
				
			||||||
 | 
					                    <option value="mars">Mars 2024</option>
 | 
				
			||||||
 | 
					                    <option value="avril">Avril 2024</option>
 | 
				
			||||||
 | 
					                    <option value="mai">Mai 2024</option>
 | 
				
			||||||
 | 
					                    <option value="juin">Juin 2024</option>
 | 
				
			||||||
 | 
					                    <option value="septembre">Septembre 2024</option>
 | 
				
			||||||
 | 
					                    <option value="octobre">Octobre 2024</option>
 | 
				
			||||||
 | 
					                </select>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Champ pour indiquer le montant reçu -->
 | 
				
			||||||
 | 
					            <div id="montantRecuSupplementaire" style="display:none;">
 | 
				
			||||||
 | 
					                <label for="montantRecu">Montant reçu (€) :</label>
 | 
				
			||||||
 | 
					                <input type="number" id="montantRecu" placeholder="Montant reçu" />
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Champ pour indiquer le montant attendu -->
 | 
				
			||||||
 | 
					            <div id="montantAttendu" style="display:none;">
 | 
				
			||||||
 | 
					                <label for="montantAttenduInput">Montant attendu (€) :</label>
 | 
				
			||||||
 | 
					                <input type="number" id="montantAttenduInput" placeholder="Montant attendu" />
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <button type="submit">Envoyer</button>
 | 
				
			||||||
 | 
					    </form>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="footer">
 | 
				
			||||||
 | 
					    <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					        <a href="html/mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Popup de confirmation -->
 | 
				
			||||||
 | 
					<div class="popup" id="popup">
 | 
				
			||||||
 | 
					    <img src="https://img.icons8.com/ios-filled/50/155724/checkmark.png" alt="Coche">
 | 
				
			||||||
 | 
					    <h4>Message envoyé</h4>
 | 
				
			||||||
 | 
					    <p>Votre message a été transmis à la direction. Un email de confirmation vous a été envoyé.</p>
 | 
				
			||||||
 | 
					    <button onclick="fermerPopup()">Fermer</button>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Script pour gérer le formulaire et le popup -->
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					document.getElementById('probleme').addEventListener('change', function() {
 | 
				
			||||||
 | 
					    var detailsSupplementaires = document.getElementById('detailsSupplementaires');
 | 
				
			||||||
 | 
					    var montantRecuSupplementaire = document.getElementById('montantRecuSupplementaire');
 | 
				
			||||||
 | 
					    var moisEnQuestion = document.getElementById('moisEnQuestion'); // Champ pour sélectionner le mois
 | 
				
			||||||
 | 
					    var montantAttendu = document.getElementById('montantAttendu'); // Champ pour indiquer le montant attendu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Masquer tous les champs au départ
 | 
				
			||||||
 | 
					    detailsSupplementaires.style.display = 'none';
 | 
				
			||||||
 | 
					    montantRecuSupplementaire.style.display = 'none';
 | 
				
			||||||
 | 
					    moisEnQuestion.style.display = 'none'; 
 | 
				
			||||||
 | 
					    montantAttendu.style.display = 'none';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Afficher les champs en fonction du problème sélectionné
 | 
				
			||||||
 | 
					    switch (this.value) {
 | 
				
			||||||
 | 
					        case 'noPayment':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'wrongAmount':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            montantRecuSupplementaire.style.display = 'block'; // Afficher le montant
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'duplicatePayment':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            montantAttendu.style.display = 'block'; // Afficher le champ pour le montant attendu
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'latePayment':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            moisEnQuestion.style.display = 'block'; // Afficher le champ pour sélectionner le mois
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'unjustifiedWithholding':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 'technicalIssue':
 | 
				
			||||||
 | 
					            detailsSupplementaires.style.display = 'block';
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            // Aucune action si aucune valeur valide n'est sélectionnée
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					document.getElementById('contactForm').addEventListener('submit', function(event) {
 | 
				
			||||||
 | 
					    event.preventDefault();
 | 
				
			||||||
 | 
					    // Afficher le popup de confirmation
 | 
				
			||||||
 | 
					    document.getElementById('popup').style.display = 'block';
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function fermerPopup() {
 | 
				
			||||||
 | 
					    document.getElementById('popup').style.display = 'none';
 | 
				
			||||||
 | 
					    // Réinitialiser le formulaire après soumission
 | 
				
			||||||
 | 
					    document.getElementById('contactForm').reset();
 | 
				
			||||||
 | 
					    document.getElementById('detailsSupplementaires').style.display = 'none';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Configuration du graphique Chart.js
 | 
				
			||||||
 | 
					const ctx = document.getElementById('paymentChart').getContext('2d');
 | 
				
			||||||
 | 
					const paymentChart = new Chart(ctx, {
 | 
				
			||||||
 | 
					    type: 'line',
 | 
				
			||||||
 | 
					    data: {
 | 
				
			||||||
 | 
					        labels: ['Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Septembre', 'Octobre'],
 | 
				
			||||||
 | 
					        datasets: [{
 | 
				
			||||||
 | 
					            label: 'Montant Brut (€)',
 | 
				
			||||||
 | 
					            data: [870, 1087.5, 957, 870, 783, 870, 957],
 | 
				
			||||||
 | 
					            borderColor: 'rgba(75, 192, 192, 1)',
 | 
				
			||||||
 | 
					            backgroundColor: 'rgba(75, 192, 192, 0.2)',
 | 
				
			||||||
 | 
					            fill: true,
 | 
				
			||||||
 | 
					            tension: 0.3,
 | 
				
			||||||
 | 
					        }]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    options: {
 | 
				
			||||||
 | 
					        responsive: true,
 | 
				
			||||||
 | 
					        scales: {
 | 
				
			||||||
 | 
					            y: {
 | 
				
			||||||
 | 
					                beginAtZero: true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        plugins: {
 | 
				
			||||||
 | 
					            legend: {
 | 
				
			||||||
 | 
					                display: true,
 | 
				
			||||||
 | 
					                position: 'top',
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					document.querySelectorAll('th[data-sort]').forEach(function (header) {
 | 
				
			||||||
 | 
					    header.addEventListener('click', function () {
 | 
				
			||||||
 | 
					        const table = header.closest('table');
 | 
				
			||||||
 | 
					        const tbody = table.querySelector('tbody');
 | 
				
			||||||
 | 
					        const rowsArray = Array.from(tbody.querySelectorAll('tr'));
 | 
				
			||||||
 | 
					        const index = Array.from(header.parentElement.children).indexOf(header);
 | 
				
			||||||
 | 
					        let order = header.dataset.order || 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Retirer les classes de tri des autres colonnes
 | 
				
			||||||
 | 
					        document.querySelectorAll('th[data-sort]').forEach(function (th) {
 | 
				
			||||||
 | 
					            th.classList.remove('ascending', 'descending');
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Appliquer la classe de tri
 | 
				
			||||||
 | 
					        if (order == 1) {
 | 
				
			||||||
 | 
					            header.classList.add('ascending');
 | 
				
			||||||
 | 
					            header.dataset.order = -1;  // Inverser l'ordre pour la prochaine fois
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            header.classList.add('descending');
 | 
				
			||||||
 | 
					            header.dataset.order = 1;  // Réinitialiser pour la prochaine fois
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Trier les lignes du tableau
 | 
				
			||||||
 | 
					        rowsArray.sort(function (rowA, rowB) {
 | 
				
			||||||
 | 
					            let cellA = rowA.children[index].innerText.trim();
 | 
				
			||||||
 | 
					            let cellB = rowB.children[index].innerText.trim();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les périodes (mois)
 | 
				
			||||||
 | 
					            if (header.dataset.sort === 'periode') {
 | 
				
			||||||
 | 
					                cellA = moisToNumero(cellA);
 | 
				
			||||||
 | 
					                cellB = moisToNumero(cellB);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les montants numériques avec des virgules
 | 
				
			||||||
 | 
					            else if (!isNaN(cellA.replace(',', '.')) && !isNaN(cellB.replace(',', '.'))) {
 | 
				
			||||||
 | 
					                return (parseFloat(cellA.replace(',', '.')) - parseFloat(cellB.replace(',', '.'))) * order;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les dates
 | 
				
			||||||
 | 
					            else if (isDate(cellA) && isDate(cellB)) {
 | 
				
			||||||
 | 
					                return (new Date(cellA) - new Date(cellB)) * order;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Gérer les textes (par défaut)
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                return cellA.localeCompare(cellB) * order;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return (cellA - cellB) * order;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Réorganiser les lignes dans le tableau
 | 
				
			||||||
 | 
					        rowsArray.forEach(function (row) {
 | 
				
			||||||
 | 
					            tbody.appendChild(row);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Fonction pour convertir les mois en numéros pour faciliter le tri
 | 
				
			||||||
 | 
					function moisToNumero(mois) {
 | 
				
			||||||
 | 
					    const moisIndex = {
 | 
				
			||||||
 | 
					        "Janvier": 1,
 | 
				
			||||||
 | 
					        "Février": 2,
 | 
				
			||||||
 | 
					        "Mars": 3,
 | 
				
			||||||
 | 
					        "Avril": 4,
 | 
				
			||||||
 | 
					        "Mai": 5,
 | 
				
			||||||
 | 
					        "Juin": 6,
 | 
				
			||||||
 | 
					        "Juillet": 7,
 | 
				
			||||||
 | 
					        "Août": 8,
 | 
				
			||||||
 | 
					        "Septembre": 9,
 | 
				
			||||||
 | 
					        "Octobre": 10,
 | 
				
			||||||
 | 
					        "Novembre": 11,
 | 
				
			||||||
 | 
					        "Décembre": 12
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Extraire le mois et l'année du texte (ex: "Février 2024")
 | 
				
			||||||
 | 
					    const [moisNom, annee] = mois.split(' ');
 | 
				
			||||||
 | 
					    return new Date(annee, moisIndex[moisNom] - 1); // Créer un objet Date
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Fonction pour vérifier si un texte est une date valide
 | 
				
			||||||
 | 
					function isDate(dateString) {
 | 
				
			||||||
 | 
					    return !isNaN(Date.parse(dateString));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										237
									
								
								MaquetteWEB/html/VACATAIRE/vacataire.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										237
									
								
								MaquetteWEB/html/VACATAIRE/vacataire.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,237 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Dashboard Vacataire</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../../css/VACATAIRE/vacataire.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="header">
 | 
				
			||||||
 | 
					        <!-- Logo pour retourner à l'accueil -->
 | 
				
			||||||
 | 
					        <div class="logo-container">
 | 
				
			||||||
 | 
					            <img src="../../media/img/logoWhite.png" alt="Logo Accueil">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Catégories dans le header -->
 | 
				
			||||||
 | 
					        <div class="categories">
 | 
				
			||||||
 | 
					            <a href="./vacataire.html">Accueil</a>
 | 
				
			||||||
 | 
					            <a href="./mes-heures.html">Heures</a>
 | 
				
			||||||
 | 
					            <a href="./paiements.html">Paiements</a>
 | 
				
			||||||
 | 
					            <a href="./mes-informations.html">Mes informations et documents</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        <!-- Section utilisateur avec déconnexion -->
 | 
				
			||||||
 | 
					        <div class="user-section">
 | 
				
			||||||
 | 
					            <div class="user-name">
 | 
				
			||||||
 | 
					                Maxime MENAULT
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="logout-container">
 | 
				
			||||||
 | 
					                <a href="../../index.html" title="Se déconnecter">
 | 
				
			||||||
 | 
					                    <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion">
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="dashboard-container">
 | 
				
			||||||
 | 
					    <!-- Alertes et Notifications -->
 | 
				
			||||||
 | 
					    <div class="section-header" id="notifications-section">
 | 
				
			||||||
 | 
					        <h2>Alertes et Notifications</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div id="notifications-container">
 | 
				
			||||||
 | 
					        <!-- Notifications -->
 | 
				
			||||||
 | 
					        <div class="alert">
 | 
				
			||||||
 | 
					            <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					            <p><strong>Propositions d'heures en attente :</strong> Vous n'avez toujours pas validé les propositions d'heures. Ces dernières seront automatiquement acceptées dans 3 jours. Merci de le faire au plus vite dans : <a href="mes-heures.html">Mes heures</a>.</p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="success">
 | 
				
			||||||
 | 
					            <span class="close" onclick="this.parentElement.style.display='none';">×</span>
 | 
				
			||||||
 | 
					            <p><strong>Pièces justificatives :</strong> Vos pièces justificatives ont été validées par le responsable pédagogique et sont accessibles dans : <a href="mes-informations.html">Mes informations et documents</a>.</p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Script pour gérer l'affichage des notifications -->
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        const notificationsContainer = document.getElementById('notifications-container');
 | 
				
			||||||
 | 
					        const notificationsSection = document.getElementById('notifications-section');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Vérifiez si le conteneur des notifications est vide
 | 
				
			||||||
 | 
					        if (notificationsContainer.childElementCount === 0) {
 | 
				
			||||||
 | 
					            notificationsSection.style.display = 'none'; // Masquer la section si aucune notification
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Emploi du Temps avec navigation de semaines -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Mon Emploi du Temps</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <!-- Navigation entre semaines -->
 | 
				
			||||||
 | 
					        <div class="week-navigation">
 | 
				
			||||||
 | 
					            <button>« Semaine précédente</button>
 | 
				
			||||||
 | 
					            <p><strong>Semaine du 18 au 24 Novembre 2024</strong></p>
 | 
				
			||||||
 | 
					            <button>Semaine suivante »</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="schedule-container">
 | 
				
			||||||
 | 
					            <table class="schedule-table">
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Heures</th>
 | 
				
			||||||
 | 
					                        <th>Lundi</th>
 | 
				
			||||||
 | 
					                        <th>Mardi</th>
 | 
				
			||||||
 | 
					                        <th>Mercredi</th>
 | 
				
			||||||
 | 
					                        <th>Jeudi</th>
 | 
				
			||||||
 | 
					                        <th>Vendredi</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">08:00 - 08:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">08:30 - 09:00</td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - SCR<br><span>Salle 224 - BUT1 Groupe 3</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">09:00 - 09:30</td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - Mathématiques<br><span>Salle 101 - BUT2 Groupe 1</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TD - SCR<br><span>Salle 305 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">09:30 - 10:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">10:00 - 10:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - SCR<br><span>Salle 305 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">10:30 - 11:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 202 - BUT1 Groupe 4</span></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">11:00 - 11:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">13:00 - 13:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 1</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">13:30 - 14:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 2</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">14:00 - 14:30</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 3</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td class="time-slot">14:30 - 15:00</td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="no-class"></td>
 | 
				
			||||||
 | 
					                        <td class="class">TP - DEV<br><span>Salle 225 - BUT1 Groupe 4</span></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Suivi des Paiements -->
 | 
				
			||||||
 | 
					    <div class="section-header">
 | 
				
			||||||
 | 
					        <h2>Suivi des Paiements</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="card">
 | 
				
			||||||
 | 
					        <div class="table-container">
 | 
				
			||||||
 | 
					            <table>
 | 
				
			||||||
 | 
					                <thead>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <th>Période</th>
 | 
				
			||||||
 | 
					                        <th>Heures Payées</th>
 | 
				
			||||||
 | 
					                        <th>Montant Brut (€)</th>
 | 
				
			||||||
 | 
					                        <th>Date de Paiement</th>
 | 
				
			||||||
 | 
					                        <th>Bulletin de paie</th>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </thead>
 | 
				
			||||||
 | 
					                <tbody>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Septembre 2024</td>
 | 
				
			||||||
 | 
					                        <td>20h</td>
 | 
				
			||||||
 | 
					                        <td>870,00</td>
 | 
				
			||||||
 | 
					                        <td>01/10/2024</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                    <tr>
 | 
				
			||||||
 | 
					                        <td>Octobre 2024</td>
 | 
				
			||||||
 | 
					                        <td>22h</td>
 | 
				
			||||||
 | 
					                        <td>957,00</td>
 | 
				
			||||||
 | 
					                        <td>En attente</td>
 | 
				
			||||||
 | 
					                        <td><a href="https://ensap.gouv.fr" target="_blank" class="btn">Voir Bulletin</a></td>
 | 
				
			||||||
 | 
					                    </tr>
 | 
				
			||||||
 | 
					                </tbody>
 | 
				
			||||||
 | 
					            </table>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <p><strong>Prochain paiement prévu :</strong> Novembre 2024 (20h restantes)</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="more-payments">
 | 
				
			||||||
 | 
					            <p><a href="./paiements.html" class="btn">Voir tous les paiements</a></p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="footer">
 | 
				
			||||||
 | 
					    <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					        <a href="../mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										49
									
								
								MaquetteWEB/html/mentions_legales.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								MaquetteWEB/html/mentions_legales.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Mentions Légales</title>
 | 
				
			||||||
 | 
					    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="../css/mentions_legales.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <h2>1. Présentation du Projet</h2>
 | 
				
			||||||
 | 
					        <p>
 | 
				
			||||||
 | 
					            Ce projet scolaire a été réalisé par six élèves de l'IUT de Fontainebleau dans le cadre de leur deuxième année de 
 | 
				
			||||||
 | 
					            BUT Informatique en alternance. L'objectif de ce projet est de comprendre comment réaliser des interfaces 
 | 
				
			||||||
 | 
					            humaines de qualité (IHM) et de développer un portail de gestion permettant aux différents utilisateurs de 
 | 
				
			||||||
 | 
					            gérer leurs informations et leurs tâches de manière efficace.
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <h2>2. Informations sur l'éditeur du site</h2>
 | 
				
			||||||
 | 
					        <p>Adresse de l'école : IUT de Fontainebleau - Route Hurtault, 77300 Fontainebleau, France</p>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <h3>Étudiants du projet :</h3>
 | 
				
			||||||
 | 
					        <ul>
 | 
				
			||||||
 | 
					            <li>Moncef STITI - <span class="email">moncef.stiti@etu.u-pec.fr</span></li>
 | 
				
			||||||
 | 
					            <li>Louay DARDOURI - <span class="email">louay.dardouri@etu.u-pec.fr</span></li>
 | 
				
			||||||
 | 
					            <li>Khalid CHENOUNA - <span class="email">khalid.chenouna@etu.u-pec.fr</span></li>
 | 
				
			||||||
 | 
					            <li>Marwa HAFSATI - <span class="email">marwa.hafsati@etu.u-pec.fr</span></li>
 | 
				
			||||||
 | 
					            <li>Lenny FOULOU - <span class="email">lenny.foulou@etu.u-pec.fr</span></li>
 | 
				
			||||||
 | 
					            <li>Alistair VAISSE - <span class="email">alistair.vaisse@etu.u-pec.fr</span></li>
 | 
				
			||||||
 | 
					        </ul>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <h3>Chef de projet :</h3>
 | 
				
			||||||
 | 
					        <p>Moncef STITI - <span class="email">moncef.stiti@etu.u-pec.fr</span></p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <h2>3. Hébergeur du site</h2>
 | 
				
			||||||
 | 
					        <p>Raison sociale : IUT de Fontainebleau</p>
 | 
				
			||||||
 | 
					        <p>Adresse : Route Hurtault, 77300 Fontainebleau, France</p>
 | 
				
			||||||
 | 
					        <p>Téléphone : +33 1 60 74 68 00</p>
 | 
				
			||||||
 | 
					        <p>E-mail : <span class="email">brouard@u-pec.fr</span></p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										80
									
								
								MaquetteWEB/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								MaquetteWEB/index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="fr">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>Connexion - Sélection de profil</title>
 | 
				
			||||||
 | 
					    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="css/index.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="w3-container w3-center">
 | 
				
			||||||
 | 
					        <!-- Titre et texte d'introduction -->
 | 
				
			||||||
 | 
					        <h1>Bienvenue sur le portail de gestion</h1>
 | 
				
			||||||
 | 
					        <p class="intro-text">Veuillez sélectionner votre profil pour accéder à votre espace personnel</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Conteneur des cartes de profil -->
 | 
				
			||||||
 | 
					        <div class="profile-container">
 | 
				
			||||||
 | 
					            <!-- Carte de Chef de département -->
 | 
				
			||||||
 | 
					            <div class="w3-card profile-card">
 | 
				
			||||||
 | 
					                <a href="./html/CHEF/chef_departement.html">
 | 
				
			||||||
 | 
					                    <img src="media/img/chef.png" alt="Chef de département">
 | 
				
			||||||
 | 
					                    <h3>Chef de département</h3>
 | 
				
			||||||
 | 
					                    <p>Accédez à la gestion des heures et au pilotage budgétaire.</p>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Carte de Responsable des études -->
 | 
				
			||||||
 | 
					            <div class="w3-card profile-card">
 | 
				
			||||||
 | 
					                <a href="./html/RH/rh.html">
 | 
				
			||||||
 | 
					                    <img src="media/img/rh.png" alt="Responsable des études">
 | 
				
			||||||
 | 
					                    <h3>Responsable RH</h3>
 | 
				
			||||||
 | 
					                    <p>Gérez les interventions, les contrats vacataires et plus encore.</p>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Carte de Responsable des études -->
 | 
				
			||||||
 | 
					            <div class="w3-card profile-card">
 | 
				
			||||||
 | 
					                <a href="./html/FINANCE/finance.html">
 | 
				
			||||||
 | 
					                    <img src="media/img/financier.png" alt="Service financier">
 | 
				
			||||||
 | 
					                    <h3>Service financier</h3>
 | 
				
			||||||
 | 
					                    <p>Gérez les finances et transferez les informations aux comptables.</p>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Carte d'Enseignant permanent -->
 | 
				
			||||||
 | 
					            <div class="w3-card profile-card">
 | 
				
			||||||
 | 
					                <a href="./html/PROF/enseignant_permanent.html">
 | 
				
			||||||
 | 
					                    <img src="media/img/prof1.png" alt="Enseignant permanent">
 | 
				
			||||||
 | 
					                    <h3>Enseignant permanent</h3>
 | 
				
			||||||
 | 
					                    <p>Validez vos heures complémentaires et consultez vos données.</p>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- Carte de Vacataire -->
 | 
				
			||||||
 | 
					            <div class="w3-card profile-card">
 | 
				
			||||||
 | 
					                <a href="./html/VACATAIRE/vacataire.html">
 | 
				
			||||||
 | 
					                    <img src="media/img/prof2.png" alt="Vacataire">
 | 
				
			||||||
 | 
					                    <h3>Enseignant vacataire</h3>
 | 
				
			||||||
 | 
					                    <p>Déclarez vos interventions et accédez à vos informations.</p>
 | 
				
			||||||
 | 
					                </a>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!-- Footer -->
 | 
				
			||||||
 | 
					        <footer>
 | 
				
			||||||
 | 
					            <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
				
			||||||
 | 
					                <a href="./html/mentions_legales.html">Mentions légales</a>
 | 
				
			||||||
 | 
					            </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <button id="dark-mode-toggle" class="w3-button">
 | 
				
			||||||
 | 
					                Activer le mode sombre
 | 
				
			||||||
 | 
					            </button>
 | 
				
			||||||
 | 
					        </footer>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script src="./js/dark-mode.js"></script> <!-- Mode sombre -->
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										22
									
								
								MaquetteWEB/js/dark-mode.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								MaquetteWEB/js/dark-mode.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					// dark-mode.js
 | 
				
			||||||
 | 
					const toggleButton = document.getElementById('dark-mode-toggle');
 | 
				
			||||||
 | 
					const body = document.body;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Vérifie si le mode sombre est déjà activé
 | 
				
			||||||
 | 
					if (localStorage.getItem('darkMode') === 'enabled') {
 | 
				
			||||||
 | 
					    body.classList.add('dark-mode');
 | 
				
			||||||
 | 
					    toggleButton.textContent = 'Désactiver le mode sombre';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Bascule entre mode sombre et clair
 | 
				
			||||||
 | 
					toggleButton.addEventListener('click', () => {
 | 
				
			||||||
 | 
					    body.classList.toggle('dark-mode');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (body.classList.contains('dark-mode')) {
 | 
				
			||||||
 | 
					        localStorage.setItem('darkMode', 'enabled');
 | 
				
			||||||
 | 
					        toggleButton.textContent = 'Désactiver le mode sombre';
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        localStorage.setItem('darkMode', 'disabled');
 | 
				
			||||||
 | 
					        toggleButton.textContent = 'Activer le mode sombre';
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/documents/VACATAIRE/CarteIdentite.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/documents/VACATAIRE/CarteIdentite.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/documents/VACATAIRE/ContratDeTravail.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/documents/VACATAIRE/ContratDeTravail.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/documents/VACATAIRE/JustificatifDomicile.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/documents/VACATAIRE/JustificatifDomicile.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/LogOut.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/LogOut.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 8.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/LogOutWhite.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/LogOutWhite.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 9.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/chef.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/chef.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 29 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/financier.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/financier.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 42 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/logoDark.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MaquetteWEB/media/img/logoDark.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 14 KiB  | 
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user