Tải bản đầy đủ (.pdf) (5 trang)

Pratique de MySQL et PHP- P4 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (228.81 KB, 5 trang )

Avant-propos
Quand la première édition de ce livre est parue, en janvier 2001, la réputation de
MySQL et de PHP était déjà bien établie. Ces deux outils étaient connus pour
être fiables, performants, pratiques et bien adaptés à une utilisation très spécialisée :
la production dynamique de pages HTML. En revanche, pris isolément et dans
un contexte plus général de développement d’applications bases de données, ni
MySQL ni PHP ne semblaient en mesure de rivaliser avec des logiciels commerciaux
nettement plus puissants et complets.
Huit ans après cette première édition tout ou presque a changé. MySQL est un
SGBD reconnu, doté de toutes les fonctionnalités requises pour un système relation-
nel. La version 5 (et bientôt la version 6) de PHP est maintenant bien installée et
constitue un langage de programmation abouti que ses concepteurs et développeurs
se sont acharnés à améliorer pour le placer au même niveau que Java ou le C++.
De plus la maturité de ces deux outils a favorisé la parution d’environnements
de développement avancés, incluant tous les outils d’ingénierie logicielle (éditeurs
intégrés, production de documentation, bibliothèques de fonctionnalités prêtes à
l’emploi, débogueurs, etc.) qui les rendent aptes à la production de logiciels répon-
dant à des normes de qualités professionnelles. Même pour des projets d’entreprise
importants (plusieurs années-homme), l’association MySQL/PHP est devenue tout à
fait compétitive par rapport à d’autres solutions parfois bien plus lourdes à concevoir,
mettre en place et entretenir.
Objectifs et contenu de ce livre
Ce livre présente l’utilisation de MySQL et de PHP pour la production et l’ex-
ploitation de sites web s’appuyant sur une base de données. Son principal objectif
est d’exposer de la manière la plus claire et la plus précise possible les techniques
utilisées pour la création de sites web interactifs avec MySQL/PHP. Il peut s’énoncer
simplement ainsi :
Donner au lecteur la capacité à résoudre lui-même tous les problèmes rencontrés
dans ce type de développement, quelle que soit leur nature ou leur difficulté.
Ce livre n’énumère pas toutes les fonctions PHP : il en existe des milliers et on
les trouve très facilement dans la documentation en ligne sur ,


toujours plus complète et à jour que n’importe quel ouvrage. Je ne donne pas non
xvi Pratique de MySQL et PHP
plus, sauf pour quelques exceptions, une liste de ressources sur le Web. Elles évoluent
rapidement, et celles qui existent se trouvent de toute manière sans problème. En
revanche, le livre vise à expliquer le plus clairement possible comment et pourquoi
on en arrive à utiliser telle ou telle technique, et tente de donner au lecteur les
moyens d’intégrer ces connaissances pour pouvoir les réutiliser le moment venu dans
ses propres développements.
La lecture de chaque chapitre doit permettre de progresser un peu plus dans la
compréhension de la nature des problèmes (comment puis-je le résoudre ?) et de la
méthode menant aux solutions (pourquoi PHP et MySQL sont-ils intéressants pour
y arriver concisément et élégamment ?). Les concepts et outils sont donc présentés
d’une manière pratique, progressive et complète.

Pratique. Ce livre ne contient pas d’exposé théorique qui ne soit justifié
par une application pratique immédiate. Les connaissances nécessaires sur la
programmation PHP, le langage SQL ou les bases de données relationnelles
sont introduites au fur et à mesure des besoins de l’exposé.

Progressive. L’ordre de la présentation est conçu de manière à donner le plus
rapidement possible des éléments concrets pour expérimenter toutes les tech-
niques décrites. Le livre adopte ensuite une démarche très simple consistant à
détailler depuis le début les étapes de construction d’un site basé sur MySQL
et PHP, en fournissant un code clair, concis et aisément adaptable.

Complète. Idéalement, un seul livre contiendrait toutes les informations
nécessaires à la compréhension d’un domaine donné. C’est utopique en ce
qui concerne les techniques de gestion de sites web. J’ai cherché en revanche
à être aussi complet que possible pour tout ce qui touche de près à la program-
mation en PHP d’applications web s’appuyant sur une base de données.

