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 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).
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 !
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.
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, Apache et PHP3 serait une très bonne idée.
Vous pouvez également utiliser un PC fonctionnant sous un des systèmes Windows 32 bits (Win95/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) : il distribue à petit prix les dernières versions Officielles ou GPL des principales distributions de Linux.
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 News (anciennement www.dejanews.com).
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 connexions à 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.
Version initiale 1.0 - 16/01/2000