Ajoute la route POST /upload (admin uniquement) et la zone de dépôt dans browse.html — glisser-déposer ou sélection multiple, destination = dossier courant du navigateur. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
45 lines
1.7 KiB
HTML
45 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{% block title %}CDN{% endblock %} — Static Alpinux</title>
|
|
<link rel="icon" type="image/x-icon" href="https://static.alpinux.org/logo/favicon.ico">
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='app.css') }}">
|
|
</head>
|
|
<body>
|
|
|
|
<header>
|
|
<div class="header-inner">
|
|
<a href="{{ url_for('dashboard') }}" class="brand">
|
|
<img src="https://static.alpinux.org/logo/alpinux-logo.png" alt="Alpinux" width="36" height="36">
|
|
<span>A<strong>l</strong>p<strong>inux</strong> <span class="brand-sub">Static</span></span>
|
|
</a>
|
|
<nav class="header-nav">
|
|
<a href="{{ url_for('dashboard') }}"
|
|
{% if request.endpoint == 'dashboard' %}class="active"{% endif %}>Tableau de bord</a>
|
|
<a href="{{ url_for('browse') }}"
|
|
{% if request.endpoint == 'browse' %}class="active"{% endif %}>Parcourir</a>
|
|
<a href="{{ url_for('stats') }}"
|
|
{% if request.endpoint in ('stats', 'stats_report') %}class="active"{% endif %}>Statistiques</a>
|
|
</nav>
|
|
<form class="header-search" action="{{ url_for('search') }}" method="get" role="search">
|
|
<input type="search" name="q" placeholder="Rechercher…"
|
|
value="{{ request.args.get('q', '') }}" aria-label="Recherche">
|
|
<button type="submit" aria-label="Lancer la recherche">🔍</button>
|
|
</form>
|
|
<div class="header-user">
|
|
{% if user %}
|
|
<span>{{ user.name }}</span>
|
|
<a href="{{ url_for('logout') }}" class="btn-logout">Déconnexion</a>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
|
|
</body>
|
|
</html>
|