Pontoporeia
cefceb046c
feat: jury composition + banner image upload
...
- migration 004: thesis_supervisors.role + is_external; view adds jury_president/jury_promoteurs/jury_lecteurs
- migration 005: theses.banner_path; view exposes t.banner_path and t.license_id
- Database: getThesisJury(), setThesisJury(), setBannerPath()
- admin/add.php: jury fieldset (président/promoteur/lecteurs + externe checkboxes, JS add/remove rows); banner file input
- admin/edit.php: jury fieldset pre-populated from DB; banner preview + remove checkbox + upload; multipart form
- admin/actions/formulaire.php: parse jury fields → setThesisJury(); banner upload to banners/
- tfe.php: three conditional jury rows (président·e, promoteur·ice, lecteur·ices)
- schema.sql: updated thesis_supervisors, theses, v_theses_full, v_theses_public definitions
- admin.css: fieldset, jury-row, jury-entry, btn-remove styles
2026-03-24 13:25:23 +01:00
Pontoporeia
d87348c388
feat: licence page, admin pages editor, license types, gradient card placeholders, latest-year home view
...
- Feature 1: public /licence.php fetches 'licenses' page from DB, renders Markdown
- Feature 1: nav.php adds 'Licence' link with active state
- Feature 2: Database::getPage(), savePage(), getAllPages() methods
- Feature 2: bundled src/Parsedown.php (MIT, zero-dependency)
- Feature 2: apropos.php now renders 'about' page content from DB via Parsedown
- Feature 2: admin/pages.php (list) + admin/pages-edit.php (EasyMDE editor)
- Feature 2: admin/actions/page.php (auth+CSRF+validation+save)
- Feature 2: admin/head.php adds 'Pages statiques' nav link
- Feature 3: storage/schema.sql seeds 8 CC license types
- Feature 3: storage/migrations/003_seed_license_types.sql (applied to live DB)
- Feature 3: Database::getLicenseTypes() / getAllLicenseTypes()
- Feature 3: admin/add.php + formulaire.php: license_id field on add form
- Feature 3: admin/edit.php: license_id field on edit form with raw FK lookup
- Feature 3: tfe.php: shows 'Licence :' meta row when non-null
- Feature 6: main.css: .card__media--gradient styles
- Feature 6: index.php: deterministic HSL gradient placeholder cards
- Feature 6: Database::getLatestYearTheses() + getLatestPublishedYear()
- Feature 6: index.php default home = random latest-year theses with info label
2026-03-24 13:12:48 +01:00
Pontoporeia
86a2082edc
docs: add feature tasks for licence page, admin WYSIWYG, jury section, banner upload, and home randomisation
2026-03-24 12:55:22 +01:00
Pontoporeia
f8a4bfb612
docs: add maintenance mode + TFE visibility tasks to TODO
2026-03-24 12:40:55 +01:00
Pontoporeia
4131fc07e9
docs: add admin tag management UI task to TODO
2026-03-23 11:03:19 +01:00
Pontoporeia
6d2c50f0b9
docs: add M2M tags refactor task proposal to TODO
2026-03-23 11:00:21 +01:00
Pontoporeia
46040328a4
add flake.nix for Nix PHP dev shell
2026-03-11 12:39:18 +01:00
Pontoporeia
7208292c0e
deploy-nginx: add recipe, upload scripts to /tmp, print sudo instructions
2026-03-02 16:08:45 +01:00
Pontoporeia
5e1543e9a8
nginx: relax admin rate limit to 60r/m burst=20 (was 10r/m burst=5)
2026-03-02 16:08:45 +01:00
Pontoporeia
1fb9644d5a
fix favicon 404s: add <link rel=icon> to all pages, nginx 204 for /favicon.ico
2026-03-02 16:08:45 +01:00
Pontoporeia
e4b2205eac
fix rsync permissions: setup-server.sh with setgid dirs, exclude .claude/.pi
2026-03-02 16:08:45 +01:00
Pontoporeia
52978aa658
ops: simplify justfile, guard deploy-db, extract scripts, fix .gitignore
2026-03-02 16:08:45 +01:00
Pontoporeia
2110d2b916
Redesign UI to match target design images
...
- Flat purple-gradient nav bar with POSTERG/RÉPERTOIRE/À PROPOS links
- Full-width search bar with icon, bottom-border only, below nav
- Home: white bg, media card grid (thumbnail + author/title label below)
- Répertoire: 4-column index (Années/Catégories/Étudiantes/Mots-clés)
- TFE: 2-column layout (large text left, media right)
- À Propos: 2-column, large monospace text, new apropos.php page
- Admin: dark theme (#1a1a1a), purple gradient nav, bottom-border inputs
- New shared partials: templates/nav.php, templates/search-bar.php
- Rewrote all CSS: common, main, search, tfe, apropos, admin
2026-02-24 23:34:17 +01:00
Pontoporeia
eaad740574
refactor: extract buildSearchConditions, add getThesesList, remove dead code, fix SearchTest
...
- Database: extract private buildSearchConditions(array $params): array shared by
searchTheses() and countSearchResults(), eliminating ~80 lines of duplication;
add array type hints to both public methods
- Database: add getThesesList(array $filters) and getAllYears() so admin/index.php
no longer builds raw SQL inline
- admin/index.php: replace inline PDO query block with $db->getThesesList() /
$db->getAllYears(); drop the now-unused $pdo local
- config/bootstrap.php: remove dead include_template() helper and the
vendor/autoload.php Composer stub (no vendor/ directory exists)
- apps/: delete entire directory (leftover artefact, no code references it)
- tests/Integration/SearchTest.php: fix three searchTheses() calls from bare
strings to proper array params to match the method signature (prevented TypeError)
2026-02-24 23:21:44 +01:00
Pontoporeia
d30153871f
fix: resolve broken lib/ require paths in admin and normalise modern-normalize to .min.css
2026-02-24 23:19:18 +01:00
Pontoporeia
da53d56744
analysis: dependency audit and refactoring task proposals in TODO.md
2026-02-24 23:17:37 +01:00
Pontoporeia
567f4aaafb
cleanup
2024-04-18 18:18:56 +02:00
Pontoporeia
19e9dc805b
ajustement .gitignore
2023-05-12 12:05:56 +02:00
Pontoporeia
787f62a9e2
suppression du contenus de vendor et le fichier compose.lock
2023-05-12 10:38:54 +02:00
Pontoporeia
aa5d3a1610
nettoyage .gitignore
2023-05-12 10:37:02 +02:00
Pontoporeia
d0fb81d9b2
update des codeblock en shell pour le syntax highlighting
2023-05-12 10:26:25 +02:00
Pontoporeia
b7109290e0
ajout d'un contenus du README.md
2023-05-12 10:25:13 +02:00
Pontoporeia
393fabb345
maj du .gitignore
2023-05-12 10:06:13 +02:00
Pontoporeia
6f63b2efa3
ajout du .gitignore
2023-05-12 09:39:54 +02:00
Pontoporeia
3ee32e17fa
update du projet, xml collection enlevé et méthode fait maison ajouter
2023-05-12 09:38:08 +02:00
Pontoporeia
9414966b24
ajustement formulaire
2023-05-12 09:31:41 +02:00
Pontoporeia
4a1e4b696e
rewrite v1.0
2023-05-02 20:17:58 +02:00
Pontoporeia
763ad7d722
rewrite v0.8
2023-05-02 12:15:28 +02:00
Pontoporeia
9bf4593ae5
rebuild v0.5
2023-05-02 11:59:29 +02:00
Pontoporeia
ead6bc6d8e
rebuild v0.1
2023-05-02 11:36:50 +02:00