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.


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.