Ce document a pour but de présenter rapidement les fonctionnalités de la PHPLIB, il suit le plan de la doc officielle de la PHPLIB dont il résume le contenu avec l'ambition de n'en conserver que les point clé.
La PHPLIB s'adresse aux développeurs de sites Web connaissant à la fois le langage PHP et le SQL. La PHPLIB est conçue pour être utile aux sites de taille moyenne à importante ayant la nécessité de présenter du contenu dynamique en fonction de données stockées dans un SGBD (on parle d'applications "data driven").
Pour trouver une quelconque utilité à cette bibliothèque, il faut bien sur disposer d'un ordinateur faisant s'exécuter un serveur HTTP et PHP (version supérieure à 3.0.5 conseillée), ainsi qu'une des base de données actuellement supportées : MySQL, PostgreSQL, Oracle ou toute base ODBC). Vous devrez disposer de privilèges vous permettant de créer et détruire des tables dans cette base, ainsi que d'exécuter des requêtes SQL utilisant les ordres suivants : SELECT, UPDATE, DELETE, INSERT.
La PHPLIB peut être utilisée avec PHP en mode CGI ou en module d'Apache. Pour des questions de performances, la version mod_php est recommandée (cf. connexions persistentes aux bases). (NdT : Quid de la version ISAPI sous Win32 ?).
Avant d'aller plus loin, il faut vérifier que le serveur HTTP fonctionne et que PHP s'exécute correctement dessus. Pour ça, un simple script <?php phpinfo(); ?> suffira. Vérifier que la directive DirectoryIndex d'Apache reconnait également les fichiers nommés index.php3. Tester aussi deux ou trois requêtes dans la base de données pour en vérifier le fonctionnement.
Créer un répertoire pour y placer les includes, le nommer "php" et le placer au même niveau que le DocumentRoot.
Décompacter la distribution de la PHPLIB. Déplacer le contenu intégral dans le répertoire "php" que l'on vient de créer.
Ajouter dans le fichier de configuration php3.ini le chemin correspondant à ce même répertoire "php" au niveau de la directive include_dir. Modifier la directive auto_prepend pour qu'elle corresponde au fichier prepend.php3 présent dans ce répertoire.
Vérifier que la directive track_vars est activée, ainsi que le magic_quotes_gpc. Pendant qu'on y est, jettez un oeil à la directive SendMail si vous comptez envoyer des courriers électroniques.
Allez dans le répertoire "php", et éditez le fichier local.inc. Dans la classe DB_Poe, renseignez les paramètres correspondant à votre base de données.
Dans cette base, exécutez le script create_database.mysql présent dans la distribution afin de créer les tables active_sessions et auth_user. La table de auth_user sera peuplée avec un utilisateur de démo nommé kris et ayant pour mot de passe test.
Déplacer le contenu du répertoire "pages" et de tous ses sous-répertoires directement dans votre DocumentRoot.
Accédez à l'URL http://localhost/ de votre serveur HTTP, en ayant pris soin d'activer le support des cookies. Si vous n'avez pas de fichier index.html, alors c'est le index.php3 qui s'affichera. A chaque rechargement de cette page, le chiffre affiché devra s'incrémenter. Ouvrez une session SQL interactive sur votre base de données, et exécutez la requête suivante : select * from active_sessions. Vérifiez qu'une seule session est présente dans la table. Si vous arrivez jusque là, ça marche.
Maintenant, accédez à la page showoff.php3. Tentez une connexion en utilisant le login kris, mot de passe test. Vérifiez à nouveau le contenu de la table active_sessions. Vous devriez oibtenir une Poe_Session entry (see the name column) and a Poe_User entry in your table. Both should increment on reload.
Réessayer en désactivant les cookies. Vous devriez obtenir une nouvelle clé de session apparaitre dans votre URL .
Ceci est un draft de travail version 0.01 du 20/01/2000.
Christophe Lauer
mailto:clauerfree.fr
http://clauer.free.fr