PHP3 est un langage de scripting embarqué dans les pages
HTML et traité par le serveur. PHP3 permet de construire dynamiquement
des pages HTML contenant les résultats de calculs ou de
requêtes SQL (voir 15 à
21.4.2) adressées à un système de gestion de bases de données
(SGBD).
Grâce à des nombreuses extensions, PHP3 peut générer des fichiers
PDF, s'interfacer avec des serveurs de messagerie, des
serveurs LDAP ou encore générer des images et graphiques
GIF à la volée, pour ne citer que quelques unes des
fonctionnalités les plus impressionnantes.
PHP3 peut s'interfacer à la quasi totalité des SGBD du marché, qu'ils
soient commerciaux ou qu'ils viennent du monde du Free Software.
PHP3 est donc un langage comparable à ASP de Microsoft (la
comparaison s'arrête là : PHP3 comporte beaucoup plus de fonctions
qu'ASP, supporte pratiquement tous les standards du Web, et est
extensible). Il ne s'agit pas d'un langage de scripting
destiné au client, le browser, comme peut
l'être javascript.
On doit la première version de PHP à Rasmus
Lerdorf qui l'a mise au point pour ses propres besoins en 1994. Cette
version était destinée à son usage personnel, d'où le nom (Personal
Home Pages). Cette version n'a pas été mise à disposition du public.
Vers 1995, une version qui permettait l'exécution de quelques macros
fut mise à disposition, elle permettait de gérer un livre d'or, un
compteur de hits et quelques autres trucs.
PHP3 est la troisième version de l'interprêteur de ce langage. Il
succède à PHP/FI qui était la version 2. C'est une réécriture totale
de l'interprêteur que l'on doit à Zeev Suraski et
Andi Gutmans. La prochaine mouture est déjà bien
avancée : le moteur de PHP v4 sera Zend (cf.
le site officiel de PHP3 et celui de Zend
(http://www.zend.com)).
Et combien coûte une telle merveille? PHP3 est distribué librement et
gratuitement sous la licence GNU GPL. Il peut être
téléchargé depuis le site mirroir de
l'Université de Michel de Montaigne Bordeaux III à
http://fr.php.net.
Contrairement à ce que certains disent, l'acronyme PHP ne signifie pas
"People Hate Perl", mais bizarrement "Personal Home Pages". Ce nom est
hérité de la première version de PHP. Aujourd'hui, par concensus,
"PHP : Hypertext PreProcessor" ;-)
Actuellement, les Survey de NetCraft indiquent qu'il y aurait plus de
150,000 sites dans le monde qui utilisent PHP3. Tout est là : PHP3 est
très populaire. Pourquoi? Simplement parce que, comme la plupart des
autres logiciels libres, il est né d'un besoin, a évolué dans le sens
où les utilisateurs l'attendaient, mais aussi et surtout parce que ça
fonctionne terriblement bien !
8.1
À qui s'adresse PHP3?
PHP3 est l'outil idéal pour tout site internet ou
intranet de taille moyenne, ou de grande taille mais
n'ayant pas à supporter un grand nombre de requêtes simultanées.
Ceci dit, plusieurs utilisateurs affirment servir plus de 450,000
pages par jour sur une machine dont la configuration est la suivante :
Dual PII-333, 512Mb RAM, 2x9Go SCSI, et cela sans atteindre 100% de
charge sur chacun des deux processeurs. "PHP can spew out HTML
much much faster than the leased line can push the bits." (Rasmus
Lerdorf)
Quelques petits essais que j'ai effectués indiquent que les
performances de PHP3 installé en module d'Apache offre
des performances comparables au fameux mod_perl.
Reprenant une syntaxe claire et familière puisque très proche de
celle du langage C, PHP3 est un langage dont la prise en main est
généralement rapide (PHP3 provoque moins de phénomènes de rejet que
Perl, et nécessite pour son apprentissage beaucoup moins
d'aspirine...).
C'est donc un langage qui conviendra autant au débutant désireux de se
familiariser « sans douleur » avec les techniques du
web dynamique, qu'au professionnel cherchant une
solution simple mais toutefois puissante et fiable pour des sites de
taille moyenne.
8.2
Ce dont vous avez besoin
Idéalement (mais ce n'est pas forcément la solution la plus coûteuse),
vous aurez besoin d'une machine fonctionnant sous une version x86 de
Linux. Le plus simple et là encore d'utiliser une
distribution RedHat ou Caldera car les
archives sont alors directement téléchargeables au format
RPM. Il est possible d'utiliser PHP3 sur des machines Linux
non x86, ou sur les stations Unix, mais dans ce cas, vous
devrez obligatoirement recompiler les sources pour pouvoir l'exécuter.
Ceci n'est pas forcément à la portée de chacun, mais qui possède une
UltraSparc sous Solaris à domicile ?
Si vous envisagez une utilisation intensive et ouverte à la
consultation du public sur Internet (hors réseau local privé), une
solutions basée sur FreeBSD
(http://www.freebsd.org/), Apache
(http://www.apache/org/) et PHP3
(http://fr.php.net/) serait une très bonne idée.
Vous pouvez également utiliser un PC fonctionnant sous un des systèmes
Windows 32 bits (Win95, Win 98 ou NT4).
Dans tous les cas, vous devrez installer et configurer un serveur Web
(un serveur HTTP) supportant au moins les
CGI sur votre machine.
Vous n'avez pas encore installé Linux sur votre machine ? Allez donc
faire un tour sur le site de Nat Makarévitch (Ikarios,
http://www.ikarios.com/) : il distribue à petit prix les
dernières versions Officielles ou GPL des principales
distributions de Linux.
8.3
Install et Config : RTFM!
Ne vous jettez pas sur votre machine avec la langue pendante et l'oeil
avide : Prenez le temps de parcourir les documentations de PHP3 et du
serveur HTTP que vous avez choisi avant tout.
La documentation fournie avec PHP3 au format HTML décrit ce qu'il faut
faire pour installer et configurer PHP3 dans la majorité des cas, que
vous utilisiez IIS ou PWS sous Windows NT4 ou 9x, ou que vous ayez
choisi Apache et Linux.
En cas de problème - et comme d'habitude - commencez par vérifier si
la même question n'a pas déjà été posée sur un forum Internet. Les
messages les plus anciens peuvent être relus en utilisant Deja New
(http://www.deja.com, anciennement
www.dejanews.com).
8.4
Limites de ce tutoriel
Ce tutoriel n'a pas pour vocation de remplacer la documentation de
référence fournie avec PHP3, ni de couvrir tous les aspects du
langage, en particulier au niveau des fonctions exotiques telles
celles relatives à filePro ou Hyperwave.
Cependant, après avoir lu ce tutoriel, vous devriez maitriser la
syntaxe et les constructions usuelles telles que la création de classes, bref, tout ce qui est nécessaire pour
débuter la construction d'un site Internet ou
Intranet.
Dans la suite, nous supposerons que le lecteur possède les
connaissances de base concernant les mécanismes mis en oeuvre entre un
serveur HTTP et un navigateur internet, ainsi que
des langages HTML et SQL.
Si ce n'est pas le cas, voici quelques lien utiles :
Ce tutoriel suppose également que vous disposez d'au moins une machine
sur laquelle fonctionne un serveur HTTP de votre
choix et avec PHP3 configuré et prêt à l'emploi. Les dernières parties
utiliseront des connections à une base de données : libre à vous de
choisir entre une source ODBC, MySQL ou
PostgreSQL suivant votre environnement. Aucune
spécificité de la base de données sous-jacente ne sera exploitée afin
de laisser ce tutoriel le plus générique possible.