PH, une toute petite introduction

Eric.Tonicello@epfl.ch, DGC-IBOIS

Dans la série lame de fond qui balaye tout ou presque sur son passage, le monde de l'informatique recèle toujours quelques idées originales qui finissent par avoir un succès mérité.

PHP (prononcez: pé-ache-pé) est issu du mouvement Open Source, et plus particulièrement de la Apache Software Foundation (http://www. apache.org), qui a développé, entre autres, le célèbre serveur Apache, qui tourne sur environ 60 % des serveurs Web.

Ce produit est Open Source, c'est-à-dire que son code source est disponible à tout un chacun. Pour plus de précisions, voir les articles du Flash spécial été 2001 consacré aux logiciels libres.

PHP c'est quoi ?

PHP est un langage de script pour le Web complet très facile à utiliser, polyvalent, sûr et puissant, disponible sur les plates-formes Windows et UNIX/LINUX.

Facile

La syntaxe est vraiment basique et ne demande que très peu de code source. On peut aisément commencer à programmer tout en apprenant la syntaxe. La documentation (qui est annotée par les internautes!) est bien faite, disponible en 11 langues, aux formats les plus divers (html, PDF, et même PalmPilot!). Des milliers d'exemples ainsi que des tutoriels et how-to (prises en main et modes d'emploi) sont disponibles on-line sur différents sites.

Polyvalent

Il comporte toutes les fonctions usuelles utiles au programmeur débutant ainsi qu'à l'avancé. Mais le PLUS c'est le nombre impressionnant de librairies de fonctions disponibles avec PHP. À ce jour elles ne sont pas moins de 43, et comportent, par exemple: accès aux bases de données les plus connues (Oracle, Postgres, Interbase, MySQL, etc), accès sécurisé, parsing XML, manipulation et génération dynamique d'images, interrogation et gestion IMAP, FTP, SNMP, création de fichiers .PDF et .ZIP à la volée, etc). Bref, de quoi assouvir les besoins les plus divers.

Sûr

PHP fonctionne du côté serveur, comme un script PERL, un programme CGI ou un script ASP, contrairement à javascript et vbscript qui eux s'exécutent sur le poste client (navigateur Web) de l'internaute. Cette particularité nous offre deux avantages principaux: pour l'utilisateur l'exécution d'un script est transparente et il n'y a aucun risque d'attraper un virus par ce biais. Pour le concepteur de site, le code source du script n'est pas inclus dans le code source de la page qui est finalement envoyée au navigateur: le code du script restant caché est un gage supplémentaire de sécurité.

Puissant

Il a directement accès aux données du serveur, et est vraiment rapide. La syntaxe étant simple, l'interpréteur a peu de travail à accomplir.

Comment et pourquoi ça s'utilise ?

