On part de zéro. Ce que fait vraiment un serveur, pourquoi on ne peut pas tout faire dans le navigateur, et où Laravel entre en scène.
LA STACK · Laravel de 0 à expert · la façon MarQenti
À la fin de cette séance, tu sauras
Ce que tu comprendras
Ce que fait un back-end — et pourquoi le navigateur ne peut pas s'en charger
Ce qu'est PHP, et ce qu'est Laravel par-dessus
Pourquoi on choisit Laravel pour livrer vite et en sécurité
Ce qu'est une variable d'environnement (le fichier .env)
Ton projet « Atelier API » créé et qui tourne
MarQentiCours 1 · Fondations · S.1
?
D'abord : c'est quoi un back-end
Le front tourne dans le navigateur de ton client. Le back tourne sur un serveur, loin, que personne ne voit. Que fait-il, et pourquoi en a-t-on besoin ?
Les deux côtés
Le front demande, le back répond
Souviens-toi du cycle : le navigateur envoie une requête, un serveur renvoie une réponse. Le front (Angular) vit dans le navigateur, chez l'utilisateur. Le back (Laravel) vit sur le serveur — et c'est lui qui décide ce que contient la réponse.
1
Front « donne-moi les clients »
2
Requête part sur le réseau
3
Back vérifie, cherche, décide
4
Réponse JSON renvoyé au front
MarQentiCours 1 · Fondations · S.1
Le vrai rôle du back
Ce que le navigateur ne peut pas faire
Garder les données pour de vrai
une base de données qui survit à la fermeture du navigateur, partagée par tous les utilisateurs.
Faire respecter les règles
qui a le droit de faire quoi — impossible à confier au navigateur, qu'on peut trafiquer.
Garder les secrets
mots de passe, clés d'API, accès à la base : jamais dans le front, que l'utilisateur peut lire.
MarQentiCours 1 · Fondations · S.1
La bascule mentale
Le front, on peut le voir. Le back, c'est là que vit la vérité.
Le navigateur est un territoire hostile : l'utilisateur peut tout y lire et tout y changer. Le serveur est ton terrain. Chaque fois qu'une chose doit être vraie — un prix, un droit, un solde — elle se décide sur le back, jamais sur le front.
MarQentiCours 1 · Fondations · S.1
L'outil de base
PHP : un langage qui tourne sur le serveur
Le JavaScript d'Angular tourne dans le navigateur. PHP fait l'inverse : il s'exécute sur le serveur, reçoit la requête, parle à la base, et fabrique la réponse. Le navigateur ne voit jamais ton PHP — seulement son résultat.
du PHP, côté serveur<?php
$clients = ['Boulangerie Zitoun', 'Garage Sfax Auto'];
return response()->json($clients); // le front ne recevra que ce JSON
MarQentiCours 1 · Fondations · S.1
Enfin — Laravel
Laravel : le framework complet du back
Écrire un back en PHP nu, c'est réinventer le routage, la base, l'authentification, la sécurité… à la main. Laravel est un framework complet par-dessus PHP : tout est inclus et fait pour marcher ensemble — exactement ce qu'Angular est au front.
La conséquence : moins de plomberie, des défauts sûrs, et on livre une vraie API en quelques jours au lieu de quelques semaines. Le prix : une structure à apprendre — ce cours est là pour ça.
MarQentiCours 1 · Fondations · S.1
Le choix MarQenti
Pourquoi on construit sur Laravel
Tout inclus
base, auth, validation, files d'attente : pas une semaine à coller des librairies.
Sécurisé par défaut
injection SQL, CSRF, mots de passe hachés : protégés d'entrée de jeu.
On livre vite
artisan génère des pans entiers de code — un junior sort une API propre.
Hébergement partout
PHP tourne sur presque tous les hébergeurs, souvent pour quelques dinars.
MarQentiCours 1 · Fondations · S.1
⌘
Installe ton atelier-back
Deux outils, une commande, et ton API tourne en local. On explique chaque outil avant de taper.
Outils 1 & 2 · PHP et Composer
Le langage, et son gestionnaire de paquets
PHP exécute ton code côté serveur. Composer est à PHP ce que npm est à Node : le gestionnaire de paquets qui installe Laravel et toutes tes librairies.
terminal — vérifie que c'est installéphp -v # PHP 8.2 ou plus
composer -V # le gestionnaire de paquets PHP
MarQentiCours 1 · Fondations · S.1
Créer le projet · artisan
Une commande, et l'API existe
On crée le projet avec Composer. À l'intérieur vit artisan — l'outil en ligne de commande de Laravel (le ng du back) : il génère, migre, sert, teste.
terminalcomposer create-project laravel/laravel atelier-api
cd atelier-api
php artisan install:api # ajoute les routes API (api.php)
On détaillera install:api, api.php et le reste dès la Séance 2. Aujourd'hui : créer, lancer, regarder.
MarQentiCours 1 · Fondations · S.1
Le serveur de développement
php artisan serve — ton API en direct
Comme le serveur de dev d'Angular, mais pour le back : une commande lance un serveur local qui exécute ton PHP et répond aux requêtes, sur ta machine.
terminal, dans atelier-apiphp artisan serve
# → http://127.0.0.1:8000# c'est l'adresse que le front Angular appellera
À retenir : deux serveurs tournent pendant que tu développes — Angular sur :4200 (le front) et Laravel sur :8000 (l'API). Deux moitiés, deux ports, une seule application.
MarQentiCours 1 · Fondations · S.1
Ce que tu viens de créer
La carte du projet
atelier-api/routes/ # web.php (pages) et api.php (JSON) — S2
app/ # ton code : Http/Controllers, Models
database/ # migrations, seeders — Cours 2
resources/ # les vues Blade (HTML côté serveur) — S4
.env # ta configuration & tes secrets
artisan # l'outil en ligne de commande
Chaque dossier a son rôle et sa séance. Ne cherche pas à tout comprendre aujourd'hui — retiens juste où vivent les routes, ton code (app/), et la config (.env).
MarQentiCours 1 · Fondations · S.1
La config · le fichier .env
C'est quoi une variable d'environnement
Certaines valeurs changent selon la machine (ta base locale ≠ celle de prod) et certaines sont secrètes (mots de passe, clés). On ne les écrit jamais dans le code : elles vivent dans un fichier .env, propre à chaque environnement et jamais envoyé sur Git.
.envAPP_NAME=Atelier
APP_ENV=local
APP_KEY=base64:... # clé de chiffrement, générée
DB_CONNECTION=sqlite # la base — Cours 2# en prod, ce fichier contient d'autres valeurs, secrètes
MarQentiCours 1 · Fondations · S.1
Pourquoi ça compte
Même code. Un .env par environnement.
Ton code ne change pas entre ta machine et le serveur de prod — seul le .env change. Et parce que les secrets y vivent, ils ne fuitent jamais dans le dépôt. Portabilité et sécurité, d'un seul fichier.
MarQentiCours 1 · Fondations · S.1
Le fil rouge des 12 séances
On construit « Atelier API »
Pas des exemples jetables. La vraie API derrière l'app clients / projets / factures — et à la fin, on la branche sur le front Angular d'Atelier, à la place de json-server.
C1
Fondations routes, MVC, JSON
C2
Données base, Eloquent, CRUD
C3
Expert auth, sécurité, mise en ligne
MarQentiCours 1 · Fondations · S.1
✎
À toi de jouer
On ne repart pas avec des notes — on repart avec une API Laravel qui tourne sur ta machine.
Exercice · 15 minutes
Lance ton API
AVérifie php -v et composer -V (installe-les si besoin)
BCrée le projet : composer create-project laravel/laravel atelier-api
CLance php artisan serve et ouvre 127.0.0.1:8000
DOuvre le .env et repère APP_NAME et DB_CONNECTION
EEn une phrase : pourquoi un secret ne va jamais dans le front ?
L'installation coince ? C'est la partie la moins fun. Une fois passée, tu ne la refais plus.
MarQentiCours 1 · Fondations · S.1
Ton plan d'action — cette semaine
Trois gestes, pas plus
Pousse atelier-api sur un dépôt Git — et vérifie que .env n'y est pas
Change APP_NAME dans le .env, recharge — observe l'effet de la config
Explique à quelqu'un la différence front / back — c'est le vrai test
MarQentiCours 1 · Fondations · S.1
Récapitulatif
La séance en une phrase
Le back-end est le serveur où vit la vérité — données, règles, secrets ; PHP y exécute ton code, Laravel te donne tout le nécessaire, la config & les secrets vivent dans le .env — et ton API « Atelier » tourne déjà sur ta machine.
MarQentiCours 1 · Fondations · S.1
“
Ne fais jamais confiance au navigateur. La vérité vit sur le serveur.