Programmation PHP/Print version

Un livre de Wikibooks.

Modèle:Print version notice

Sections

[modifier] Sommaire

[modifier] Introduction

Programmation PHP
Programmation PHP
Plan
Modifier ce modèle

[modifier] Historique

PHP.png

PHP est un langage de script créé par Rasmus Lerdorf. Principalement utilisé pour la programmation Web, on pourrait le situer entre les SSI (Server Side Includes) et le langage de script Perl. Il est utilisé sur tous les systèmes d'exploitation tels Windows, Linux ou autre Unix commercial, ce qui en fait un langage très portatif. PHP a récemment acquis une place incontournable dans le développement Web Open Source. Sa popularité vient de sa syntaxe, proche du C, de sa vitesse et de sa simplicité. On estime qu'il y a 4,8 millions de serveurs qui utilisent le langage. 33 millions de serveurs ont été testés, les serveurs non-HTTP, inaccessibles ou bien encore les parkings à noms de domaines (plus de 500 domaines), ont été écartés des statistiques. La sortie de PHP 5 a permis au langage d'atteindre une certaine maturité. Désormais, il est reconnu comme un serveur d'application à part entière tel que J2EE ou .Net.

[modifier] Sites Web statiques ou dynamiques

A l'origine du Web, les sites Web étaient des sites statiques : constitués d'un ensemble de pages écrites dans le langage HTML. L'information présente sur ces pages était toujours identique et leur mise à jour était particulièrement fastidieuse. Le serveur Web se contentait de diffuser les pages telles quelles à l'utilisateur. L'interaction entre le site et l'utilisateur était très sommaire : l'utilisateur demandait une page web et le serveur la lui fournissait.
Aujourd'hui la plupart des sites sont dynamiques : à l'intérieur des pages HTML, le concepteur du site a inséré des programmes. Ces programmes permettent une plus grande souplesse dans la gestion du site, sa mise à jour et ses fonctionnalités. La possibilité d'insérer des programmes a permis de décupler les fonctionnalités des sites Web.

Pour vous en convaincre prenons quelques exemples :

  • Vous voulez écrire un site qui présente une centaine de produits. Vous n'allez pas écrire 100 pages différentes, une pour chacun des produits ! Mais plutôt une seule page (page type) permettant de présenter n'importe quel produit. Cette page va contenir un programme qui interagira avec une base de données. Dans la base de données, seront stockées les informations utiles pour chaque produit : le nom du produit, sa présentation, sa référence, son prix...etc... Le programme aura donc pour rôle d'aller chercher l'information utile dans la base de données et de l'afficher en HTML. De plus, pour ajouter un produit, il suffira d'ajouter un élément dans la base de données. Il est même possible d'avoir des programmes permettant de passer une commande pour vos différents produits !
  • Vous voulez diffuser rapidement des informations sur Internet : vous voulez avoir un outil convivial qui vous permet d'ajouter un article, de le modifier, de le supprimer... Vous allez donc écrire un programme permettant de modifier à volonté les différents articles. Un exemple bien connu de ce type de programme est le Blog : il s'agit d'un programme permettant à n'importe quel utilisateur non informaticien de gérer ses différents articles.
  • L'encyclopédie Wikipédia est réalisée avec un programme (en php d'ailleurs) qui permet à chaque utilisateur de créer et de modifier les articles tout en gardant un historique complet des différentes versions des articles.
  • les forums de discussion sont des lieux d'échange permettant une interaction étroite entre le serveur et l'utilisateur. Grâce aux programmes qu'ils utilisent, il est possible de se connecter, de consulter les messages des différents forums, d'y répondre. Les modérateurs de ces forums peuvent modifier les messages, les supprimer, interdire un utilisateur indélicat.

Dans chacun des exemples précédents il a été nécessaire d'incorporer un programme à l'intérieur des pages du site afin de réaliser des fonctionnalités de haut niveau. Aujourd'hui la quasi-totalité des sites professionnels sont dynamiques et il est quasi inconcevable de réaliser un site statique. Le langage PHP est un des langages utilisables pour réaliser facilement les sites Web dynamiques, ne serait-ce que parce qu'il est disponible sur la plupart des serveurs hébergeant des sites.

[modifier] Possibilités

Si vous êtes déjà allés sur un site qui vous demandait de vous connecter, vous avez utilisé un script côté serveur. Ce script était certainement écrit en PHP, en raison de la popularité de ce dernier. PHP transforme une page statique (fichier HTML par exemple), en une suite d'instructions interprétables par PHP, installée sur un serveur Web comme Apache - ça peut-être simplement un "Hello World" 50 fois dans une colonne, ou une interaction avec un système de base de données, comme MySQL, fréquemment couplé à PHP.

[modifier] Liens externes

[modifier] Installer PHP

Programmation PHP
Programmation PHP
Plan
Modifier ce modèle

[modifier] Unix

[modifier] Sous une distribution Gentoo

Premièrement il faut installer Apache si ce n'est pas déjà fait :

emerge apache

Ensuite, il faut installer PHP :

emerge dev-lang/php

Puis il faut qu'apache utilise PHP dans sa configuration.

Code: Configuration de apache
# nano -w /etc/conf.d/apache2
APACHE2_OPTS="-D PHP5"

