timetrack-pro/html_forms/04_frm_SaisieTemps.html
StillHammer 7c3dd3fb31 Add VBS scripts, documentation, and HTML form templates
- Test and helper VBS scripts for VBA MCP development
- Technical reference documentation and PDFs
- HTML form templates for all 5 forms
- PowerShell and Python scripts for PDF/documentation generation

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-21 11:53:09 +07:00

281 lines
7.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TimeTrack Pro - Saisie Temps</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
padding: 40px 20px;
}
.form-section {
background: white;
border-radius: 20px;
padding: 35px;
margin-bottom: 25px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
animation: bounceIn 0.6s ease-out;
}
@keyframes bounceIn {
0% {
opacity: 0;
transform: scale(0.8);
}
50% {
transform: scale(1.02);
}
100% {
opacity: 1;
transform: scale(1);
}
}
.section-title {
color: #667eea;
font-size: 1.6em;
font-weight: bold;
margin-bottom: 25px;
padding-bottom: 12px;
border-bottom: 3px solid #667eea;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
color: #444;
font-weight: 600;
margin-bottom: 8px;
font-size: 0.95em;
}
input[type="date"],
input[type="number"],
input[type="text"],
select,
textarea {
width: 100%;
padding: 14px 18px;
border: 2px solid #e0e0e0;
border-radius: 12px;
font-size: 1em;
transition: all 0.3s ease;
font-family: inherit;
background: #f8f9fa;
}
input:focus,
select:focus,
textarea:focus {
outline: none;
border-color: #667eea;
background: white;
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
input[readonly] {
background: #e9ecef;
cursor: not-allowed;
}
textarea {
resize: vertical;
min-height: 100px;
}
button {
width: 100%;
padding: 14px 24px;
border: none;
border-radius: 12px;
font-size: 1em;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
margin-bottom: 12px;
}
button:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}
.quick-btn {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
color: white;
}
#btnEnregistrer {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
}
#btnNouveau {
background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
color: white;
}
#btnRetour {
background: linear-gradient(135deg, #757f9a 0%, #d7dde8 100%);
color: #333;
}
h1 {
text-align: center;
color: white;
font-size: 2.8em;
margin-bottom: 35px;
text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.highlight-section {
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
color: white;
}
.highlight-section .section-title {
color: white;
border-bottom-color: white;
}
.highlight-section label {
color: white;
opacity: 0.9;
}
.highlight-section input {
background: rgba(255, 255, 255, 0.2);
border: 2px solid rgba(255, 255, 255, 0.3);
color: white;
font-size: 2em;
font-weight: bold;
text-align: center;
}
.recap-section {
background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
}
.recap-section .section-title {
color: #f45c43;
border-bottom-color: #f45c43;
}
.recap-section label {
color: #333;
}
.recap-section input {
background: rgba(255, 255, 255, 0.5);
border-color: rgba(255, 255, 255, 0.8);
}
</style>
</head>
<body>
<h1>⏱️ Saisie de Temps</h1>
<div class='form-section'>
<div class='section-title'>Nouvelle Entrée</div>
<div class='form-group'>
<label>Projet</label>
<select id="cboProjet" name="ProjetID" required>
<option value="">-- Sélectionner un projet --</option>
</select>
</div>
<div class='form-group'>
<label>Date</label>
<input type="date" id="txtDate" name="Date" required>
</div>
<div class='form-group'>
<label>Durée (heures)</label>
<input type="number" id="txtDuree" name="Duree" required step="0.25" min="0.25" max="24" placeholder="3.5">
</div>
<div class='form-group'>
<label>Description</label>
<textarea id="txtDescription" name="Description" placeholder="Détaillez le travail effectué..."></textarea>
</div>
</div>
<div class='form-section'>
<div class='section-title'>Actions Rapides - Durée</div>
<div class='form-group'>
<button class="quick-btn" id="btn30min">30 min</button>
</div>
<div class='form-group'>
<button class="quick-btn" id="btn1h">1h</button>
</div>
<div class='form-group'>
<button class="quick-btn" id="btn2h">2h</button>
</div>
<div class='form-group'>
<button class="quick-btn" id="btn4h">4h</button>
</div>
<div class='form-group'>
<button class="quick-btn" id="btn8h">8h</button>
</div>
</div>
<div class='form-section highlight-section'>
<div class='section-title'>Calcul</div>
<div class='form-group'>
<label>Montant Calculé</label>
<input type="text" id="txtMontant" name="Montant" readonly value="0.00 EUR">
</div>
</div>
<div class='form-section'>
<div class='section-title'>Actions</div>
<div class='form-group'>
<button id="btnEnregistrer">💾 Enregistrer</button>
</div>
<div class='form-group'>
<button id="btnNouveau"> Nouvelle Entrée</button>
</div>
<div class='form-group'>
<button id="btnRetour">↩️ Retour</button>
</div>
</div>
<div class='form-section recap-section'>
<div class='section-title'>Récap du Jour</div>
<div class='form-group'>
<label>Entrées Aujourd'hui</label>
<input type="text" id="txtNbEntrees" name="NbEntrees" readonly value="0">
</div>
<div class='form-group'>
<label>Total Heures</label>
<input type="text" id="txtTotalJour" name="TotalJour" readonly value="0h">
</div>
</div>
</body>
</html>