diff --git a/Blazor/Blazor/Pages/Index.razor b/Blazor/Blazor/Pages/Index.razor index 0e1a45f..79b1725 100644 --- a/Blazor/Blazor/Pages/Index.razor +++ b/Blazor/Blazor/Pages/Index.razor @@ -9,3 +9,5 @@

@Localizer["Title"]

@Localizer["Text"]

+ + diff --git a/Blazor/Blazor/Pages/Index.razor.cs b/Blazor/Blazor/Pages/Index.razor.cs index 88084ae..8b09fbc 100644 --- a/Blazor/Blazor/Pages/Index.razor.cs +++ b/Blazor/Blazor/Pages/Index.razor.cs @@ -8,5 +8,17 @@ namespace Blazor.Pages { [Inject] public IStringLocalizer Localizer { get; set; } + + [Inject] + public IHostApplicationLifetime AppLifetime { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + private void CloseApplication() + { + NavigationManager.NavigateTo("http://localhost", forceLoad: true); + AppLifetime.StopApplication(); + } } } diff --git a/Website/controllers/ControllerUser.php b/Website/controllers/ControllerUser.php index c1aee1e..757be52 100644 --- a/Website/controllers/ControllerUser.php +++ b/Website/controllers/ControllerUser.php @@ -24,6 +24,9 @@ class ControllerUser private $twig; private $vues; + private $blazorAppPath = '..\Blazor\Blazor'; // Remplacez par le chemin réel vers votre projet Blazor + private $blazorPort = 5234; // Remplacez par le port utilisé par votre projet Blazor + function __construct() { global $vues, $twig; @@ -81,7 +84,7 @@ class ControllerUser function loginAdmin() { if ($_SESSION["idAdminConnected"] != null) { - header("Location:/admin/administrators"); + $this->launchBlazor(); } echo $this->twig->render($this->vues["loginAdmin"], [ @@ -127,6 +130,32 @@ class ControllerUser } } + function launchBlazor(){ + + $descriptorspec = array( + 0 => array("pipe", "r"), + 1 => array("pipe", "w"), + 2 => array("pipe", "w") + ); + + $command = 'cd ..\Blazor\Blazor && dotnet run --urls=http://0.0.0.0:5234'; + $process = proc_open($command, $descriptorspec, $pipes); + + if (is_resource($process)) { + fclose($pipes[0]); + fclose($pipes[2]); + fclose($pipes[1]); + + sleep(2); + + header('Location: http://localhost:5234/'); + exit(); + } else { + // Handle the error + echo "Erreur lors du lancement de l'application Blazor."; + } + } + function verifyAdmin() { $username = $_POST['username']; @@ -140,7 +169,8 @@ class ControllerUser $AdministratorIsOk = $this->mdAdministrator->verifyAdministrator($Administrator); if ($AdministratorIsOk != null) { $_SESSION["idAdminConnected"] = $AdministratorIsOk; - header("Location:/admin/administrators"); + $this->launchBlazor(); + } else { $_SESSION["error"] = "utilisateur introuvable."; header("Location:/loginAdmin");