[modifier] Installation avec la distribution debian

PHP peut-être installé avec toutes les déclinaisons de la distribution Debian (stable, testing, unstable). Il suffit pour cela d'insérer vos lignes préférées dans le fichier /etc/apt/sources.list :

deb http://ftp.fr.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ stable main non-free contrib

Ce qui suit suppose que vous ayez déjà installé votre serveur WEB (cf manuels pour l'installation d’APACHE sous Debian). Par la suite, exécutez en tant que "root" les commandes suivantes :

apt-get update && apt-get install php5

Une fois ces commandes exécutées, vous devez redémarrer votre serveur WEB. Dans le cas d'APACHE cela s'effectue avec la commande suivante :

/etc/init.d/apache restart

Si tout s'est bien passé, vous disposez maintenant d'un serveur WEB qui a la capacité d'exécuter des scripts PHP version 5.

Fairytale waring.png Cette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

[modifier] Compilation

Fairytale waring.png Cette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

[modifier] Windows

[modifier] Tout en un

Des logiciels tout-en-un permettent de s'affranchir d'une installation fastidieuse et rédhibitoire pour le grand débutant.

  1. Easyphp [1] est un logiciel tout-en-un réunissant un serveur Web, une base de donnée et PHP. Easyphp n'a pas vocation à être installé pour de la production, mais pour le développement.
  2. the Uniform Server est un logiciel tout-en-un pour Windows réunissant un serveur Web, une base de donnée et PHP. En anglais seulement avec Apache2, Perl5, PHP5, MySQL5, phpMyAdmin.
  3. WAMP [2] est du même type qu'EasyPHP: Ce logiciel installe facilement un serveur web Apache, une base de données MySQL et PHP 4 et 5. Il a l'avantage de permettre de passer facilement de PHP 4 à PHP 5, sans avoir à refaire une installation ou une compilation. Tout comme EasyPHP, c'est un environnement de développement, et non un environnement de production.
  4. XAMPP [3] est du même type qu'EasyPHP ou WAMP, le deuxième P étant pour perl. Son usage est recommendé avec PHPEclipse [4]

[modifier] Installation manuelle

Nous aurons besoin des dernières versions stables de PHP et Apache, ainsi que de MySQL si vous envisagez d'utiliser cette base de données (et vous l'envisagez, non ?).

  • Apache est disponible sur le site Web de Apache Software Foundation [5].
  • PHP est téléchargeable sur le site officiel de php. Choisissez le fichier au format ZIP.
  • Enfin, vous trouverez MySQL sur mysql.com.

[modifier] Installer PHP

Une fois l'archive téléchargée, décompressez-la à la racine de votre disque dur et renommez le dossier en 'PHP'. Dans le dossier PHP, vous trouverez deux fichiers: php.ini-dist et php.ini-recommended. Copiez php.ini-recommended dans votre dossier C:\Windows ou C:\winnt (le nom du dossier dépend de la version de votre système.
renommez-le en php.ini.

Ce fichier est le fichier de configuration qui contrôle les options dont vous disposerez.

[modifier] Installer Apache

Pour installer Apache, double-cliquez sur le fichier exécutable, et suivez les instructions d'installation automatique.
Si vous installez Apache sur un ordinateur de développement, renseignez le champ "nom de domaine" avec la valeur localhost.
Si vous installez un serveur de production et que vous disposez d'un nom de domaine... Vous êtes certainement un pro et vous savez quoi faire (et je me demande ce que vous faites là); a priori, vous devriez disposer des informations nécessaires concernant votre nom de domaine, fournies par le registrar.

Une fois l'installation terminée, il faut encore indiquer à Apache qu'il doit fonctionner conjointement avec PHP, car il ne sait pas les traiter par défaut. Pour cela, il faut modifier les informations de configuration d'Apache, contenues dans le fichier httpd.conf, qui se trouve dans le dossier d'installation d'Apache, dans le sous-dossier conf. p

[modifier] CGI ou module ?

On peut configurer Apache pour utiliser PHP comme binaire CGI, ou comme module.

L'installation en module offre de meilleures garanties en matière de sécurité, de meilleures performances, et certaines fonctionnalités absentes de l'installation en CGI. Cette installation est cependant un peu plus difficile (mais rassurez-vous, pas tellement plus que l'installation CGI), aussi nous intéresserons nous à celle-ci.

  1. Dans le répertoire de PHP, trouvez la DLL php5ts.dll, et copiez-la dans le répertoire d'Apache.
  2. Ouvrez ensuite le fichier httpd.conf. On en a déjà parlé plus tôt, vous vous souvenez où il est, n'est-ce pas ?
  3. Dans ce fichier, ajouter cette ligne qui permet à Apache de savoir que l'extension .php concerne l'utilisation du module PHP :
    AddType application/x-httpd-php .php
    
  4. Puis, ajoutez ces deux lignes qui charge et exécute (respectivement) le module PHP5 au démarrage du serveur :
    LoadModule php5_module c:\php\php5apache.dll
    
    AddModule mod_php5.c
    

Enregistrez le fichier httpd.conf et fermez-le. C'est fini. Nous allons maintenant...

[modifier] Installer MySQL

Procurez-vous le CD-ROM de MySQL.