Tout bon surfeur d'Internet qui se respecte a, un jour ou l'autre, rencontré un script sur une page Web, parfois même sans le savoir. Jusqu'à il n'y a pas longtemps, les pages affichées dans nos chers navigateurs ne se composaient guère que de code HTML (http://www.w3.org).

Avec l'augmentation du volume de données à gérer sur un site, il est maintenant devenu très fastidieux, voire impossible, de maintenir à jour toutes les pages d'un site Internet. C'est pourquoi le concept de pages dynamiques a fait son chemin et est de plus en plus utilisé des nos jours.

On utilise donc un script PHP quand on a besoin de générer une page dynamiquement, c'est-à-dire que son contenu sera, en principe, à chaque fois différent.

Un premier exemple nous permet de nous familiariser avec ce langage: le fichier HTML ci-dessous:

<html>
 <body >

 <?php echo «Hello World !»; ?>
 
 </body >
</html>

affichera simplement: Hello World ! en haut à gauche de la page du navigateur.

Vous me direz qu'il n'y pas besoin d'un langage de script pour faire cela... mais c'est la tradition informaticienne qui veut que le premier exemple soit souvent HelloWorld...

On voit simplement que le code PHP se trouve à l'intérieur des balises <?php et ?> et que la ligne se termine par un «;». Plusieurs balises PHP peuvent être insérées dans le document, n'importe où à l'intérieur d'un document.

Passons à l'exemple 2, plus croustillant: interrogation de l'annuaire LDAP de l'EPFL:


<html>
 <body >

 <p>Membres de la STI</p>
 <?php
 $ds=ldap_connect(«ldap.epfl.ch»); 
 $sr=ldap_search($ds,»ou=STI,ou=SIC,
 ou=ADM, o=EPFL, c=CH», «title=*»); 
 
 $info = ldap_get_entries($ds, $sr); 
 
 for ($i=0; $i < $info[«count»]; $i++) 
 {
 $info_cn = $info[$i][«cn»][0];
 echo «$info_cn<BR>\n»; 
 }
 
 ?>
 
 </body >
</html>

Résultat: la liste des collaborateurs de la STI

Georges Aubry
Yves Despond ... etc.

On remarque ici l'apparition de variables, simplement précédées d'un «$», de fonctions et d'une boucle FOR.

On commence par se connecter au serveur LDAP, on lance une requête au format LDAP, on extrait les données dans le tableau $info, et enfin avec une boucle FOR on affiche le contenu du tableau. Rien de bien sorcier à condition d'avoir un minimum de connaissances et d'avoir consulté l'aide en ligne du langage. J'y suis arrivé en quelques minutes sans jamais avoir utilisé PHP auparavant. Ce type de requête est identique à celui utilisé pour l'annuaire de l'Ecole: http://www.epfl.ch/cgi-bin/csoldap , qui utilise un script PERL.

Maintenant, passons aux choses sérieuses...

Il y a quelques mois je me suis lancé un défi: mettre les publications de mon institut à disposition sur Internet. J'ai donc essayé plusieurs solutions avant de retenir celle-ci.

J'ai transféré la liste de nos publications sur MySQL (http://www.mysql.com ), qui est un serveur de bases de données et qui tourne sur notre serveur NT en tant que service. À ce propos, je rappelle que PHP et MySQL fonctionnent très bien sur UNIX/LINUX, d'où d'ailleurs ils sont issus...

Il a fallu ensuite écrire des scripts qui permettent de consulter la liste des documents disponibles, d'afficher les documents PDF s'ils sont disponibles, d'assurer le suivi (logging) des téléchargements de ces fichiers ainsi qu'une mailing list pour avertir les internautes des mises-à-jour de la base des publications. Ouf ! Joli cahier des charges.

Le résultat: Consultation de la liste des publications, sur la photo d'écran (fig.1) et si vous allez à: http://iboiswww. epfl.ch/publications/2000.php, vous pourrez explorer les autres possibilités offertes par les scripts, comme celui ci-après (après avoir cliqué sur un des liens, voir fig.2) qui affiche la référence complète de la publication demandée ! ...

figure 1

Un clic de plus et l'on accède à un formulaire, qui correctement rempli donne accès à une mailing list qui permet d'être toujours à l'écoute du site !

figure2

Et maintenant ?

Si vous programmez déjà des scripts et que vous êtes contents: alors continuez comme ça. Si vous débutez avec les scripts: prenez l'option PHP au sérieux. C'est vraiment très facile à comprendre et utiliser. C'est le langage de script le plus utilisé dans les nouveaux sites Web, y compris les sites commerciaux et professionnels. Vous n'aurez aucune difficulté à trouver des scripts tout prêts à l'emploi et des tas d'astuces.

Le mot de la fin

Et bien, dansez maintenant ! A vous de jouer ... La voie est libre, comme PHP.

Où trouver PHP ?

Site officiel: http://www.php.net

Site miroir en Suisse: http://ch.php.net

Scripts

Une simple recherche sur +PHP +tutorial vous donnera plus de 100'000pages, l'information ne manque pas sur le Web.

Un livre à conseiller pour tous ceux qui veulent se lancer dans l'aventure PHP + MySQL avec un bon bouquin (disponible à la librairie): Pratique de MySQL et PHP, Philippe Rigaux, O'Reilly - 2001


retour au sommaire du Flash informatique du mois de septembre 2001
retour à la page principale des Flash informatique
Vos commentaires
© FI-7-1 du 18 septembre 2001