Files
sam 29e6fec64d
CI - Intégration continue / quality-and-tests (pull_request) Successful in 3m32s
feat: page de telechargement des applications mobiles (Android / iOS)
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>
2026-07-10 00:37:27 +02:00

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');
});