0% ont trouvé ce document utile (0 vote)
22 vues32 pages

PHP2 PHP & MySQL

Le document compare les technologies ASP et PHP, en mettant en avant les caractéristiques de MySQL comme système de gestion de base de données. Il décrit également l'architecture de l'interaction entre PHP et MySQL, ainsi que les considérations de sécurité pour les deux technologies. Enfin, il mentionne des outils comme EasyPHP pour faciliter l'installation et la configuration de l'environnement de développement.

Transféré par

jamel18081982
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues32 pages

PHP2 PHP & MySQL

Le document compare les technologies ASP et PHP, en mettant en avant les caractéristiques de MySQL comme système de gestion de base de données. Il décrit également l'architecture de l'interaction entre PHP et MySQL, ainsi que les considérations de sécurité pour les deux technologies. Enfin, il mentionne des outils comme EasyPHP pour faciliter l'installation et la configuration de l'environnement de développement.

Transféré par

jamel18081982
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ismail HADJADJ

Clog.ismail11@[Link]

PHP & MySQL


Comparaison avec Microsoft ASP

 ASP (Active Server Pages) est une


technologie de Microsoft. Elle permet d’offrir
un environnement pour produire des pages
web dynamiques. Plusieurs langages sont
disponibles pour exploiter l’environnement
ASP : JScript, VBScript, PerlScript.
 ASP est un DLL qui réside dans le même
espace que le serveur web de Microsoft, IIS
(Internet Information Server).

2
ASP (suite)

 Lorsqu’un fichier est appelé et que celui


possède l’extension « .ASP ». Le DLL ASP
interprète le fichier à la recherche des balises
délimitant le code ASP.
 ASP est basé « objet » : Application,
ObjectContext, Request, Response, Server,
Session.

3
Comparaison de code
Exemple simple en ASP
<HTML>
<HEAD></HEAD>
<BODY BGCOLOR="#FFFFFF">

<%
[Link] ("Bonjour !")
%>

</BODY>
</HTML>

4
Comparaison de code
Exemple simple en PHP
<HTML>
<HEAD></HEAD>
<BODY BGCOLOR="#FFFFFF">

<?
echo "Bonjour !";
?>

</BODY>
</HTML>

5
2. MySQL
MySQL

 Système de gestion de base de données


