Buckets:
| <html lang="fr"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Connexion Administrateur</title> | |
| <style> | |
| body { | |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| margin: 0; | |
| padding: 0; | |
| min-height: 100vh; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| .login-container { | |
| background: rgba(255, 255, 255, 0.95); | |
| padding: 40px; | |
| border-radius: 20px; | |
| box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1); | |
| text-align: center; | |
| max-width: 400px; | |
| width: 90%; | |
| } | |
| h1 { | |
| color: #333; | |
| margin-bottom: 10px; | |
| font-size: 2em; | |
| } | |
| .subtitle { | |
| color: #666; | |
| margin-bottom: 30px; | |
| font-size: 1.1em; | |
| } | |
| .form-group { | |
| margin-bottom: 25px; | |
| } | |
| input[type="password"] { | |
| width: 100%; | |
| padding: 15px; | |
| border: 2px solid #ddd; | |
| border-radius: 10px; | |
| font-size: 1.1em; | |
| box-sizing: border-box; | |
| transition: border-color 0.3s; | |
| } | |
| input[type="password"]:focus { | |
| outline: none; | |
| border-color: #667eea; | |
| } | |
| .btn { | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| color: white; | |
| border: none; | |
| padding: 15px 30px; | |
| border-radius: 25px; | |
| font-size: 1.1em; | |
| cursor: pointer; | |
| transition: transform 0.2s, box-shadow 0.2s; | |
| width: 100%; | |
| } | |
| .btn:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); | |
| } | |
| .error { | |
| color: #ff4757; | |
| margin-top: 15px; | |
| font-size: 0.9em; | |
| } | |
| .success { | |
| color: #2ed573; | |
| margin-top: 15px; | |
| font-size: 0.9em; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="login-container"> | |
| <h1>🔐 Connexion Administrateur</h1> | |
| <p class="subtitle">Entrez le code secret pour accéder au panneau d'administration</p> | |
| <form id="loginForm"> | |
| <div class="form-group"> | |
| <input type="password" id="adminCode" placeholder="Code secret" required> | |
| </div> | |
| <button type="submit" class="btn">Se connecter</button> | |
| </form> | |
| <div id="message"></div> | |
| </div> | |
| <script> | |
| document.getElementById('loginForm').addEventListener('submit', function(e) { | |
| e.preventDefault(); | |
| const code = document.getElementById('adminCode').value; | |
| const messageDiv = document.getElementById('message'); | |
| if (code === '180201') { | |
| // Code correct - stocker en localStorage | |
| localStorage.setItem('adminLoggedIn', 'true'); | |
| localStorage.setItem('adminLoginTime', Date.now()); | |
| messageDiv.innerHTML = '<div class="success">✓ Connexion réussie ! Redirection...</div>'; | |
| // Rediriger vers la page principale | |
| setTimeout(() => { | |
| window.location.href = 'index.html'; | |
| }, 1000); | |
| } else { | |
| messageDiv.innerHTML = '<div class="error">✗ Code incorrect. Veuillez réessayer.</div>'; | |
| document.getElementById('adminCode').value = ''; | |
| document.getElementById('adminCode').focus(); | |
| } | |
| }); | |
| // Focus sur le champ au chargement | |
| document.getElementById('adminCode').focus(); | |
| </script> | |
| </body> | |
| </html> |
Xet Storage Details
- Size:
- 4.1 kB
- Xet hash:
- be5bab76dfd86db95041a485effadc7be2468a99263ef82f76537b55eaf5bea6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.