Database-SQL-RDBMS HOW-TO pour Linux (PostgreSQL Object Relational Database System), version française.: PHP Pré-processeur Hypertexte - Langage de script côté serveur, avec HTML intégré, pour PostgreSQL
17. PHP Pré-processeur Hypertexte - Langage de script côté serveur, avec HTML intégré, pour PostgreSQL
L'outil d'interfaçage WWW se trouve à :
PHP possède également un compilateur appelé Zend qui améliore grandement les performances.
En premier lieu, pendant le développement, les tests et la mise au point, vous écrivez votre application en utilisant le langage de script PHP.
Une fois que le projet est prêt à être déployé, vous utilisez le compilateur Zend pour compiler le script PHP et créer un exécutable qui tournera très
rapidement.
PHP 3 est l'ancien nom des Pages d'accueil professionelles et le nouveau nom
est Pré-Processeur Hypertexte PHP
Pour les questions envoyer un courrier électronique à :
PHP 3 est un langage de script côté serveur, avec langage HTML intégré.
Il vous permet d'écrire des scripts simples directement dans vos fichiers .HTML à
la manière JavaScript, sauf que, à la différence de JavaScript, PHP 3 n'est
pas dépendant du butineur utilisé. JavaScript est un langage, côté client,
avec HTML intégré alors que PHP 3 est un langage côté serveur. PHP 3 est
similaire, dans son concept, au produit LiveWire Pro pour Netscape. Si vous en
avez les moyens, vous utilisez le serveur du commerce Netscape et l'un des
systèmes d'exploitation supportés, et vous jetterez probablement un oeil sur
LiveWire Pro. Si vous préférez un logiciel libre, évoluant rapidement, qui est
disponible avec la totalité de son code source, vous apprécierez probablement
PHP 3.
17.1 Fonctionnalités principales
Support de CGI Standard, FastCGI et du module Apache.
Comme programme CGI standard, PHP 3 peut être installé sur n'importe quelle
machine Unix sur laquelle tourne n'importe quel serveur web Unix. Avec le
support de la nouvelle norme FastCGI, PHP 3 peut trouver avantage des gains de
vitesse apportés par ce mécanisme. Comme module Apache, PHP 3 devient une
alternative extrêmement puissante et brillante à la programmation CGI.
- Enregistrement des accès
Avec les possibilités d'enregistrement des accès de PHP 3, les utilisateurs
peuvent entretenir leur propre compteur d'accès et l'enregistrer. Il n'utilise
en aucune façon les fichiers de d'enregistrement des connexions du système
central, et il permet un suivi des accès en temps réel. Le Script du
Visualisateur de Connexions fournit un résumé rapide des accès à un ensemble de
pages possédées par un utilisateur individuel. De plus, le paquetage peut être
configuré pour générer un pied de page, sur chaque page, qui montre
l'information sur les accès. Regardez au bas de cette page pour en avoir un
exemple.
- Contrôle d'accès
Un écran de configuration intégré, basé sur le web, permet la configuration
du contrôle des accès. Il est possible de créer des règles d'accès pour toutes
ou quelques unes des pages web possédées par une certaine personne qui met
diverses restrictions sur qui peut voir ces pages et comment elles seront vues.
Les pages peuvent être protégées par un mot de passe, complètement interdites,
à connexion désactivée et l'accès basé sur le domaine du client, le butineur,
l'adresse de courrier électronique ou même le document auquel on se réfère.
- Support de Postgres
Postgres est un SGBDR (RDBMS) avancé libre. PHP 3 supporte les requêtes
Postgres95 et PostgreSQL SQL incluses directement dans les fichiers .shtml.
- RFC-1867 Support du télé-chargement de fichier
Le télé-chargement de fichier est une nouvelle fonctionnalité de Netscape 2.0.
Il permet aux utilisateurs de télé-charger des fichiers vers le serveur web.
PHP 3 réalise le décodage Mime réel pour faire ce travail et fournit aussi
le cadre additionnel pour faire quelque chose d'utile avec le fichier
télé-chargé une fois que celui-ci a été reçu.
- Contrôle d'authentification basé sur HTTP
PHP 3 peut être utilisé pour créer des mécanismes d'authentification
personnalisés basés sur HTTP pour le serveur web Apache.
- Variables, Tableaux, Tableaux associatifs
PHP 3 supporte des variables typées, des tableaux et même des tableaux
associatifs à la Perl. Ils peuvent être passés d'une page web à l'autre
en utilisant les méthodes GET ou POST.
- Conditions, Boucles Tant que (While)
PHP 3 possède un langage de script aux fonctionnalités complètes de
style C. Vous disposez des instructions de tests conditionnels
if/then/elseif/else/endif ainsi que des boucles while et des instructions
switch/case pour contrôler l'ordre logique et la manière dont les pages
html doivent être affichées.
- Expressions Régulières étendues
Les expressions régulières sont très utilisées pour le filtrage, le
remplacement de séquences et les manipulations générales de chaînes de
caractères. PHP 3 supporte toutes les opérations communes sur les
expressions régulières.
- Contrôle de l'En-tête HTTP brute
La possibilité d'envoyer à partir de pages web des en-têtes HTTP brutes
personnalisées en fonction d'une condition est essentielle pour créer
un site web de haut niveau. Un usage fréquent est l'envoi d'un emplacement:
en-tête URL pour Rediriger le client appelant vers une autre URL.
Il peut aussi être utilisé pour stopper le stockage ou manipuler
la dernière mise à jour de l'en-tête de pages.
- Création d'images KIF à la volée
PHP 3 prend en compte la bibliothèque d'image GD de Thomas Boutell ce
qui offre la possibilité de générer des images GIF à la volée.
- Prise en charge du mode sécurité ("Safe Mode") ISP
PHP 3 prend en charge un "Mode de Sécurité" exceptionnel qui permet
d'avoir de multiples utilisateurs exécutant des scripts PHP en toute
sécurité sur le même serveur.
- C'est Libre!
Pour finir, et c'est un point essentiel. Le paquetage est entièrement libre.
Il est sous les conditions de la licence GPL qui vous permet d'utiliser ce
logiciel pour n'importe quel objectif, commercial ou autre. Reportez-vous
au document de la Licence Publique GNU pour des renseignements détaillés.
17.2 Crédits
* De grandes parties de ce code ont été développées à et pour l'université
de Toronto. De grands Mercis à Lee Oattes du Département de Développement
des Réseaux à l'université pour ses critiques constructives permanentes.
* Le code de prise en charge de Postgres95 a été écrit par Adam Sussman
* d'autres, innombrables, ont participé aux tests et à la mise au point du
paquetage.
17.3 PHP 3 - Bref Historique
PHP a commencé sa vie comme simple petite enveloppe cgi écrite en Perl.
Son utilisation en dehors d'un usage privé n'avait jamais été envisagée. Le
nom de ce premier paquetage était "Personal Home Page Tools" (Outils pour Page
d'Acceuil Personnelle"), qui devint plus tard "Kit de Construction d'une
Page d'Acceuil".
Un outil pour inclure facilement des requêtes SQL dans des
pages web a été écrit. C'était fondamentalement un autre petit programme
enveloppe CGI qui analysait les requêtes SQL et facilitait la création de
formulaires et de tables basés sur ces requêtes. Cet outil fut appelé
FI "Interpréteur de Formulaire" (Form Interpreter).
La version 2.0 PHP/FI est une réécriture complète de ces deux paquetages
combinés pour former un simple programme. il a maintenant évolué au point de
devenir un simple langage de programmation intégré dans les fichiers HTML.
L'acronyme original, PHP, lui est resté. Il n'est plus réellement approprié.
PHP/FI est aujourd'hui plus utilisé pour mettre en place des sites web entiers
que pour de petites pages d'accueil personnelles. Quel que soit son nom, il
élimine le besoin de recourir à de nombreux petits programmes cgi Perl en
permettant d'insérer de simples scripts directement dans vos fichiers HTML.
Ceci améliore les performances globales de vos pages web puisque la surcharge
due au lancement de processus Perl successifs a été éliminée. La gestion
de larges sites web a également été facilitée en plaçant tous les composants
d'une page web dans un fichier html unique. En incluant le support de
différentes bases de données, il devient trivial de développer des pages
web mettant en oeuvre des bases de données. Nombreux sont ceux qui trouvent
que cette intégration est plus facile à gérer que d'essayer de créer des
fichiers HTML et CGI séparés.
Tout au long de cette documentation, toute référence à PHP, FI ou PHP/FI
traite de la même chose. La différence entre PHP et FI est seulement
conceptuelle. Les deux sont construits à partir de la même distribution
du code source. Maintenant, PHP/FI a été renommé PHP 3.
17.4 Bon, que puis-je faire avec PHP/FI?
La première chose que vous allez noter, si vous faites tourner une page
par l'intermédiaire de PHP/FI, c'est qu'il ajoute un pied de page vous
informant du nombre d'accès à votre page (si vous incluez le support des
connexions d'accès dans votre binaire). C'est seulement un tout petit
exemple de ce que PHP/FI peut faire pour vous. Il joue également le rôle
très important d'interpréteur de formulaire cgi, d'où la partie FI de son
nom. Par exemple si vous créez un formulaire dans l'une de vos pages web,
vous avez besoin de quelque chose pour traiter l'information contenue dans
ce formulaire. Même si vous désirez simplement passer l'information à une
autre page web, vous aurez besoin d'un programme cgi pour le faire. PHP/FI
facilite grandement le processus de prise en charge des données du formulaire
pour en faire quelque chose.
17.5 Un simple exemple
Supposons que vous ayez le formulaire :
Votre fichier display.shtml doit contenir quelque chose du genre :
C'est aussi simple que cela! PHP/FI crée automatiquement une variable pour
chaque champ de saisie de votre formulaire. Vous pouvez alors utiliser ces
variables dans le fichier ACTION URL.
L'étape suivante, après avoir vu comment utiliser ces variables, est de
commencer à jouer avec quelques balises de gestion du déroulement logique
de vos pages. Par exemple, si vous voulez afficher différents messages
dépendants de des informations entrées par l'utilisateur, vous pouvez
utiliser la logique si/alors (if/else). Dans notre exemple ci-dessus,
on peut afficher différentes choses dépendant de l'âge entré par
l'utilisateur en modifiant notre fichier display.shtml en :
PHP/FI fournit un langage de script très puissant qui peut faire beaucoup
plus que ce qui est exposé dans l'exemple ci-dessus. Regardez la section
sur le langage de Script PHP/FI pour des informations complémentaires.
Vous pouvez également utiliser PHP/FI pour configurer qui a le droit d'accéder
à vos pages. Ceci est effectué en utilisant l'écran de configuration inclus.
Par son intermédiaire , vous pourrez, par exemple, spécifier que seulement
les gens appartenant à un certain domaine seront autorisés à voir vos pages,
vous pouvez également créer une règle protégeant certaines pages par un mot de
passe. Voir la section Contrôle d'Accès pour plus de détails.
PHP/FI est également capable de recevoir des fichiers télé-chargés par
n'importe quel butineur conforme à la norme RFC-1867. Cette fonctionnalité
permet aux gens de télé-charger également des fichiers de texte ou binaire.
Avec le contrôle de PHP/FI et les fonctions logiques, vous disposez d'un
contrôle total sur qui est autorisé à télé-charger un fichier et sur ce
que l'on peut faire de ce fichier une fois télé-chargé. Voir la section
Télé-chargement de fichier pour de plus amples détails.
PHP/FI supporte le paquetage Postgres95. Il supporte les requêtes SQL
incluses dans vos fichiers .HTML. Consultez la section Support Postgres95
pour plus d'informations.
PHP/FI supporte également le paquetage du SGBD mysql. Il supporte les
requêtes SQL incluses dans vos fichiers .HTML. Consultez la section Support
mysql pour plus d'informations.
17.6 Redirection CGI
Notes Apache 1.0.x
Une bonne manière de faire tourner PHP/FI est d'utiliser un module de
redirection cgi avec le serveur Apache. Veuillez noter que vous n'avez
pas à vous soucier des modules de redirection si vous utilisez la
version module Apache de PHP/FI. Deux de ces modules de redirection
sont disponibles. L'un est développé par Dave Andersen
et est disponible à
et l'autre est inclus avec Apache et est appelé mod_actions.c. Ces deux
modules sont extrêmement similaires. Ils diffèrent très légèrement
dans leur utilisation. Les deux ont été testés et fonctionnent avec
PHP/FI.
Regardez dans la documentation Apache la manière d'ajouter un module.
En général vous ajoutez le nom de module dans un fichier appelé
Configuration. La ligne à ajouter si vous voulez utiliser le module
mod_actions est :
Si vous envisagez d'utiliser le module mod_cgi_redirect.c ajoutez
cette ligne :
Puis compilez votre httpd et installez-le. Pour configurer la redirection
cgi il vous faudra soit créer un nouveau type mime dans votre fichier
mime.types soit utiliser la commande AddType dans votre fichier srm.conf
pour ajouter le type mime. Le type mime à ajouter doit être quelque chose
comme :
Si vous vous apprêtez à utiliser le module mod_actions.c il vous
faudra ajouter la ligne suivante dans votre fichier srm.conf:
Si vous vous apprêtez à utiliser mod_cgi_redirect.c vous devrez ajouter
cette ligne à srm.conf :
N'essayez pas d'utiliser en même temps mod_actions.c et
mod_cgi_redirect.c .
Une fois que vous avez l'un de ces modules de redirection cgi installé
et configuré correctement, vous pouvez spécifier que vous voulez qu'un
fichier soit filtré par php/fi en mettant simplement l'extension .phtml
au fichier. De plus, si vous ajoutez index.phtml à votre ligne de
configuration DirectoryIndex dans votre fichier srm.conf alors la page
de plus haut niveau d'un répertoire sera automatiquement filtrée par
php si vous appelez votre fichier index index.phtml.
HTTPD Netscape
Vous pouvez rediriger automatiquement les requêtes pour des fichiers
ayant une extension donnée de façon à ce qu'ils soient pris en compte
par PHP/FI en utilisant le module de Redirection du Serveur CGI Netscape.
Ce module est disponible dans le Fichier Archives de la Page d'Accueil
de PHP/FI. Le fichier LISEZ_MOI (README) dans le paquetage explique
clairement comment le configurer pour l'utiliser avec PHP/FI.
HTTPD NCSA
Actuellement NCSA ne supporte pas les modules, donc, pour effectuer une
redirection cgi avec ce serveur, il vous faudra modifier le code source
de votre serveur. Une rustine pour faire cela avec NCSA 1.5 est
disponible dans le fichier archives de PHP/FI.
17.7 Lancer PHP/FI à partir de la ligne de commande
Si vous fabriquez la version CGI de PHP/FI, vous pouvez l'utiliser simplement
à partir de la ligne de commande, en tapant: php.cgi nom_de_fichier où
nom_de_fichier est le fichier que vous voulez filtrer. Vous pouvez également
créer des scripts PHP/FI autonomes en faisant ressembler la première ligne
de votre script à quelque chose comme :
L'option "-q" supprime l'impression des en-têtes HTTP. Vous pouvez vous passer de
cette option si vous le désirez.
[22 février 2002, JDNet]
|