From 365b0b08b51f94d0beabc90609b67bd0fb95cd7d Mon Sep 17 00:00:00 2001 From: julien Date: Sun, 22 Mar 2026 11:51:02 +0100 Subject: [PATCH] Prod upload fix --- assets/js/media-admin.js | 17 ++--------------- docker/nginx/default.conf | 3 --- docker/php/entrypoint.sh | 3 ++- docker/php/php.ini | 3 +++ 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/assets/js/media-admin.js b/assets/js/media-admin.js index e369efa..36d7798 100644 --- a/assets/js/media-admin.js +++ b/assets/js/media-admin.js @@ -103,23 +103,10 @@ } }); - var contentType = response.headers.get('content-type') || ''; - var raw = await response.text(); - var payload = {}; - - if (contentType.indexOf('application/json') !== -1) { - try { - payload = JSON.parse(raw); - } catch (parseError) { - payload = {}; - } - } + var payload = await response.json(); if (!response.ok) { - throw new Error( - payload.error - || ('HTTP ' + response.status + (raw ? ' - ' + raw.slice(0, 180) : '')) - ); + throw new Error(payload.error || 'Le téléversement a échoué.'); } setFeedback('Image téléversée. Rafraîchissement…', false); diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf index d0829e3..dd33aa6 100644 --- a/docker/nginx/default.conf +++ b/docker/nginx/default.conf @@ -2,9 +2,6 @@ server { listen 80; server_name _; - # Aligne la limite Nginx avec PHP pour éviter les 413 HTML sur les uploads. - client_max_body_size 8M; - root /var/www/app/public; index index.php; diff --git a/docker/php/entrypoint.sh b/docker/php/entrypoint.sh index be58777..d876d80 100644 --- a/docker/php/entrypoint.sh +++ b/docker/php/entrypoint.sh @@ -14,7 +14,8 @@ mkdir -p \ # Synchronise les fichiers publics versionnés (index.php, assets compilés, etc.) # vers le volume partagé. Le répertoire media est exclu car il contient les # uploads utilisateurs et est géré séparément. -find /data/public -mindepth 1 -maxdepth 1 -exec rm -rf {} + +mkdir -p /data/public/media +find /data/public -mindepth 1 -maxdepth 1 ! -name media -exec rm -rf {} + for item in /var/www/app/public/*; do [ -e "$item" ] || continue diff --git a/docker/php/php.ini b/docker/php/php.ini index f571868..abbe5ac 100644 --- a/docker/php/php.ini +++ b/docker/php/php.ini @@ -12,3 +12,6 @@ error_log = /dev/stderr ; Renommer le cookie de session pour éviter le fingerprint PHP (PHPSESSID par défaut) ; La valeur doit être synchronisée avec session_name() dans public/index.php si modifiée. session.name = sid + +; En production, journaliser les erreurs sans les injecter dans les réponses HTTP +display_errors = Off