Pontoporeia
c4705f6265
docs: add bookmarklet for auto-filling TFE test form
...
- bookmark.md with draggable link + readable source + lookup table reference
- all field selectors match actual form name attributes and schema IDs
2026-04-15 14:24:44 +02:00
Pontoporeia
f4aba500e6
feat: student mode support for thanks page (admin-auth only)
...
- add hidden student_mode field in add.php form
- pass mode=student through redirect to thanks.php in formulaire.php
- thanks.php renders clean student thank-you page (no header, centered button)
- add CSS for .thanks-student-page, .btn-new-form, .thanks-success, .thanks-error
- admin auth always required; student mode is purely UI variant on the physical machine
2026-04-15 14:24:44 +02:00
Pontoporeia
c3affd2285
admin/add: add ?mode=student toggle — hides admin header, keeps admin form css
2026-04-15 14:24:44 +02:00
Pontoporeia
150b5b1dac
admin/add: add ?mode=student toggle — hides admin header, keeps auth
2026-04-15 14:24:44 +02:00
Pontoporeia
0eb2e310f4
admin/parametres: cleanup page — remove card syntax, use semantic HTML (checkboxes/fieldsets), move delete-all-TFE danger zone into maintenance
2026-04-15 14:24:44 +02:00
Pontoporeia
fd4fb5ce4a
Add delete/batch-delete and sortable columns to admin list
...
- Database: add deleteThesis() and bulkDeleteTheses() methods with file cleanup
- Database: add SORT_MAP + buildOrderBy() for safe column sorting
- Database: getThesesList() now respects sort/dir filter params
- New action: actions/delete.php (single + batch delete with CSRF)
- Admin index: delete button per row with confirmation dialog
- Admin index: batch 'Supprimer' button in bulk actions bar
- Admin index: sortable column headers (ID, Titre, Année, Orientation, AP, Statut)
- Admin index: sort state preserved in pagination links
- CSS: admin-btn-delete (red muted), admin-sort-link styles
2026-04-15 14:24:44 +02:00
Pontoporeia
1b104df51e
Fix undefined $from– variable: brace-interpolate variables before en-dash in double-quoted string
2026-04-15 14:24:44 +02:00
Pontoporeia
6f04514aa2
fix: add structural guard for migration 008 in migrate.sh
2026-04-15 14:24:44 +02:00
Pontoporeia
0cb4451218
formulaire: default interne, unpublished, contact toggle, settings section
2026-04-15 14:24:44 +02:00
Pontoporeia
67a4aaac26
Fix nginx deduplication: remove nginx/scripts/ entirely, fix README typos and dead references
2026-04-15 14:24:44 +02:00
Pontoporeia
507f3eb704
Consolidate nginx docs and scripts, update paths
2026-04-15 14:24:44 +02:00
Pontoporeia
3cd96ed28a
Deduplicate and standardise documentation
...
- Consolidate 36 markdown files → 14 (plus TODO.md)
- Merge overlapping docs into authoritative files:
- database.md (from DATABASE_SPECIFICATION + QUICK_SCHEMA_REFERENCE + DATABASE_CONFIG + SETUP)
- deployment.md (from SERVER_SETUP + COMPLETE_DEPLOYMENT_GUIDE + DEPLOYMENT_STEPS)
- security.md (from SECURITY_ANALYSIS + TODO.SECURITY)
- development.md (from DEVELOPMENT_GUIDE + LIVE_RELOAD_SETUP + TEST_CENTRALIZATION)
- migration-history.md (from 11 past migration docs)
- Standardise all filenames to lowercase
- Remove non-doc files (Context.md research notes, chat export)
- Remove superseded docs (SECURITY.md pre-SQLite, SECURITY_IMPLEMENTATION, README_SECURE_SEARCH)
- Fix stale cross-references
2026-04-15 14:24:44 +02:00
Théophile Gervreau-Mercier
5c5054d744
Investigating VM crash
2026-04-13 11:12:12 +02:00
Pontoporeia
0c29fa21e9
Prevent admin nav wrapping to match public header height
2026-04-09 14:51:43 +02:00
Pontoporeia
c5c049eace
Move public search bar below header so admin and public headers have same height
2026-04-09 14:37:49 +02:00
Pontoporeia
1885f2da92
Replace random HSL gradients in homepage cards with header-style gradient; header keeps its own CSS-variables gradient
2026-04-09 14:37:00 +02:00
Pontoporeia
aa3fc50d92
use exact hard-coded gradient on header and card placeholders
2026-04-09 14:34:59 +02:00
Pontoporeia
a13e73aed3
Replace random HSL gradients in homepage cards with header gradient
2026-04-09 14:29:17 +02:00
Pontoporeia
07f0afde25
cache-bust: add filemtime-based versioning to all CSS and JS assets
2026-04-09 14:08:19 +02:00
Pontoporeia
424f79c819
typography: switch display font from Combined to Ductus
2026-04-08 18:09:35 +02:00
Pontoporeia
a333a5fdad
Rebrand: replace PostErg with XAMXAM in admin header link, default title, and OG site_name
2026-04-08 18:04:35 +02:00
Pontoporeia
18045af243
favicon: replace SVG placeholder with full PNG/ICO set from assets/favicon/
2026-04-08 18:01:41 +02:00
Pontoporeia
d68645f1b1
style: retheme system page to site light palette — remove dark --sys-* tokens
2026-04-08 17:49:50 +02:00
Pontoporeia
df414346e9
fix: SystemController php-fpm detection — probe phpX.Y-fpm from running PHP version first
2026-04-08 17:46:42 +02:00
Pontoporeia
7117934d07
fix: replace mb_strlen/mb_substr with strlen/substr — mbstring not available on prod
2026-04-08 17:42:01 +02:00
Pontoporeia
9eec5d3ac0
SPECS.md
2026-04-08 16:03:31 +02:00
Pontoporeia
49b113319a
Add AP filter to admin list; fix reset as unstyled button
2026-04-08 15:22:39 +02:00
Pontoporeia
4199b206db
Move CSV import to inline dialog on list page
2026-04-08 15:16:10 +02:00
Pontoporeia
603af07b68
Add Paramètres page: consolidate maintenance + account settings
2026-04-08 15:06:51 +02:00
Pontoporeia
ba135f0cb5
fix: replace 'Xamxam' with 'Posterg' in public nav header
2026-04-08 14:14:37 +02:00
Pontoporeia
f6977384b9
migrate to utopia fluid type and space scales across all CSS
2026-04-08 14:14:37 +02:00
Pontoporeia
ad06bbbcaf
bump all font-size values ~10% across all CSS files
2026-04-08 14:14:37 +02:00
Pontoporeia
0c2276d5ad
Split search into search.php; repertoire.php is index-only
2026-04-08 14:14:37 +02:00
Pontoporeia
e96ec572be
tfe: hyperlink metadata values to repertoire.php with correct filter params
2026-04-08 14:14:37 +02:00
Pontoporeia
55c6ac21b8
fix tfe page: scope common.css header to body>header, fix grid width collapse, remove overflow-y clip
2026-04-08 14:14:37 +02:00
Pontoporeia
3a1cd5b43e
tfe page: author above title, interne/externe jury split, rounded images, strip contact protocol
2026-04-08 14:14:37 +02:00
Pontoporeia
547d581e26
Removed footer navbar
2026-04-08 14:14:37 +02:00
Pontoporeia
11a665e096
Improve À propos page layout: sticky TOC nav, bordered contact rows, credits dl grid
2026-04-08 14:14:37 +02:00
Pontoporeia
dddfc8554b
fonts: add --font-body/--font-display vars, use them everywhere
2026-04-08 14:14:37 +02:00
Pontoporeia
797eaf87d1
Apply correct fonts: Combined for titles, BBBDMSans for body text
2026-04-08 14:14:37 +02:00
Pontoporeia
572ef75a1e
répertoire: rename search.php, 6-column layout, HTMX filter, faded entries disabled, URL-shareable
2026-04-08 14:14:37 +02:00
Pontoporeia
088324cb80
Match Accueil.png mockup: nav layout, full-width search, section label
2026-04-08 14:14:37 +02:00
Pontoporeia
8b27acec27
fix homepage card grid styling: gaps, borders, rounded corners, gradient aspect-ratio
2026-04-08 14:14:37 +02:00
Pontoporeia
0bfb24723f
fix(font): rebuild Combinedd.otf with sorted kern pairs to fix browser discard
2026-04-08 14:14:37 +02:00
Pontoporeia
b8e94f1b6b
fix(css): add format hint + descriptors to @font-face for police1/Combinedd.otf
2026-04-08 14:14:37 +02:00
Pontoporeia
b45e6c50cc
fix: admin CSP allow inline scripts
...
script-src 'self' 'unsafe-inline' added to admin Content-Security-Policy.
default-src 'self' was blocking OverType editor init block and
the dev live-reload poller. Admin section is auth-gated so
unsafe-inline is acceptable.
2026-04-08 14:14:37 +02:00
Pontoporeia
e6960f0c9c
fix: RateLimit permission denied — code + deploy scripts
...
RateLimit.php:
- Silence mkdir() with @ operator
- Guard file_put_contents with is_writable() check (graceful degrade)
scripts/deploy-server.sh + setup-server.sh:
- mkdir -p storage/cache/rate_limit on every deploy
- chown www-data:posterg + chmod 2775 on storage/cache/
so php-fpm can always write rate limit files
2026-04-06 16:45:14 +02:00
Pontoporeia
756ddb5765
fix: RateLimit graceful degradation on permission denied
...
Silence mkdir() with @ operator; guard file_put_contents with
is_writable() check. When storage/cache/rate_limit is not writable
by php-fpm, requests are allowed through instead of throwing
warnings that flood the nginx error log.
2026-04-06 16:40:55 +02:00
Pontoporeia
6a1b41ac93
css: remove dark mode, unify token system, eliminate all hardcoded colors
...
- Remove @media (prefers-color-scheme: dark) block from variables.css
- Delete colors.css (dead reference doc, never loaded)
- Add semantic tokens to variables.css:
--header-gradient-fade, --header-shadow-strong/soft, --header-nav-active-border
--search-error-bg/border/color
--sys-bg-surface/deep/panel, --sys-border/border-deep/border-hover
--sys-text-dim/bright/body, --sys-overlay, --sys-syntax-* (7 highlight tokens)
--success/warning/error/blue/yellow/green -muted-bg/border/hover alpha overlays
--danger-border-muted
- Replace all hardcoded hex/rgba in common.css, main.css, search.css, admin.css, system.css
- Fix --border-color typo -> --border-primary in search.css
- Fix view-toggle__btn active color: --text-primary -> --accent-foreground
- Admin and public share identical token set, no separate admin theme
- Update README.md
2026-04-06 16:16:11 +02:00
Pontoporeia
e73fcfd0c8
fix: drop curl_close() call (deprecated PHP 8.5, no-op since 8.0)
2026-04-06 16:11:34 +02:00