Commit Graph

  • 24b753a992 fix: add missing csrf_token to htmx checkbox in file access restrictions Pontoporeia 2026-06-08 11:22:31 +02:00
  • 3f200dae70 TFE page: replace dl/dt/dd with p/span for metadata, remove underlines, lowercase keywords/languages/formats, inclusive text, editable restriction messages Pontoporeia 2026-06-08 11:13:15 +02:00
  • 71949425c7 TFE page: remove underlines from all links, lowercase keywords/languages/formats, inclusive writing, prevent keyword mid-word breaks, editable restriction messages in admin Pontoporeia 2026-06-08 10:56:23 +02:00
  • 9a8f0cad65 fix(répertoire): colonnes différenciées, scrollbars discrètes, fontes conformes maquette, AP entre crochets Pontoporeia 2026-06-08 10:50:15 +02:00
  • df70fba5d4 feat: convert all file inputs to FilePond for standardized uploading Pontoporeia 2026-06-08 10:28:39 +02:00
  • fad38f4e0d Added more logs to be excluded Pontoporeia 2026-06-08 10:14:36 +02:00
  • 053f09b181 fix(migration): deduplicate languages before LOWER() in 025_lowercase_languages.sql Pontoporeia 2026-06-08 09:48:51 +02:00
  • f4cb06656e Improve .gitignore Pontoporeia 2026-06-04 23:50:06 +02:00
  • 2bb520bb8c Fix: anchor vendor/ gitignore to root so app/public/assets/js/vendor/ is tracked (htmx, OverType, FilePond) Pontoporeia 2026-06-08 10:12:06 +02:00
  • f398a0f1ff Fix non-constant-time credential comparisons Pontoporeia 2026-05-31 17:49:39 +02:00
  • 6246174fc5 Export: add LINK.txt with PeerTube watch URLs to file ZIP export Pontoporeia 2026-05-20 13:21:41 +02:00
  • a251aeb500 Fix: bootstrap.php autoload path detects vendor location (same dir vs parent dir) for flat server layout Pontoporeia 2026-05-20 13:10:21 +02:00
  • d33a56981e Fix: deploy-deps patches classmap path (app/src/ → src/) for flat server layout before composer install Pontoporeia 2026-05-20 13:06:09 +02:00
  • 47405e5334 Fix: split deploy recipe into deploy-code/deploy-deps/deploy-migrate; deploy-deps always syncs composer.json+composer.lock, runs composer install only when lockfile checksum changed Pontoporeia 2026-05-20 12:58:31 +02:00
  • 4e409c409d Fix: add ZipArchive guard to export-files.php, add composer install step + composer.json sync to deploy recipe Pontoporeia 2026-05-20 12:44:56 +02:00
  • ae66c2baad Integrate Monolog: replace four logging systems with single PSR-3 factory Pontoporeia 2026-05-20 02:16:17 +02:00
  • a6e0aa5887 Add code coverage configuration (phpunit.xml source filter), baseline coverage report (21.27% lines), gitignore coverage/ and .phpunit.result.cache; remove deprecated setAccessible() calls Pontoporeia 2026-05-20 02:03:55 +02:00
  • a047062d87 Phase 4 cleanup: migrate old tests to PHPUnit, add ErrorHandler/PureLogic/SearchController tests, remove app/tests/, update justfile test target Pontoporeia 2026-05-20 01:55:58 +02:00
  • 93625d09b5 Add integration tests (Phase 2: DatabaseExtended, ShareLinkExtended, RateLimitExtended) and controller validation tests (Phase 3: ThesisCreate, ThesisEdit, AutofocusField) Pontoporeia 2026-05-20 01:51:41 +02:00
  • 7a4d0fafb2 Add PHPUnit setup (Phase 0) and pure-logic tests (Phase 1): Crypto, EmailObfuscator, SystemController helpers, StudentEmail, TfeController OG tags Pontoporeia 2026-05-20 01:28:22 +02:00
  • d9e4541749 Remove unused Parsedown.php (replaced by league/commonmark in Phase 1); update phpstan baseline Pontoporeia 2026-05-20 01:21:47 +02:00
  • a0cda5b55d Phase 3: Replace SmtpRelay SMTP socket with PHPMailer Pontoporeia 2026-05-20 01:17:44 +02:00
  • ba57820016 Phase 2: Replace PeerTubeService HTTP client with Guzzle Pontoporeia 2026-05-20 01:07:41 +02:00
  • 5e75cacad7 Phase 1: Replace Parsedown with league/commonmark (4 call sites) Pontoporeia 2026-05-20 01:02:09 +02:00
  • 4683ba4116 Add composer.json with league/commonmark, guzzlehttp/guzzle, phpmailer/phpmailer; wire autoloader into bootstrap; document de-librairisation strategy and PHP extension setup Pontoporeia 2026-05-20 00:53:37 +02:00
  • 728f05502c Combine phpstan, cs-check, cs-fix into lint-php recipe; fix lint issues + test failures + duplicate detection bug Pontoporeia 2026-05-19 23:59:41 +02:00
  • 2e75a3b35c Fix beforeunload dialog appearing on edit.php when no changes made Pontoporeia 2026-05-19 22:38:29 +02:00
  • 42222abe7c Récapitulatif admin: sections → fieldsets, fichiers en table, marges + pas de thumbnails Pontoporeia 2026-05-19 22:32:26 +02:00
  • defc919cd0 cleanup modal: list stale files to remove; storage restructure: documents/ → {objet}/ Pontoporeia 2026-05-19 22:00:10 +02:00
  • c6199525f9 add sticky thead to index, langues, and mots-clés tables Pontoporeia 2026-05-19 21:00:40 +02:00
  • bcf3140aa2 edit submission: redirect to recapitulatif instead of edit Pontoporeia 2026-05-19 20:53:07 +02:00
  • 4da317de0a deploy: remove .env from generic file perm check, remove router.php check (dev-only file) Pontoporeia 2026-05-19 19:39:47 +02:00
  • 5bbf633295 Contenus: add Mots-clés fieldset mirroring Langues, keep dedicated page button as backup, add Annuler cancel button to both bulk action bars, limit both table wraps to max-height:50vh with overflow scroll Pontoporeia 2026-05-19 19:26:58 +02:00
  • 678f9fc804 Index page: remove Mots-clés button, move export to bulk selection, fix ZipArchive error, move DB export to paramètres, sticky thead Pontoporeia 2026-05-19 19:05:28 +02:00
  • b484943128 Unnest header.css (native CSS nesting silently broken in browsers without support) Pontoporeia 2026-05-19 19:00:20 +02:00
  • 2cb8d71fe9 Fix dialog margins, add admin-dialog__body/styles, give trash page horizontal margins Pontoporeia 2026-05-19 18:08:00 +02:00
  • d619d2f116 Update TODO after CSS refactoring fixes Pontoporeia 2026-05-19 16:56:49 +02:00
  • 7cf020c7bd Refactor CSS architecture per css-methodology-spec.md Pontoporeia 2026-05-19 14:55:10 +02:00
  • 7c30d1c55d Fix relink: close modal + HTMX refresh for immediate pool update Pontoporeia 2026-05-19 01:13:39 +02:00
  • b77bc486e5 Fix relink: FilePond addFile API, yellow border, limbo type + await Pontoporeia 2026-05-19 00:41:48 +02:00
  • ae9a8a62c0 deploy: exclude storage/{tmp,documents,theses,triage,backups,logs} from rsync + fix .env perm check to 640 Pontoporeia 2026-05-19 00:26:38 +02:00
  • 41eebf8a02 cleanup: squash commit history from 177 to 98 commits, resolve acces.php conflict markers Pontoporeia 2026-05-19 00:06:45 +02:00
  • 27e6abc7e4 feat: file browser + relink for orphaned files + htmx fix + header cleanup + fix relinked FilePond integration + resolve acces.php conflict markers Pontoporeia 2026-05-18 17:39:01 +02:00
  • 79eddf5d5a feat: fix file deletion on save + trash policy + documents/ prefix + relink browser Pontoporeia 2026-05-13 14:58:15 +02:00
  • 6f7a02244f maintenance: allow /partage through gate, fix fragment routing, add visibility table in admin Pontoporeia 2026-05-12 15:19:32 +02:00
  • da153fc604 Refactor HTMX fragment architecture: DRY split into auth endpoints + shared templates Pontoporeia 2026-05-12 15:01:17 +02:00
  • 2632730fa0 .gitignore ignore rate_limit and theses and logs. Pontoporeia 2026-05-12 14:36:02 +02:00
  • 2f4ac22bcb Fix Interdit Info text Pontoporeia 2026-05-12 14:36:02 +02:00
  • fdc301c20d fix: require Crypto.php in ShareLink.php Pontoporeia 2026-05-12 14:28:32 +02:00
  • 9152b120e8 feat: mandatory auto-generated passwords for share links + admin password copy/regeneration + password gate rate limiting Pontoporeia 2026-05-12 13:50:13 +02:00
  • 8bb0b3a1f2 refactor: unify FilePond edit previews + clean upload UI and shared fragments Pontoporeia 2026-05-12 12:27:36 +02:00
  • 6e7c0c00e3 refactor: merge video/audio FilePond pools into TFE input Pontoporeia 2026-05-12 12:08:51 +02:00
  • 1ff3c70ebe fix: track vendor JS files, add 'unsafe-inline' to public CSP, gitignore filepond tmp Pontoporeia 2026-05-12 10:35:58 +02:00
  • 2e9ebfc684 filepond: implement async server-ID upload architecture with nested queue support + PeerTube integration Pontoporeia 2026-05-11 20:11:31 +02:00
  • b56d073210 refactor: extract inline JS into app/ modules, remove dead overtype-webcomponent Pontoporeia 2026-05-11 19:37:31 +02:00
  • 04094d802d fix: harden security based on pentest scan findings Pontoporeia 2026-05-11 18:03:14 +02:00
  • 4717b4d67e feat: add passive pentest scanner script with PEP 723 uv metadata Pontoporeia 2026-05-11 17:56:30 +02:00
  • df12af8423 fix: validation error messages hidden by generic fallback in ErrorHandler::userMessage Pontoporeia 2026-05-11 17:03:22 +02:00
  • c3f6e8a033 fix: upload progress bar not visible — collectFileNames checks FilePond instances; remove admin auth from progress poll endpoint Pontoporeia 2026-05-11 16:55:58 +02:00
  • d873a7f09e fix: add upload-progress.js to partage form (progress bar was missing on public submissions) Pontoporeia 2026-05-11 16:22:42 +02:00
  • e5e76cfb70 add migration 033 to deduplicate format_types, fix 019 to use INSERT OR IGNORE Pontoporeia 2026-05-11 16:07:23 +02:00
  • 3ae22cd427 add system dependency checks (php-curl, sqlite3) to deploy-server.sh step 0 Pontoporeia 2026-05-11 16:03:37 +02:00
  • 31ccbd195b add syntaqlite SQL validation to migrate.sh before applying schema.sql Pontoporeia 2026-05-11 16:01:44 +02:00
  • cb6394e119 add incremental migration runner to deploy recipe — execute whole SQL files (not semicolon-split), catch 'no such column' for idempotent re-runs, merge into migrate.sh Pontoporeia 2026-05-11 15:54:09 +02:00
  • c1960d224b fix deploy: multiple deploy recipe fixes — upload xamxam.conf before deploy-server.sh, sudo rsync for chown, migrate.sh via sqlite3, chmod WAL/SHM sidecar files, deploy-verify-permissions awk fix, .env sudo perms Pontoporeia 2026-05-11 15:23:44 +02:00
  • 206a6427e7 style: unify recap+edit file figure styling — two-column grid dl, vertical spacing, admin-back-btn sizing, standardise file display and delete-to-trash SVG icons Pontoporeia 2026-05-11 14:53:51 +02:00
  • 230555a4c4 exhaustive recap: all fields, figures for files, PeerTube ID display, same in edit form Pontoporeia 2026-05-11 14:45:16 +02:00
  • 8bf95f4e14 feat: refactor licence fragment — Libre→CC2r+licence, Interne→opt-in want_license, Interdit→none, add details/summary to license UI Pontoporeia 2026-05-11 14:19:44 +02:00
  • 927ee2fe2a feat: upload progress bar — fieldset layout, accent colors, file name display, completion animation, 800ms redirect delay; decorelate formats from fichiers; server-side poll via token; bump PeerTube embed audio player Pontoporeia 2026-05-11 13:12:36 +02:00
  • cdec3e96a6 fix PeerTube upload: final working solution — simple multipart POST with CURLFile; iterated through Google-resumable PATCH protocol debugging (HTTP version negotiation, chunk body encoding, off-by-one fixes) before settling on simpler POST approach Pontoporeia 2026-05-11 12:09:19 +02:00
  • 1b0451581d refactor: move Restrictions d'accès aux fichiers from contenus.php to acces.php, cleanup section Pontoporeia 2026-05-11 11:40:50 +02:00
  • d000f9e1d4 cleanup: merge SMTP fields into single fieldset, rename to Emails Pontoporeia 2026-05-11 11:35:02 +02:00
  • 83a5a508ea feat: PeerTube integration — alternate audio/video labels, FilePond pools, shared SMTP credentials, channel by name, test button, resumable upload, embed improvements, fix alt labels/curl_close/deprecation Pontoporeia 2026-05-11 10:47:33 +02:00
  • 28ef35dce5 fix: make schema.sql fully idempotent — add IF NOT EXISTS to all CREATE INDEX, CREATE TRIGGER, and CREATE VIEW statements Pontoporeia 2026-05-11 10:31:19 +02:00
  • 973444bdbb feat(backup): deploy cron-based SQLite backups to production Pontoporeia 2026-05-11 03:51:13 +02:00
  • be50ac5eb0 fix(production): fix multiple remote server errors from nginx logs Pontoporeia 2026-05-11 03:18:03 +02:00
  • 43064ccbd7 feat(admin): add htmx toast feedback for settings checkboxes in contenus.php Pontoporeia 2026-05-11 03:11:21 +02:00
  • 72f7192156 feat(deploy): add deploy-verify-permissions recipe + upload/run deploy-server.sh before verification + run migrations in deploy Pontoporeia 2026-05-11 02:28:11 +02:00
  • 3136fa7113 fix: settings checkboxes — fix unchecked state handling, split into separate forms to avoid cross-resets, use HTMX auto-save with hidden value=0 inputs Pontoporeia 2026-05-11 01:45:57 +02:00
  • 926659087f feat: implement SQLite backup & data integrity plan (Phases 2-4) Pontoporeia 2026-05-11 01:08:46 +02:00
  • c0163ca4d5 fix: exclude entire var/ from rsync --delete to preserve logs Pontoporeia 2026-05-11 00:43:04 +02:00
  • 7e987d281c fix: add hx-swap="none" to admin auto-save checkboxes to prevent page swap Pontoporeia 2026-05-11 00:34:36 +02:00
  • cf9bd5cd5d feat: require 3 mots-clés in partage, language asterisk toggle, admin auto-save checkboxes Pontoporeia 2026-05-10 23:49:43 +02:00
  • 48da914bc8 fix: obfuscate email in contact links, raise rate limits, make Libre toggleable Pontoporeia 2026-05-10 23:40:27 +02:00
  • 2bacc78492 import dialog: add Terminé button, fix padding, make success permanent, avoid POST resend Pontoporeia 2026-05-10 23:22:38 +02:00
  • cab65ea4a4 fix: jury-fieldset.php calling old() with wrong signature for partage Pontoporeia 2026-05-10 23:06:22 +02:00
  • 9bcfaf5fd5 Make Auteur(s) and Accès columns sortable alphabetically in admin list Pontoporeia 2026-05-10 22:40:57 +02:00
  • 406752bc6f Improve recap page + fix CSV import for jury roles Pontoporeia 2026-05-10 22:36:28 +02:00
  • 8545daaccc fix migration 028, promoteurice repopulation, DB bootstrap Pontoporeia 2026-05-10 22:18:15 +02:00
  • 8db7b6e9eb feat: FilePond production hardening — extension-based validation, server-side size limits (2GB), annexe validation, drop accept attributes, FilePond file styling Pontoporeia 2026-05-10 20:41:37 +02:00
  • 7b5f3efe40 feat: add FilePond pools for couverture, note_intention, video, audio; refactor queue config Pontoporeia 2026-05-10 20:33:29 +02:00
  • ecb559a18a refactor: decouple format extras from main fichiers block, scope FilePond destroy to individual slots, fix FilePond integration for decoupled extras Pontoporeia 2026-05-10 20:28:24 +02:00
  • 1aff5ff46d Replace custom file-upload-queue.js with FilePond Pontoporeia 2026-05-10 20:10:15 +02:00
  • 223a15b397 chore: resolve rebase conflict markers in acces.php (no functional changes) Pontoporeia 2026-05-10 20:10:15 +02:00
  • 11e6eed980 fix: stop checkbox click in admin index from navigating to recapitulatif Pontoporeia 2026-05-10 19:53:01 +02:00
  • f28a20d642 fix: spurious HTMX console warnings from checkbox-list default hx-include Pontoporeia 2026-05-10 19:23:43 +02:00
  • d5fee1acfb fix: repair form submission with queued files + add comprehensive debug logging Pontoporeia 2026-05-10 18:08:27 +02:00
  • 13d26ded66 Replace HTMX+PHP file upload queues with client-side JS Pontoporeia 2026-05-10 17:16:25 +02:00
  • 98ed83fac2 fix: scoped HTMX file validation, add validation to TFE/PeerTube inputs Pontoporeia 2026-05-10 16:32:43 +02:00
  • ca7707cd47 refactor: session-based incremental TFE upload via HTMX, drop SortableJS Pontoporeia 2026-05-10 16:19:46 +02:00