Créé le 28 avril 2004
Modifié le
Pages actives côté serveur > PHP

PHP

Présentation de PHP

PHP est un langage de programmation simple mais très puissant, permettant de générer des pages Web dynamiques et d'automatiser un grand nombre de tâches répétitives sur un site. Créé en 1994 par Rasmus Lerdorf, ce langage qui signifiait à l'origine Personal Home Page, puis Preprocessor HyPertext, et en est aujourd'hui à la version PHP4 et intègre le modèle objet. PHP est sans contexte une des technologie les plus populaires pour la création de sites Web dynamiques s'appuyant sur des bases de données.

PHP est une technologie serveur, mais qui offre un intérêt supplémentaire par rapport à d'autres technologies serveur, tels que les CGI notamment. On parle de pages actives côté serveur. En effet, se basant sur la technique des templates, PHP permet d'écrire des scripts directement à l'intérieur de pages HTML au contraire des CGI et offre par conséquent une bien meilleure intégration avec HTML: les modifications textuelles et de mise en forme dans la page HTML sont ainsi réduites à leur minimum.

Par ailleurs, et c'est là une des grandes qualités de cette technologie, PHP est très adapté aux traitement autour des bases de données. Le langage permet un interfaçage simple avec un grand nombre de Systèmes de Gestion de Bases de Données (SGBD), en particulier avec MySQL, issu comme PHP du monde des logiciels libres.

Exemples et contre-exemples d'utilisation de PHP

PHP permettant de générer du contenu dynamique, évolutif et adapté, ses applications courantes sont nombreuses. Mais c'est en général en l'associant avec des bases de données que PHP donnera les meilleurs résultats. Quelques cas concrets:

  • Gestion de news, d'articles, ... à caractère fort évolutif
  • Création de forums, de galeries photos, d'annuaires de liens, de moteur de recherche interne à un site. Soit des applications qui font appel à une base de données.
  • Réalisation de Webmails: les données sont dans un SGBD auquel PHP va accéder.

Par contre, dans de nombreux cas, il vaut mieux utiliser d'autres langages de scripts. En effet, tout ce qui concerne le navigateur client est inaccessible à PHP puisqu'il s'exécute depuis le serveur. On n'utilisera pas PHP dans ces quelques cas suivants:

  • Création de pop-ups: il vaut mieux utiliser Javascript afin de spécifier l'emplacement d'ouverture dans le navigateur.
  • Statistiques sur la résolution d'écran des visiteurs: PHP s'exécutant côté serveur, le langage n'a pas connaissance de ce qui se passe côté client. Il faut donc utiliser un script client dans ce cas-ci.

Ecriture d'un script PHP simple

Il existe 2 façons d'invoquer un programme PHP: soit il est directement intégré dans le code HTML, soit il est placé dans un fichier externe, mais appelé depuis le code HTML. Dans les 2 cas, les règles sont les mêmes, si ce n'est que dans le second cas, l'appel se fait de la manière suivante: <SCRIPT LANGUAGE="php"> code </SCRIPT>. En principe, les scripts sont placés entre des balises spéciales comme ceci: < ?php code ; ?> ou < % code ; %>. Nous n'entrons pas ici dans les détails, mais cela va nous permettre de distinguer aisément les scripts PHP dans les exemples qui suivent. Voici d'ailleurs un exemple très simple qui ne fait qu'afficher la phrase "Découverte de PHP":

<html>

<head>

<title>Bienvenue</title>

</head>

<body>

<?php

echo ("Découverte de PHP");

?>

</body>

</html>

PHP est un langage de script complet: il dispose de toutes les structures classiques de programmation: boucles, tests de condition, choix multiple, appels de fonctions, définitions de tableaux ... et, depuis PHP, du modèle objet et des classes. L'écriture de scripts PHP ne diffère donc pas fondamentalement de celle d'autres langages de scripts. Il existe bien entendu des spécificités propres à ce langage, mais PHP demeure assez facile à apprendre.

Mécanisme d'interprétation d'un script PHP

