diff --git a/TODO.md b/TODO.md index 3cfcdc2..a5751a6 100644 --- a/TODO.md +++ b/TODO.md @@ -3,15 +3,15 @@ ## Template Simplification — Remove Custom Classes Where Semantic HTML Suffices ### CSS class audit: replace with semantic selectors -- [ ] **`admin.css`**: Replace `.admin-main` with `.admin-body main` — only one `
` per page -- [ ] **`admin.css`**: Replace `.admin-page-title` with `.admin-body main > h1` — always the first `h1` in `
` +- [x] **`admin.css`**: Replace `.admin-main` with `.admin-body main` — only one `
` per page +- [x] **`admin.css`**: Replace `.admin-page-title` with `.admin-body main > h1` — always the first `h1` in `
` - [ ] **`admin.css`**: Replace `.admin-alert` / `.admin-alert--error` / `.admin-alert--success` with `[role="alert"]` or `.admin-body main > .alert` using `data-type="error|success"` attribute instead of modifier classes - [ ] **`admin.css`**: Replace `.admin-form-row` with `.admin-body form > div` or `.admin-body form > .row` — form rows are always direct `
` children of `
` - [ ] **`admin.css`**: Replace `.admin-label` with `.admin-body form label` — every label in admin forms - [ ] **`admin.css`**: Replace `.admin-input` / `.admin-select` / `.admin-textarea` with `.admin-body form input[type="text"]`, `.admin-body form select`, `.admin-body form textarea` — leverage native element selectors - [x] **`admin.css`**: Replace `.admin-hint` with `.admin-body form small` — use `` instead of `

` -- [ ] **`admin.css`**: Replace `.admin-table` with `.admin-body table` — only one table per admin page -- [ ] **`admin.css`**: Replace `.admin-fieldset` / `.admin-fieldset-legend` with `.admin-body fieldset` / `.admin-body legend` +- [x] **`admin.css`**: Replace `.admin-table` with `.admin-body table` — only one table per admin page +- [x] **`admin.css`**: Replace `.admin-fieldset` / `.admin-fieldset-legend` with `.admin-body fieldset` / `.admin-body legend` - [x] **`main.css`**: Replace `.card__caption` with `.home-body .cards-container li p` or target `li > a > p` directly - [x] **`main.css`**: Replace `.card__media` with `.home-body figure` — already uses `

