Template Bootstrap de dashboard avec cartes en liste pour afficher des données structurées et filtrables.
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="copyright" content="MEZGANI Said" />
<meta name="author" content="AngularForAll" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Dashboard List Cards | AngularForAll</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" />
<style>
body {
background-color: #f0f2f5;
font-family: 'Inter', 'Segoe UI', sans-serif;
padding: 30px 0;
}
.main-card {
border: none;
border-radius: 15px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
background: #fff;
margin-bottom: 30px;
overflow: hidden;
}
.card-header {
background: #fff;
border-bottom: 1px solid #f0f2f5;
padding: 1.5rem;
}
.card-header h5 {
margin: 0;
font-weight: 800;
color: #1a1f36;
text-transform: uppercase;
font-size: 0.9rem;
letter-spacing: 1px;
}
/* List Item Style */
.list-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 1.5rem;
transition: all 0.2s ease;
border-bottom: 1px solid #f8f9fa;
}
.list-item:last-child {
border-bottom: none;
}
.list-item:hover {
background-color: #f8faff;
transform: scale(1.01);
}
.icon-box {
width: 40px;
height: 40px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
font-size: 1rem;
}
/* Colors */
.bg-sub {
background: #eef2ff;
color: #4e73df;
}
.bg-order {
background: #e6fffa;
color: #1cc88a;
}
.bg-feat {
background: #fef8e7;
color: #f6c23e;
}
.bg-user {
background: #e0f7fa;
color: #36b9cc;
}
.bg-supp {
background: #fff5f5;
color: #e74a3b;
}
.item-title {
font-weight: 700;
color: #3c4858;
margin-bottom: 0;
font-size: 0.9rem;
}
.item-label {
font-size: 0.8rem;
color: #8492a6;
}
.status-badge {
font-size: 0.7rem;
font-weight: 700;
padding: 5px 10px;
border-radius: 6px;
text-transform: uppercase;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- 1. ABONNEMENTS -->
<div class="col-lg-6 col-xl-4">
<div class="main-card">
<div class="card-header">
<h5>
<i class="fas fa-medal mr-2 text-primary"></i>
Abonnements
</h5>
</div>
<div class="list-group list-group-flush">
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-sub"><i class="fas fa-crown"></i></div>
<div>
<p class="item-title">Plan Gold</p>
<p class="item-label">Expire le 12/2024</p>
</div>
</div>
<span class="status-badge badge-success">Actif</span>
</div>
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-sub"><i class="fas fa-bolt"></i></div>
<div>
<p class="item-title">Add-on API</p>
<p class="item-label">Illimité</p>
</div>
</div>
<span class="status-badge badge-primary">Inclus</span>
</div>
</div>
</div>
</div>
<!-- 2. COMMANDES -->
<div class="col-lg-6 col-xl-4">
<div class="main-card">
<div class="card-header">
<h5>
<i class="fas fa-shopping-bag mr-2 text-success"></i>
Commandes
</h5>
</div>
<div class="list-group list-group-flush">
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-order"><i class="fas fa-receipt"></i></div>
<div>
<p class="item-title">CMD #8842</p>
<p class="item-label">Par Jean D.</p>
</div>
</div>
<span class="status-badge badge-warning">En cours</span>
</div>
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-order"><i class="fas fa-check"></i></div>
<div>
<p class="item-title">CMD #8841</p>
<p class="item-label">Par Marie K.</p>
</div>
</div>
<span class="status-badge badge-success">Livré</span>
</div>
</div>
</div>
</div>
<!-- 3. FONCTIONNALITÉS -->
<div class="col-lg-6 col-xl-4">
<div class="main-card">
<div class="card-header">
<h5>
<i class="fas fa-cubes mr-2 text-warning"></i>
Modules
</h5>
</div>
<div class="list-group list-group-flush">
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-feat"><i class="fas fa-robot"></i></div>
<div>
<p class="item-title">IA Automate</p>
<p class="item-label">v2.4.0</p>
</div>
</div>
<span class="status-badge badge-info">ON</span>
</div>
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-feat"><i class="fas fa-cloud"></i></div>
<div>
<p class="item-title">Cloud Sync</p>
<p class="item-label">Synchronisé</p>
</div>
</div>
<span class="status-badge badge-info">ON</span>
</div>
</div>
</div>
</div>
<!-- 4. EFFECTIF UTILISATEURS -->
<div class="col-lg-6">
<div class="main-card">
<div class="card-header">
<h5>
<i class="fas fa-users mr-2 text-info"></i>
Effectif Total
</h5>
</div>
<div class="list-group list-group-flush">
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-user"><i class="fas fa-user-shield"></i></div>
<div>
<p class="item-title">Administrateurs</p>
<p class="item-label">Accès complet</p>
</div>
</div>
<span class="h6 mb-0 font-weight-bold">12</span>
</div>
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-user"><i class="fas fa-user-edit"></i></div>
<div>
<p class="item-title">Éditeurs / Staff</p>
<p class="item-label">Gestion contenu</p>
</div>
</div>
<span class="h6 mb-0 font-weight-bold">844</span>
</div>
</div>
</div>
</div>
<!-- 5. SUPPORT -->
<div class="col-lg-6">
<div class="main-card">
<div class="card-header">
<h5>
<i class="fas fa-headset mr-2 text-danger"></i>
Support Total
</h5>
</div>
<div class="list-group list-group-flush">
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-supp"><i class="fas fa-exclamation-circle"></i></div>
<div>
<p class="item-title">Tickets Ouverts</p>
<p class="item-label">Attente réponse</p>
</div>
</div>
<span class="status-badge badge-danger">12 Urgents</span>
</div>
<div class="list-item">
<div class="d-flex align-items-center">
<div class="icon-box bg-supp"><i class="fas fa-check-double"></i></div>
<div>
<p class="item-title">Tickets Résolus</p>
<p class="item-label">Dernières 24h</p>
</div>
</div>
<span class="status-badge badge-light">45 Clos</span>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>