Ajout de l'assistant d'installation web et corrections de navigation

- Wizard d'installation en 5 étapes (/setup) : prérequis PHP, base de données
  (PostgreSQL/MySQL avec test de connexion AJAX), paramètres app, compte admin,
  résultat — génère le .env, migre et crée l'administrateur
- CheckInstallation middleware : redirige vers /setup si non installé,
  protège /setup si déjà installé ; storage/installed comme marqueur
- Menu Administration : remplacé par le composant x-dropdown Breeze (même
  positionnement que le menu utilisateur — corrige le débordement en haut)
- Logo navbar : adaptatif via h-full/py-1.5 (s'adapte à la hauteur de la barre)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 18:39:55 +02:00
parent 236d37976c
commit caf7ad7fe2
12 changed files with 906 additions and 42 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class CheckInstallation
{
public function handle(Request $request, Closure $next): Response
{
$installed = file_exists(storage_path('installed'));
$onSetup = $request->is('setup') || $request->is('setup/*');
if (! $installed && ! $onSetup) {
// Laisser passer les health checks et réponses JSON
if ($request->is('up') || $request->expectsJson()) {
return $next($request);
}
return redirect('/setup');
}
if ($installed && $onSetup) {
return redirect('/');
}
return $next($request);
}
}