chore(app): mises a jour applicatives et normalisation du code (Laravel Pint)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 18:44:13 +02:00
parent c51f17a74c
commit 70d4767890
32 changed files with 144 additions and 89 deletions
+1
View File
@@ -22,3 +22,4 @@
Homestead.json Homestead.json
Homestead.yaml Homestead.yaml
Thumbs.db Thumbs.db
.idea
+16 -15
View File
@@ -13,10 +13,11 @@ use Illuminate\Validation\Rule;
class AuthController extends Controller class AuthController extends Controller
{ {
// AuthController.php // AuthController.php
public function login(Request $request) { public function login(Request $request)
{
$fields = $request->validate([ $fields = $request->validate([
'email' => 'required|string|email', 'email' => 'required|string|email',
'password' => 'required|string' 'password' => 'required|string',
]); ]);
// Log::info('Tentative de connexion', $request->all()); // Log::info('Tentative de connexion', $request->all());
@@ -24,18 +25,18 @@ class AuthController extends Controller
$user = User::where('email', $fields['email'])->first(); $user = User::where('email', $fields['email'])->first();
// Vérification du mot de passe haché (Sécurité) // Vérification du mot de passe haché (Sécurité)
if(!$user || !Hash::check($fields['password'], $user->password)) { if (! $user || ! Hash::check($fields['password'], $user->password)) {
return response([ return response([
'status' => 'error', 'status' => 'error',
'message' => 'Identifiants invalides' 'message' => 'Identifiants invalides',
], 401); ], 401);
} }
// Vérification si le compte est actif // Vérification si le compte est actif
if (!$user->is_active) { if (! $user->is_active) {
return response([ return response([
'status' => 'error', 'status' => 'error',
'message' => 'Votre compte a été désactivé par un administrateur.' 'message' => 'Votre compte a été désactivé par un administrateur.',
], 403); ], 403);
} }
@@ -49,7 +50,7 @@ class AuthController extends Controller
return response([ return response([
'status' => 'success', 'status' => 'success',
'user' => $user, 'user' => $user,
'token' => $token 'token' => $token,
], 200); ], 200);
} }
@@ -62,14 +63,14 @@ class AuthController extends Controller
'password' => 'required|string|min:8|confirmed', 'password' => 'required|string|min:8|confirmed',
]); ]);
Log::info('Tentative de création', $request->all()); Log::info('Tentative de création', $request->all());
if ($validator->fails()) { if ($validator->fails()) {
Log::info( $validator->errors()); Log::info($validator->errors());
return response()->json([ return response()->json([
'status' => 'error', 'status' => 'error',
'errors' => $validator->errors() 'errors' => $validator->errors(),
], 422); ], 422);
} }
@@ -87,7 +88,7 @@ class AuthController extends Controller
'status' => 'success', 'status' => 'success',
'message' => 'Compte créé avec succès', 'message' => 'Compte créé avec succès',
'user' => $user, 'user' => $user,
'token' => $token 'token' => $token,
], 201); ], 201);
} }
@@ -100,15 +101,15 @@ class AuthController extends Controller
'email' => [ 'email' => [
'sometimes', 'sometimes',
'email', 'email',
Rule::unique('users')->ignore($user->id) // Empêche les doublons en BDD Rule::unique('users')->ignore($user->id), // Empêche les doublons en BDD
], ],
]); ]);
// 2. Vérification de sécurité (RGPD/Confidentialité) // 2. Vérification de sécurité (RGPD/Confidentialité)
if (!Hash::check($request->current_password, $user->password)) { if (! Hash::check($request->current_password, $user->password)) {
return response()->json([ return response()->json([
'status' => 'error', 'status' => 'error',
'message' => 'Le mot de passe actuel est incorrect' 'message' => 'Le mot de passe actuel est incorrect',
], 403); ], 403);
} }
@@ -119,7 +120,7 @@ class AuthController extends Controller
return response()->json([ return response()->json([
'status' => 'success', 'status' => 'success',
'user' => $user 'user' => $user,
]); ]);
} }
} }
@@ -4,7 +4,6 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\EmotionRecord;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
class EmotionController extends Controller class EmotionController extends Controller
@@ -18,7 +17,7 @@ class EmotionController extends Controller
{ {
Log::info('Tentative d\'enregistrement d\'émotion', [ Log::info('Tentative d\'enregistrement d\'émotion', [
'user' => $request->user()->id, 'user' => $request->user()->id,
'data' => $request->all() 'data' => $request->all(),
]); ]);
try { try {
@@ -35,7 +34,8 @@ class EmotionController extends Controller
return response()->json($record, 201); return response()->json($record, 201);
} catch (\Exception $e) { } catch (\Exception $e) {
Log::error('Erreur enregistrement émotion : ' . $e->getMessage()); Log::error('Erreur enregistrement émotion : '.$e->getMessage());
return response()->json(['error' => 'Erreur serveur'], 500); return response()->json(['error' => 'Erreur serveur'], 500);
} }
} }
@@ -4,7 +4,6 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Information; use App\Models\Information;
use Illuminate\Http\Request;
class InformationController extends Controller class InformationController extends Controller
{ {
@@ -16,7 +15,7 @@ class InformationController extends Controller
return response()->json([ return response()->json([
'status' => 'success', 'status' => 'success',
'data' => $informations 'data' => $informations,
]); ]);
} }
@@ -24,16 +23,16 @@ class InformationController extends Controller
{ {
$information = Information::where('is_published', true)->find($id); $information = Information::where('is_published', true)->find($id);
if (!$information) { if (! $information) {
return response()->json([ return response()->json([
'status' => 'error', 'status' => 'error',
'message' => 'Information non trouvée' 'message' => 'Information non trouvée',
], 404); ], 404);
} }
return response()->json([ return response()->json([
'status' => 'success', 'status' => 'success',
'data' => $information 'data' => $information,
]); ]);
} }
} }
@@ -4,7 +4,6 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\StressEvent; use App\Models\StressEvent;
use Illuminate\Http\Request;
class StressDiagnosticController extends Controller class StressDiagnosticController extends Controller
{ {
@@ -2,8 +2,6 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
class DashboardController extends Controller class DashboardController extends Controller
@@ -17,7 +15,7 @@ class DashboardController extends Controller
$stats = [ $stats = [
'relaxation_time' => '45 min', 'relaxation_time' => '45 min',
'stress_status' => 'Stable', 'stress_status' => 'Stable',
'last_diagnostic' => 'il y a 3 jours' 'last_diagnostic' => 'il y a 3 jours',
]; ];
return view('welcome', compact('user', 'stats')); return view('welcome', compact('user', 'stats'));
@@ -24,6 +24,7 @@ class AuthController extends Controller
if (Auth::attempt($credentials)) { if (Auth::attempt($credentials)) {
$request->session()->regenerate(); $request->session()->regenerate();
return redirect()->intended('/'); return redirect()->intended('/');
} }
@@ -61,6 +62,7 @@ class AuthController extends Controller
Auth::logout(); Auth::logout();
$request->session()->invalidate(); $request->session()->invalidate();
$request->session()->regenerateToken(); $request->session()->regenerateToken();
return redirect('/login'); return redirect('/login');
} }
} }
@@ -3,7 +3,9 @@
namespace App\Http\Controllers\Web; namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\ResultatDiag;
use App\Models\StressEvent; use App\Models\StressEvent;
use App\Services\StressCalculator;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
@@ -14,23 +16,25 @@ class DiagnosticController extends Controller
$events = StressEvent::all(); $events = StressEvent::all();
$history = []; $history = [];
if (Auth::check()) { if (Auth::check()) {
$history = \App\Models\ResultatDiag::where('id_user', Auth::id()) $history = ResultatDiag::where('id_user', Auth::id())
->orderBy('date_passage', 'desc') ->orderBy('date_passage', 'desc')
->take(5) ->take(5)
->get(); ->get();
} }
return view('diagnostics.index', compact('events', 'history')); return view('diagnostics.index', compact('events', 'history'));
} }
public function history() public function history()
{ {
$history = \App\Models\ResultatDiag::where('id_user', Auth::id()) $history = ResultatDiag::where('id_user', Auth::id())
->orderBy('date_passage', 'desc') ->orderBy('date_passage', 'desc')
->get(); ->get();
return view('diagnostics.history', compact('history')); return view('diagnostics.history', compact('history'));
} }
public function store(Request $request, \App\Services\StressCalculator $calculator) public function store(Request $request, StressCalculator $calculator)
{ {
// Logique pour calculer le score Holmes-Rahe // Logique pour calculer le score Holmes-Rahe
$totalPoints = 0; $totalPoints = 0;
@@ -43,7 +47,7 @@ class DiagnosticController extends Controller
// Enregistrement si l'utilisateur est connecté // Enregistrement si l'utilisateur est connecté
if (Auth::check()) { if (Auth::check()) {
\App\Models\ResultatDiag::create([ ResultatDiag::create([
'id_user' => Auth::id(), 'id_user' => Auth::id(),
'score_total' => $totalPoints, 'score_total' => $totalPoints,
'niveau_stress' => $niveauStress, 'niveau_stress' => $niveauStress,
@@ -12,6 +12,7 @@ class EmotionController extends Controller
public function index() public function index()
{ {
$records = EmotionRecord::where('user_id', Auth::id())->latest()->get(); $records = EmotionRecord::where('user_id', Auth::id())->latest()->get();
return view('emotions.index', compact('records')); return view('emotions.index', compact('records'));
} }
@@ -20,14 +21,14 @@ class EmotionController extends Controller
$request->validate([ $request->validate([
'emotion' => 'required|string', 'emotion' => 'required|string',
'intensity' => 'required|integer|min:1|max:5', 'intensity' => 'required|integer|min:1|max:5',
'note' => 'nullable|string' 'note' => 'nullable|string',
]); ]);
EmotionRecord::create([ EmotionRecord::create([
'user_id' => Auth::id(), 'user_id' => Auth::id(),
'emotion' => $request->emotion, 'emotion' => $request->emotion,
'intensity' => $request->intensity, 'intensity' => $request->intensity,
'note' => $request->note 'note' => $request->note,
]); ]);
return redirect()->back()->with('success', 'Émotion enregistrée'); return redirect()->back()->with('success', 'Émotion enregistrée');
@@ -23,7 +23,7 @@ class ProfileController extends Controller
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,' . $user->id], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,'.$user->id],
]); ]);
$user->fill($validated); $user->fill($validated);
@@ -4,9 +4,7 @@ namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\RelaxationActivity; use App\Models\RelaxationActivity;
use App\Models\Favorite;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class RelaxationController extends Controller class RelaxationController extends Controller
{ {
+5 -2
View File
@@ -16,7 +16,7 @@ class ResultatDiag extends Model
'date_passage', 'date_passage',
'score_total', 'score_total',
'niveau_stress', 'niveau_stress',
'event_ids' 'event_ids',
]; ];
public function user() public function user()
@@ -26,8 +26,11 @@ class ResultatDiag extends Model
public function getEventsAttribute() public function getEventsAttribute()
{ {
if (!$this->event_ids) return collect(); if (! $this->event_ids) {
return collect();
}
$ids = explode(';', $this->event_ids); $ids = explode(';', $this->event_ids);
return StressEvent::whereIn('id', $ids)->get(); return StressEvent::whereIn('id', $ids)->get();
} }
} }
+1 -1
View File
@@ -2,8 +2,8 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Role extends Model class Role extends Model
{ {
+2 -1
View File
@@ -2,6 +2,7 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
@@ -20,7 +21,7 @@ class AppServiceProvider extends ServiceProvider
public function boot(): void public function boot(): void
{ {
if (config('app.env') === 'production' || config('app.env') === 'local') { if (config('app.env') === 'production' || config('app.env') === 'local') {
\Illuminate\Support\Facades\URL::forceScheme('https'); URL::forceScheme('https');
} }
} }
} }
+2
View File
@@ -5,7 +5,9 @@ namespace App\Services;
class StressCalculator class StressCalculator
{ {
public const LEVEL_HIGH = 'Élevé'; public const LEVEL_HIGH = 'Élevé';
public const LEVEL_MODERATE = 'Modéré'; public const LEVEL_MODERATE = 'Modéré';
public const LEVEL_LOW = 'Faible'; public const LEVEL_LOW = 'Faible';
public function calculateScore(array $points): int public function calculateScore(array $points): int
+5 -2
View File
@@ -1,6 +1,9 @@
<?php <?php
use App\Providers\AppServiceProvider;
use App\Providers\Filament\AdminPanelProvider;
return [ return [
App\Providers\AppServiceProvider::class, AppServiceProvider::class,
App\Providers\Filament\AdminPanelProvider::class, AdminPanelProvider::class,
]; ];
+6 -3
View File
@@ -1,5 +1,8 @@
<?php <?php
use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\ValidateCsrfToken;
use Laravel\Sanctum\Http\Middleware\AuthenticateSession;
use Laravel\Sanctum\Sanctum; use Laravel\Sanctum\Sanctum;
return [ return [
@@ -76,9 +79,9 @@ return [
*/ */
'middleware' => [ 'middleware' => [
'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class, 'authenticate_session' => AuthenticateSession::class,
'encrypt_cookies' => Illuminate\Cookie\Middleware\EncryptCookies::class, 'encrypt_cookies' => EncryptCookies::class,
'validate_csrf_token' => Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class, 'validate_csrf_token' => ValidateCsrfToken::class,
], ],
]; ];
+2 -1
View File
@@ -2,6 +2,7 @@
namespace Database\Factories; namespace Database\Factories;
use App\Models\Role;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@@ -30,7 +31,7 @@ class UserFactory extends Factory
'email_verified_at' => now(), 'email_verified_at' => now(),
'password' => static::$password ??= Hash::make('password'), 'password' => static::$password ??= Hash::make('password'),
'remember_token' => Str::random(10), 'remember_token' => Str::random(10),
'id_role' => \App\Models\Role::first() ?? \App\Models\Role::create(['libelle' => 'Utilisateur']), 'id_role' => Role::first() ?? Role::create(['libelle' => 'Utilisateur']),
]; ];
} }
@@ -4,13 +4,19 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration { return new class extends Migration
public function up(): void { {
public function up(): void
{
Schema::create('roles', function (Blueprint $table) { Schema::create('roles', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('libelle'); $table->string('libelle');
$table->timestamps(); $table->timestamps();
}); });
} }
public function down(): void { Schema::dropIfExists('roles'); }
public function down(): void
{
Schema::dropIfExists('roles');
}
}; };
@@ -4,8 +4,10 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration { return new class extends Migration
public function up(): void { {
public function up(): void
{
Schema::create('users', function (Blueprint $table) { Schema::create('users', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('name'); $table->string('name');
@@ -17,5 +19,9 @@ return new class extends Migration {
$table->timestamps(); $table->timestamps();
}); });
} }
public function down(): void { Schema::dropIfExists('users'); }
public function down(): void
{
Schema::dropIfExists('users');
}
}; };
@@ -4,8 +4,10 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration { return new class extends Migration
public function up(): void { {
public function up(): void
{
Schema::create('stress_events', function (Blueprint $table) { Schema::create('stress_events', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('event_name'); $table->string('event_name');
@@ -13,5 +15,9 @@ return new class extends Migration {
$table->timestamps(); $table->timestamps();
}); });
} }
public function down(): void { Schema::dropIfExists('stress_events'); }
public function down(): void
{
Schema::dropIfExists('stress_events');
}
}; };
@@ -4,8 +4,10 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration { return new class extends Migration
public function up(): void { {
public function up(): void
{
Schema::create('relaxation_activities', function (Blueprint $table) { Schema::create('relaxation_activities', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('title'); $table->string('title');
@@ -17,5 +19,9 @@ return new class extends Migration {
$table->timestamps(); $table->timestamps();
}); });
} }
public function down(): void { Schema::dropIfExists('relaxation_activities'); }
public function down(): void
{
Schema::dropIfExists('relaxation_activities');
}
}; };
@@ -4,8 +4,10 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration { return new class extends Migration
public function up(): void { {
public function up(): void
{
Schema::create('resultat_diags', function (Blueprint $table) { Schema::create('resultat_diags', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('id_user')->constrained('users')->onDelete('cascade'); $table->foreignId('id_user')->constrained('users')->onDelete('cascade');
@@ -16,5 +18,9 @@ return new class extends Migration {
$table->timestamps(); $table->timestamps();
}); });
} }
public function down(): void { Schema::dropIfExists('resultat_diags'); }
public function down(): void
{
Schema::dropIfExists('resultat_diags');
}
}; };
@@ -4,8 +4,10 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration { return new class extends Migration
public function up(): void { {
public function up(): void
{
Schema::create('emotion_records', function (Blueprint $table) { Schema::create('emotion_records', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('user_id')->constrained('users')->onDelete('cascade'); $table->foreignId('user_id')->constrained('users')->onDelete('cascade');
@@ -15,5 +17,9 @@ return new class extends Migration {
$table->timestamps(); $table->timestamps();
}); });
} }
public function down(): void { Schema::dropIfExists('emotion_records'); }
public function down(): void
{
Schema::dropIfExists('emotion_records');
}
}; };
+1 -1
View File
@@ -2,8 +2,8 @@
namespace Database\Seeders; namespace Database\Seeders;
use App\Models\User;
use App\Models\Role; use App\Models\Role;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@@ -16,7 +16,7 @@ class RelaxationActivitySeeder extends Seeder
'type' => 'audio', 'type' => 'audio',
'category' => 'Méditation', 'category' => 'Méditation',
'url' => 'https://www.youtube.com/watch?v=sz7cpV7ERsY', 'url' => 'https://www.youtube.com/watch?v=sz7cpV7ERsY',
'image_url' => 'https://images.unsplash.com/photo-1506126613408-eca07ce68773?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80' 'image_url' => 'https://images.unsplash.com/photo-1506126613408-eca07ce68773?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80',
], ],
[ [
'title' => 'Yoga Doux pour le Soir', 'title' => 'Yoga Doux pour le Soir',
@@ -24,7 +24,7 @@ class RelaxationActivitySeeder extends Seeder
'type' => 'video', 'type' => 'video',
'category' => 'Sport', 'category' => 'Sport',
'url' => 'https://www.youtube.com/watch?v=v7AYKMP6rOE', 'url' => 'https://www.youtube.com/watch?v=v7AYKMP6rOE',
'image_url' => 'https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80' 'image_url' => 'https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80',
], ],
[ [
'title' => 'Bruits de Plage et Vagues', 'title' => 'Bruits de Plage et Vagues',
@@ -32,7 +32,7 @@ class RelaxationActivitySeeder extends Seeder
'type' => 'audio', 'type' => 'audio',
'category' => 'Musique', 'category' => 'Musique',
'url' => 'https://www.youtube.com/watch?v=0_fS_pS_B0U', 'url' => 'https://www.youtube.com/watch?v=0_fS_pS_B0U',
'image_url' => 'https://images.unsplash.com/photo-1507525428034-b723cf961d3e?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80' 'image_url' => 'https://images.unsplash.com/photo-1507525428034-b723cf961d3e?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80',
], ],
[ [
'title' => 'Comprendre le Cycle du Stress', 'title' => 'Comprendre le Cycle du Stress',
@@ -40,7 +40,7 @@ class RelaxationActivitySeeder extends Seeder
'type' => 'article', 'type' => 'article',
'category' => 'Lecture', 'category' => 'Lecture',
'url' => 'https://www.santepubliquefrance.fr', 'url' => 'https://www.santepubliquefrance.fr',
'image_url' => 'https://images.unsplash.com/photo-1512820790803-83ca734da794?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80' 'image_url' => 'https://images.unsplash.com/photo-1512820790803-83ca734da794?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80',
], ],
[ [
'title' => 'Musique Classique pour la Concentration', 'title' => 'Musique Classique pour la Concentration',
@@ -48,7 +48,7 @@ class RelaxationActivitySeeder extends Seeder
'type' => 'audio', 'type' => 'audio',
'category' => 'Musique', 'category' => 'Musique',
'url' => 'https://www.youtube.com/watch?v=5Qq3m9G4_4A', 'url' => 'https://www.youtube.com/watch?v=5Qq3m9G4_4A',
'image_url' => 'https://images.unsplash.com/photo-1514119412350-e174d90d280e?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80' 'image_url' => 'https://images.unsplash.com/photo-1514119412350-e174d90d280e?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80',
], ],
[ [
'title' => 'Techniques de Respiration Wim Hof', 'title' => 'Techniques de Respiration Wim Hof',
@@ -56,8 +56,8 @@ class RelaxationActivitySeeder extends Seeder
'type' => 'video', 'type' => 'video',
'category' => 'Respiration', 'category' => 'Respiration',
'url' => 'https://www.youtube.com/watch?v=tybOi4hjZFQ', 'url' => 'https://www.youtube.com/watch?v=tybOi4hjZFQ',
'image_url' => 'https://images.unsplash.com/photo-1518199266791-5375a83190b7?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80' 'image_url' => 'https://images.unsplash.com/photo-1518199266791-5375a83190b7?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80',
] ],
]; ];
foreach ($activities as $activity) { foreach ($activities as $activity) {
+2 -2
View File
@@ -2,7 +2,7 @@
namespace Database\Seeders; namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents; use App\Models\Role;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
class RoleSeeder extends Seeder class RoleSeeder extends Seeder
@@ -18,7 +18,7 @@ class RoleSeeder extends Seeder
]; ];
foreach ($roles as $role) { foreach ($roles as $role) {
\App\Models\Role::create($role); Role::create($role);
} }
} }
} }
+2 -2
View File
@@ -2,7 +2,7 @@
namespace Database\Seeders; namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents; use App\Models\StressEvent;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
class StressEventSeeder extends Seeder class StressEventSeeder extends Seeder
@@ -56,7 +56,7 @@ class StressEventSeeder extends Seeder
]; ];
foreach ($events as $event) { foreach ($events as $event) {
\App\Models\StressEvent::create($event); StressEvent::create($event);
} }
} }
} }
+8 -6
View File
@@ -1,9 +1,11 @@
<?php <?php
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\EmotionController;
use App\Http\Controllers\Api\InformationController;
use App\Http\Controllers\Api\StressDiagnosticController;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\StressDiagnosticController;
// Route pour le login (accessible par le visiteur anonyme) // Route pour le login (accessible par le visiteur anonyme)
Route::post('/login', [AuthController::class, 'login']); Route::post('/login', [AuthController::class, 'login']);
@@ -23,10 +25,10 @@ Route::middleware('auth:sanctum')->group(function () {
// Route pour enregistrer un diagnostic effectué sur mobile // Route pour enregistrer un diagnostic effectué sur mobile
Route::post('/stress-diagnostics', [StressDiagnosticController::class, 'store']); Route::post('/stress-diagnostics', [StressDiagnosticController::class, 'store']);
Route::get('/emotions', [App\Http\Controllers\Api\EmotionController::class, 'index']); Route::get('/emotions', [EmotionController::class, 'index']);
Route::post('/emotions', [App\Http\Controllers\Api\EmotionController::class, 'store']); Route::post('/emotions', [EmotionController::class, 'store']);
// Routes pour les informations (accessibles aux utilisateurs connectés) // Routes pour les informations (accessibles aux utilisateurs connectés)
Route::get('/informations', [App\Http\Controllers\Api\InformationController::class, 'index']); Route::get('/informations', [InformationController::class, 'index']);
Route::get('/informations/{id}', [App\Http\Controllers\Api\InformationController::class, 'show']); Route::get('/informations/{id}', [InformationController::class, 'show']);
}); });
+5 -7
View File
@@ -1,15 +1,13 @@
<?php <?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashboardController; use App\Http\Controllers\DashboardController;
use App\Http\Controllers\Web\EmotionController;
use App\Http\Controllers\Web\DiagnosticController;
use App\Http\Controllers\Web\RelaxationController;
use App\Http\Controllers\Web\AuthController; use App\Http\Controllers\Web\AuthController;
use App\Http\Controllers\Web\ProfileController; use App\Http\Controllers\Web\DiagnosticController;
use App\Http\Controllers\Web\EmotionController;
use App\Http\Controllers\Web\InformationController; use App\Http\Controllers\Web\InformationController;
use App\Http\Controllers\Web\ProfileController;
use App\Http\Controllers\Web\RelaxationController;
use Illuminate\Support\Facades\Route;
// Public Routes // Public Routes
Route::get('/', [DashboardController::class, 'index'])->name('home'); Route::get('/', [DashboardController::class, 'index'])->name('home');
+1
View File
@@ -13,3 +13,4 @@
.externalNativeBuild .externalNativeBuild
.cxx .cxx
local.properties local.properties
.idea
+2
View File
@@ -43,3 +43,5 @@ app.*.map.json
/android/app/debug /android/app/debug
/android/app/profile /android/app/profile
/android/app/release /android/app/release
.idea