PHP et génération dynamique d’une page
Comprendre comment un serveur peut préparer une page avec des données avant de l’envoyer au navigateur.
Pourquoi PHP intervient dans une page
L’Atelier Martin possède une page /realisations. Elle doit afficher les dernières réalisations, leur titre, image, date et catégorie, mais seulement lorsqu’elles sont publiées. Un fichier HTML unique deviendrait difficile à maintenir quand le contenu change.
Le serveur peut alors utiliser PHP pour recevoir la demande, consulter la base de données, sélectionner les bonnes informations, les placer dans un modèle et produire du HTML. Le visiteur reçoit la page générée, pas les instructions utilisées pour la préparer.
Qu’est-ce que PHP ?
PHP est un langage de programmation surtout utilisé côté serveur pour produire des pages et des réponses web. Il peut traiter une demande, lire des paramètres, vérifier un utilisateur, consulter une base, enregistrer un formulaire, préparer du HTML ou du JSON, envoyer un email et appliquer des règles propres au site.
PHP n’est ni un serveur web, ni une base de données, ni un navigateur, ni un CMS. WordPress utilise PHP, mais PHP existe indépendamment de WordPress.
Côté client et côté serveur
Le code côté client s’exécute dans le navigateur. HTML, CSS et JavaScript client sont les exemples les plus courants : le visiteur reçoit ces ressources. Le code côté serveur s’exécute sur l’infrastructure du site et peut accéder à des services internes avant de préparer une réponse.
| Élément | Où il agit | Ce que reçoit le visiteur |
|---|---|---|
| HTML | Navigateur | HTML |
| CSS | Navigateur | CSS |
| JavaScript client | Navigateur | JavaScript |
| PHP | Serveur | Résultat généré |
| SQL | Base de données | Données pour l’application |
JavaScript peut aussi s’exécuter côté serveur avec Node.js. L’idée importante est le lieu d’exécution, pas une opposition entre deux langages.
Pourquoi le navigateur ne reçoit pas le PHP
Le navigateur sait afficher du HTML, appliquer du CSS et exécuter du JavaScript. Il ne traite généralement pas directement le PHP d’un site. Le serveur transmet la demande à PHP, PHP exécute le code et produit une réponse, puis le serveur renvoie cette réponse au navigateur.
Une configuration qui exposerait le code PHP source serait anormale et dangereuse. Le visiteur doit normalement recevoir le résultat, pas les fichiers internes ni leurs secrets.
Le rôle de l’interpréteur
Un interpréteur PHP lit et exécute le code PHP. Le serveur web peut lui transmettre une demande, puis récupérer son résultat. PHP-FPM et le module Apache sont des modes d’exécution que vous pourrez rencontrer. Le guide suivant expliquera le rôle des logiciels comme Apache, Nginx et LiteSpeed.
Comment une page dynamique est produite
Une page peut être adaptée selon l’URL, l’utilisateur connecté, les données disponibles, la date, une recherche, un panier, une langue, des permissions, une commande ou les réglages du site. Une page profil, une fiche produit, un tableau de bord ou un article WordPress sont des exemples fréquents.
« Dynamique » ne signifie pas forcément qu’un élément bouge à l’écran. Ici, le mot décrit surtout la façon dont le contenu est préparé ou adapté avant son affichage.
PHP et base de données
PHP reçoit la demande, vérifie les informations nécessaires, prépare une demande pour la base, récupère les données, applique les règles du site puis les insère dans un modèle. Il peut ainsi générer du HTML ou une réponse JSON. Le guide sur les bases de données explique où ces contenus sont organisés.
Exemple d’une réalisation
Une réalisation contient par exemple le titre « Rénovation d’une salle de bain », la ville « Vesoul », la date du 12 juillet 2026, le statut « publié » et l’image salle-de-bain.webp. PHP peut récupérer cette donnée, vérifier son statut, choisir le modèle, ajouter l’image et le lien, puis produire le HTML correspondant.
PHP ressemble à une cuisine derrière la salle d’un restaurant : le visiteur passe une demande, la cuisine consulte les ingrédients et prépare le résultat. La comparaison a ses limites : une application peut traiter de nombreuses demandes, utiliser des caches et appeler des services externes.
Modèles et organisation du code
Un projet bien organisé sépare souvent la récupération des données, la logique, la présentation et la configuration. Un modèle, aussi appelé template, décrit comment afficher les informations. Cette séparation facilite la maintenance, les modifications de design, la réutilisation, les tests et la compréhension.
Traitement d’un formulaire
Après qu’un visiteur a rempli un formulaire, le navigateur envoie ses données. PHP peut les recevoir, vérifier leur validité, appliquer les règles prévues, les enregistrer, envoyer un email puis répondre avec une confirmation ou une erreur.
Les données envoyées par un navigateur ne doivent jamais être considérées comme fiables automatiquement. La validation protège le site et évite aussi les erreurs de saisie.
Sessions et utilisateurs
PHP peut aider à reconnaître un utilisateur entre plusieurs pages grâce à une session. Elle peut servir à conserver un utilisateur connecté, un panier, des préférences temporaires, un message de confirmation ou un jeton de sécurité. Cookies et authentification sont des notions liées, mais demandent un guide dédié.
Versions de PHP
Les nouvelles versions de PHP peuvent apporter des corrections, des fonctions, de meilleures performances et parfois des changements de comportement. Un site ancien peut ne pas fonctionner immédiatement avec une version récente, tandis qu’une version trop ancienne peut ne plus être maintenue ou limiter certaines extensions.
Avant un changement, vérifiez la compatibilité du CMS, du thème et des extensions, l’état du support, une sauvegarde et un test en préproduction. Le guide sur les environnements explique pourquoi ce test est utile.
Erreurs fréquentes
Une erreur PHP peut venir d’une syntaxe incorrecte, d’une fonction absente, d’une mémoire insuffisante, d’un délai dépassé, d’un fichier manquant, d’une mauvaise connexion à la base, d’une incompatibilité de version ou d’une exception non gérée.
Elle peut se manifester par une page blanche, une erreur 500, une page incomplète, une fonctionnalité cassée ou une lenteur. En production, les détails techniques ne doivent généralement pas être affichés publiquement : ils doivent être consignés dans des journaux adaptés.
Performances et cache
La vitesse dépend du code, de la base, du nombre de demandes, de la version de PHP, des ressources du serveur, des extensions, du cache et de services externes. PHP n’est pas automatiquement lent : une application bien conçue peut être très performante.
Un cache de page peut servir une réponse déjà préparée. Un cache d’objet peut réutiliser certaines données. OPcache peut éviter de relire et préparer le code de la même façon à chaque demande. Leur configuration dépasse ce guide.
Principes de sécurité
Validez les données reçues, échappez les données affichées, utilisez des requêtes préparées, protégez les secrets, limitez les permissions, maintenez PHP et l’application, ne montrez pas les erreurs détaillées au public et testez les mises à jour après sauvegarde.
PHP dans WordPress
WordPress utilise PHP pour démarrer l’application, charger thèmes et extensions, consulter la base, appliquer ses mécanismes internes, générer les pages, traiter l’administration et gérer formulaires et comptes. Le guide sur les fichiers et la base de données WordPress montre comment ces éléments se répartissent.
Les autres technologies serveur
PHP n’est pas la seule solution. JavaScript avec Node.js, Python, Ruby, Java, C#, Go et d’autres langages peuvent produire des pages dynamiques. Le principe reste comparable : recevoir une demande, exécuter une logique, consulter des données et produire une réponse.
Ce qu’il faut retenir
- PHP est un langage principalement exécuté côté serveur.
- Le navigateur reçoit généralement le HTML ou le JSON produit, pas le code PHP source.
- PHP peut utiliser une base de données pour préparer une page adaptée à la demande.
- Une page dynamique est produite selon des données et des règles, pas forcément animée à l’écran.
- Les versions, erreurs, performances et mises à jour doivent être gérées avec prudence.