memoire site web

Upload: casper4519793316

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 memoire site web

    1/26

    Table des matires1 Introduction ......................................................................................................... 2

    2 Environnement Client/Serveur .............................................................................. 4

    2.1 Prsentation de l'architecture d'un systme client/serveur .............................4

    2.2 Avantages de l'architecture client/serveur ..................................................... 4

    2.3 Inconvnients du modle client/serveur ......................................................... 4

    2.4 Fonctionnement d'un systme client/serveur ................................................. 5

    3 Rseaux - Architecture client/serveur 3 niveaux ................................................ 5

    3.1 Prsentation de l'architecture 2 niveaux ..................................................... 5

    3.2 Prsentation de l'architecture 3 niveaux ..................................................... 5

    3.3 Comparaison des deux types d'architecture ................................................... 6

    3.4 L'architecture multiniveaux ............................................................................ 6

    4 Types des clients ................................................................................................ 7

    4.1 Client lourd .................................................................................................... 7

    4.2 Client lger .................................................................................................... 7

    4.3 Client riche ..................................................................................................... 8

    5 Architecture d'gal gal................................................................................... 8

    5.1 Prsentation de l'architecture d'gal gal.................................................... 8

    5.2 Inconvnients des rseaux d'gal gal........................................................ 8

    5.3 Avantages de l'architecture d'gal gal....................................................... 9

    5.4 Notions de scurit ........................................................................................ 9

    6 PHP : ................................................................................................................ 11

    6.1 Introduction :............................................................................................... 11

    6.2 Historique :.................................................................................................. 11

    6.3 Prsentation ................................................................................................ 12

    6.4 Fonctionnement .......................................................................................... 136.5 Avantages et limitations :............................................................................. 14

    6.5.1 AVANTAGES :......................................................................................... 14

    6.5.2 LIMITATION :.......................................................................................... 15

    7 MYSQL ................................................................................................................ 15

    7.1 Introduction :............................................................................................... 15

    7.2 Caractristiques :......................................................................................... 15

    7.3 Systmes d'exploitation supports :............................................................. 16

    7.4 Utilisation :................................................................................................... 16

    I

  • 7/31/2019 memoire site web

    2/26

    8 LE COUPLE PHP et MYSQL :................................................................................. 17

    8.1 Connexion :.................................................................................................. 17

    8.2 Interrogation :.............................................................................................. 17

    8.3 Extraction des donnes :.............................................................................. 17

    8.4 Fonctions sur le serveur :............................................................................. 18

    8.5 Manipulation de rpertoires :....................................................................... 19

    9 Adobe Dreamweaver :........................................................................................ 19

    10 Conclusion :..................................................................................................... 20

    II

  • 7/31/2019 memoire site web

    3/26

    Introduction

  • 7/31/2019 memoire site web

    4/26

    Introduction

    1 Introduction

    2

  • 7/31/2019 memoire site web

    5/26

    Chapitre 1 :

    Les architectures client/ serveur

  • 7/31/2019 memoire site web

    6/26

    Chapitre 1 : les architectures client / serveur

    2 Environnement Client/Serveur

    2.1 Prsentation de l'architecture d'un systmeclient/serveur

    De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie

    que des machines clientes (des machines faisant partie du rseau) contactent un serveur, unemachine gnralement trs puissante en terme de capacits d'entre-sortie, qui leur fournit des

    services. Ces services sont des programmes fournissant des donnes telles que l'heure, des

    fichiers, une connexion, etc.

    Les services sont exploits par des programmes, appels programmes clients, s'excutant sur

    les machines clientes. On parle ainsi de client (client FTP, client de messagerie, etc.) lorsquel'on dsigne un programme tournant sur une machine cliente, capable de traiter des informations

    qu'il rcupre auprs d'un serveur (dans le cas du client FTP il s'agit de fichiers, tandis que pour

    le client de messagerie il s'agit de courrier lectronique).

    2.2 Avantages de l'architecture client/serveur

    Le modle client/serveur est particulirement recommand pour des rseaux ncessitant un

    grand niveau de fiabilit, ses principaux atouts sont :

    des ressources centralises : tant donn que le serveur est au centre du rseau, il peut grer

    des ressources communes tous les utilisateurs, comme par exemple une base de donnescentralise, afin d'viter les problmes de redondance et de contradiction

    une meilleure scurit : car le nombre de points d'entre permettant l'accs aux donnes est

    moins important

    une administration au niveau serveur : les clients ayant peu d'importance dans ce modle,ils ont moins besoin d'tre administrs

    un rseau volutif: grce cette architecture il est possible de supprimer ou rajouter desclients sans perturber le fonctionnement du rseau et sans modification majeure

    2.3 Inconvnients du modle client/serveur

    L'architecture client/serveur a tout de mme quelques lacunes parmi lesquelles :

    un cot lev d la technicit du serveur

    un maillon faible : le serveur est le seul maillon faible du rseau client/serveur, tant donnque tout le rseau est architectur autour de lui ! Heureusement, le serveur a une grande

    tolrance aux pannes (notamment grce au systme RAID)

    4

    http://www.commentcamarche.net/contents/initiation/concept.php3http://www.commentcamarche.net/contents/internet/ftp.php3http://www.commentcamarche.net/contents/courrier-electronique/email-e-mail.php3http://www.commentcamarche.net/contents/systemes/fichier.php3http://www.commentcamarche.net/contents/courrier-electronique/email-e-mail.php3http://www.commentcamarche.net/contents/protect/raid.php3http://www.commentcamarche.net/contents/initiation/concept.php3http://www.commentcamarche.net/contents/internet/ftp.php3http://www.commentcamarche.net/contents/courrier-electronique/email-e-mail.php3http://www.commentcamarche.net/contents/systemes/fichier.php3http://www.commentcamarche.net/contents/courrier-electronique/email-e-mail.php3http://www.commentcamarche.net/contents/protect/raid.php3
  • 7/31/2019 memoire site web

    7/26

    Chapitre 1 : les architectures client / serveur

    2.4 Fonctionnement d'un systme client/serveur

    Un systme client/serveur fonctionne selon le schma suivant :

    Le client met une requte vers le serveur grce son adresse IP et le port, qui dsigne un

    service particulier du serveur

    Le serveur reoit la demande et rpond l'aide de l'adresse de la machine cliente et son port

    3 Rseaux - Architecture client/serveur 3

    niveaux

    3.1 Prsentation de l'architecture 2 niveaux

    L'architecture deux niveaux (aussi appele architecture 2-tier, tiersignifiant range enanglais) caractrise les systmes clients/serveurs pour lesquels le client demande une ressource

    et le serveur la lui fournit directement, en utilisant ses propres ressources. Cela signifie que le

    serveur ne fait pas appel une autre application afin de fournir une partie du service.

    3.2 Prsentation de l'architecture 3 niveaux

    Dans l'architecture 3 niveaux (appele architecture 3-tier), il existe un niveau intermdiaire,c'est--dire que l'on a gnralement une architecture partage entre :

    5

    http://www.commentcamarche.net/contents/internet/ip.php3http://www.commentcamarche.net/contents/internet/port.php3http://www.commentcamarche.net/contents/internet/ip.php3http://www.commentcamarche.net/contents/internet/port.php3
  • 7/31/2019 memoire site web

    8/26

    Chapitre 1 : les architectures client / serveur

    1. Un client, c'est--dire l'ordinateurdemandeur de ressources, quipe d'une interface utilisateur(gnralement un navigateur web) charge de la prsentation ;

    2. Le serveur d'application (appel galement middleware), charg de fournir la ressource maisfaisant appel un autre serveur

    3. Le serveur de donnes, fournissant au serveur d'application les donnes dont il a besoin.

    Etant donn l'emploi massif du terme d'architecture 3 niveaux, celui-ci peut parfois dsigner

    aussi les architectures suivantes :

    Partage d'application entre client, serveur intermdiaire, et serveur d'entreprise ;

    Partage d'application entre client, serveur d'application, et serveur de base de donnes

    d'entreprise.

    3.3 Comparaison des deux types d'architecture

    L'architecture deux niveaux est donc une architecture client/serveur dans laquelle le serveur

    est polyvalent, c'est--dire qu'il est capable de fournir directement l'ensemble des ressources

    demandes par le client.

    Dans l'architecture trois niveaux par contre, les applications au niveau serveur sont

    dlocalises, c'est--dire que chaque serveur est spcialis dans une tche (serveur web/serveur

    de base de donnes par exemple). L'architecture trois niveaux permet :

    Une plus grande flexibilit/souplesse ;

    Une scurit accrue car la scurit peut tre dfinie indpendamment pour chaque service, et

    chaque niveau ;

    De meilleures performances, tant donn le partage des tches entre les diffrents serveurs.

    3.4 L'architecture multiniveaux

    Dans l'architecture 3 niveaux, chaque serveur (niveaux 2 et 3) effectue une tche (un service)

    spcialise. Un serveur peut donc utiliser les services d'un ou plusieurs autres serveurs afin de

    fournir son propre service. Par consquent, l'architecture trois niveaux est potentiellement une

    architecture N niveaux...

    6

    http://www.commentcamarche.net/contents/pc/pc.php3http://www.commentcamarche.net/contents/www/navigateur.php3http://www.commentcamarche.net/contents/bdd/bddintro.php3http://www.commentcamarche.net/contents/pc/pc.php3http://www.commentcamarche.net/contents/www/navigateur.php3http://www.commentcamarche.net/contents/bdd/bddintro.php3
  • 7/31/2019 memoire site web

    9/26

    Chapitre 1 : les architectures client / serveur

    4 Types des clients4.1 Client lourd

    Le terme client lourd (en anglais fat client ou heavy client ), par opposition au clientlger, dsigne une application cliente graphique excute sur le systme d'exploitation de

    l'utilisateur. Un client lourd possde gnralement des capacits de traitement volues et peut

    possder une interface graphique sophistique. Nanmoins, ceci demande un effort de

    dveloppement et tend mler la logique de prsentation (l'interface graphique) avec la logique

    applicative (les traitements).

    Ce type d'application tant gnralement install sur le systme d'exploitation de l'utilisateur,

    une nouvelle version doit tre installe afin de la faire voluer. Pour y remdier, les diteurs

    d'applications lourdes les dotent gnralement d'une fonctionnalit excute au lancement de

    l'application, permettant de vrifier sur un serveur distant si une version plus rcente est

    disponible et le cas chant propose l'utilisateur de la tlcharger et de l'installer.

    4.2 Client lger

    Le terme client lger (parfois client pauvre , en anglais thin client ), par opposition au

    client lourd, dsigne une application accessible via une interface web (en HTML) consultable

    7

    http://www.commentcamarche.net/contents/cs/client-leger.php3http://www.commentcamarche.net/contents/cs/client-leger.php3http://www.commentcamarche.net/contents/systemes/sysintro.php3http://www.commentcamarche.net/contents/cs/client-lourd.php3http://www.commentcamarche.net/contents/html/htmlintro.php3http://www.commentcamarche.net/contents/cs/client-leger.php3http://www.commentcamarche.net/contents/cs/client-leger.php3http://www.commentcamarche.net/contents/systemes/sysintro.php3http://www.commentcamarche.net/contents/cs/client-lourd.php3http://www.commentcamarche.net/contents/html/htmlintro.php3
  • 7/31/2019 memoire site web

    10/26

    Chapitre 1 : les architectures client / serveur

    l'aide d'un navigateur web, o la totalit de la logique mtier est traite du ct du serveur. Pour

    ces raisons, le navigateurest parfois appel client universel.

    L'origine du terme lui-mme provient de la pauvret du langage HTML, qui ne permet de faire

    des interfaces relativement pauvres en interactivit, si ce n'est pas le biais du langagejavascript.

    Le fait que l'essentiel des traitements soit ralis du ct du serveur et que l'interface graphique

    est envoye au navigateur chaque requte permet une grande souplesse de mise jour. En

    contrepartie, l'application doit s'affranchir des diffrences d'interprtation du code HTML par

    les diffrents navigateurs et l'ergonomie de l'application possde un champ rduit.

    4.3 Client riche

    Un client riche est un compromis entre le client lgeret le client lourd. L'objectif du client

    riche est donc de proposer une interface graphique, dcrite avec une grammaire de description

    base sur la syntaxe XML, permettant d'obtenir des fonctionnalits similaires celles d'un clientlourd (glisser dposer, onglets, multi fentrage, menus droulants).

    Les clients riches permettent ainsi de grer l'essentiel des traitements du ct du serveur. Les

    donnes sont ensuite transmises dans un format d'change standard utilisant la syntaxe XML

    (SOAP, XML-RPC), puis interprtes par le client riche.

    Les principaux standards permettant de dfinir une application riche sont les suivants :

    XAML (eXtensible Application Markup Language), prononcez zammel , un standard XMLpropos par Microsoft, utilis notamment dans les applications utilisant le framework .NET ;

    XUL, prononcez zoul , un standard XML propos par la fondation Mozilla, utilis parexemple dans le client de messagerieMozilla Thunderbirdou dans le navigateurMozillaFirefox ;

    Flex, un standard XML propos par la socit Macromedia.

    5 Architecture d'gal gal5.1 Prsentation de l'architecture d'gal gal

    Dans une architecture d'gal gal (en anglaispeer to peer), contrairement une architecture

    de rseau de type client/serveur, il n'y a pas de serveur ddi. Ainsi chaque ordinateur dans untel rseau est un peu serveur et un peu client. Cela signifie que chacun des ordinateurs du rseau

    est libre de partager ses ressources. Un ordinateur reli une imprimante pourra donc

    ventuellement la partager afin que tous les autres ordinateurs puissent y accder via le rseau.

    5.2 Inconvnients des rseaux d'gal gal

    Les rseaux d'gal gal ont normment d'inconvnients :

    ce systme n'est pas du tout centralis, ce qui le rend trs difficile administrer

    la scurit est trs peu prsente

    aucun maillon du systme n'est fiable

    8

    http://www.commentcamarche.net/contents/www/navigateur-web.php3http://www.commentcamarche.net/contents/www/navigateur-web.php3http://www.commentcamarche.net/contents/javascript/jsintro.php3http://www.commentcamarche.net/contents/www/navigateur.php3http://www.commentcamarche.net/contents/cs/client-leger.php3http://www.commentcamarche.net/contents/cs/client-lourd.php3http://www.commentcamarche.net/contents/xml/xmlintro.php3http://www.commentcamarche.net/contents/dotnet/dotnet-intro.php3http://www.commentcamarche.net/contents/initiation/client.php3http://www.commentcamarche.net/contents/www/navigateur-web.php3http://www.commentcamarche.net/contents/www/navigateur-web.php3http://www.commentcamarche.net/contents/javascript/jsintro.php3http://www.commentcamarche.net/contents/www/navigateur.php3http://www.commentcamarche.net/contents/cs/client-leger.php3http://www.commentcamarche.net/contents/cs/client-lourd.php3http://www.commentcamarche.net/contents/xml/xmlintro.php3http://www.commentcamarche.net/contents/dotnet/dotnet-intro.php3http://www.commentcamarche.net/contents/initiation/client.php3
  • 7/31/2019 memoire site web

    11/26

    Chapitre 1 : les architectures client / serveur

    Ainsi, les rseaux d'gal gal ne sont valables que pour un petit nombre d'ordinateurs (gnralement

    une dizaine), et pour des applications ne ncessitant pas une grande scurit (il est donc dconseill

    pour un rseau professionnel avec des donnes sensibles).

    5.3 Avantages de l'architecture d'gal gal

    L'architecture d'gal gal a tout de mme quelques avantages parmi lesquels :

    un cot rduit (les cots engendrs par un tel rseau sont le matriel, les cbles et la

    maintenance)

    une simplicit toute preuve!

    5.4 Notions de scurit

    La politique de scurit minimale consiste mettre un mot de passe une ressource. Les

    utilisateurs dun rseau poste poste dfinissent leur propre scurit et comme tous les partages

    peuvent exister sur tous les ordinateurs, il est difficile de mettre en oeuvre un contrlecentralis. Ceci pose galement un problme de scurit globale du rseau car certains

    utilisateurs ne scurisent pas du tout leurs ressources.

    9

  • 7/31/2019 memoire site web

    12/26

    Chapitre 2 :

    Les outils de dveloppement

  • 7/31/2019 memoire site web

    13/26

    Chapitre2 : les outils de dveloppement

    6 PHP :6.1 Introduction :

    C un langage de programmation conu pour aider la cration d'applications web dynamiques

    via un serveur HTTP, mais pouvant galement fonctionner comme n'importe quel langage

    interprt de faon locale, en excutant les programmes en ligne de commande. PHP est un

    langage impratifdisposant depuis la version 5 de fonctionnalits de modle objet compltes.

    En raison de la richesse de sa bibliothque, on dsigne parfois PHP comme une plate-forme

    plus qu'un simple langage.

    L'Elphant, mascotte officielle de PHP

    PHP est souvent accompagn de l'lPHPant, dessin par El Roubio. Il s'est inspir de la

    ressemblance des lettres PHP avec un lphant, d'o le nom. Toutes ses uvres sont distribues

    sous licence GNU/GPL. Il existe aussi des origamis et des pelucheslPHPant.

    6.2 Historique :

    Le langage PHP fut cr en 1994 parRasmus Lerdorfpour son site Web. C'tait l'origine une

    bibliothque logicielle en Perl dont il se servait pour conserver une trace des visiteurs qui

    venaient consulter son CV. Au fur et mesure qu'il ajoutait de nouvelles fonctionnalits,

    Rasmus a transform la bibliothque en une implmentation en langage C, capable de

    communiquer avec des bases de donnes et de crer des applications dynamiques et simples

    pour leWeb. Rassmus dcida alors en 1995 de publier son code, pour que tout le monde puisse

    l'utiliser et en profiter. PHP s'appelait alors PHP/FI (pourPersonalHome Page Tools/Form

    Interpreter). En1997, deux tudiants, Andi Gutmans etZeev Suraski, redvelopprent le cur

    de PHP/FI. Ce travail aboutit un ans plus tard avec Zend Engine, le nouveau cur de PHP/FI,devenu alorsPHP: Hypertext Preprocessoren version 3.

    En 2002, PHP est utilis par plus de 8 millions de sites Web travers le monde, et en 2004 par

    plus de 15 millions.

    Un indicateur paradoxal de la popularit de PHP est le nombre de failles de scurit concernant

    des applications PHP et listes avec un identifiantCVE sur laNational Vulnerability Database,

    base de donnes amricaine. Ces failles reprsentent 12% du total en 2003, 20% en 2004, 28%

    en 2005, 43% en2006, 36% en2007, 38% sur les deux premiers mois de 2008. Plus d'un quart

    11

    http://dico.developpez.com/html/49-Generalites-langage-de-programmation.phphttp://dico.developpez.com/html/138-Generalites-application.phphttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Langage_interpr%C3%A9t%C3%A9_informatiquehttp://fr.wikipedia.org/wiki/Langage_interpr%C3%A9t%C3%A9_informatiquehttp://fr.wikipedia.org/wiki/Programmation_imp%C3%A9rativehttp://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/GNU/GPLhttp://fr.wikipedia.org/wiki/1994http://fr.wikipedia.org/wiki/Rasmus_Lerdorfhttp://fr.wikipedia.org/wiki/Rasmus_Lerdorfhttp://fr.wikipedia.org/wiki/Site_Webhttp://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/Curriculum_vit%C3%A6http://fr.wikipedia.org/wiki/Curriculum_vit%C3%A6http://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/World_Wide_Webhttp://fr.wikipedia.org/wiki/World_Wide_Webhttp://fr.wikipedia.org/wiki/1995http://fr.wikipedia.org/wiki/1997http://fr.wikipedia.org/wiki/1997http://fr.wikipedia.org/wiki/Andi_Gutmanshttp://fr.wikipedia.org/w/index.php?title=Zeev_Suraski&action=edit&redlink=1http://fr.wikipedia.org/w/index.php?title=Zeev_Suraski&action=edit&redlink=1http://fr.wikipedia.org/wiki/Zend_Enginehttp://fr.wikipedia.org/wiki/Zend_Enginehttp://fr.wikipedia.org/wiki/2002http://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/Vuln%C3%A9rabilit%C3%A9_(informatique)http://fr.wikipedia.org/wiki/Vuln%C3%A9rabilit%C3%A9_(informatique)http://fr.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposureshttp://fr.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposureshttp://fr.wikipedia.org/wiki/2003http://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/2005http://fr.wikipedia.org/wiki/2006http://fr.wikipedia.org/wiki/2006http://fr.wikipedia.org/wiki/2007http://fr.wikipedia.org/wiki/2007http://fr.wikipedia.org/wiki/2008http://fr.wikipedia.org/wiki/2008http://dico.developpez.com/html/49-Generalites-langage-de-programmation.phphttp://dico.developpez.com/html/138-Generalites-application.phphttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Langage_interpr%C3%A9t%C3%A9_informatiquehttp://fr.wikipedia.org/wiki/Langage_interpr%C3%A9t%C3%A9_informatiquehttp://fr.wikipedia.org/wiki/Programmation_imp%C3%A9rativehttp://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/GNU/GPLhttp://fr.wikipedia.org/wiki/1994http://fr.wikipedia.org/wiki/Rasmus_Lerdorfhttp://fr.wikipedia.org/wiki/Site_Webhttp://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/Curriculum_vit%C3%A6http://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/World_Wide_Webhttp://fr.wikipedia.org/wiki/1995http://fr.wikipedia.org/wiki/1997http://fr.wikipedia.org/wiki/Andi_Gutmanshttp://fr.wikipedia.org/w/index.php?title=Zeev_Suraski&action=edit&redlink=1http://fr.wikipedia.org/wiki/Zend_Enginehttp://fr.wikipedia.org/wiki/2002http://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/Vuln%C3%A9rabilit%C3%A9_(informatique)http://fr.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposureshttp://fr.wikipedia.org/wiki/2003http://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/2005http://fr.wikipedia.org/wiki/2006http://fr.wikipedia.org/wiki/2007http://fr.wikipedia.org/wiki/2008
  • 7/31/2019 memoire site web

    14/26

    Chapitre2 : les outils de dveloppement

    des vulnrabilits rpertories sur cette base concerne des applications PHP, plus d'un tiers ces

    dernires annes, et la plupart peuvent tre exploites distance. Ces vulnrabilits s'expliquent

    par de mauvaises habitudes de programmation (souvent un dfaut de validation des entres)

    allies des caractristiques douteuses du langage lui-mme (par exemple register global,maintenant dconseill]).

    La version actuelle est la version 5, sortie le 13 juillet 2004. Elle utilise Zend Engine 2 et

    introduit un vritable modle objet, une gestion des erreurs fonde sur le modle des exceptions,

    ainsi que des fonctionnalits de gestion pour les entreprises. PHP 5 apporte beaucoup de

    nouveauts, telles que le support de SQLite, qui est un systme lger de gestion de bases de

    donnes embarqu, au dtriment de la bibliothque cliente de MySQL, plus puissante mais qui

    n'est dsormais plus active par dfaut, ainsi que des moyens de manipuler des fichiers et des

    structuresXML bass surlibxml2 :

    une API simple nommeSimpleXML ;

    une APIDocument Object Model assez complte ;

    une interface XPathutilisant les objets DOM et Simple XML ;

    intgration de libxslt pour les transformationsXSLT via l'extensionXSL ;

    un bien meilleure gestion des objets par rapport PHP 4, avec des possibilitsquivalentes celles deJava.

    La dernire mise jour est la 5.2.9-2 datant du 8avril2009

    La version 4.4.x n'est plus maintenue depuis le 31 dcembre2007. Seuls les patchs de scurit

    critiques ont encore dvelopps jusqu' la date du 8 aot2008[12] .

    La prochaine version de PHP : PHP 6 est encore en dveloppement.

    6.3 Prsentation

    Le langage PHP est utilis principalement en tant que langage de script ct serveur, ce qui veut

    dire que c'est le serveur(la machine qui hberge la page Web en question) qui va interprter le

    code PHP et gnrer du code (constitu gnralement d'XHTML ou d'HTML, de CSS, et

    parfois deJavaScript) qui pourra tre interprt par un navigateur. PHP peut galement gnrer

    d'autres formats en rapport avec le Web, comme le WML, leSVG, leformat PDF, ou encore

    des images bitmap telles que JPEG, GIF ouPNG.

    12

    http://fr.wikipedia.org/wiki/PHP#cite_note-8http://fr.wikipedia.org/wiki/13_juillethttp://fr.wikipedia.org/wiki/13_juillethttp://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objethttp://fr.wikipedia.org/wiki/SQLitehttp://fr.wikipedia.org/wiki/MySQLhttp://fr.wikipedia.org/wiki/Extensible_Markup_Languagehttp://fr.wikipedia.org/wiki/Extensible_Markup_Languagehttp://fr.wikipedia.org/wiki/Interface_de_programmationhttp://fr.wikipedia.org/wiki/SimpleXMLhttp://fr.wikipedia.org/wiki/SimpleXMLhttp://fr.wikipedia.org/wiki/Interface_de_programmationhttp://fr.wikipedia.org/wiki/Document_Object_Modelhttp://fr.wikipedia.org/wiki/XPathhttp://fr.wikipedia.org/wiki/XPathhttp://fr.wikipedia.org/wiki/Extensible_Stylesheet_Language_Transformationshttp://fr.wikipedia.org/wiki/Extensible_Stylesheet_Language_Transformationshttp://fr.wikipedia.org/wiki/Extensible_stylesheet_languagehttp://fr.wikipedia.org/wiki/Extensible_stylesheet_languagehttp://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/8_avrilhttp://fr.wikipedia.org/wiki/Avril_2009http://fr.wikipedia.org/wiki/2009_en_informatiquehttp://fr.wikipedia.org/wiki/2009_en_informatiquehttp://fr.wikipedia.org/wiki/31_d%C3%A9cembrehttp://fr.wikipedia.org/wiki/2007http://fr.wikipedia.org/wiki/2007http://fr.wikipedia.org/wiki/8_ao%C3%BBthttp://fr.wikipedia.org/wiki/2008http://fr.wikipedia.org/wiki/2008http://fr.wikipedia.org/wiki/PHP#cite_note-findephp4-11http://fr.wikipedia.org/wiki/2008http://fr.wikipedia.org/wiki/Langage_serveurhttp://fr.wikipedia.org/wiki/Serveur_Webhttp://fr.wikipedia.org/wiki/XHTMLhttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascadehttp://fr.wikipedia.org/wiki/JavaScripthttp://fr.wikipedia.org/wiki/JavaScripthttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Wireless_Markup_Languagehttp://fr.wikipedia.org/wiki/Scalable_Vector_Graphicshttp://fr.wikipedia.org/wiki/Scalable_Vector_Graphicshttp://fr.wikipedia.org/wiki/Portable_Document_Formathttp://fr.wikipedia.org/wiki/Portable_Document_Formathttp://fr.wikipedia.org/wiki/Portable_Document_Formathttp://fr.wikipedia.org/wiki/JPEGhttp://fr.wikipedia.org/wiki/Graphics_Interchange_Formathttp://fr.wikipedia.org/wiki/Portable_Network_Graphicshttp://fr.wikipedia.org/wiki/Portable_Network_Graphicshttp://fr.wikipedia.org/wiki/PHP#cite_note-8http://fr.wikipedia.org/wiki/13_juillethttp://fr.wikipedia.org/wiki/2004http://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objethttp://fr.wikipedia.org/wiki/SQLitehttp://fr.wikipedia.org/wiki/MySQLhttp://fr.wikipedia.org/wiki/Extensible_Markup_Languagehttp://fr.wikipedia.org/wiki/Interface_de_programmationhttp://fr.wikipedia.org/wiki/SimpleXMLhttp://fr.wikipedia.org/wiki/Interface_de_programmationhttp://fr.wikipedia.org/wiki/Document_Object_Modelhttp://fr.wikipedia.org/wiki/XPathhttp://fr.wikipedia.org/wiki/Extensible_Stylesheet_Language_Transformationshttp://fr.wikipedia.org/wiki/Extensible_stylesheet_languagehttp://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/8_avrilhttp://fr.wikipedia.org/wiki/Avril_2009http://fr.wikipedia.org/wiki/2009_en_informatiquehttp://fr.wikipedia.org/wiki/31_d%C3%A9cembrehttp://fr.wikipedia.org/wiki/2007http://fr.wikipedia.org/wiki/8_ao%C3%BBthttp://fr.wikipedia.org/wiki/2008http://fr.wikipedia.org/wiki/PHP#cite_note-findephp4-11http://fr.wikipedia.org/wiki/Langage_serveurhttp://fr.wikipedia.org/wiki/Serveur_Webhttp://fr.wikipedia.org/wiki/XHTMLhttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascadehttp://fr.wikipedia.org/wiki/JavaScripthttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Wireless_Markup_Languagehttp://fr.wikipedia.org/wiki/Scalable_Vector_Graphicshttp://fr.wikipedia.org/wiki/Portable_Document_Formathttp://fr.wikipedia.org/wiki/JPEGhttp://fr.wikipedia.org/wiki/Graphics_Interchange_Formathttp://fr.wikipedia.org/wiki/Portable_Network_Graphics
  • 7/31/2019 memoire site web

    15/26

    Chapitre2 : les outils de dveloppement

    Il a t conu pour permettre la cration d'applications dynamiques, le plus souvent ddies au

    Web. PHP est trs majoritairement install sur un serveurApache, mais peut tre install sur les

    autres principauxserveurs HTTP du march, par exempleIIS. Ce couplage permet de rcuprer

    des informations issues d'une base de donnes, d'un systme de fichiers (contenu de fichiers etde l'arborescence) ou plus simplement des donnes envoyes par le navigateur afin d'tre

    interprtes ou stockes pour une utilisation ultrieure.

    C'est un langage peu typ et souple et donc facile apprendre par un dbutant mais, de ce fait,

    des failles de scurit peuvent rapidement apparatre dans les applications. Pragmatique, PHP

    ne s'encombre pas de thorie et a tendance choisir le chemin le plus direct. Nanmoins, le nom

    des fonctions (ainsi que le passage des arguments) ne respecte pas toujours une logique

    uniforme, ce qui peut tre prjudiciable l'apprentissage.

    Son utilisation commence avec le traitement des formulaires puis par l'accs aux bases de

    donnes. L'accs aux bases de donnes est ais une fois l'installation des modules correspondant

    effectue sur le serveur. La force la plus vidente de ce langage est qu'il est devenu au fil du

    temps un incontournable des offres d'hbergement.

    Libre, gratuit, simple d'utilisation et d'installation, ce langage ncessite comme tout langage de

    rseau une bonne comprhension des mcanismes sous-jacents ainsi qu'une connaissance des

    problmes de scurit.

    La version 5.3 permettra d'utiliser les espaces de noms, un lment fondamental de l'laboration

    d'extensions, debibliothques et de Frameworkstructurs.

    La version 6 introduira en interne la bibliothque ICUdonnant au langage la facult de traiter

    Unicode de manire native.

    6.4 Fonctionnement

    Sa syntaxe et sa construction ressemblent celles des langages Java etPerl, la diffrence que

    le PHP peut tre intgr dans du code HTML. PHP appartient par ailleurs la grande famille

    des descendants du C, dont la syntaxe est trs proche.

    Dans une utilisation Web, l'excution du code PHP se droule ainsi : lorsqu'un visiteur demande

    consulter unepage Web, son navigateurenvoie une requte auserveur HTTPcorrespondant.

    13

    http://fr.wikipedia.org/wiki/Webhttp://fr.wikipedia.org/wiki/Apachehttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Internet_Information_Serviceshttp://fr.wikipedia.org/wiki/Internet_Information_Serviceshttp://fr.wikipedia.org/wiki/Syst%C3%A8me_de_fichiershttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Espace_de_nomshttp://fr.wikipedia.org/wiki/Extension_(logiciel)http://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/Frameworkhttp://fr.wikipedia.org/wiki/International_Components_for_Unicodehttp://fr.wikipedia.org/wiki/International_Components_for_Unicodehttp://fr.wikipedia.org/wiki/Unicodehttp://fr.wikipedia.org/wiki/Syntaxehttp://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/Page_Webhttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Webhttp://fr.wikipedia.org/wiki/Apachehttp://fr.wikipedia.org/wiki/Serveur_HTTPhttp://fr.wikipedia.org/wiki/Internet_Information_Serviceshttp://fr.wikipedia.org/wiki/Syst%C3%A8me_de_fichiershttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Espace_de_nomshttp://fr.wikipedia.org/wiki/Extension_(logiciel)http://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logiciellehttp://fr.wikipedia.org/wiki/Frameworkhttp://fr.wikipedia.org/wiki/International_Components_for_Unicodehttp://fr.wikipedia.org/wiki/Unicodehttp://fr.wikipedia.org/wiki/Syntaxehttp://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/Page_Webhttp://fr.wikipedia.org/wiki/Navigateur_Webhttp://fr.wikipedia.org/wiki/Serveur_HTTP
  • 7/31/2019 memoire site web

    16/26

    Chapitre2 : les outils de dveloppement

    Si la page est identifie comme un script PHP (gnralement grce l'extension .PHP), le

    serveur appelle l'interprte PHP qui va traiter et gnrer le code final de la page (constitu

    gnralement d'HTML ou de XHTML, mais aussi souvent de CSS et de JS). Ce contenu est

    renvoy au serveur HTTP, qui l'envoie finalement au client.

    Ce schma explique ce fonctionnement :

    6.5 Avantages et limitations :

    6.5.1 AVANTAGES :

    Le langage PHP possde les mme fonctionnalits que les autres langages permettant dcrire

    des scripts CGI , comme collecter des donnes, gnrer dynamiquement des pages web ou bien

    envoyer et recevoir des cookies,.

    La plus grande qualit et le plus important avantage du langage PHP est le

    support dun grand nombre de bases de donnes et la simplicit dinterfaage

    avec eux.

    PHP est utilisable sur la majorit des systmes dexploitation comme LUNIX, de

    nombreuses variantes Unix, Microsoft Windows ,Mac OS X et dautres encore.

    PHP supporte aussi la plupart des serveurs web actuels : Apache, Microsoft

    internet information server, Omni HTTP et beaucoup dautres encore.

    La gratuit et la disponibilit du code source.

    La simplicit dcriture du script.

    14

    http://fr.wikipedia.org/wiki/Interpr%C3%A8te_(informatique)http://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/XHTMLhttp://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascadehttp://fr.wikipedia.org/wiki/JavaScripthttp://fr.wikipedia.org/wiki/Interpr%C3%A8te_(informatique)http://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/XHTMLhttp://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascadehttp://fr.wikipedia.org/wiki/JavaScript
  • 7/31/2019 memoire site web

    17/26

    Chapitre2 : les outils de dveloppement

    6.5.2 LIMITATION :

    Langage interprt.

    Lorient objet reste limit.

    Pas adquat en termes de rapidit et de maintenabilit pour des projets de

    grandes envergures.

    7 MYSQL7.1 Introduction :MySQL est la base de donnes open source la plus populaire au monde, avec un

    total de plus de 100 millions de copies tlcharges ou distribues depuis sa

    cration. Grce une rapidit, une fiabilit et une simplicit d'utilisation

    exceptionnelles, MySQL est devenu la solution privilgie par les socits Web,

    Web 2.0, oprant en mode SaaS, diteurs de logiciels et socits de

    tlcommunications. MySQL est galement prfre des responsables

    informatiques visionnaires car le SGBD limine les principaux problmes lis aux

    pannes, la maintenance et l'administration des applications en ligne modernes.

    7.2 Caractristiques :

    MySQL est un serveur de bases de donnes relationnelles SQL dvelopp dans un souci de

    performances leves en lecture, ce qui signifie qu'il est davantage orient vers le service de

    donnes dj en place que vers celui de mises jour frquentes et fortement scurises. Il est

    multithread et multiutilisateurs.

    C'est un logiciel libre dvelopp sous double licence en fonction de l'utilisation qui en est faite :

    dans unproduit libre ou dans un produit propritaire. Dans ce dernier cas, la licence est payante,

    sinon c'est la GPL qui s'applique. Ce type de licence double est utilis par d'autres produits

    comme le Framework de dveloppement d'applications Qt (pour les versions antrieures la

    4.5).

    15

    http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnellehttp://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnellehttp://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnellehttp://fr.wikipedia.org/wiki/SQLhttp://fr.wikipedia.org/wiki/Processus_l%C3%A9gerhttp://fr.wikipedia.org/wiki/Logiciel_librehttp://fr.wikipedia.org/wiki/Logiciel_librehttp://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNUhttp://fr.wikipedia.org/wiki/Qthttp://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnellehttp://fr.wikipedia.org/wiki/SQLhttp://fr.wikipedia.org/wiki/Processus_l%C3%A9gerhttp://fr.wikipedia.org/wiki/Logiciel_librehttp://fr.wikipedia.org/wiki/Logiciel_librehttp://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNUhttp://fr.wikipedia.org/wiki/Qt
  • 7/31/2019 memoire site web

    18/26

    Chapitre2 : les outils de dveloppement

    7.3 Systmes d'exploitation supports :

    MySQL fonctionne sur de nombreux systmes d'exploitation diffrents, incluant AIX, BSDi,

    Free BSD, HP-UX,Linux, Mac OS X,NetWare,Net BSD,Open BSD,OS/2 Warp,SGIIrix,

    Solaris,SunOS,SCOOpen Server, SCO UnixWare,Tru64Unix,Windows 95, 98, NT, 2000,

    XP et Vista.

    Les bases de donnes sont accessibles en utilisant les langages de programmation C, C+

    +,VB,VB .NET, C#, Delphi / Kylix, Eiffel, Java, Perl, PHP, Python, Ruby et Tcl ; une API

    spcifique est disponible pour chacun d'entre eux. Une interface ODBC appele MyODBC est

    aussi disponible. En Java, MySQL peut tre utilis de faon transparente avec le standard JDO.

    Depuis le rachat de MySQL AB parSun Microsystems, MySQL est devenu officieusement la

    base de donnes utiliser conjointement avec le langage de programmation Java, ce qui donne

    une notorit supplmentaire au SGDB auprs des entreprises utilisant Java.

    7.4 Utilisation :

    MySQL fait partie du quatuorLAMP : Linux, Apache, MySQL, PHP. Il appartient galement

    ses variantesWAMP(Windows) etMAMP (Mac).

    Le couple PHP/MySQL est trs utilis par les sites web et propos par la majorit des

    hbergeurs. Plus de la moiti des sites web fonctionnent sous Apache[2], qui est le plus souvent

    utilis conjointement avec PHP et MySQL.

    Depuis la version 5, il est possible d'utiliser le PL/SQL originairement dvelopp par Oracle

    afin d'utiliser des procdures et fonctions stockes ainsi que des dclencheurs. Par ailleurs,

    MySQL supporte la norme SQL2 (utilisation des JOIN), ce qui fait de lui un SGBD sr puisque

    la conformit cette norme garantira sa compatibilit avec les requtes normalises.

    Son absence par dfaut de support des transactions et de l'intgrit automatique des tables (sauf

    en utilisant certains moteurs comme InnoDB) rendent son adoption plus complique par

    exemple dans les socits bancaires, cependant, ses performances tant gnralement plus

    importantes que la majorit des autres systmes concurrents, et son prix d'implantation

    nettement infrieur, lui permet d'obtenir un certain succs auprs des entreprises ayant besoin

    d'une base de donnes peu onreuse et/ou performante.

    16

    http://fr.wikipedia.org/wiki/Syst%C3%A8me_d'exploitationhttp://fr.wikipedia.org/wiki/AIXhttp://fr.wikipedia.org/w/index.php?title=BSDi&action=edit&redlink=1http://fr.wikipedia.org/wiki/FreeBSDhttp://fr.wikipedia.org/wiki/HP-UXhttp://fr.wikipedia.org/wiki/HP-UXhttp://fr.wikipedia.org/wiki/Linuxhttp://fr.wikipedia.org/wiki/Mac_OS_Xhttp://fr.wikipedia.org/wiki/Novell_NetWarehttp://fr.wikipedia.org/wiki/Novell_NetWarehttp://fr.wikipedia.org/wiki/NetBSDhttp://fr.wikipedia.org/wiki/OpenBSDhttp://fr.wikipedia.org/wiki/OpenBSDhttp://fr.wikipedia.org/wiki/OS/2http://fr.wikipedia.org/wiki/OS/2http://fr.wikipedia.org/wiki/SGIhttp://fr.wikipedia.org/wiki/SGIhttp://fr.wikipedia.org/wiki/Irixhttp://fr.wikipedia.org/wiki/Irixhttp://fr.wikipedia.org/wiki/Solaris_(informatique)http://fr.wikipedia.org/wiki/SunOShttp://fr.wikipedia.org/wiki/SunOShttp://fr.wikipedia.org/wiki/SCOhttp://fr.wikipedia.org/wiki/SCOhttp://fr.wikipedia.org/w/index.php?title=OpenServer&action=edit&redlink=1http://fr.wikipedia.org/w/index.php?title=OpenServer&action=edit&redlink=1http://fr.wikipedia.org/w/index.php?title=UnixWare&action=edit&redlink=1http://fr.wikipedia.org/wiki/Tru64http://fr.wikipedia.org/wiki/Tru64http://fr.wikipedia.org/wiki/Tru64http://fr.wikipedia.org/wiki/Microsoft_Windowshttp://fr.wikipedia.org/wiki/Microsoft_Windowshttp://fr.wikipedia.org/wiki/Langages_de_programmationhttp://fr.wikipedia.org/wiki/Langages_de_programmationhttp://fr.wikipedia.org/wiki/Langages_de_programmationhttp://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/C%2B%2Bhttp://fr.wikipedia.org/wiki/C%2B%2Bhttp://fr.wikipedia.org/wiki/VBhttp://fr.wikipedia.org/wiki/VBhttp://fr.wikipedia.org/w/index.php?title=VB_.NET&action=edit&redlink=1http://fr.wikipedia.org/wiki/C_sharphttp://fr.wikipedia.org/wiki/Delphi_(langage)http://fr.wikipedia.org/wiki/Delphi_(langage)http://fr.wikipedia.org/wiki/Eiffel_(langage)http://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessorhttp://fr.wikipedia.org/wiki/Python_(langage)http://fr.wikipedia.org/wiki/Python_(langage)http://fr.wikipedia.org/wiki/Rubyhttp://fr.wikipedia.org/wiki/Tool_Command_Languagehttp://fr.wikipedia.org/wiki/Application_Programming_Interfacehttp://fr.wikipedia.org/wiki/ODBChttp://fr.wikipedia.org/w/index.php?title=MyODBC&action=edit&redlink=1http://fr.wikipedia.org/wiki/JDOhttp://fr.wikipedia.org/wiki/Sun_Microsystemshttp://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/LAMPhttp://fr.wikipedia.org/wiki/Linuxhttp://fr.wikipedia.org/wiki/Apache_HTTP_Serverhttp://fr.wikipedia.org/wiki/Apache_HTTP_Serverhttp://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessorhttp://fr.wikipedia.org/wiki/WAMPhttp://fr.wikipedia.org/wiki/WAMPhttp://fr.wikipedia.org/wiki/WAMPhttp://fr.wikipedia.org/wiki/MAMPhttp://fr.wikipedia.org/wiki/MAMPhttp://fr.wikipedia.org/wiki/Site_webhttp://fr.wikipedia.org/wiki/MySQL#cite_note-1http://fr.wikipedia.org/wiki/PL/SQLhttp://fr.wikipedia.org/wiki/PL/SQLhttp://fr.wikipedia.org/wiki/D%C3%A9clencheurhttp://fr.wikipedia.org/wiki/Syst%C3%A8me_d'exploitationhttp://fr.wikipedia.org/wiki/AIXhttp://fr.wikipedia.org/w/index.php?title=BSDi&action=edit&redlink=1http://fr.wikipedia.org/wiki/FreeBSDhttp://fr.wikipedia.org/wiki/HP-UXhttp://fr.wikipedia.org/wiki/Linuxhttp://fr.wikipedia.org/wiki/Mac_OS_Xhttp://fr.wikipedia.org/wiki/Novell_NetWarehttp://fr.wikipedia.org/wiki/NetBSDhttp://fr.wikipedia.org/wiki/OpenBSDhttp://fr.wikipedia.org/wiki/OS/2http://fr.wikipedia.org/wiki/SGIhttp://fr.wikipedia.org/wiki/Irixhttp://fr.wikipedia.org/wiki/Solaris_(informatique)http://fr.wikipedia.org/wiki/SunOShttp://fr.wikipedia.org/wiki/SCOhttp://fr.wikipedia.org/w/index.php?title=OpenServer&action=edit&redlink=1http://fr.wikipedia.org/w/index.php?title=UnixWare&action=edit&redlink=1http://fr.wikipedia.org/wiki/Tru64http://fr.wikipedia.org/wiki/Microsoft_Windowshttp://fr.wikipedia.org/wiki/Langages_de_programmationhttp://fr.wikipedia.org/wiki/C_(langage)http://fr.wikipedia.org/wiki/C%2B%2Bhttp://fr.wikipedia.org/wiki/C%2B%2Bhttp://fr.wikipedia.org/wiki/VBhttp://fr.wikipedia.org/w/index.php?title=VB_.NET&action=edit&redlink=1http://fr.wikipedia.org/wiki/C_sharphttp://fr.wikipedia.org/wiki/Delphi_(langage)http://fr.wikipedia.org/wiki/Eiffel_(langage)http://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/Perl_(langage)http://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessorhttp://fr.wikipedia.org/wiki/Python_(langage)http://fr.wikipedia.org/wiki/Rubyhttp://fr.wikipedia.org/wiki/Tool_Command_Languagehttp://fr.wikipedia.org/wiki/Application_Programming_Interfacehttp://fr.wikipedia.org/wiki/ODBChttp://fr.wikipedia.org/w/index.php?title=MyODBC&action=edit&redlink=1http://fr.wikipedia.org/wiki/JDOhttp://fr.wikipedia.org/wiki/Sun_Microsystemshttp://fr.wikipedia.org/wiki/Java_(langage)http://fr.wikipedia.org/wiki/LAMPhttp://fr.wikipedia.org/wiki/Linuxhttp://fr.wikipedia.org/wiki/Apache_HTTP_Serverhttp://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessorhttp://fr.wikipedia.org/wiki/WAMPhttp://fr.wikipedia.org/wiki/MAMPhttp://fr.wikipedia.org/wiki/Site_webhttp://fr.wikipedia.org/wiki/MySQL#cite_note-1http://fr.wikipedia.org/wiki/PL/SQLhttp://fr.wikipedia.org/wiki/D%C3%A9clencheur
  • 7/31/2019 memoire site web

    19/26

    Chapitre2 : les outils de dveloppement

    L'intrt d'utiliser les outils du www en remplacement du client serveur 2 ou 3 tiers, a pouss

    certaines banques telles que le Crdit Mutuel, le Crdit Agricole, le LCL, la BDC proposer

    MySQL au catalogue de leurs produits informatiques internes. Cette voie a t ouverte par des

    socits de paiement sur Internet telles que Paybox qui dmontre une capacit de monte encharge transactionnelle.

    8 LE COUPLE PHP et MYSQL :8.1 Connexion :

    Pour se connecter une base depuis un script PHP, il faut spcifier un nom de serveur, un nom

    dutilisateur, un mot de passe et un nom de base.

    Aucune connexion nest possible sans authentification auprs du serveur de base de donnes

    mysql_connect($server,$user,$password) : permet de se connecter au serveur en tant

    quutilisateur avec le mot de passe, retourne lidentifiant de connexion si succs,

    FALSE sinon.

    mysql_select_db($base[,$id]) : permet de choisir la base $base, peut prendre un

    identifiant $id de connexion ; retourne TRUE en cas de succs, sinon FALSE.

    mysql_close([$id]) : permet de fermer la connexion un serveur de bases de donnes

    8.2 Interrogation :Pour envoyer une requte une base de donne, il existe la fonction :

    mysql_query($str) :qui prend pour paramtre une chane de caractres qui contient la

    requte crite en SQL et retourne un identificateur de rsultat ou FALSE si chec.

    Exemple :

    $result = mysql_query(SELECT tlphone FROM Personnes WHERE

    nom=\$name\);

    Extraction des donnes

    8.3 Extraction des donnes :

    tableau :

    mysql_fetch_row($result) : retourne une ligne de rsultat (un tuple) sous la

    forme dun tableau. Les lments du tableau tant les valeurs des attributs de la

    ligne. Retourne FALSE sil ny a plus aucune ligne.

    Associatif :

    17

  • 7/31/2019 memoire site web

    20/26

    Chapitre2 : les outils de dveloppement

    mysql_fetch_array($result) et mysql_fetch_assoc($result) : retournent un

    tableau associatif. Les cls tant les noms des attributs et leurs valeurs associes

    leurs valeurs respectives. Retourne FALSE sil ny a plus aucune ligne.

    Objet :mysql_fetch_object($result) : retourne un objet. Les attributs de lobjet

    correspondent ceux de la ligne de rsultat. Et les valeurs des attributs de lobjet

    correspondent ceux de la ligne de rsultat. Retourne FALSE sil ny plus

    aucune ligne.

    8.4 Fonctions sur le serveur :

    mysql_create_db($base [, $id]) : cration de la base $base.

    mysql_db_name($result, $row [, $field]) : Lit les noms des bases de donnes. $result

    est lidentifiant de rsultat issu de mysql_list_dbs(). $row est l'index dans le rsultat.

    Retourne FALSE si chec.

    mysql_db_query($base, $query [, $id]) : excution de la requte $query sur la base

    $base. Retourne un identifiant de rsultat si succs ou FALSE si chec.

    mysql_query($query [, $id]) : excution de la requte sur la base ouverte.Retourne un

    identifiant de rsultat si succs ou FALSE si chec.

    mysql_drop_db($base [, $id]) : supprime la base de donnes $base. Retourne TRUE si

    succs ou FASE si chec.

    mysql_select_db($base [, $id]) : slectionne la base de donnes $base sur le serveur sur

    lequel on est connect et dont $id est lidentifiant de connexion. Retourne TRUE si

    succs ou FASE si chec.

    II.3.e) Gestion des erreursIl est recommand de tester systmatiquement les valeurs retournes par les fonctions de

    traitement sur une base de donnes afin dviter la pollution de la page web par des Warning.

    mysql_errno([$id]) : retourne le numro derreur de la dernire opration MySQL

    effectue sur la connexion courante ou celle didentifiant $id.

    mysql_error([$id]) : retourne le message derreur de la dernire opration MySQL

    effectue sur la connexion courante ou celle didentifiant $id.

    II.3.f) Fonctions additionnelles :

    18

  • 7/31/2019 memoire site web

    21/26

    Chapitre2 : les outils de dveloppement

    Quelques fonctions supplmentaires trs utiles :

    mysql_free_result($result) : efface de la mmoire du serveur les lignes de rsultat de la

    requte identifies par$requet. Trs utile pour amliorer les performances du serveur.

    A nutiliser que si votre script utilise vraiment beaucoup de mmoire.

    mysql_insert_id([$id]) : retourne lidentifiant dun attribut cl primaire

    AUTO_INCREMENT de la dernire insertion.

    mysql_data_seek($result, $row) : Permet de prpositionner le pointeur interne de

    rsultat $result la ligne $row. Le prochain appel une fonction dextraction de tuple

    du rsultat ira directement cette ligne. Retourne TRUE si succs et FALSE sinon.

    8.5 Manipulation de rpertoires : chdir() : changement de rpertoire courant.

    opendir()/closedir()/mkdir()/rmdir() : ouverture, fermeture, cration,

    suppression d'un rpertoire

    readdir() : lit l'entre suivante dans le rpertoire

    rewinddir() : repositionnement au dbut du rpertoire

    dir() : instanciation d'un objet rpertoire pour une manipulation objet de celui-ci.

    9 Adobe Dreamweaver :Adobe Dreamweaver (anciennement Macromedia Dreamweaver) est un diteur de site web

    de type tel crit tel cran (cette formule remplaant dsormais dans la terminologie

    informatique le sigle anglophoneWYSIWYG (What You See Is What You Get: ce que vous

    voyez est ce que vous obtenez).

    Dreamweaver fut l'un des premiers diteurs HTMLde type tel crit tel cran, mais galement

    l'un des premiers intgrer un gestionnaire de site (CyberStudio GoLive tant le premier). Cesinnovations le propulsrent rapidement comme l'un des principaux diteurs de site web, aussi

    bien utilisable par le nophyte que par le professionnel.

    Dreamweaver offre deux modes de conception par son menu affichage.

    L'utilisateur peut choisir entre un mode cration permettant d'effectuer la mise en page

    directement l'aide d'outils simples, comparables un logiciel de traitement de texte (insertion

    de tableau, d'image, etc.). Il est galement possible d'afficher et d'diter directement le code

    (HTML ou autre) qui compose la page. On peut passer trs facilement d'un mode d'affichage

    19

    http://fr.wikipedia.org/w/index.php?title=%C3%89diteur_de_site_web&action=edit&redlink=1http://fr.wikipedia.org/wiki/WYSIWYGhttp://fr.wikipedia.org/wiki/WYSIWYGhttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/GoLivehttp://fr.wikipedia.org/wiki/Webhttp://fr.wikipedia.org/w/index.php?title=%C3%89diteur_de_site_web&action=edit&redlink=1http://fr.wikipedia.org/wiki/WYSIWYGhttp://fr.wikipedia.org/wiki/Hypertext_Markup_Languagehttp://fr.wikipedia.org/wiki/GoLivehttp://fr.wikipedia.org/wiki/Web
  • 7/31/2019 memoire site web

    22/26

    Chapitre2 : les outils de dveloppement

    l'autre ou opter pour un affichage mixte. Cette dernire option est particulirement intressante

    pour les dbutants, qui terme, souhaitent se familiariser avec le langage HTML.

    Dreamweaver a volu avec les technologies de l'internet.

    Il offre aujourd'hui la possibilit de concevoir des feuilles de style (modle de cration). Les

    liaisons avec des bases de donnes ont galement t amliores ainsi que le chargement des

    fichiers sur les serveurs d'hbergement. Il propose en outre l'utilisation de modles imbriqus de

    pages web, selon un format propritaire.

    Depuis la version MX, il peut tre utilis avec des langages web dynamiques (ASP, PHP)

    l'aide d'outils relativement simples d'utilisation. Il permet ainsi de dvelopper des applications

    dynamiques sans connaissance pralable des langages de programmation.

    Dreamweaver est dit par la socitAdobe Systems et fait partie de la suite de dveloppement

    Studio 8 de l'diteur, qui comprend Macromedia Flash, Macromedia Fireworks (dition

    graphique) et Macromedia Coldfusion (serveur). Macromedia, qui ditait Dreamweaver

    auparavant, a t achet par Adobe en dcembre 2005.

    10 Conclusion :Ces outils sont bien adapts dans le cas de projets de sites avec des architectures

    sophistiqu. Cest galement une solution gratuite qui ne ncessite pas les connaissances

    trs avances dun programmeur expriment ce qui est par consquent trs bien adapt

    pour des projets de taille limite.

    20

    http://fr.wikipedia.org/wiki/Serveur_informatiquehttp://fr.wikipedia.org/wiki/Active_server_pageshttp://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessorhttp://fr.wikipedia.org/wiki/Adobe_Systemshttp://fr.wikipedia.org/wiki/Adobe_Systemshttp://fr.wikipedia.org/wiki/Macromedia_Flashhttp://fr.wikipedia.org/wiki/Macromedia_Fireworkshttp://fr.wikipedia.org/wiki/Macromedia_Fireworkshttp://fr.wikipedia.org/w/index.php?title=Macromedia_Coldfusion&action=edit&redlink=1http://fr.wikipedia.org/w/index.php?title=Macromedia_Coldfusion&action=edit&redlink=1http://fr.wikipedia.org/wiki/Serveur_informatiquehttp://fr.wikipedia.org/wiki/Active_server_pageshttp://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessorhttp://fr.wikipedia.org/wiki/Adobe_Systemshttp://fr.wikipedia.org/wiki/Macromedia_Flashhttp://fr.wikipedia.org/wiki/Macromedia_Fireworkshttp://fr.wikipedia.org/w/index.php?title=Macromedia_Coldfusion&action=edit&redlink=1
  • 7/31/2019 memoire site web

    23/26

    Chapitre 3

    Conception et ralisation

  • 7/31/2019 memoire site web

    24/26

    Chapitre 3 : conception et ralisation

    22

  • 7/31/2019 memoire site web

    25/26

  • 7/31/2019 memoire site web

    26/26

    Conclusion