Aller au contenu principal

Module 1 – Introduction au Web & PHP

Niveau 1 – PHP fondamentaux


Objectifs

Ce module pose les bases : comment le Web fonctionne (HTTP, client, serveur), où se situe PHP, comment installer PHP et Composer sur votre machine, et comment lancer un premier script. À l’issue, vous saurez expliquer le cycle requête–réponse et créer une petite structure de projet PHP.


Théorie

Comment fonctionne le Web ?

Le Web repose sur un modèle client–serveur :

  1. Le client (navigateur : Chrome, Firefox, etc.) envoie une requête à un serveur.
  2. Le serveur (une machine qui héberge un site) traite la requête et renvoie une réponse (souvent une page HTML).
  3. Le navigateur affiche cette réponse à l'utilisateur.

Tout cela se fait via le protocole HTTP (HyperText Transfer Protocol).

┌─────────────┐                    ┌─────────────┐
│ Navigateur │ ─── Requête ───► │ Serveur │
│ (client) │ ◄── Réponse ─── │ (PHP) │
└─────────────┘ └─────────────┘

Le cycle requête → réponse (détail)

  1. Requête HTTP
    Le navigateur envoie une requête qui contient notamment :

    • une méthode (GET, POST, etc.)
    • une URL (ex. https://example.com/page.php)
    • des en-têtes (User-Agent, cookies, etc.)
    • éventuellement un corps (pour POST)
  2. Traitement côté serveur
    Le serveur web (Apache, Nginx, etc.) reçoit la requête. Si l'URL pointe vers un fichier .php, il exécute ce script PHP. PHP peut :

    • lire des données (formulaires, base de données)
    • faire des calculs
    • générer du HTML (ou du JSON, etc.)
  3. Réponse HTTP
    Le serveur renvoie une réponse contenant :

    • un code de statut (200 OK, 404 Not Found, etc.)
    • des en-têtes (Content-Type, cookies, etc.)
    • un corps (le HTML généré par PHP, par exemple)
  4. Affichage
    Le navigateur reçoit la réponse et affiche la page (HTML, CSS, images, etc.).

PHP s’exécute uniquement sur le serveur. Le navigateur ne reçoit que le résultat (HTML), jamais le code source.


HTTP vs HTTPS

HTTPHTTPS
ChiffrementNonOui (TLS/SSL)
Port par défaut80443
DonnéesEn clair sur le réseauCryptées
Usage recommandéDev local, testsProduction (sites publics)

En production, on utilise HTTPS pour protéger les mots de passe, les données personnelles et l'intégrité des pages.


PHP dans l'écosystème web

  • PHP = langage exécuté côté serveur. Il génère du HTML (ou autre) envoyé au client.
  • HTML / CSS / JavaScript = exécutés côté client (dans le navigateur).
    PHP produit souvent du HTML que le navigateur affiche ; il peut aussi générer du JavaScript ou des données JSON pour des appels AJAX.

Rôle typique de PHP :

  • Lire des formulaires (GET/POST)
  • Accéder à une base de données
  • Gérer sessions et cookies
  • Contrôler l'accès (authentification)
  • Construire la page HTML envoyée au client

Installation : PHP, Composer, serveur local

La formation est conçue pour Windows, macOS et Linux. Les commandes du terminal (ex. php -v, composer -V, cd, php -S localhost:8000) sont les mêmes sur les trois systèmes ; sous Windows, utilisez PowerShell ou l’Invite de commandes (cmd), éventuellement Git Bash.

1. Installer PHP

Windows :

  • Télécharger PHP depuis windows.php.net (version "VS16 x64 Non Thread Safe" ou "Thread Safe" selon votre stack), puis ajouter le dossier PHP au PATH.
  • Ou utiliser XAMPP, Laragon ou WAMP (PHP + Apache + MySQL inclus).

macOS :

brew install php

Linux (ex. Ubuntu / Debian) :

sudo apt update && sudo apt install php php-cli php-mbstring php-xml php-mysql

Sous Fedora/RHEL : sudo dnf install php php-cli php-mbstring php-xml php-mysqlnd.

Vérifier l'installation (tous OS) :

php -v

Vous devez voir quelque chose comme : PHP 8.2.x (ou 8.3, 8.4).

2. Installer Composer

Composer est le gestionnaire de dépendances PHP (équivalent de npm pour JavaScript).

  • Tous OS : instructions et installateur sur getcomposer.org (sous Windows, l’installateur peut ajouter Composer au PATH).
  • Linux (global) : curl -sS https://getcomposer.org/installer | php puis sudo mv composer.phar /usr/local/bin/composer.

Vérification :

composer -V

3. Serveur local pour développer

Sur Windows, macOS et Linux, pour exécuter des scripts PHP sans installer Apache/Nginx :

cd mon-projet
php -S localhost:8000

Puis ouvrir dans le navigateur : http://localhost:8000.
Chaque requête vers un fichier .php sera exécutée par PHP.


Structure d'un projet PHP (débutant)

Pour ce module, une structure minimale suffit :

mon-projet/
├── public/ # Entry point (optional for later)
│ └── index.php
├── index.php # Or at project root
└── README.md

Premier script : index.php

<?php
// PHP code is between <?php and ?>
echo "Hello, Web!";

En ouvrant http://localhost:8000/index.php, vous devez voir : Hello, Web!

Règles de base :

  • Le code PHP est délimité par <?php et ?> (on peut omettre ?> en fin de fichier si tout est en PHP).
  • Chaque instruction se termine par ;.
  • echo envoie du texte dans la réponse HTTP (donc vers le navigateur).

Exemple avec HTML :

<?php
$title = "My first PHP page";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php echo htmlspecialchars($title); ?></title>
</head>
<body>
<h1><?php echo htmlspecialchars($title); ?></h1>
<p>Server date: <?php echo date('Y-m-d H:i'); ?></p>
</body>
</html>

Ici, PHP alterne avec le HTML : les blocs <?php ... ?> sont exécutés côté serveur, le reste est renvoyé tel quel.
htmlspecialchars() est une bonne pratique pour afficher du texte sans risque XSS (on en reparle au module 4).


À retenir

Le Web, c’est un client (navigateur) qui envoie une requête et un serveur qui renvoie une réponse (souvent du HTML). PHP tourne côté serveur uniquement ; le navigateur ne voit jamais le code. En production, on privilégie HTTPS (chiffrement). Composer gère les dépendances PHP. Pour tester en local sans Apache/Nginx : php -S localhost:8000 dans le dossier du projet.


Quiz – Module 1

Quelques questions pour vérifier que les notions sont bien en place.

Q1. Où s'exécute le code PHP : sur le serveur ou dans le navigateur ?
Q2. Quelle est la différence principale entre HTTP et HTTPS ?
Q3. Que signifie « cycle requête → réponse » ? Décrivez les étapes.
Q4. À quoi sert Composer dans un projet PHP ?
Q5. Quelle commande permet de lancer un serveur PHP intégré sur le port 8000 ?

Réponses du quiz

R1. Sur le serveur. Le navigateur ne reçoit que le résultat (HTML, etc.), pas le code PHP.

R2. HTTPS chiffre les échanges (TLS/SSL) ; HTTP envoie les données en clair. En production on utilise HTTPS.

R3. Le navigateur envoie une requête (URL, méthode, en-têtes) au serveur. Le serveur traite la requête (ex. exécute un script PHP), puis renvoie une réponse (code statut, en-têtes, corps = souvent du HTML). Le navigateur affiche cette réponse.

R4. Composer est le gestionnaire de dépendances PHP. Il permet d’installer des bibliothèques (packages) et d’autoloader les classes d’un projet.

R5. php -S localhost:8000 (à exécuter dans le dossier du projet).


Examen Niveau 1

À l’examen, on pourra vous demander d’expliquer le cycle requête → réponse (qui envoie quoi, qui traite quoi), le rôle de PHP (côté serveur, pas dans le navigateur), et la différence HTTP/HTTPS. Un coup d’œil à ce module et au quiz suffit pour être prêt.


Suite

Module 2 – Syntaxe PHP de base : variables, conditions, boucles, fonctions.