relationnelles, MySQL est un SGBDR très
populaire, performant et fiable.
 MySQL est développé par MySQL AB (
[Link] sous une license GPL
(GNU General Public License).
 Il y a 2 millions d’installations connues dans le
monde.

7
Caractéristiques générales

 MySQL s’intègre facilement avec PHP (et


Apache et Linux).
 Utilise le langage SQL pour les requêtes
(conforme à la majorité des standards SQL).
 Supporte les transactions (version Max).
 Version courante MySQL 3.23

8
Modèle client/serveur

 Une application SGBD roule sur le serveur.


 Le serveur est accessible par un client qui
peut être sur la même machine ou distant.
 Un pilote ODBC est disponible.
 Dans le cas du web, le client est le module
PHP.

9
Caractéristiques techniques
 Écrit en C et C++, « multi-threaded » (multiple
CPUs).
 Disponible sous plusieurs plate-formes
(notamment Un*x, Windows).
 API pour C, C++, Eiffel, Java, Perl, PHP, Python
et Tcl.
 Supporte différents types de données: entier
signé/nonsigné de 1, 2, 3, 4, et 8 octets, FLOAT,
DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE,
TIME, DATETIME, TIMESTAMP, YEAR, SET, et
ENUM.
 Multilingues (message).

10
Limite

 MySQL Version 3.22 : volume limite


sur une table 4 Gigaoctets.
 MySQL Version 3.23 : 8 million
teraoctets (2 ^ 63 octets).
 Cependant le système d’exploitation
impose des limites.
 IL existe des bases de données
MySQL de 50,000,000
enregistrements.

11
Téléversement et source d’infos

 MySQL est disponible chez


[Link]
 Binaires serveur: 9.3M ([Link]) 14M (rpm)
 Sources : 12Mo (compressé)
 Ce site est également une source
d’informations.

12
Installation
 Le plus simple sous Linux est d’utiliser les RPM (RedHat
Package Manager).
 Généralement
 Installation des « packages » serveur et client
 (option) Installe le « package » développement.
 Pour les autres Un*x, les binaires sont également
disponibles.
 Dans le cas de Windows, un fichier « setup » fait le travail.
 Il est également possible de compiler les sources.

13
Qui utilise MySQL ?

 NASA, Yahoo! Finance, Ericsson, U.S. Census


Bureau, Motorola, Texas Instruments, Silicon
Graphics, [Link], [Link]

14
Produits semblables

 Autres SGBD « open source »


 PostgreSQL [Link]
 Interbase
[Link]
 Oracle
 Microsoft SQL Server
 Sybase

15
Performance

 Test fait par Sloppycode.


 Méthodologie:
▪ Windows 2000 AS SP2, Pentium III 500 et 600Mhz
 MySQL est plus rapide avec PHP.
 Access est plus rapide avec Java Servlets
 Oracle est plus rapide avec ASP.
 SQL Server plus rapide avec Java Servlets.
 La combinaison la plus rapide est Java
Servlets et SQL Server.
 La plus lente est ASP et SQL Server.
Source: [Link]

16
Performance (suite)

 Benchmark de EWEEK
 MySQL est presque ex-æquo avec Oracle9i.
 En considérant le prix,la simplicité et la
stabilité, MySQL se démarque.
 SGBD : DB2 7.2, MS SQL Server 2000,
MySQL-Max 4.0.1, Oracle9i [Link].1 et
Sybase ASE [Link].
Source: [Link]

17
PHP et MySQL

 PHP offre une panoplie de fonctions pour


exploiter les BD dont MySQL.
 Connexion
 Requête
 Administration
 Etc …
 Cependant, PHP doit être compilé avec les
bons paramètres.

18
Architecture Apache-PHP-MySQL

APACHE

PHP
GET /[Link]

SQL
Répertoires
web

MySQL

19
Architecture réseau

Serveur
HTTP

Serveur
MySQL
MYSQL
TCP:3306
HTTP
TCP:80

Client web
Parefeu
20
PHP, séquence de requête

1. Définition de la connexion
2. Connexion
3. Exécution de la requête
4. Extraction des résultats de la requête
5. Fin de la connexion, implicite ou spécifiée

21
Instructions PHP pour MySQL
 Définition de la connexion
 int mysql_connect ([string hostname [:port] [:/path/to/socket] [,
string username [, string password]]])
 Sélection de la base de données
 int mysql_select_db (string database_name [, int link_identifier])
 Exécution de la requête
 int mysql_query (string query [, int link_identifier])
 Extraction des résultats
 array mysql_fetch_row (int result)
 Fin de la connexion
 int mysql_close ([int link_identifier])

22
3. Sécurité
PHP et la sécurité

 PHP est réputé sécuritaire.


 La dernière mise en garde majeure concerne
la fonction « fileupload » qui peut-être sujette
à un « buffer overflow » dans certaines
versions.
 PHP étant avant tout un langage, il ne peut
empêcher de développer des applications «à
problèmes ».

24
MySQL et la sécurité
 MySQL supporte une structure de sécurité au niveau des
utilisateurs. Une table USER contient les infos concernant les
utilisateurs : nom, mot de passe (qui peut-être chiffré), de
quelle adresse IP celui-ci provient et les fonctions qu’il peut
utiliser.
 Il existe également une table pour les hôtes, table HOST, qui
indique quelle BD qu’un hôte peut exploiter.
 L’échange du mot de passe entre le client et le serveur lors de
l’authentification est chiffré.
 Il peut nécessaire de filtrer les accès au port réservé à MySQL
(port TCP 3306).
 La sécurité au niveau des applications (PHP).

25
4. Appropriation de la
technologie
EasyPHP

[Link]

EasyPHP installe et configure automatiquement


un environnement de travail complet permettant
de mettre en oeuvre toute la puissance et la
souplesse qu'offrent le langage dynamique
PHP et son support efficace des bases de
données. EasyPHP regroupe un serveur
Apache, une base de donnée MySQL, le
langage PHP ainsi que des outils facilitant le
développement de vos sites ou de vos
applications.

27
Package EASYPHP

 EasyPHP
[Link]
 Permet d’installer le serveur web Apache, la
base de données MySQL ainsi que la console
de gestion PHPmyADMIN dans un
environnement Win9x/NT/2000/Me.
 Attention: cette installation doit-être
sécurisé !

28
29
30
Pages de gestion

31
Quelques infos complémentaires

 Linuq
 [Link]
 PHP Québec
 [Link]
 Cette présentation est disponible sur le site
de [Link] au URL
[Link]

[Link]@[Link]

32

Vous aimerez peut-être aussi