Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
PHP
& MySQL
4e édition
Introduction
Vous vous intéressez au développement web avec PHP et MySQL ? Ce livre est fait
pour vous ! Vous y trouverez nos expériences les plus utiles sur PHP et MySQL, deux
des plus passionnants outils de développement web du moment.
Présentation de PHP
PHP est un langage de script côté serveur qui a été conçu spécifiquement pour le Web.
Le code PHP est inclus dans une page HTML et sera exécuté à chaque fois qu’un visiteur
LivrePHP&MSQL.book Page 3 Mardi, 25. novembre 2008 1:02 13
Introduction 3
affichera la page. Le code PHP est interprété au niveau du serveur web et génère du
code HTML ou toute autre donnée affichable dans le navigateur de l’utilisateur.
PHP a été conçu en 1994 par Rasmus Lerdorf. Il a ensuite été adopté par d’autres
personnes talentueuses et réécrit quatre fois avant de devenir le produit abouti que nous
connaissons aujourd’hui. En novembre 2007, il était installé sur plus de 21 millions de
domaines et sa croissance est rapide. Vous trouverez des statistiques plus récentes sur le
site http://www.php.net/usage.php.
PHP est un projet open-source, ce qui signifie que vous pouvez vous procurer son code,
l’utiliser, le modifier et le redistribuer gratuitement.
PHP signifiait à l’origine Personal Home Page, mais ce nom a été changé en un acro-
nyme récursif comme GNU (Gnu’s Not Unix) : il signifie maintenant PHP Hypertext
Preprocessor.
La dernière version principale de PHP est la version 5. Elle bénéficie d’une réécriture
complète du moteur Zend et de quelques améliorations importantes au niveau du
langage.
La page d’accueil de PHP est accessible à l’adresse http://www.php.net.
La page de Zend Technologies, l’entreprise des fondateurs de PHP, se trouve à l’adresse
http://www.zend.com.
Présentation de MySQL
MySQL est un système de gestion de bases de données relationnelles (SGBDR) robuste
et rapide. Une base de données permet de manipuler les informations de manière effi-
cace, de les enregistrer, de les trier, de les lire et d’y effectuer des recherches. Le serveur
MySQL contrôle l’accès aux données pour s’assurer que plusieurs utilisateurs peuvent
se servir simultanément d’une même base de données pour y accéder rapidement et
pour garantir que seuls les utilisateurs autorisés peuvent accéder aux données. MySQL
est donc un serveur multi-utilisateur et multithread. Il utilise SQL (Structured Query
Language), le langage standard des requêtes de bases de données. MySQL est disponi-
ble depuis 1996, mais son développement remonte à 1979. Il s’agit de la base de
données open-source la plus employée au monde et elle a reçu le Linux Journal
Readers’ Choice Award à plusieurs reprises.
MySQL est désormais disponible sous une double licence. Vous pouvez l’utiliser
gratuitement sous licence open-source (GPL) à condition de respecter les termes de
cette licence. Si vous souhaitez distribuer une application non GPL incluant MySQL,
vous pouvez aussi acheter une licence commerciale.
LivrePHP&MSQL.book Page 4 Mardi, 25. novembre 2008 1:02 13
m un système d’exploitation ;
Certains de ces choix dépendent directement des autres. Tous les systèmes d’exploitation
ne fonctionnent pas sur toutes les plates-formes ; par exemple, tous les serveurs web ne
reconnaissent pas tous les langages de programmation, etc.
Un script PHP peut, dans la plupart des cas, être écrit de façon à être portable entre les
systèmes d’exploitation et les serveurs web. Certaines fonctions sont directement liées
aux spécificités d’un système de fichiers particulier, mais elles sont clairement identifiées
comme telles dans le manuel de référence et dans ce livre.
Quels que soient votre plate-forme, votre système d’exploitation ou votre serveur web,
nous pensons que PHP et MySQL sont des options très intéressantes.
Introduction 5
Performances
PHP est très rapide. Avec un seul serveur d’entrée de gamme, vous pouvez servir des
millions de requêtes par jour. Les tests de performances publiés par Zend Technologies
(http://www.zend.com) montrent que PHP dépasse tous ses concurrents.
Adaptabilité
PHP utilise ce que Rasmus Lerdorf désigne souvent comme une architecture "sans
partage". Cela signifie que vous pouvez implémenter de façon efficace et à peu de frais
une ferme de serveurs en ajoutant des machines en fonction de vos besoins.
Bibliothèques intégrées
PHP ayant été conçu pour être utilisé sur le Web, il possède de nombreuses fonc-
tions intégrées permettant d’effectuer la plupart des tâches de programmation web.
LivrePHP&MSQL.book Page 6 Mardi, 25. novembre 2008 1:02 13
Vous pouvez ainsi générer des images en temps réel, vous connecter à des services
web et à d’autres services réseaux, analyser des documents XML, envoyer du courrier
électronique, manipuler les cookies et produire des documents PDF avec seulement
quelques lignes de code.
Coût
PHP est gratuit. Vous pouvez vous procurer la dernière version du langage sur le site
http://www.php.net, sans payer quoi que ce soit.
Portabilité
PHP est disponible sur de nombreux systèmes d’exploitation. Vous pouvez écrire votre
code PHP pour des systèmes d’exploitation Unix libres et gratuits, comme Linux ou
FreeBSD, pour des versions commerciales d’Unix comme Solaris, IRIX, OS-X ou pour
les différentes versions de Windows.
Un code PHP bien écrit pourra donc généralement être utilisé sans modification sur un
autre système.
Introduction 7
Code source
Le code source de PHP est disponible gratuitement. Contrairement aux produits
commerciaux, dont les sources ne sont pas distribués, vous avez donc la possibilité de
modifier le langage ou d’y ajouter de nouvelles caractéristiques.
Vous n’avez par conséquent plus besoin d’attendre que les concepteurs distribuent des
correctifs logiciels et n’avez plus à craindre la disparition de la société ou l’arrêt du
support du produit que vous utilisez.
Nouveautés de PHP 5
Il se peut que vous soyez récemment passé de l’une des versions PHP 4.x à PHP 5.
Comme on est en droit de l’attendre dans une nouvelle version majeure, d’importantes
modifications ont vu le jour et le moteur Zend de PHP a été réécrit pour cette version.
Voici les principales nouvelles fonctionnalités :
m un meilleur support orienté objet construit autour d’un modèle objet entièrement
nouveau (voir Chapitre 6) ;
m la gestion des exceptions pour un traitement évolutif des erreurs, facilitant la main-
tenance (voir Chapitre 7) ;
m SimpleXML pour une gestion simplifiée des données XML (voir Chapitre 31).
Parmi les autres modifications, notons encore le déplacement de certaines extensions de
l’installation PHP par défaut dans la bibliothèque PECL, l’amélioration de la gestion
des flux et l’ajout de SQLite.
Au moment où nous écrivons ce livre, la version courante de PHP est la 5.2 et la
version 5.3 se profile à l’horizon. PHP 5.2 ajoute un certain nombre de fonctionnalités
intéressantes :
m une nouvelle extension pour filtrer les entrées, afin d’améliorer la sécurité ;
m l’extension JSON pour améliorer l’interopérabilité avec JavaScript ;
m le suivi de la progression des dépôts de fichiers ;
LivrePHP&MSQL.book Page 8 Mardi, 25. novembre 2008 1:02 13
Performances
MySQL est indéniablement un système rapide. Vous pouvez consulter les statistiques
de ses performances sur le site http://web.mysql.com/why-mysql/benchmark.html.
La plupart des tests montrent que MySQL est bien plus rapide que ses concurrents, de
plusieurs ordres de grandeur. En 2002, eWeek a publié un banc d’essais qui comparait
cinq bases de données alimentant une application web. Le meilleur résultat a placé ex
æquo MySQL et Oracle, qui est pourtant un produit bien plus cher.
Coût réduit
MySQL est disponible gratuitement sous une licence open-source ou, pour un prix très
raisonnable, sous licence commerciale. Vous devez vous procurer une licence si vous
souhaitez redistribuer MySQL dans une application et que vous ne souhaitiez pas que
l’application se trouve sous licence open-source. Si vous ne comptez pas distribuer
votre application (ce qui est généralement le cas de la plupart des applications web) ou
si vous travaillez sur un logiciel open-source, il n’est pas nécessaire d’acheter une
licence.
Simplicité d’emploi
La plupart des bases de données modernes utilisent SQL. Si vous connaissez déjà
d’autres SGBDR, vous ne devriez pas avoir de problème pour vous adapter. En outre,
LivrePHP&MSQL.book Page 9 Mardi, 25. novembre 2008 1:02 13
Introduction 9
MySQL est plus simple à installer que la plupart des produits similaires. La courbe
d’apprentissage nécessaire à l’acquisition des compétences d’un administrateur de base
de données (DBA, ou DataBase Administrator) est bien plus courte que celle des autres
bases de données.
Portabilité
MySQL peut être utilisé sur un grand nombre de systèmes Unix, ainsi qu’avec
Windows.
Code source
Comme pour PHP, vous pouvez vous procurer le code source de MySQL. Pour la
plupart des utilisateurs, ce point n’est pas important, mais il doit vous tranquilliser
l’esprit en vous assurant une continuité future et en vous offrant des possibilités en cas
d’urgence.
Disponibilité du support
Tous les produits open-source n’ont pas une entreprise parente qui propose des services
de support, de formations, de consultation et de certification : vous pouvez obtenir tout
cela de la part de MySQL AB (www.mysql.com).
Nouveautés de MySQL 5
Parmi les modifications majeures introduites par MySQL 5, nous citerons les suivantes :
m les vues ;
m les procédures stockées (voir Chapitre 13) ;
m un support minimal des triggers ;
m le support des curseurs.
On peut également noter une meilleure compatibilité avec le standard ANSI et des
améliorations en matière de vitesse.
Si vous utilisez toujours une ancienne version 4.x ou 3.x du serveur MySQL, vous
devez savoir que les fonctionnalités suivantes ont été ajoutées aux différentes versions
depuis la version 4.0 :
m support des sous-requêtes ;
m types GIS pour stocker les données géographiques ;
m support amélioré pour l’internationalisation ;
LivrePHP&MSQL.book Page 10 Mardi, 25. novembre 2008 1:02 13
Organisation de ce livre
Ce livre est découpé en cinq parties.
La première partie présente les différents éléments du langage PHP, ainsi que quelques
exemples. Tous ces exemples sont pratiques, issus de notre expérience dans l’implé-
mentation d’un site de commerce électronique, et non théoriques. La présentation de
PHP débute avec le Chapitre 1 : si vous connaissez déjà le langage, vous pouvez passer
directement au chapitre suivant. Si vous débutez en PHP ou en programmation, en
revanche, il peut être intéressant de vous y arrêter un peu plus longuement. Si vous
connaissez déjà PHP 4, consultez quand même le Chapitre 6 car les fonctionnalités
orientées objet ont sensiblement changé.
La deuxième partie aborde les concepts nécessaires à l’utilisation des systèmes de bases
de données relationnelles, comme MySQL, l’utilisation de SQL, l’interconnexion de
votre base de données MySQL avec le monde extérieur, en passant par PHP et certains
concepts avancés de MySQL, comme la sécurité et les optimisations.
La troisième partie est consacrée aux problèmes généraux qui peuvent survenir lors du
développement d’un site web dans n’importe quel langage. Les problèmes les plus
importants concernent la sécurité. Nous verrons ensuite comment vous pouvez tirer
profit de PHP et de MySQL pour authentifier vos utilisateurs et collecter, transmettre et
enregistrer vos données en toute sécurité.
La quatrième partie s’intéresse plus précisément aux principales fonctions intégrées dans
PHP. Nous avons sélectionné des groupes de fonctions qui vous intéresseront sûrement
LivrePHP&MSQL.book Page 11 Mardi, 25. novembre 2008 1:02 13
Introduction 11
lorsque vous implémenterez un site web. Vous y apprendrez notamment ce qu’est l’inte-
raction avec le serveur, l’interaction avec le réseau, la génération d’images, les manipu-
lations de date et d’heure et les variables de sessions.
La cinquième et dernière partie est notre préférée : nous y étudierons quelques problè-
mes réels, comme la gestion et le suivi de projets importants, ainsi que le débogage des
applications. Nous présenterons également quelques projets mettant en évidence la
puissance et la flexibilité de PHP et de MySQL.
Encore un mot
Nous espérons que ce livre vous satisfera et que vous serez aussi passionné par
l’apprentissage de PHP et de MySQL que nous l’avons été lorsque nous avons
commencé à nous servir de ces logiciels. Leur utilisation est un plaisir à part entière.
Vous serez bientôt à même de rejoindre les milliers de développeurs web qui se servent
de ces outils puissants et robustes pour construire des sites web dynamiques.