'use client' import { motion } from 'framer-motion' import { useInView } from 'framer-motion' import { useRef } from 'react' import { Clock, Database, Key, Shield, Bug, FileText } from 'lucide-react' const timelineItems = [ { time: '24/7', title: 'Surveillance Continue', status: 'Actif', description: 'Surveillance 24/7 avec détection automatique des menaces', metrics: ['99.9% Uptime', '0 Incidents'], icon: Clock, gradient: 'from-security-accent to-green-500', }, { time: 'T+2min', title: 'Sauvegarde Automatique', status: 'À jour', description: 'Sauvegarde incrémentielle toutes les 2 minutes', metrics: ['100% Intégrité', '3x Redondance'], icon: Database, gradient: 'from-blue-500 to-cyan-500', }, { time: 'T+5min', title: 'Rotation des Clés', status: 'Renouvelé', description: 'Rotation automatique des clés de chiffrement', metrics: ['AES-256', '4096 Bits RSA'], icon: Key, gradient: 'from-purple-500 to-pink-500', }, { time: 'T+10min', title: 'Audit de Sécurité', status: 'Validé', description: 'Vérification automatique des permissions', metrics: ['100% Conformité', '0 Anomalies'], icon: Shield, gradient: 'from-yellow-500 to-orange-500', }, { time: 'T+15min', title: 'Test de Pénétration', status: 'Réussi', description: 'Test automatique des vulnérabilités', metrics: ['0 Vulnérabilités', '100% Protection'], icon: Bug, gradient: 'from-red-500 to-pink-500', }, { time: 'T+30min', title: 'Rapport de Sécurité', status: 'Généré', description: 'Rapport détaillé des activités de sécurité', metrics: ['ISO 27001', 'RGPD Conformité'], icon: FileText, gradient: 'from-teal-500 to-cyan-500', }, ] export default function Timeline() { const ref = useRef(null) const isInView = useInView(ref, { once: true, margin: '-100px' }) return (
{/* Centered Header */}

Timeline de Sécurité

Protection continue de votre infrastructure

{/* Horizontal Timeline - Cards in a Row */}
{timelineItems.map((item, index) => ( {/* Time Badge */}
{item.time}

{item.title}

{item.description}

{item.metrics.map((metric, idx) => (
• {metric}
))}
{/* Status Badge */}
{item.status}
))}
) }