Chapitre 10 : Conception Backend API avec Laravel (Spécificité Mobile)
Une application mobile moderne telle qu’une app Flutter (le front-end “Client”) demande un socle distant omniprésent sur internet pour stocker et partager la donnée mondiale (la base utilisateurs, le catalogue e-commerce) : c’est le rôle de l’API Backend. En 2026, PHP Laravel reste massivement utilisé comme fondation d’API grâce à sa sécurité redoutable, sa scalabilité extrême (Laravel Vapor) et l’élégance de sa syntaxe.
I. L’Architecture Restful API
Un serveur Laravel offre un espace d’entrée dit Point de terminaison (Endpoint). Ce serveur dialoguera avec l’appareil mobile mondial en échangeant exclusivement un format standard de balises : le JSON (JavaScript Object Notation).
Notre API Laravel (ex: https://api.monsite.com) exposera des routes “stateless” (sans état, donc sans session Web stockée) répondant aux 4 verbes sacrés HTTP (Le CRUD) :
GET(Lire / Indexer les profils utilisateurs).POST(Créer / Inscription / Validation d’un achat).PUT / PATCH(Modifier / Mettre à jour une photo de profil).DELETE(Supprimer un compte).
II. Modélisation de la route API Laravel
Dans Laravel 11/12, le fichier centralisateur est routes/api.php
Ici pas de Vue visuelle (Inertia / Blade) à afficher à une application Flutter, seulement la restitution froide d’un ensemble de JSON :
// routes/api.php
Route::get('/users/liste', [MobileUserController::class, 'index']);
Un simple contrôleur Laravel renvoyant un profil depuis notre base de données se construit avec des ressources typées de façon stricte.
<?php
declare(strict_types=1);
namespace App\Http\Controllers\Api;
use App\Models\User;
use Illuminate\Http\JsonResponse;
class MobileUserController extends Controller
{
public function index(): JsonResponse
{
$users = User::all();
// Laravel convertit directement les Modèles Eloquent PHP en JSON via le Helper Response()
return response()->json([
'status' => 'success',
'data' => $users
], 200);
}
}
III. Les API Resources et JsonResource
Envoyer le Modèle Entier Base de la Base de Données “brutemment” (Avec le champ Hashé du mot de passe password inclus par mégarde !) vers le téléphone de l’application cliente mobile est une faille de sécurité effroyable.
Une API de classe Professionnelle passe toujours la base de données brute de l’Object Relational Mapping (ORM) d’Eloquent par la moulinette de la Transformation des API Resources : JsonResource de Laravel.
// UserResource.php (Resource Json)
public function toArray($request): array
{
return [
'id_global' => $this->id, // on renomme le champ
'identite' => $this->first_name . ' ' . $this->last_name,
// Note : le champ 'password' et 'created_at' sont omis intentionnellement
];
}
IV. La Sécurité API : Laravel Sanctum
Un mobile Flutter n’a pas accès aux “Cookies de Session” transparents du navigateur web. Comment donc l’API sait-elle de façon sécurisée (sans que le mot de passe ne soit envoyé en boucle sur le wifi public) que l’application cliente mobile est “bien connectée” ? La solution est l’utilisation d’un Token (Jeton d’accès de connexion alphanumérique long et chiffré).
Avec l’outil Laravel Sanctum, l’utilisateur de l’application mobile Flutter envoie une seule fois le couple “Email/Password” sur un Point d’entrée /api/login de vérification.
Si la base valide le mot de passe, l’app Laravel génère un “Personal Access Token” cryptographique et unique :
$token = $user->createToken('flutter-mobile-device')->plainTextToken;
L’Application Flutter de la ligne suivante mémorise ce Jeton. Lors du moindre clic sur l’application sur le téléphone (par exemple, regarder une messagerie privée qui requiert autorisation d’afficher ses chats de sa base sur le port /chat) le téléphone renvoie ce token comme “Passeport / Header de signature Bearer”.
Si l’application Flutter a le bon numéro d’attribut du token Sanctum, Laravel lui permet alors de recevoir les données de la requête API des serveurs protégés sur les middleware : auth:sanctum.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Chapitre 10 : Conception Backend API avec Laravel (Spécificité Mobile). Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.