Php fondamentaux
Thème :
Intermédiaire
1 vues ·2/15 leçons

PARTIE 1 : FONDAMENTAUX ET ENVIRONNEMENT

Formation PHP Moderne 8.4/8.5 - Guide Complet


Cours 1 : INTRODUCTION À PHP

1.1 Rôle de PHP dans le Web Moderne (2025)

Le Contexte Actuel

Par Diane (12 ans d’expérience - Experte Sécurité Web) :

“En 2025, PHP n’est pas mort, contrairement à ce qu’on entend parfois. Au contraire, 77,8% des sites web utilisent PHP côté serveur. WordPress (43% du web), Facebook, Wikipedia, Slack… tous utilisent PHP. La vraie question n’est pas ‘PHP est-il pertinent ?’ mais ‘Utilisez-vous PHP moderne ?’”

Les Chiffres qui Parlent

┌─────────────────────────────────────────────────┐
│  PHP dans le Web - Statistiques 2025           │
├─────────────────────────────────────────────────┤
│  Sites utilisant PHP        : 77.8%            │
│  WordPress (PHP)            : 43% du web       │
│  Laravel (framework)        : #1 PHP framework │
│  Symfony                    : Entreprises      │
│  PHP 8.x adoption           : 68%              │
│  PHP 7.x (legacy)           : 32%              │
└─────────────────────────────────────────────────┘

Pourquoi PHP en 2025 ?

“PHP 8.4 est rapide. Le JIT compiler, introduit en PHP 8.0 et amélioré depuis, rend PHP compétitif avec Node.js ou Go dans de nombreux cas. Les benchmarks montrent des gains de 20-30% de performance par rapport à PHP 7.4.”

Avantages de PHP Moderne :

✅ Écosystème Mature

  • Composer : gestionnaire de dépendances (comme npm pour Node.js)
  • Laravel, Symfony : frameworks professionnels
  • 20+ ans d’outils, bibliothèques, documentation

✅ Hébergement Universel

  • Disponible partout (5$/mois → millions/mois)
  • Configuration simple
  • Shared hosting → VPS → Cloud (AWS, GCP, Azure)

✅ Courbe d’Apprentissage Douce

  • Syntaxe intuitive
  • Erreurs explicites
  • Intégration HTML native

✅ Performance Moderne

  • JIT compiler (PHP 8.0+)
  • OpCache intégré
  • Type system strict

✅ Sécurité Intégrée

  • Fonctions de hachage modernes (password_hash, Argon2)
  • Protection CSRF, XSS natives
  • Mises à jour régulières

PHP vs Alternatives (2025)

Critère PHP 8.4 Node.js Python Go
Performance ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐
Écosystème Web ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
Hébergement ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
Courbe Apprentissage ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐
Jobs Disponibles ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
Salaire Moyen ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

1.2 PHP Côté Serveur : Comment Ça Fonctionne

Le Cycle de Vie d’une Requête HTTP

“Comprendre comment PHP s’exécute côté serveur est fondamental. Contrairement à JavaScript qui s’exécute dans le navigateur, PHP génère le HTML avant de l’envoyer au client.”

Schéma Complet

┌──────────────┐                      ┌──────────────┐
│              │   1. HTTP Request    │              │
│  NAVIGATEUR  │ ──────────────────> │   SERVEUR    │
│   (Client)   │                      │   WEB        │
│              │                      │  (Apache/    │
└──────────────┘                      │   Nginx)     │
       ↑                              └──────┬───────┘
       │                                     │
       │                              2. Détecte .php
       │                                     │
       │                                     ↓
       │                              ┌──────────────┐
       │                              │  Moteur PHP  │
       │                              │   (Zend)     │
       │                              │              │
       │                              │ - Parse code │
       │                              │ - Exécute    │
       │                              │ - Génère     │
       │                              │   HTML       │
       │                              └──────┬───────┘
       │                                     │
       │   3. HTTP Response                  │
       │      (HTML généré)                  │
       └──────────────────────────────────────┘

Exemple Concret

Fichier : index.php

<?php
// Ce code s'exécute SUR LE SERVEUR
$heure = date('H:i:s');
$message = "Bonjour, il est " . $heure;
?>
<!DOCTYPE html>
<html>
<head>
    <title>Ma Page PHP</title>
</head>
<body>
    <h1><?php echo $message; ?></h1>
</body>
</html>

Ce que voit le navigateur (HTML généré) :

<!DOCTYPE html>
<html>
    <head>
        <title>Ma Page PHP</title>
    </head>
    <body>
        <h1>Bonjour, il est 14:32:15</h1>
    </body>
</html>

Points Clés :

  • ❌ Le navigateur ne voit jamais le code PHP
  • ✅ PHP génère du HTML avant de l’envoyer
  • ✅ Chaque rechargement = nouvelle exécution
  • ✅ Aucune trace de PHP côté client

Client-Side vs Server-Side

“La différence fondamentale : JavaScript (client) peut être inspecté dans le navigateur. PHP (serveur) est invisible pour l’utilisateur. C’est pourquoi on peut y gérer des secrets, des mots de passe, des connexions BD en toute sécurité.”

Aspect PHP (Serveur) JavaScript (Client)
Exécution Serveur web Navigateur
Visible ? ❌ Non (sécurisé) ✅ Oui (inspectable)
Accès BD ✅ Direct ❌ Via API seulement
Secrets ✅ Protégés ❌ Exposés
Performance Dépend serveur Dépend client
Rechargement Page entière Dynamique (AJAX)

Processus Détaillé

Étape 1 : Requête HTTP

GET /index.php HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0...

Étape 2 : Serveur Web (Apache/Nginx)

  • Reçoit la requête
  • Détecte l’extension .php
  • Passe le fichier au moteur PHP

Étape 3 : Moteur PHP (Zend Engine)

┌─────────────────────────────────────┐
│  1. Parsing                         │
│     - Analyse syntaxique            │
│     - Vérification erreurs          │
│                                     │
│  2. Compilation                     │
│     - Bytecode (opcodes)            │
│     - OpCache (mise en cache)       │
│                                     │
│  3. Exécution                       │
│     - Variables                     │
│     - Fonctions                     │
│     - Génération HTML               │
│                                     │
│  4. Output                          │
│     - HTML final                    │
└─────────────────────────────────────┘

Étape 4 : Réponse HTTP

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 234

<!DOCTYPE html>
<html>...

Prochaine Étape

Dans le Chapitre 2, nous verrons en détail le cycle requête/réponse HTTP et comment PHP interagit avec le client et le serveur.


“PHP n’est pas mort. PHP mal utilisé, oui. PHP moderne ? Vivant et performant.”

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur PARTIE 1 : FONDAMENTAUX ET ENVIRONNEMENT. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.