alpinux-portail/web/views/layout.php
Alpinux fcdd094e26 Portail membres complet : profil, adhésion, historique, OTP
- Inscription sans redirection HelloAsso (acte volontaire séparé)
- Génération automatique d'identifiant AlpID (prenom.code mnémotechnique)
- Profil en tuiles : identité, compte, mot de passe, OTP, adhésion, adresse, connexions
- Double authentification : activation/suppression OTP via Keycloak
- Page d'accueil contextuelle (bienvenue si connecté, CTA adhésion si non adhérent)
- Historique des connexions avec statistiques et graphiques Chart.js
- Géocodage Nominatim + lien OpenStreetMap pour l'adresse
- HelloAsso : checkout intent, validation paiement, mise à jour Dolibarr

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 00:43:38 +02:00

38 lines
1.1 KiB
PHP

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= htmlspecialchars($title ?? 'Portail Alpinux') ?></title>
<link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<header>
<nav>
<a href="/" class="brand">
<img src="https://static.alpinux.org/logo/alpinux-logo.svg" alt="Alpinux" height="32">
<span>Portail membres</span>
</a>
<div class="nav-links">
<?php if ($user = current_user()): ?>
<a href="/profile.php">Mon profil</a>
<?php if ($user['is_admin']): ?>
<a href="/admin/members.php">Admin</a>
<?php endif; ?>
<a href="/logout.php" class="btn-outline">Déconnexion</a>
<?php else: ?>
<a href="/register.php">S'inscrire</a>
<a href="/auth/login.php" class="btn-primary">Connexion</a>
<?php endif; ?>
</div>
</nav>
</header>
<main>
<?php
$flash = get_flash();
if ($flash): ?>
<div class="flash flash-<?= htmlspecialchars($flash['type']) ?>">
<?= htmlspecialchars($flash['message']) ?>
</div>
<?php endif; ?>