Ce livre vise par ailleurs à promouvoir la qualité technique de la conception
et du développement, qui permettra d’obtenir des sites maintenables et évolutifs.
MySQL et PHP sont des outils relativement faciles à utiliser, avec lesquels on obtient
rapidement des résultats flatteurs, voire spectaculaires. Cela étant, il est bien connu
qu’il est plus facile de développer un logiciel que de le faire évoluer. Une réalisation
bâclée, si elle peut faire illusion dans un premier temps, débouche rapidement sur des
problèmes récurrents dès qu’on entre en phase de maintenance et d’exploitation.
Une seconde ambition, complémentaire de celle mentionnée précédemment,
est donc d’introduire progressivement tout au long du livre des réflexions et des
exemples qui montrent comment on peut arriver à produire des logiciels de plus en
plus complexes en maîtrisant la conception, le développement et l’enrichissement
permanent de leurs fonctionnalités. Cette maîtrise peut être obtenue par des tech-
niques de programmation, par la mise en œuvre de concepts d’ingénierie logicielle
éprouvés depuis de longues années et enfin par le recours à des environnements
de programmation avancés (les « frameworks »). Cette seconde ambition peut se
résumer ainsi :
Montrer progressivement au lecteur comment on passe de la réalisation de sites
dynamiques légers à des applications professionnelles soumises à des exigences
fortes de qualité.
Avant-propos xvii
Cette quatrième édition reprend pour l’essentiel Le contenu de la précédente,
avec des modifications visant, quand cela m’a semblé possible, à améliorer la clarté et
la simplicité des exemples et des explications. J’ai ajouté un chapitre dédié aux envi-
ronnements de programmation PHP/MySQL, en introduisant notamment le Zend
Framework pour illustrer l’aboutissement actuel d’une démarche de normalisation de
la production d’applications web basée sur des concepts qui ont fait leurs preuves. Ce
chapitre vient bien sûr en fin d’ouvrage car il intéressera surtout ceux qui visent à
réaliser des applications d’envergure. Les autres pourront se satisfaire des techniques
présentées dans les chapitres précédents, qui demandent un apprentissage initial
moins ardu. Un souci constant quand on écrit ce genre d’ouvrage est de satisfaire

le plus grand nombre de lecteurs, quels que soient leurs connaissances de départ ou
leurs centres d’intérêt. J’espère que les évolutions apportées et la réorganisation du
livre atteindront cet objectif.
Audience et pré-requis
Ce livre est en principe auto-suffisant pour ce qui concerne son sujet : la program-
mation d’applications web dynamiques avec MySQL et PHP. Il est clair qu’au départ
une compréhension des notions informatiques de base (qu’est-ce qu’un réseau, un
fichier, un éditeur de texte, un langage de programmation, une compilation, etc.)
est préférable. Je suppose également connues quelques notions préalables comme la
nature de l’Internet et du Web, les notions de client web (navigateur) et de serveur
web, et les bases du langage HTML. On trouve très facilement des tutoriaux en ligne
sur ces sujets.
Les techniques de programmation PHP, des plus simples (mise en forme HTML
de données) aux plus complexes (divers exemples de programmation orientée-objet)
sont introduites et soigneusement expliquées au fur et à mesure de la progression des
chapitres. Le livre comprend également des exposés complets sur la conception de
bases de données relationnelles et le langage SQL. Aucune connaissance préalable
sur les bases de données n’est ici requise.
Un site web complète ce livre, avec des exemples, le code de l’application
W
EBSCOPE dont je décris pas à pas la réalisation, des liens utiles et des compléments
de documentation. Voici son adresse :
/>Le « W
EBSCOPE » dont le développement est traité de manière complète dans
la seconde partie est une application de « filtrage coopératif » consacrée au cinéma.
Elle propose des outils pour rechercher des films, récents ou classiques, consulter
leur fiche, leur résumé, leur affiche. L’internaute peut également noter ces films en
leur attribuant une note de 1 à 5. À terme, le site dispose d’un ensemble suffisant
d’informations sur les goûts de cet internaute pour lui proposer des films susceptibles
de lui plaire. Vous pouvez vous faire une idée plus précise de ce site en le visitant et

