Aller au contenu principal

Module PHP.1 – Introduction

Objectif

Comprendre à quoi sert PHP, son rôle dans le web, l'architecture client/serveur, et pourquoi PHP est interprété.

Théorie

À quoi sert PHP ?

PHP (Hypertext Preprocessor) est un langage de script côté serveur conçu pour le développement web.

Rôles principaux :

  • Générer du contenu HTML dynamique
  • Traiter les formulaires
  • Interagir avec les bases de données
  • Gérer les sessions utilisateur
  • Créer des API web
  • Développer des applications web complètes

Exemples d'utilisation :

  • Sites e-commerce (paniers, commandes)
  • Systèmes de gestion de contenu (WordPress, Drupal)
  • Forums et réseaux sociaux
  • Applications web d'entreprise
  • API REST

PHP dans le web

Statistiques :

  • Utilisé par environ 78% des sites web
  • WordPress (le CMS le plus utilisé) est en PHP
  • Facebook a commencé en PHP
  • Beaucoup de sites majeurs utilisent PHP

Pourquoi PHP est populaire :

  • Facile à apprendre
  • Grande communauté
  • Nombreuses bibliothèques et frameworks
  • Bien documenté
  • Gratuit et open source
  • Intégré à la plupart des serveurs web

Architecture client / serveur

Fonctionnement :

  1. Client (navigateur)

    • Envoie une requête HTTP au serveur
    • Reçoit la réponse HTML
    • Affiche la page
  2. Serveur web

    • Reçoit la requête
    • Transmet à PHP si nécessaire
    • Renvoie la réponse
  3. PHP (côté serveur)

    • Traite la requête
    • Exécute le code PHP
    • Génère du HTML
    • Retourne le résultat au serveur

Exemple de flux :

Utilisateur → Navigateur → Requête HTTP → Serveur web

PHP traite

Serveur web ← HTML généré ← PHP exécute ← Base de données

Navigateur ← Réponse HTML ← Serveur web

Utilisateur voit la page

Différence avec JavaScript :

  • JavaScript : Exécuté côté client (dans le navigateur)
  • PHP : Exécuté côté serveur (sur le serveur web)

PHP interprété

Qu'est-ce que l'interprétation ?

PHP est un langage interprété, ce qui signifie :

  • Le code source est exécuté directement
  • Pas de compilation préalable nécessaire
  • Le serveur PHP lit et exécute le code à chaque requête

Processus d'exécution :

  1. Le serveur web reçoit une requête pour un fichier .php
  2. Le serveur transmet le fichier à l'interpréteur PHP
  3. PHP lit le code ligne par ligne
  4. PHP exécute le code et génère du HTML
  5. Le HTML est renvoyé au navigateur

Avantages de l'interprétation :

  • Développement rapide (pas de compilation)
  • Modifications visibles immédiatement
  • Facile à déboguer
  • Flexible

Inconvénients :

  • Performance généralement moindre que les langages compilés
  • Code source visible (mais peut être optimisé avec OPcache)

OPcache :

  • Cache le bytecode compilé
  • Améliore significativement les performances
  • Activé par défaut dans PHP 7+

Écosystème PHP

Versions :

  • PHP 7.x : Performant et moderne
  • PHP 8.x : Dernière version avec JIT (Just-In-Time compilation)
  • PHP 8.3+ : Recommandé pour nouveaux projets

Frameworks populaires :

  • Laravel : Framework moderne et élégant
  • Symfony : Framework robuste pour applications complexes
  • CodeIgniter : Léger et simple
  • Zend Framework : Pour entreprises

Outils :

  • Composer : Gestionnaire de dépendances
  • PHPUnit : Tests unitaires
  • Xdebug : Débogueur

Exercice

  1. Recherche

    • Recherchez 3 sites web populaires qui utilisent PHP
    • Identifiez pourquoi PHP est adapté pour ces sites
  2. Comprendre le flux

    • Dessinez un schéma du flux client/serveur
    • Indiquez où PHP intervient dans le processus
  3. Comparaison

    • Comparez PHP interprété avec un langage compilé (Java, C#)
    • Listez les avantages et inconvénients de chaque approche

Quiz

  1. Où s'exécute le code PHP ?

    • Dans le navigateur
    • Sur le serveur web
    • Sur le disque dur
  2. Que signifie que PHP est interprété ?

    • Il doit être compilé avant l'exécution
    • Il est exécuté directement sans compilation
    • Il est plus lent que les autres langages
  3. Quel est le rôle principal de PHP ?

    • Styliser les pages web
    • Générer du contenu HTML dynamique
    • Créer des animations
  4. Dans l'architecture client/serveur, où se trouve PHP ?

    • Côté client
    • Côté serveur
    • Entre les deux
  5. Quel framework PHP est le plus populaire actuellement ?

    • Symfony
    • Laravel
    • CodeIgniter

Mini défi

Mission : Comprendre l'écosystème PHP

  1. Recherche approfondie

    • Documentez 5 frameworks PHP majeurs
    • Notez leurs spécificités et cas d'usage
    • Identifiez lequel serait adapté pour quel type de projet
  2. Architecture

    • Créez un diagramme détaillé du flux client/serveur
    • Incluez : navigateur, serveur web, PHP, base de données
    • Ajoutez des annotations expliquant chaque étape
  3. Comparaison

    • Comparez PHP avec un autre langage backend (Node.js, Python)
    • Créez un tableau comparatif : performance, facilité, écosystème, cas d'usage

Objectif : Avoir une vision claire de l'écosystème PHP et de son rôle dans le développement web.


Validation : Vous pouvez passer au module suivant quand vous comprenez le rôle de PHP dans le web et l'architecture client/serveur.