Template de carte Bootstrap pour présenter un profil utilisateur avec plan d'abonnement ENT ou PLAN.
<!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>Profil & Abonnement | AngularForAll</title>
<!-- Bootstrap 4 & Font Awesome -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/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;
padding: 50px;
font-family: 'Inter', sans-serif;
color: #333;
}
/* Style général des cartes */
.info-card {
border: none;
border-radius: 15px;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
height: 100%; /* S'assure que toutes les cartes ont la même hauteur */
display: flex;
flex-direction: column;
background: #fff;
}
.info-card:hover {
transform: translateY(-7px);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}
.card-header-custom {
background-color: transparent;
border-bottom: 1px solid #f2f4f7;
padding: 1.5rem;
display: flex;
align-items: center;
}
.card-header-custom h2 {
font-size: 1.15rem;
font-weight: 700;
color: #4e73df;
margin: 0;
}
.card-body-custom {
padding: 1.5rem;
flex-grow: 1; /* Permet au corps de prendre l'espace restant */
}
.card-footer-custom {
padding: 1.5rem;
background-color: #fcfcfd;
border-top: 1px solid #f2f4f7;
text-align: right;
border-radius: 0 0 15px 15px; /* Coins arrondis pour le footer */
}
/* Avatars et Images */
.profile-avatar {
width: 70px;
height: 70px;
border-radius: 50%;
object-fit: cover;
margin-right: 1rem;
border: 3px solid #fff;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.structure-img,
.pack-img {
width: 80px;
height: 80px;
border-radius: 10px;
object-fit: cover;
margin-bottom: 1rem;
border: 1px solid #e0e0e0;
}
/* Détails des informations */
.info-item {
display: flex;
align-items: center;
margin-bottom: 0.75rem;
font-size: 0.95rem;
color: #555;
}
.info-item i {
width: 25px;
text-align: center;
color: #888;
margin-right: 10px;
}
.info-label {
font-weight: 600;
color: #333;
min-width: 100px; /* Pour aligner les valeurs */
}
.info-value {
color: #666;
}
/* Badges de statut */
.status-badge {
font-size: 0.8rem;
font-weight: 700;
padding: 0.4em 0.8em;
border-radius: 50rem;
}
.status-active {
background-color: #e6f7ed;
color: #1cc88a;
}
.status-pending {
background-color: #fffbe6;
color: #f6c23e;
}
.status-expired {
background-color: #ffe6e6;
color: #e74a3b;
}
/* Boutons */
.btn-details {
background-color: #4e73df;
color: #fff;
border-radius: 8px;
padding: 8px 20px;
font-size: 0.9rem;
font-weight: 600;
transition: background-color 0.2s;
}
.btn-details:hover {
background-color: #2e59d9;
color: #fff;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- CARD: Mon compte -->
<div class="col-lg-4 col-md-6 mb-4">
<div class="info-card">
<div class="card-header-custom">
<img src="public/avatar.png" class="profile-avatar" alt="Avatar Utilisateur" />
<h2>Mon compte</h2>
</div>
<div class="card-body-custom">
<div class="info-item">
<span class="info-label">Nom:</span>
<span class="info-value font-weight-bold">Jean Dupont</span>
</div>
<div class="info-item">
<span class="info-label">Rôle:</span>
<span class="info-value">Administrateur</span>
</div>
<div class="info-item">
<span class="info-label">Responsabilité:</span>
<span class="info-value">Gestionnaire</span>
</div>
<div class="info-item">
<span class="info-label">ID Utilisateur:</span>
<span class="info-value text-muted">#USR-001</span>
</div>
</div>
<div class="card-footer-custom">
<a href="#" class="btn btn-details">
Voir le profil
<i class="fas fa-arrow-right ml-2"></i>
</a>
</div>
</div>
</div>
<!-- CARD: Ma structure -->
<div class="col-lg-4 col-md-6 mb-4">
<div class="info-card">
<div class="card-header-custom">
<i class="fas fa-building fa-2x mr-3" style="color: #20c997"></i>
<h2>Ma structure</h2>
</div>
<div class="card-body-custom text-center">
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Crect width='150' height='150' fill='%2320c997'/%3E%3Ctext x='50%25' y='50%25' font-family='sans-serif' font-size='18' fill='white' text-anchor='middle' dominant-baseline='middle'%3EENT%3C/text%3E%3C/svg%3E"
class="structure-img"
alt="Photo Structure"
/>
<div class="info-item justify-content-center">
<span class="info-label">Nom:</span>
<span class="info-value font-weight-bold">Tech Innov SARL</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">Type:</span>
<span class="info-value">Entreprise</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">Secteur:</span>
<span class="info-value">IT & Logiciels</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">ID Structure:</span>
<span class="info-value text-muted">#STR-005</span>
</div>
</div>
<div class="card-footer-custom">
<a href="#" class="btn btn-details">
Détails structure
<i class="fas fa-arrow-right ml-2"></i>
</a>
</div>
</div>
</div>
<!-- CARD: Mon abonnement -->
<div class="col-lg-4 col-md-12 mb-4">
<div class="info-card">
<div class="card-header-custom">
<i class="fas fa-crown fa-2x mr-3" style="color: #f6c23e"></i>
<h2>Mon abonnement</h2>
</div>
<div class="card-body-custom text-center">
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Crect width='150' height='150' fill='%23f6c23e'/%3E%3Ctext x='50%25' y='50%25' font-family='sans-serif' font-size='16' fill='white' text-anchor='middle' dominant-baseline='middle'%3EPLAN%3C/text%3E%3C/svg%3E"
class="pack-img"
alt="Photo Pack"
/>
<div class="info-item justify-content-center">
<span class="info-label">Pack:</span>
<span class="info-value font-weight-bold">Premium Pro</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">Statut:</span>
<span class="info-value status-badge status-active">Actif</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">Durée:</span>
<span class="info-value">Annuel</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">Prochaine période:</span>
<span class="info-value">12/08/2024</span>
</div>
<div class="info-item justify-content-center">
<span class="info-label">ID Abonnement:</span>
<span class="info-value text-muted">#SUB-A3B4</span>
</div>
</div>
<div class="card-footer-custom">
<a href="#" class="btn btn-details">
Gérer l'abonnement
<i class="fas fa-arrow-right ml-2"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>