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");