Le sigle PHP signifiait à l’origine Personal Home Page. Pour Rasmus Lerdorf, l’auteur de ce qui allait devenir le langage de script côté serveur incorporable dans tout document HTML que nous connaissons, il s’agissait alors d’ajouter quelques fonctionnalités à ses pages personnelles. PHP signifie aujourd’hui Php Hypertext Preprocessor car il renvoie à un navigateur un document HTML construit par le moteur de script Zend Engine 2 de PHP, dont nous allons voir le fonctionnement. Il permet de créer des pages web dynamiques et interactives.
Imaginez que vous soyez fan de moto et que vous vouliez présenter les photos de vos modèles préférés et leurs caractéristiques techniques. La création de quelques pages HTML statiques, agrémentées de liens pour naviguer d’une page à l’autre, peut suffire. Imaginez maintenant que vous soyez rejoint par d’autres personnes qui partagent la même passion et que votre site présente des centaines de modèles et une rubrique de petites annonces et de contacts entre membres. La quantité d’informations à présenter ne permet plus de naviguer dans le site au moyen de liens mais réclame, dès la page d’accueil, un moteur de recherche. L’utilisateur saisit un ou plusieurs critères de recherche, à partir desquels le code d’un script PHP crée une page contenant les informations recherchées et seulement elles. Chaque visiteur et chaque besoin particulier génèrent donc des pages différentes, personnalisées, construites dynamiquement.
PHP permet en outre de créer des pages interactives. Une page interactive permet à un visiteur de saisir des données personnelles. Ces dernières sont ensuite transmises au serveur, où elles peuvent rester stockées dans une base de données pour être diffusées vers d’autres utilisateurs. Un visiteur peut, par exemple, s’enregistrer et retrouver une page adaptée à ses besoins lors d’une visite ultérieure. Il peut aussi envoyer des e-mails et des fichiers sans avoir à passer par son logiciel de messagerie. En associant toutes ces caractéristiques, il est possible de créer aussi bien des sites de diffusion et de collecte d’information que des sites d’e-commerce, de rencontres ou des blogs.
Pour contenir la masse d’informations collectées, PHP s’appuie généralement sur une base de données, généralement MySQL mais aussi SQLite, et sur des serveurs Apache. PHP, MySQL et Apache forment d’ailleurs le trio ultradominant sur les serveurs Internet. Quand ce trio est associé sur un serveur à Linux, on parle de système LAMP (Linux, Apache, MySQL, PHP). PHP est utilisé aujourd’hui par plus des trois quarts des sites dynamiques de la planète et par les trois quarts des grandes entreprises françaises. Pour un serveur Windows, on parle de système WAMP, mais ceci est beaucoup moins courant.
Vous passerez en revue dans le cours de cet ouvrage tous les outils nécessaires à la réalisation d’un site dynamique et interactif à l’aide de PHP et d’une base de données MySQL ou SQLite. Les principaux avantages de ces outils sont la facilité d’apprentissage, la grande souplesse d’utilisation, l’excellent niveau de performance et, ce qui ne gâte rien, la gratuité.
Pour parvenir à la réalisation des types de site que nous venons de voir nous allons aborder successivement les points suivants :
•La syntaxe et les caractéristiques du langage PHP, dont la connaissance est la base indispensable à toute la suite.
•Les notions essentielles du langage SQL permettant la création et la gestion des bases de données et la réalisation des requêtes sur ces bases.
•Le fonctionnement et la réalisation de bases de données MySQL puis SQLite et les moyens d’y accéder à l’aide des fonctions spécialisées de PHP ou d’objets.
Pour progresser rapidement il vous sera nécessaire de lire ce livre de manière linéaire au moins pour le début et de ne pas brûler les étapes. N’essayez donc pas de commencer par la fin en abordant les bases de données sans connaissance préalable de PHP ou de SQL.
L’objectif de cet ouvrage étant de permettre un apprentissage progressif de PHP, la connaissance d’un langage de programmation quelconque n’est pas vraiment indispensable. Cependant, quelques notions de programmation en langage C, Java ou en JavaScript, par exemple, ne peuvent que rendre l’accès à PHP plus facile. En revanche, la connaissan...