abdou / index.html
Abdou2003's picture
tu cree des code python - Initial Deployment
7d70a42 verified
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gestion Clients - Système Entreprise</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: '#2563eb',
secondary: '#64748b',
accent: '#f59e0b',
}
}
}
}
</script>
<style>
.sidebar {
transition: all 0.3s ease;
}
@media (max-width: 768px) {
.sidebar {
transform: translateX(-100%);
position: fixed;
z-index: 50;
height: 100vh;
}
.sidebar.open {
transform: translateX(0);
}
}
.chart-container {
position: relative;
height: 300px;
}
</style>
</head>
<body class="bg-gray-50 font-sans">
<!-- Navigation mobile -->
<div class="fixed top-0 left-0 right-0 bg-white shadow-md p-4 flex justify-between items-center md:hidden z-50">
<h1 class="text-xl font-bold text-primary">ClientManager</h1>
<button id="mobile-menu-button" class="text-gray-600">
<i class="fas fa-bars text-xl"></i>
</button>
</div>
<div class="flex">
<!-- Sidebar -->
<div class="sidebar bg-white w-64 min-h-screen shadow-md fixed md:relative">
<div class="p-5 border-b">
<h1 class="text-2xl font-bold text-primary hidden md:block">ClientManager</h1>
</div>
<nav class="mt-6">
<div class="px-4 py-2 text-secondary uppercase text-xs font-semibold">Navigation</div>
<a href="#" class="flex items-center px-6 py-3 text-primary bg-blue-50 border-r-4 border-primary">
<i class="fas fa-home mr-3"></i>
Tableau de bord
</a>
<a href="#" class="flex items-center px-6 py-3 text-gray-600 hover:bg-gray-100">
<i class="fas fa-users mr-3"></i>
Clients
</a>
<a href="#" class="flex items-center px-6 py-3 text-gray-600 hover:bg-gray-100">
<i class="fas fa-database mr-3"></i>
Base de données
</a>
<a href="#" class="flex items-center px-6 py-3 text-gray-600 hover:bg-gray-100">
<i class="fas fa-chart-bar mr-3"></i>
Rapports
</a>
<a href="#" class="flex items-center px-6 py-3 text-gray-600 hover:bg-gray-100">
<i class="fas fa-cog mr-3"></i>
Paramètres
</a>
</nav>
<div class="absolute bottom-0 w-full p-4 border-t">
<div class="flex items-center">
<div class="w-10 h-10 rounded-full bg-primary flex items-center justify-center text-white">
<i class="fas fa-user"></i>
</div>
<div class="ml-3">
<p class="text-sm font-semibold">Admin</p>
<p class="text-xs text-gray-500">Administrateur</p>
</div>
</div>
</div>
</div>
<!-- Main content -->
<div class="flex-1 md:ml-0">
<div class="p-6 md:p-8">
<div class="mb-6">
<h2 class="text-2xl font-bold text-gray-800">Tableau de bord</h2>
<p class="text-gray-600">Vue d'ensemble de votre gestion client</p>
</div>
<!-- Stats cards -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-blue-100 text-primary">
<i class="fas fa-users text-xl"></i>
</div>
<div class="ml-4">
<p class="text-gray-600">Clients totaux</p>
<h3 class="text-2xl font-bold">248</h3>
</div>
</div>
<div class="mt-4">
<p class="text-green-500 text-sm"><i class="fas fa-arrow-up"></i> 12% depuis le mois dernier</p>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-green-100 text-green-500">
<i class="fas fa-database text-xl"></i>
</div>
<div class="ml-4">
<p class="text-gray-600">Enregistrements</p>
<h3 class="text-2xl font-bold">5,248</h3>
</div>
</div>
<div class="mt-4">
<p class="text-green-500 text-sm"><i class="fas fa-arrow-up"></i> 8% depuis le mois dernier</p>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-orange-100 text-accent">
<i class="fas fa-chart-pie text-xl"></i>
</div>
<div class="ml-4">
<p class="text-gray-600">Rapports générés</p>
<h3 class="text-2xl font-bold">42</h3>
</div>
</div>
<div class="mt-4">
<p class="text-green-500 text-sm"><i class="fas fa-arrow-up"></i> 5% depuis le mois dernier</p>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-purple-100 text-purple-500">
<i class="fas fa-tasks text-xl"></i>
</div>
<div class="ml-4">
<p class="text-gray-600">Tâches en cours</p>
<h3 class="text-2xl font-bold">18</h3>
</div>
</div>
<div class="mt-4">
<p class="text-red-500 text-sm"><i class="fas fa-arrow-down"></i> 2% depuis le mois dernier</p>
</div>
</div>
</div>
<!-- Charts and recent activity -->
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8">
<div class="lg:col-span-2 bg-white rounded-lg shadow p-6">
<h3 class="text-lg font-semibold mb-4">Évolution des clients</h3>
<div class="chart-container">
<canvas id="clientChart"></canvas>
</div>
</div>
<div class="bg-white rounded-lg shadow p-6">
<h3 class="text-lg font-semibold mb-4">Activité récente</h3>
<div class="space-y-4">
<div class="flex items-start">
<div class="p-2 rounded-full bg-blue-100 text-primary mt-1">
<i class="fas fa-user-plus"></i>
</div>
<div class="ml-3">
<p class="font-medium">Nouveau client ajouté</p>
<p class="text-sm text-gray-500">Société ABC • Il y a 10 min</p>
</div>
</div>
<div class="flex items-start">
<div class="p-2 rounded-full bg-green-100 text-green-500 mt-1">
<i class="fas fa-file-export"></i>
</div>
<div class="ml-3">
<p class="font-medium">Rapport exporté</p>
<p class="text-sm text-gray-500">Rapport mensuel • Il y a 2 h</p>
</div>
</div>
<div class="flex items-start">
<div class="p-2 rounded-full bg-purple-100 text-purple-500 mt-1">
<i class="fas fa-database"></i>
</div>
<div class="ml-3">
<p class="font-medium">Base de données mise à jour</p>
<p class="text-sm text-gray-500">Sauvegarde effectuée • Il y a 5 h</p>
</div>
</div>
<div class="flex items-start">
<div class="p-2 rounded-full bg-yellow-100 text-yellow-500 mt-1">
<i class="fas fa-bell"></i>
</div>
<div class="ml-3">
<p class="font-medium">Notification système</p>
<p class="text-sm text-gray-500">Mise à jour disponible • Hier</p>
</div>
</div>
</div>
</div>
</div>
<!-- Recent clients table -->
<div class="bg-white rounded-lg shadow overflow-hidden">
<div class="px-6 py-4 border-b flex justify-between items-center">
<h3 class="text-lg font-semibold">Clients récents</h3>
<button class="bg-primary text-white px-4 py-2 rounded-lg text-sm">Nouveau client</button>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Client</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Email</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Téléphone</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Statut</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="h-10 w-10 flex-shrink-0 bg-blue-100 rounded-full flex items-center justify-center text-blue-600">
<i class="fas fa-building"></i>
</div>
<div class="ml-4">
<div class="font-medium text-gray-900">Entreprise ABC</div>
<div class="text-gray-500">Technologie</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">contact@abc.com</td>
<td class="px-6 py-4 whitespace-nowrap">+33 1 23 45 67 89</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Actif</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<button class="text-blue-600 hover:text-blue-900 mr-3"><i class="fas fa-edit"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash"></i></button>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="h-10 w-10 flex-shrink-0 bg-green-100 rounded-full flex items-center justify-center text-green-600">
<i class="fas fa-store"></i>
</div>
<div class="ml-4">
<div class="font-medium text-gray-900">Société XYZ</div>
<div class="text-gray-500">Commerce</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">info@xyz.fr</td>
<td class="px-6 py-4 whitespace-nowrap">+33 1 98 76 54 32</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Actif</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<button class="text-blue-600 hover:text-blue-900 mr-3"><i class="fas fa-edit"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash"></i></button>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="h-10 w-10 flex-shrink-0 bg-yellow-100 rounded-full flex items-center justify-center text-yellow-600">
<i class="fas fa-industry"></i>
</div>
<div class="ml-4">
<div class="font-medium text-gray-900">Manufacturing Inc</div>
<div class="text-gray-500">Production</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">contact@manufacturing.com</td>
<td class="px-6 py-4 whitespace-nowrap">+33 1 45 67 89 10</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">En attente</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<button class="text-blue-600 hover:text-blue-900 mr-3"><i class="fas fa-edit"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash"></i></button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
// Mobile menu toggle
document.getElementById('mobile-menu-button').addEventListener('click', function() {
document.querySelector('.sidebar').classList.toggle('open');
});
// Simple chart using canvas
document.addEventListener('DOMContentLoaded', function() {
const canvas = document.getElementById('clientChart');
const ctx = canvas.getContext('2d');
// Set canvas dimensions
canvas.width = canvas.parentElement.offsetWidth;
canvas.height = canvas.parentElement.offsetHeight;
// Draw a simple line chart
ctx.beginPath();
ctx.moveTo(50, 250);
ctx.lineTo(100, 200);
ctx.lineTo(150, 220);
ctx.lineTo(200, 150);
ctx.lineTo(250, 180);
ctx.lineTo(300, 120);
ctx.lineTo(350, 160);
ctx.strokeStyle = '#2563eb';
ctx.lineWidth = 3;
ctx.stroke();
// Add data points
const points = [[50, 250], [100, 200], [150, 220], [200, 150], [250, 180], [300, 120], [350, 160]];
points.forEach(point => {
ctx.beginPath();
ctx.arc(point[0], point[1], 5, 0, 2 * Math.PI);
ctx.fillStyle = '#2563eb';
ctx.fill();
});
// Add labels
ctx.fillStyle = '#64748b';
ctx.font = '12px sans-serif';
ctx.fillText('Jan', 45, 270);
ctx.fillText('Fév', 95, 270);
ctx.fillText('Mar', 145, 270);
ctx.fillText('Avr', 195, 270);
ctx.fillText('Mai', 245, 270);
ctx.fillText('Juin', 295, 270);
ctx.fillText('Juil', 345, 270);
ctx.textAlign = 'right';
ctx.fillText('250', 40, 255);
ctx.fillText('200', 40, 205);
ctx.fillText('150', 40, 155);
ctx.fillText('100', 40, 105);
ctx.fillText('50', 40, 55);
// Draw grid lines
ctx.strokeStyle = '#e2e8f0';
ctx.lineWidth = 1;
// Horizontal lines
for (let i = 0; i < 5; i++) {
ctx.beginPath();
ctx.moveTo(50, 50 + i * 50);
ctx.lineTo(350, 50 + i * 50);
ctx.stroke();
}
// Vertical lines
for (let i = 0; i < 7; i++) {
ctx.beginPath();
ctx.moveTo(50 + i * 50, 50);
ctx.lineTo(50 + i * 50, 250);
ctx.stroke();
}
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Abdou2003/abdou" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>