PHP

De Didaquest
Aller à la navigationAller à la recherche

PHP est un langage de programmation "coté serveur". C'est à dire le moyen de programmer un serveur web pour qu'il fasse absolument tout ce que vous voulez. Associé à Apache (serveur web) et MySQL (base de données), PHP est un outil professionnel qui n'a rien à envier aux ASP, Cold Fusion et autres systèmes "server-side" Comme Linux, ces outils sont libres et gratuits (ou presque). Ils sont pratiquement tous sous licence GNU ou Open Source Software.

Qu'est-ce que le PHP ?

PHP pour Pre Hypertext Processor, est un langage de script exécuté par le serveur Web qui héberge le site (comme les scripts CGI, ASP, …) et non par la navigateur du visiteur (comme une page Html, un script écrit en JavaScript ou une applet Java qui s'exécutent directement sur votre ordinateur...). La syntaxe du langage PHP est fortement inspirée de celles du langage C et du Perl.

Principaux atouts

  • la gratuité et la disponibilité du code source (PHP est distribué sous licence GNU GPL).
  • sa richesse fonctionnelle : PHP comporte plus de 1000 fonctions.
  • la simplicité d'écriture des scripts (?).
  • la disponibilité sur le Web de nombreux scripts PHP prêts à l'emploi.
  • la possibilité d'inclure le script PHP au sein d'une page Html.
  • la simplicité de liaison avec des bases de données. De nombreux systèmes de base de données sont supportés, mais le plus utilisé avec le PHP est MySQL, un système de base de données gratuit et disponible sur les plateformes Unix, Linux, et Windows.
Ce langage de programmation permet essentiellement de construire des sites Web dynamiques, particulièrement lorsqu’ils sont reliés à une base de données.

Côté-client et côté-serveur

Côté-client

Dans votre apprentissage des langages de publication sur le Web, vous avez avec le langage Html, le JavaScript ou le VBscript utilisé des applications dites côté-client car elles sont utilisées en local par le navigateur (le client) de l'utilisateur final.

Web-cote-client.gif

Détaillons ce qu'il se passe lorsque vous consultez une page Html dite statique :

  • Votre navigateur envoie l'adresse URL (Uniform Ressource Locator) que vous avez encodée.
  • Le serveur Web (l'ordinateur) qui héberge la page que vous demandez, va chercher le fichier demandé dans son disque dur et vous envoie la page Html telle qu'elle à votre navigateur.
  • Votre navigateur interprète les différents langages se trouvant dans ce fichier (Html, JavaScript, CSS, etc.) et affiche la page.

Côté-serveur

Les langages utilisés côté-client sont, pour des raisons évidentes de sécurité, assez limitatifs. Les applications plus complexes seront traitées dans l'espace plus sécurisé qu'est le serveur qui héberge le site Web. Les traitements sont alors exécutés côté-serveur et seuls les résultats seront envoyés au navigateur de l'utilisateur.

Php-serveur.gif

Détaillons ce qu'il se passe lorsque vous consultez une page Html dite dynamique :

  • Votre navigateur envoie l'adresse que vous avez encodée.
  • Le serveur Web cherche dans son arborescence si le fichier existe et si celui-ci porte une extension reconnue comme une application PHP (.php, .php3, .phtml). Si c'est le cas, le serveur Web transmet ce fichier à PHP.
  • PHP interprète le fichier, c'est-à-dire qu'il va analyser et exécuter le code PHP. Si ce code contient des requêtes vers une base de données MySQL, PHP envoie la requête SQL. La base de données renvoie alors les informations voulues au script qui peut les exploiter (pour les afficher par exemple).
  • PHP continue d'interpréter la page, puis retourne le fichier dépourvu du code PHP (puisqu'il est exécuté) au serveur Web. -
  • Le serveur Web renvoie finalement le fichier au navigateur de l'utilisateur. Ce fichier ne contient plus que du Html.
Vous remarquez que le code PHP s'exécute côté-serveur. Il n'y a ainsi plus aucune trace du code PHP lorsque vous consultez le code source de la page dans votre navigateur PHP, au contraire du JavaScript où le code source reste visible.
Il est important de noter :
  • que tout ce qui a trait à la présentation de la page (couleur, police, mise en forme du texte, etc..) est l'affaire du Html et des feuilles de style CSS.
  • que PHP n'a donc rien à voir avec le design de votre page.
  • que tout ce qui touche au comportement du navigateur est du domaine du JavaScript, lui aussi exécuté par le client.

Petite histoire du PHP

Le langage PHP a été mis au point au début d'automne 1994 par Rasmus Lerdorf. Ce langage de script lui permettait de conserver la trace des utilisateurs venant consulter son CV en ligne sur son site, grâce à l'accès à une base de données par l'intermédiaire de requêtes SQL. Ainsi, étant donné que de nombreux internautes lui demandèrent ce programme, Rasmus Lerdorf mit en ligne en 1995 la première version de ce programme qu'il baptisa Personal Sommaire Page Tools, puis Personal Home Page v1.0.

Etant donné le succès de PHP 1.0, Rasmus Lerdorf décida d'améliorer ce langage en y intégrant des structures plus avancées telles que des boucles, des structures conditionnelles, et y intégra un package permettant d'interpréter les formulaires qu'il avait développé (FI, Form Interpreter) ainsi que le support de MySQL. C'est de cette façon que la version 2 du langage, baptisée pour l'occasion PHP/FI version 2, vit le jour durant l'été 1995. Il fut rapidement utilisé sur de nombreux sites (15000 fin 1996, puis 50000 en milieu d'année 1997).

A partir de 1997, Zeev Suraski et Andi Gurmans rejoignirent Rasmus pour former une équipe de programmeurs afin de mettre au point PHP 3 (Stig Bakken, Shane Caraveo et Jim Winstead les rejoignèrent par la suite). C'est ainsi que la version 3.0 de PHP fut disponible le 6 juin 1998.

A la fin de l'année 1999, une version 4 de PHP est apparue, puis progressivement 5, 6, 7...

PHP en local

Pour tester vos scripts PHP, il deviendrait très vite pesant de "uploader" à chaque fois vos fichiers par FTP sur un serveur distant. C'est pourquoi installer un serveur Web en local sur son ordinateur se révèle indispensable pour tester vos scripts en direct. Vous pourrez ainsi programmer en PHP sans avoir besoin d'être connecté à Internet, ce qui peut être intéressant pour les personnes ne disposant pas (encore) de connexions au forfait.

Il existe des outils incontournables pour le PHP, qui facilite cette tache

EasyPHP

  • (www.easyPHP.org): Ce programme permet d'installer automatiquement en quelques secondes un environnement de travail complet : soit un serveur Apache, PHP, MySql, PHPMyAdmin, etc. Vous pourrez ainsi tester localement sous Windows vos scripts PHP et vos bases de données.

Editeur de texte

Un script PHP est, comme la plupart des langages de programmation, un simple fichier texte (ASCII 7 bits sans caractères accentués). Ainsi, un simple éditeur de texte comme le Bloc-notes (Notepad) de Windows fera très bien l'affaire.

Une documentation PHP

Lorsqu'on écrit des sites dynamiques en PHP, on ne gardera pas en tête les 1000 et quelques fonctions du PHP. On fonctionne de façon pragmatique. On retient bien entendu les fonctions et règles de base mais on se plongera dans la documentation pour les points plus spécifiques.