Comment se passe l'exécution d'un script PHP? Pour bien comprendre, il faut savoir que les pages actives côté serveur fonctionnent comme une couche supplémentaire au niveau du serveur.
Le navigateur Web (le client) envoie une requête HTTP vers le serveur. Le fichier PHP, stocké sur le serveur, est exécuté par l'interpréteur PHP. A partir de ce moment, PHP fonctionne en fait comme le client: l'interpréteur interroge la base de données invoquée dans le script et remplace le script par les données issues de la base. L'interpréteur transforme donc le contenu des balises par du code HTML assimilable par tout navigateur et renvoie la page HTML finalisée vers le navigateur client. C'est pourquoi on ne peut pas voir le code PHP d'une page: le code source est en HTML (même si l'extension est .php). Un exemple:

Tout se passe donc depuis le serveur. Il n'est plus nécessaire de remanier la page en fonction des résultats issus des applications tierces. L'interpréteur PHP compose dynamiquement la page à envoyer; les indications de mise en forme (soit dans le code HTML de départ, soit via une feuille de style, sont appliquées dynamiquement au contenu.

PHP et les outils de développement

Pour développer des applications en PHP, il n'est pas nécessaire de disposer d'une connection internet. Par contre, il est fort utilse d'installer sur son ordinateur un serveur local afin de tester ses scripts PHP. Le plus utilisé est Apache, installé par défaut sur toutes les distributions de Linux. L'ordinateur fonctionne dès lors en tant que client et serveur.

Quant au SGBD relationnel MySQL, il peut bien entendu aussi être installé sur votre ordinateur. Il existe de nombreux autres SGBD que l'on peut associer à PHP, mais MySQL a le double avantage d'être libre (donc gratuit) et d'être naturellement associé à PHP, ce qui facilite son usage. Les applications PHP peuvent toutefois s'appuyer sur d'autres SGBD, tels que PostGres ou Oracle.

La communauté des développeurs en PHP est une communauté fort active. On trouve de nombreux sites d'explications, des tutoriaux, des scripts à télécharger ou encore des astuces diverses. Un utilitaire particulièrement intéressant, EasyPHP, propose un package d'installation comprenant le serveur Apache, le SGBD MySQL et la version PHP4 pour la dernière version de EasyPHP. De plus, cet utilitaire dispose d'une documentation importante pour débuter et approfondir ses connaissances en PHP.

Sinon, pour l'écriture des scripts, un simple éditeur de texte suffit. Il n'existe pas de logiciels WYSIWYG (What You See Is What You Get, c'est-à-dire ce que vous voyez est ce que vous obtenez) pour PHP, comme c'est le cas pour écrire du HTML pur avec Golive, Dreamweaver ou FrontPage.

Avantages et inconvénients de PHP

Le succès de PHP et de MySQL dans le monde des logiciels libres et auprès de la communauté Linux est en soi un gage de sérieux. Parmi les atouts de PHP, on peut souligner:

  • Un interfaçage simple et efficace avec un grand nombre de SGBD.
  • Un langage de script puissant, complet et relativement facile à apprendre, qui offre une très bonne intégration avec HTML.
  • L'existence d'outils associés très performants: le SGBD MySQL, le serveur Web Apache et une documentation foisonnante à disposition. De plus, les interpréteurs PHP sont présents sur de nombreux serveurs et sont eux aussi performants.
  • Le coût. PHP est libre et Open Source, et profite donc des évolutions apportés par la communauté des développeurs PHP.

PHP ne résoud cependant pas tous les problèmes.

  • Le rôle de PHP s'exécute exclusivement côté serveur. il est donc nécessaire de l'utiliser pour certaines applications et d'utiliser des scripts clients pour ce qui concerne le navigateur client.
  • Développer un site en PHP requiert des connaissances non seulement en programmation, mais également en conception et gestion de banques de données. C'est notamment via le langage standard d'interrogation des bases de données SQL (Structured Query Language) que les scripts PHP accèdent aux données.

Liens utiles

http://www.php.net/

http://www.easyphp.org/?lang=fr

http://www.mysql.com/

http://www.commentcamarche.net/php/phpintro.php3

http://www.phpdebutant.org/

http://www.laltruiste.com/document.php?compteur=2&rep=11&evolution=2

http://www.phpguide.net/index.php?page=livre.htm


Haut de page