e5e6f72f92
- CI/CD Gitea Actions: ci.yml (Pint + PHPUnit), deploy.yml (déploiement SSH) - Suppression de l'ancien workflow GitHub cassé - En-têtes de sécurité: ajout CSP et Permissions-Policy - RGPD: droit à l'effacement (anonymisation du compte) + tests - Correctifs: ForceHttps hors env testing, timestamps du modèle Utilisateur, suppression des migrations en doublon (migrate échouait sur base neuve) - Qualité: formatage Laravel Pint sur l'ensemble du code - Documentation dossier technique (docs/) + .docx + .pptx Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
657 B
PHP
25 lines
657 B
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ForceHttps
|
|
{
|
|
public function handle(Request $request, Closure $next)
|
|
{
|
|
// En production, forcer HTTPS même si on arrive en HTTP.
|
|
// On exclut les environnements local et testing (pas de TLS, et
|
|
// la redirection casserait la suite de tests automatisés / CI).
|
|
if (! app()->environment(['local', 'testing']) && ! $request->isSecure()) {
|
|
return redirect(
|
|
str_replace('http://', 'https://', $request->url()),
|
|
308
|
|
)->send();
|
|
}
|
|
|
|
return $next($request);
|
|
}
|
|
}
|