🗑️ remove(Security/RedirecListener.php): Supprime le listener de redirection obsolète.
 feat(ansible/templates/caddy.j2): Ajoute la gestion du rewrite invisible pour la réservation.
🐛 fix(config/packages/pwa.yaml): Corrige la hauteur de l'image PWA pour l'accueil.
```
This commit is contained in:
Serreau Jovann
2026-01-28 13:06:01 +01:00
parent 36dcf345a2
commit a01390d3b7
3 changed files with 16 additions and 37 deletions

View File

@@ -10,6 +10,16 @@ intranet.ludikevent.fr, signature.ludikevent.fr, reservation.ludikevent.fr {
max_size 100MB max_size 100MB
} }
# --- GESTION DU REWRITE INVISIBLE (RESERVATION) ---
@is_reservation host reservation.ludikevent.fr
handle @is_reservation {
# Si l'utilisateur demande la racine /, on réécrit vers /reservation en interne
rewrite / /reservation/
# Pour que PHP-FPM trouve le bon fichier index.php dans le sous-dossier
try_files {path} {path}/ /reservation/index.php?{query}
}
# --- NO-INDEX MATCHER --- # --- NO-INDEX MATCHER ---
@noindex_hosts host intranet.ludikevent.fr signature.ludikevent.fr @noindex_hosts host intranet.ludikevent.fr signature.ludikevent.fr
header @noindex_hosts X-Robots-Tag "noindex, nofollow" header @noindex_hosts X-Robots-Tag "noindex, nofollow"
@@ -17,12 +27,14 @@ intranet.ludikevent.fr, signature.ludikevent.fr, reservation.ludikevent.fr {
@index_host host reservation.ludikevent.fr @index_host host reservation.ludikevent.fr
header @index_host -X-Robots-Tag header @index_host -X-Robots-Tag
# --- REDIRECTIONS EXTERNES ---
handle_path /utm_reserve.js { handle_path /utm_reserve.js {
redir https://tools-security.esy-web.dev/script.js redir https://tools-security.esy-web.dev/script.js
} }
handle_path /ts.js { handle_path /ts.js {
redir https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js redir https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js
} }
# --- BLOC HEADER AVEC CSP --- # --- BLOC HEADER AVEC CSP ---
header { header {
X-Content-Type-Options "nosniff" X-Content-Type-Options "nosniff"
@@ -30,24 +42,24 @@ intranet.ludikevent.fr, signature.ludikevent.fr, reservation.ludikevent.fr {
Referrer-Policy "strict-origin-when-cross-origin" Referrer-Policy "strict-origin-when-cross-origin"
# Injection des headers Cloudflare pour PHP # Injection des headers Cloudflare pour PHP
# Cela permet à PHP de les lire via $_SERVER['HTTP_CF_CONNECTING_IP'] etc.
CF-Connecting-IP {header.CF-Connecting-IP} CF-Connecting-IP {header.CF-Connecting-IP}
CF-IPCountry {header.CF-IPCountry} CF-IPCountry {header.CF-IPCountry}
CF-RegionCode {header.CF-RegionCode} CF-RegionCode {header.CF-RegionCode}
CF-IPCity {header.CF-IPCity} CF-IPCity {header.CF-IPCity}
X-Real-IP {remote_host} X-Real-IP {remote_host}
} }
# --- ASSETS ---
handle_path /assets/* { handle_path /assets/* {
rewrite * /build{path} rewrite * /build{path}
} }
# --- PHP FASTCGI --- # --- PHP FASTCGI ---
# Ici, Caddy transmet automatiquement tous les headers définis ci-dessus au socket PHP
php_fastcgi unix//run/php/php8.4-fpm.sock { php_fastcgi unix//run/php/php8.4-fpm.sock {
read_timeout 300s read_timeout 300s
write_timeout 300s write_timeout 300s
dial_timeout 100s dial_timeout 100s
# Optionnel : Forcer explicitement certains paramètres FastCGI si nécessaire
env REMOTE_ADDR {header.CF-Connecting-IP} env REMOTE_ADDR {header.CF-Connecting-IP}
} }
} }

View File

@@ -69,7 +69,7 @@ pwa:
- src: "/provider/pwa/pwa1.png" - src: "/provider/pwa/pwa1.png"
form_factor: 'wide' form_factor: 'wide'
label: "Accueil" label: "Accueil"
height: 486 height: 945
width: 1896 width: 1896
- src: "/provider/pwa/pwa2.png" - src: "/provider/pwa/pwa2.png"
form_factor: "narrow" form_factor: "narrow"

View File

@@ -1,33 +0,0 @@
<?php
namespace App\Security;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpKernel\KernelEvents;
use Twig\Environment;
#[AsEventListener(event: ResponseEvent::class,method: 'onResponse')]
class RedirecListener
{
public function onResponse(ResponseEvent $event): void
{
$request = $event->getRequest();
if($request->getPathInfo() == "/") {
if($request->getHost() =="reservation.ludikevent.fr"){
$redirect = new RedirectResponse("https://reservation.ludikevent.fr/reservation");
$event->setResponse($redirect);
$event->stopPropagation();
}
}
}
}