Cours 1 · Les Fondations — Séance 1 / 4

Le back-end, PHP
& Laravel

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

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

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.
Séance 2 → MVC & le cycle d'une requête