fix(admin): racine du back-office redirige vers /login
All checks were successful
CI / secret-scan (push) Successful in 15s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 54s
CI / js-tests (push) Successful in 30s
CI / secret-scan (pull_request) Successful in 10s
CI / php-lint (pull_request) Successful in 25s
CI / static-tests (pull_request) Successful in 57s
CI / js-tests (pull_request) Successful in 30s
All checks were successful
CI / secret-scan (push) Successful in 15s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 54s
CI / js-tests (push) Successful in 30s
CI / secret-scan (pull_request) Successful in 10s
CI / php-lint (pull_request) Successful in 25s
CI / static-tests (pull_request) Successful in 57s
CI / js-tests (pull_request) Successful in 30s
La page d'accueil affichait un placeholder perime (squelette P2) alors que P3/P4 sont livres : un acces a la racine admin sous-vendait le projet. Le back-office n'a pas vocation a exposer une page vitrine publique -> la racine renvoie en 302 vers /login (RG-T02), qui mene ensuite a role.default_route. Vue home.php supprimee (code mort). Sonde GET /api/health inchangee.
This commit is contained in:
parent
82adc77879
commit
4df98c36fd
3 changed files with 35 additions and 32 deletions
|
|
@ -8,10 +8,11 @@ use App\Core\Controller;
|
||||||
use App\Core\Response;
|
use App\Core\Response;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page d'accueil du back-office. GET /.
|
* Racine du FQDN admin. GET /.
|
||||||
*
|
*
|
||||||
* Volontairement minimale en P2 : prouve que le rendu de vue MVC traverse
|
* Le back-office n'expose pas de page d'accueil publique : la racine renvoie
|
||||||
* controleur -> vue -> layout sans dependre de la BDD.
|
* vers la connexion (RG-T02). Une fois authentifie, /login mene l'equipier
|
||||||
|
* vers role.default_route. La sonde de sante reste sur GET /api/health.
|
||||||
*/
|
*/
|
||||||
final class HomeController extends Controller
|
final class HomeController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -20,9 +21,6 @@ final class HomeController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index(array $params = []): Response
|
public function index(array $params = []): Response
|
||||||
{
|
{
|
||||||
return $this->view('home', [
|
return Response::make('', 302, ['Location' => '/login']);
|
||||||
'title' => 'Wakdo back-office',
|
|
||||||
'appEnv' => $this->config->appEnv(),
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fragment de la page d'accueil back-office, injecte dans layout.php.
|
|
||||||
*
|
|
||||||
* @var string $appEnv
|
|
||||||
*/
|
|
||||||
|
|
||||||
$env = htmlspecialchars($appEnv ?? 'unknown', ENT_QUOTES, 'UTF-8');
|
|
||||||
?>
|
|
||||||
<main>
|
|
||||||
<h1>Wakdo back-office</h1>
|
|
||||||
<p>Le squelette back-end (P2) est en ligne.</p>
|
|
||||||
<p>
|
|
||||||
<small>
|
|
||||||
Coeur MVC from scratch : autoloader PSR-4 manuel, routeur, PDO prepared statements.
|
|
||||||
Environnement : <code><?= $env ?></code>.
|
|
||||||
</small>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<small>Sonde de sante : <code>GET /api/health</code></small>
|
|
||||||
</p>
|
|
||||||
</main>
|
|
||||||
30
tests/Unit/Controllers/HomeControllerTest.php
Normal file
30
tests/Unit/Controllers/HomeControllerTest.php
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tests\Unit\Controllers;
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use App\Controllers\HomeController;
|
||||||
|
use App\Core\Config;
|
||||||
|
use App\Core\Database;
|
||||||
|
use App\Core\Request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La racine du FQDN admin n'est pas une page vitrine : elle renvoie vers la
|
||||||
|
* connexion (RG-T02). Le redirect ne touche ni la session ni la BDD.
|
||||||
|
*/
|
||||||
|
final class HomeControllerTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testRootRedirectsToLogin(): void
|
||||||
|
{
|
||||||
|
$request = new Request('GET', '/', [], [], '', '203.0.113.5');
|
||||||
|
$controller = new HomeController($request, new Config(), new Database(new Config()));
|
||||||
|
|
||||||
|
$response = $controller->index();
|
||||||
|
|
||||||
|
self::assertSame(302, $response->status());
|
||||||
|
self::assertSame('/login', $response->header('Location'));
|
||||||
|
self::assertSame('', $response->body());
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue