29e6fec64d
CI - Intégration continue / quality-and-tests (pull_request) Successful in 3m32s
Page publique /telecharger reprenant le modele de Ressources-relationnel : - config/mobile.php (lien de store prioritaire, sinon binaire local, sinon 'bientot') - DownloadController + vue au style DSFR, lien dans la sidebar - variables MOBILE_* et depot public/downloads/ (binaires gitignores) - 3 tests (page publique, lien store, bouton desactive) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
3.1 KiB
PHP
57 lines
3.1 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\Web\AuthController;
|
|
use App\Http\Controllers\Web\DiagnosticController;
|
|
use App\Http\Controllers\Web\DownloadController;
|
|
use App\Http\Controllers\Web\EmotionController;
|
|
use App\Http\Controllers\Web\InformationController;
|
|
use App\Http\Controllers\Web\ProfileController;
|
|
use App\Http\Controllers\Web\RelaxationController;
|
|
use App\Http\Controllers\Web\TicketController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// Public Routes
|
|
Route::get('/', [DashboardController::class, 'index'])->name('home');
|
|
Route::get('/diagnostics', [DiagnosticController::class, 'index'])->name('diagnostics.index');
|
|
Route::get('/relaxation', [RelaxationController::class, 'index'])->name('relaxation.index');
|
|
Route::get('/informations', [InformationController::class, 'index'])->name('informations.index');
|
|
Route::get('/informations/{id}', [InformationController::class, 'show'])->name('informations.show');
|
|
|
|
// Téléchargement des applications mobiles (Android / iOS)
|
|
Route::get('/telecharger', [DownloadController::class, 'index'])->name('telecharger');
|
|
|
|
// Authentification
|
|
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
Route::get('/register', [AuthController::class, 'showRegister'])->name('register');
|
|
Route::post('/register', [AuthController::class, 'register']);
|
|
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
|
|
|
|
// Routes protégé par authentifications
|
|
Route::middleware('auth')->group(function () {
|
|
// Profile
|
|
Route::get('/profile', [ProfileController::class, 'index'])->name('profile.index');
|
|
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
|
Route::put('/profile/password', [ProfileController::class, 'updatePassword'])->name('profile.password');
|
|
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
|
|
|
// Tracker Émotionnel
|
|
Route::get('/emotions', [EmotionController::class, 'index'])->name('emotions.index');
|
|
Route::post('/emotions', [EmotionController::class, 'store'])->name('emotions.store');
|
|
|
|
// Diagnostic Stress
|
|
Route::get('/diagnostics/history', [DiagnosticController::class, 'history'])->name('diagnostics.history');
|
|
Route::post('/diagnostics', [DiagnosticController::class, 'store'])->name('diagnostics.store');
|
|
|
|
// Pages Relaxation
|
|
Route::post('/relaxation/{id}/favorite', [RelaxationController::class, 'toggleFavorite'])->name('relaxation.favorite');
|
|
|
|
// Système de tickets (connecté à Gitea) : création, suivi, réponses
|
|
Route::get('/tickets', [TicketController::class, 'index'])->name('tickets.index');
|
|
Route::get('/tickets/nouveau', [TicketController::class, 'create'])->name('tickets.create');
|
|
Route::post('/tickets', [TicketController::class, 'store'])->name('tickets.store');
|
|
Route::get('/tickets/{number}', [TicketController::class, 'show'])->whereNumber('number')->name('tickets.show');
|
|
Route::post('/tickets/{number}/reponse', [TicketController::class, 'reply'])->whereNumber('number')->name('tickets.reply');
|
|
});
|