en l’utilisant, à l’adresse suivante :
/>xviii Pratique de MySQL et PHP
Une fois le code récupéré, vous pouvez bien sûr l’utiliser, le consulter ou le modi-
fier pour vos propres besoins. Par ailleurs, si vous souhaitez vous initier aux techniques
de développement en groupe, j’ai ouvert sur SourceForge.net un projet W
EBSCOPE
consacré à ce site. Vous pourrez participer, avec d’autres lecteurs, à l’amélioration du
code ainsi qu’à son extension, et apprendre à utiliser des outils logiciels avancés pour
le développement de logiciels Open Source.Lesitedeceprojetest

Comment apprendre à partir du livre
À l’issue de la lecture de ce livre, vous devriez maîtriser suffisamment l’ensemble
des concepts et outils nécessaires aux applications MySQL/PHP pour être autonome
(ce qui n’exclut pas, au contraire, le recours aux diverses ressources et références
disponibles sur le Web). L’acquisition de cette maîtrise suppose bien entendu une
implication personnnelle qui peut s’appuyer sur les éléments suivants :
1. la lecture attentive des explications données dans le texte ;
2. l’utilisation des exemples fournis, leur étude et leur modification partielle ;
3. des exercices à réaliser vous-mêmes.
Pour tirer le meilleur parti des exemples donnés, il est souhaitable que vous dis-
posiez dès le début d’un environnement de travail. Voici quelques recommandations
pour mettre en place cet environnement en moins d’une heure.
Le serveur de données et le serveur web
Vous devez disposer d’un ordinateur équipé de MySQL et PHP. Il s’agit d’un envi-
ronnement tellement standard qu’on trouve des packages d’installation partout. Les
environnements Windows disposent de Xampp
1
et Mac OS de MAMP
2
. Ces logiciels

se téléchargent et s’installent en quelques clics. Sous Linux ce n’est pas nécessaire-
ment plus compliqué, mais l’installation peut dépendre de votre configuration. Une
recherche « LAMP » sur le Web vous donnera des procédures d’installation rapide.
La configuration
Normalement, les systèmes AMP (Apache-MySQL-PHP) sont configurés correcte-
ment et vous pouvez vous contenter de cette configuration par défaut au début. Un
aspect parfois sensible est le fichier
php.ini qui contient l’ensemble des paramètres
fixant la configuration de PHP. La première chose à faire est de savoir où se trouve
ce fichier. C’est assez simple : placez dans le répertoire htdocs de votre installation un
fichier
phpinfo.php avec le code suivant :
<?php phpinfo(); ?>
1. />2. o/en/index.php
Avant-propos xix
Accédez ensuite à l’URL http://localhost/phpinfo.php. Entre autres informations
vous verrez l’emplacement de
php.ini et tous les paramètres de configuration. Profitez
de l’occasion pour vérifier les paramètres suivants (même si vous ne les comprenez
pas pour l’instant) :
1. short_open_tags doit être à Off pour interdire d’utiliser des balises PHP
abrégées ;
2. display_errors devrait valoir On ;
3. file_upload devrait valoir On.
Cela devrait suffire pour pouvoir débuter sans avoir de souci.
Le navigateur
Vous devez utiliser un navigateur web pour tester les exemples et le site. Je vous
recommande fortement Firefox, qui présente l’avantage de pouvoir intégrer des
modules très utiles (les plugins) qui le personnalisent et l’adaptent à des tâches
particulières. L’extension Web Developer est particulièrement intéressante pour les

développements web car elle permet de contrôler tous les composants transmis par le
serveur d’une application web dynamique au navigateur.
Figure 1 — Barre d’outils Web Developer
La figure 1 montre l’intégration de Web Developer à Firefox sous la forme d’une
barre d’outils offrant des possibilités d’inspection et de manipulation des composants
CSS, JavaScript, cookies, etc. Ces possibilités s’avèrent extrêmement utiles pour la
vérification des composants clients. Dans la mesure où il ne s’agit pas de notre
préoccupation principale pour ce livre, je ne détaille pas plus les possibilités offertes.
Une fonction très simple et très utile est la validation du code HTML fourni
au navigateur. La figure montre, sur la droite de la barre d’outils, des indicateurs

×