<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page non trouvée - Erreur 404</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
color: #fff;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: 20px;
overflow-x: hidden;
}
.container {
max-width: 800px;
width: 100%;
padding: 40px;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 20px;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.1);
position: relative;
overflow: hidden;
}
.error-code {
font-size: 150px;
font-weight: 900;
line-height: 1;
margin-bottom: 20px;
text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
animation: pulse 2s infinite;
}
h1 {
font-size: 2.5rem;
margin-bottom: 20px;
font-weight: 700;
}
p {
font-size: 1.2rem;
margin-bottom: 30px;
line-height: 1.6;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
margin-top: 30px;
}
.btn {
padding: 15px 30px;
border-radius: 50px;
text-decoration: none;
font-weight: 600;
font-size: 1rem;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
border: none;
}
.btn-primary {
background: #fff;
color: #6a11cb;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.btn-secondary {
background: transparent;
color: #fff;
border: 2px solid rgba(255, 255, 255, 0.5);
}
.btn:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}
.btn-primary:hover {
background: #f0f0f0;
}
.btn-secondary:hover {
background: rgba(255, 255, 255, 0.1);
border-color: #fff;
}
.search-box {
max-width: 500px;
margin: 30px auto;
display: flex;
background: rgba(255, 255, 255, 0.2);
border-radius: 50px;
overflow: hidden;
padding: 5px;
}
.search-box input {
flex: 1;
padding: 15px 20px;
border: none;
background: transparent;
color: #fff;
font-size: 1rem;
outline: none;
}
.search-box input::placeholder {
color: rgba(255, 255, 255, 0.7);
}
.search-box button {
padding: 15px 25px;
background: #fff;
color: #6a11cb;
border: none;
border-radius: 50px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
}
.search-box button:hover {
background: #f0f0f0;
}
.animation-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
overflow: hidden;
}
.circle {
position: absolute;
border-radius: 50%;
background: rgba(255, 255, 255, 0.1);
animation: float 15s infinite linear;
}
.circle:nth-child(1) {
width: 100px;
height: 100px;
top: 10%;
left: 10%;
animation-delay: 0s;
}
.circle:nth-child(2) {
width: 150px;
height: 150px;
top: 60%;
left: 80%;
animation-delay: 2s;
}
.circle:nth-child(3) {
width: 70px;
height: 70px;
top: 80%;
left: 20%;
animation-delay: 4s;
}
.circle:nth-child(4) {
width: 120px;
height: 120px;
top: 30%;
left: 70%;
animation-delay: 6s;
}
.circle:nth-child(5) {
width: 90px;
height: 90px;
top: 50%;
left: 10%;
animation-delay: 8s;
}
@keyframes float {
0% {
transform: translateY(0) rotate(0deg);
opacity: 1;
}
100% {
transform: translateY(-1000px) rotate(720deg);
opacity: 0;
}
}
@keyframes pulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
.icon {
font-size: 1.5rem;
margin-right: 10px;
}
@media (max-width: 768px) {
.error-code {
font-size: 120px;
}
h1 {
font-size: 2rem;
}
p {
font-size: 1rem;
}
.buttons {
flex-direction: column;
align-items: center;
}
.btn {
width: 100%;
max-width: 300px;
}
}
@media (max-width: 480px) {
.error-code {
font-size: 100px;
}
h1 {
font-size: 1.8rem;
}
.container {
padding: 30px 20px;
}
}
</style>
</head>
<body>
<div class="animation-container">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="container">
<div class="error-code">404</div>
<h1>Oups ! Page non trouvée</h1>
<p>Désolé, la page que vous recherchez n'existe pas ou a été déplacée.
Contactez notre support.</p>
<div class="buttons">
<a href="mailto:support@cimef-technologies.com" class="btn btn-secondary">
<span class="icon">✉️</span> Contacter le support
</a>
</div>
<!--
<div class="search-box">
<input type="text" placeholder="Que cherchez-vous ?">
<button>Rechercher</button>
</div>
<div class="buttons">
<a href="/" class="btn btn-primary">
<span class="icon">🏠</span> Retour à l'accueil
</a>
<a href="#" class="btn btn-secondary" onclick="history.back()">
<span class="icon">↩️</span> Page précédente
</a>
<a href="mailto:support@example.com" class="btn btn-secondary">
<span class="icon">✉️</span> Contacter le support
</a>
</div>
-->
</div>
<script>
// Animation des cercles flottants
document.addEventListener('DOMContentLoaded', function() {
const circles = document.querySelectorAll('.circle');
circles.forEach(circle => {
// Position aléatoire
circle.style.left = Math.random() * 100 + '%';
circle.style.top = Math.random() * 100 + '%';
// Taille aléatoire
const size = Math.random() * 100 + 50;
circle.style.width = size + 'px';
circle.style.height = size + 'px';
// Animation avec délai aléatoire
circle.style.animationDelay = Math.random() * 10 + 's';
});
// Animation du code d'erreur
const errorCode = document.querySelector('.error-code');
setInterval(() => {
errorCode.style.animation = 'none';
setTimeout(() => {
errorCode.style.animation = 'pulse 2s infinite';
}, 10);
}, 4000);
// Fonction de recherche
const searchButton = document.querySelector('.search-box button');
const searchInput = document.querySelector('.search-box input');
searchButton.addEventListener('click', function() {
if (searchInput.value.trim() !== '') {
alert('Recherche de: ' + searchInput.value);
// Dans une vraie application, vous redirigeriez vers une page de résultats
}
});
searchInput.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
searchButton.click();
}
});
});
</script>
</body>
</html>