phase 1 partie 3
This commit is contained in:
@@ -20,7 +20,7 @@ class ClientController extends Controller
|
||||
* Requete Post Client
|
||||
*/
|
||||
public function store(Request $request) {
|
||||
$data = $request->validate(['nom'=>'required', 'prenom'=>'required','email'=>'required|email|unique:clients','telephone'=>'nullable|regex:/^[0][0-9]{9}$/']);
|
||||
$data = $request->validate(['nom'=>'required', 'prenom'=>'required','email'=>'required|email|unique:clients','telephone'=>'nullable|regex:/^[0][1-9][0-9]{8}$/']);
|
||||
return Client::create($data);
|
||||
}
|
||||
|
||||
|
||||
22
app/Http/Controllers/FrontendController.php
Normal file
22
app/Http/Controllers/FrontendController.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class FrontendController extends Controller
|
||||
{
|
||||
public function accueil() {
|
||||
return view('accueil');
|
||||
}
|
||||
|
||||
//pour afficher les clients
|
||||
public function clients() {
|
||||
return view('clients');
|
||||
}
|
||||
|
||||
//pour créer un client
|
||||
public function creer() {
|
||||
return view('creer');
|
||||
}
|
||||
}
|
||||
0
public/css/style.css
Normal file
0
public/css/style.css
Normal file
6
resources/views/accueil.blade.php
Normal file
6
resources/views/accueil.blade.php
Normal file
@@ -0,0 +1,6 @@
|
||||
@extends('layout')
|
||||
|
||||
@section('content'){{-- contenu injecté dans la vue layout --}}
|
||||
<h1>Bienvenue dans la gestion de clients</h1>
|
||||
<p>Utilisez le menu pour naviguer entre les pages.</p>
|
||||
@endsection
|
||||
24
resources/views/clients.blade.php
Normal file
24
resources/views/clients.blade.php
Normal file
@@ -0,0 +1,24 @@
|
||||
@extends('layout')
|
||||
@section('content')
|
||||
<h1>Liste des clients</h1>
|
||||
<ul id="clients-list"></ul>
|
||||
{{-- Définition et exécution d'une fonction javascript pour afficher les clients --}}
|
||||
<script>
|
||||
async function loadClients() {
|
||||
try {
|
||||
//appel de l'api
|
||||
const response = await fetch('http://192.168.56.56:8000/api/clients');
|
||||
const clients = await response.json();
|
||||
const list = document.getElementById('clients-list');
|
||||
list.innerHTML = '';
|
||||
clients.forEach(c => {
|
||||
list.innerHTML += `<li>${c.nom} (${c.email})</li>`;
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur :', error);
|
||||
list.innerHTML = '<li>Impossible de charger les clients</li>';
|
||||
}
|
||||
}
|
||||
loadClients();
|
||||
</script>
|
||||
@endsection
|
||||
19
resources/views/layout.blade.php
Normal file
19
resources/views/layout.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Gestion Clients</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav>
|
||||
<a href="{{ url('/') }}">Accueil</a>
|
||||
<a href="{{ url('/clients') }}">Liste des clients</a>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
@yield('content'){{-- contenu des autres vues ici --}}
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,11 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\FrontendController;
|
||||
|
||||
Route::get('/', function () {
|
||||
return view('welcome');
|
||||
});
|
||||
|
||||
Route::get('/', [FrontendController::class, 'accueil']);
|
||||
Route::get('/clients', [FrontendController::class, 'clients']);
|
||||
Reference in New Issue
Block a user