` elements - [x] **`tfe.css`**: Replace `.tfe-meta-list` selectors with `article dl`, `article dt`, `article dd` — already using `
` inside `
` diff --git a/public/admin/account.php b/public/admin/account.php index 4b6eb7f..2ca4af1 100644 --- a/public/admin/account.php +++ b/public/admin/account.php @@ -19,8 +19,8 @@ if (empty($_SESSION['csrf_token'])) { -
-

Compte administrateur

+
+

Compte administrateur

diff --git a/public/admin/add.php b/public/admin/add.php index 2a77440..96fb7f7 100644 --- a/public/admin/add.php +++ b/public/admin/add.php @@ -42,8 +42,8 @@ function wasSelected($key, $value) { -
-

Ajouter un TFE

+
+

Ajouter un TFE

@@ -81,8 +81,8 @@ function wasSelected($key, $value) {
-
- Composition du jury +
+ Composition du jury
diff --git a/public/admin/edit.php b/public/admin/edit.php index 752336b..9a4e8f9 100644 --- a/public/admin/edit.php +++ b/public/admin/edit.php @@ -64,8 +64,8 @@ try { -
-

Modifier un TFE

+
+

Modifier un TFE

@@ -148,8 +148,8 @@ try { } } ?> -
- Composition du jury +
+ Composition du jury
diff --git a/public/admin/import.php b/public/admin/import.php index 55c4aaf..45e7287 100644 --- a/public/admin/import.php +++ b/public/admin/import.php @@ -320,8 +320,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['csv_file'])) { -
-

Importer une liste de TFE

+
+

Importer une liste de TFE

diff --git a/public/admin/index.php b/public/admin/index.php index 1a251bf..5e267ea 100644 --- a/public/admin/index.php +++ b/public/admin/index.php @@ -64,8 +64,8 @@ document.addEventListener('DOMContentLoaded', () => { }); -
-

Liste des TFE

+
+

Liste des TFE

@@ -157,7 +157,7 @@ document.addEventListener('DOMContentLoaded', () => {

Aucun TFE trouvé.

- +
diff --git a/public/admin/pages-edit.php b/public/admin/pages-edit.php index 47acdde..6ccff26 100644 --- a/public/admin/pages-edit.php +++ b/public/admin/pages-edit.php @@ -81,8 +81,8 @@ JS; -
-

Éditer :

+
+

Éditer :

diff --git a/public/admin/pages.php b/public/admin/pages.php index ef3f83d..4f28ce2 100644 --- a/public/admin/pages.php +++ b/public/admin/pages.php @@ -21,14 +21,14 @@ unset($_SESSION['success']); -
-

Pages statiques

+
+

Pages statiques

-
+
diff --git a/public/admin/system.php b/public/admin/system.php index b993c37..8c3245f 100644 --- a/public/admin/system.php +++ b/public/admin/system.php @@ -372,8 +372,8 @@ require_once APP_ROOT . '/templates/head.php'; -
-

Système

+
+

Système

Affiché le — diff --git a/public/admin/tags.php b/public/admin/tags.php index 443b751..6b3f4d6 100644 --- a/public/admin/tags.php +++ b/public/admin/tags.php @@ -25,8 +25,8 @@ unset($_SESSION['admin_error'], $_SESSION['admin_success']); -

-

Mots-clés ()

+
+

Mots-clés ()

@@ -35,7 +35,7 @@ unset($_SESSION['admin_error'], $_SESSION['admin_success']);
-
Slug
+
diff --git a/public/admin/thanks.php b/public/admin/thanks.php index b273764..669e80d 100644 --- a/public/admin/thanks.php +++ b/public/admin/thanks.php @@ -65,8 +65,8 @@ $pageTitle = "Récapitulatif TFE"; -
-

Récapitulatif TFE

+
+

Récapitulatif TFE

@@ -122,7 +122,7 @@ $pageTitle = "Récapitulatif TFE";

Fichiers

-
Nom
+
diff --git a/public/assets/css/admin.css b/public/assets/css/admin.css index a506730..c0f8513 100644 --- a/public/assets/css/admin.css +++ b/public/assets/css/admin.css @@ -87,14 +87,14 @@ } /* Main content area */ -.admin-main { +.admin-body main { flex: 1; padding: 2.5rem 2rem 4rem; max-width: 1100px; width: 100%; } -.admin-page-title { +.admin-body main > h1 { font-size: 1.8rem; font-weight: 600; letter-spacing: 0.08em; @@ -375,13 +375,18 @@ } /* ---- Table ---- */ -.admin-table { +.admin-body table { width: 100%; border-collapse: collapse; font-size: 0.88rem; } -.admin-table th { +/* margin-top for the tags table (only table not immediately after stats/filters) */ +.admin-body main > table { + margin-top: 1.5rem; +} + +.admin-body table th { text-align: left; font-size: 0.75rem; letter-spacing: 0.08em; @@ -393,23 +398,23 @@ white-space: nowrap; } -.admin-table td { +.admin-body table td { padding: 0.65rem 0.75rem; border-bottom: 1px solid var(--admin-border); color: var(--admin-text); vertical-align: top; } -.admin-table tr:hover td { +.admin-body table tr:hover td { background: var(--admin-bg-alt); } -.admin-table .thesis-title { +.admin-body table .thesis-title { font-weight: 500; color: var(--admin-text); } -.admin-table .thesis-subtitle { +.admin-body table .thesis-subtitle { font-size: 0.82rem; color: var(--admin-text-muted); font-style: italic; @@ -521,33 +526,33 @@ } /* Thesis info sections (thanks page) */ -.admin-main > section { +.admin-body main > section { border: 1px solid var(--admin-border); border-radius: 6px; padding: 1.5rem; margin-bottom: 1.5rem; } -.admin-main > section h2 { +.admin-body main > section h2 { margin: 0 0 1rem; font-size: 1.2rem; border-bottom: 1px solid var(--admin-border); padding-bottom: 0.5rem; } -.admin-main > section dl { +.admin-body main > section dl { display: grid; grid-template-columns: 180px 1fr; gap: 0.4rem 1rem; } -.admin-main > section dt { +.admin-body main > section dt { font-weight: 600; font-size: 0.88rem; color: var(--admin-text-muted); } -.admin-main > section dd { +.admin-body main > section dd { margin: 0; font-size: 0.9rem; } @@ -622,7 +627,7 @@ } /* Jury fieldset */ -.admin-fieldset { +.admin-body fieldset { border: 1px solid #333; border-radius: 4px; padding: 1rem 1.25rem; @@ -630,7 +635,7 @@ background: rgba(255, 255, 255, 0.02); } -.admin-fieldset-legend { +.admin-body legend { font-size: 0.82rem; font-weight: 600; letter-spacing: 0.04em;
TypeFichierTailleDate