chore: durcit la configuration pour la production

- mobile: externalise l'URL d'API via EXPO_PUBLIC_API_URL (repli localhost en dev)
- backend: .env.example adapté au projet (PostgreSQL, JWT, FRONTEND_URL, Redis)
- frontend/mobile: ajoute .env.example (+ exception gitignore front)
- mobile: supprime les 4 `any` (helper getApiError, type Feed, glyphMap Ionicons)
- backend: normalise le style PSR-12 via Pint (13 fichiers)

Tests backend 15/15, mobile tsc 0, Pint pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Azmog
2026-06-17 17:00:33 +02:00
parent 052e2f22cd
commit 6f5b8182ca
22 changed files with 122 additions and 95 deletions
@@ -3,9 +3,8 @@
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Utilisateur;
use App\Models\Role;
use App\Models\Tracker;
use App\Models\Utilisateur;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -19,13 +18,13 @@ class AdminUtilisateurController extends Controller
$search = $request->search;
$query->where(function ($q) use ($search) {
$q->where('nom', 'like', "%{$search}%")
->orWhere('prenom', 'like', "%{$search}%")
->orWhere('email', 'like', "%{$search}%");
->orWhere('prenom', 'like', "%{$search}%")
->orWhere('email', 'like', "%{$search}%");
});
}
if ($request->filled('role')) {
$query->whereHas('role', fn($q) => $q->where('nom', $request->role));
$query->whereHas('role', fn ($q) => $q->where('nom', $request->role));
}
$utilisateurs = $query->orderBy('created_at', 'desc')->paginate(15);
@@ -88,7 +87,7 @@ class AdminUtilisateurController extends Controller
public function toggleActive(int $id): JsonResponse
{
$utilisateur = Utilisateur::findOrFail($id);
$utilisateur->update(['est_actif' => !$utilisateur->est_actif]);
$utilisateur->update(['est_actif' => ! $utilisateur->est_actif]);
return response()->json([
'message' => $utilisateur->est_actif ? 'Compte activé' : 'Compte désactivé',