Vous êtes sur la page 1sur 2

WeBDev PHP Crationetdploiementd'unsitePHP

dpenddelaversionfournieparl'hbergeur. Une base de donnes MySQL et si ncessaire la coucheclienteMySQL.DemmequepourPHP,ilest conseill d'utiliser la mme version de MySQL que cellefournieavecl'hbergement.

Configuration du projet
Pour spcifier quun site WebDev est un site PHP, il suffit de l'indiquer dans lassistant de cration de projet.Nousvousconseillonsd'indiquerleplustt possible la nature du projet afin de permettre au compilateur d'indiquer les ventuelles indisponibilits d'unchampoud'unefonctionenPHP.

Configuration de l'analyse
Lors de la ralisation d'un site PHP l'diteur d'analyses , proposeuneconnexionspcifique"AccsNatifPHP MySQL"quiestlaconnexionentrelesitePHPetla baseMySQL.

WebDev permet de gnrer des sites dynamiques PHP avec ou sans session accdant une base MySQL. Il est alors possible de raliser un site PHP et de l'hberger sur un site mutualis "classique" moindre cot (par exemple OVH ou mme un hbergement personnel chez Free).

Pourbnficierdumodetest"ensimulation"etainsi disposerdudbogueurdeWebDev,ilestgalement ncessaired'installerl'accsnatifMySQLpourWebDev.Cetaccs natifpermetaumoteurWebDevd'accderlabasededonnes MySQL.Cettesecondeconnexionpeuttredcritedepuisl'analyse ouparprogrammation. Note :Avec WebDev 14 et laccs natifAS/400, il est possible d'accderdirectementdesbasesAS/400depuisdessitesPHP. Grce ces accs natifs, la manipulation de la base de donnes (MySQL ouAS/400) s'effectue par les fonctions Hxxx : HLitRecherche, HAjoute,etc. Danslesautrescas(basestiercesouHyperFileSQL),l'accsauxbases dedonnesdepuisPHPs'effectuegrceauxfonctionsSQLxxx.

mise en uvre
Pour illustrer le dveloppement et le dploiement d'un site WebDev PHP ,cetarticleutiliseleprojet"Extranet_Precilia".Lesparamtres deconnexionlabasededonnesdoiventtrerenseignsdans le"coded'initialisationdesessionPHP".

Configuration du poste de dveloppement


Lors d'un dveloppement de site PHP, il est ncessaire d'installer quelques modules spcifiques sur le poste de dveloppement : Unserveurweb:ApacheouIISparexemple.Normalement,un dveloppeurWebDevdisposedjcetypedelogiciel.Enrevanche, lorsdelaralisationd'unsitePHP ,ilpeuttreintressantd'utiliser unserveurWebsensiblelacasse(unhbergementmutualis souslinuxserasensiblelacasse). UnmoteurPHPenversion4ou5.LaversionminimalesupporteparWebDevestlaversion4.3.2.LaversiondePHPutiliser

Le projet exemple
La cration des pages se fait de faon classique, comme avec un projet WebDev classique. Le projet "Extranet_Precilia" est constitu de : Unmodledepageprincipalecorrespondantlachartegraphique du site : PAGEMOD_IHM. Unmodledepagecorrespondantlagestiondelapopupde dtail d'un produit : PAGEMOD_POPUP.Cettepopupestgre parprogrammationAjax. Unmodledechamp correspondantla gestiondupanier: MDLC_ModelePanier.Lepanieresticiaffichsouslaformed'une zonerpteAjax.

78 - TDF TECH 2009 - www.pcsoft.fr

Ensuite,lesdiffrentespagessontdespages"PHP"aveccontexte. CelasignifiequelesvariablesetlespositionsdanslabasededonnessontautomatiquementgresparWebDev,cequisimplifie laprogrammation.

Lorsdupremierlancement,ilsuffitd'indiquerlesparamtresFTP fournisparl'hbergeur: l'adresseduserveurFTP(etventuellementleport), lenomd'utilisateuretlemotdepasse, lenomderpertoirecorrespondantausitevisible(parexemple "www"chezOVH).

Connexion la base de donnes


Laconnexionlabasededonnespeuttredcrite: soitdansl'analyse, soitparprogrammationgrceauxfonctionshDcritConnexion et hChangeConnexionduWLangage. DanslamajoritdeshbergementsPHP(horsserveurddi),la base de donnes MySQL n'est accessible que depuis le site et non depuisInternet.Ilestdoncncessairededisposerd'unebasede donnes"locale"etd'uneconnexionspcifiqueverscettebasede donneslocalelorsdumodetest. Note:pourremplirlabasededonneslocaleaveclesmmes donnesquelabaseenproduction,ilestgnralementpossible de rcuprer le contenu de la base MySQL de production par PhpMyAdmin. // Dfinition de la connexion SI EnModeTest() ALORS // Connexion en mode test HDcritConnexion("MaConnexion", UTILISATEUR_BASE_TEST, MOTDEPASSE_BASE_TEST, SERVEUR_BASE_TEST, BASE_DONNEES, hAccsNatifMySQL) SINON // Connexion sur le serveur de production HDcritConnexion("MaConnexion", UTILISATEUR_DISTANT, MOTDEPASSE_DISTANT, SERVEUR_DISTANT, BASE_DONNEES, hAccsNatifMySQL) FIN // Changement de la connexion HChangeConnexion("*","MaConnexion")

Ensuite,ledploiements'effectueendeuxtapes: unephasedeprparationo"WDDploie"analyselerpertoire localdusiteetlecompareausitedploy.Alafindecettephase, l'outil"WDDploie"afficheaudveloppeurleslmentsdployer pourmettrejourlesite. unephasededploiementpendantlequel"WDDploie"ralise letransferteffectifdesfichierssurl'hbergement. Note:LapremirepagedusitechezOVH,oummesurunhbergementpersonnelcommeFree,doitobligatoirement sappeler "index.html"ou"index.php". WebDev cre automatiquement ces pages partir de la page daccueildfiniedansleprojet.

// Ouverture et/ou cration de la base

HCrationSiInexistant("*")

LafonctionWLangageHCrationSiInexistant crera les fichiers danslabasededonness'ilsnexistentpasdj.

Dployer un site PHP


Une fois le site cr et test, ltape suivante est le dploiement dusitechezunhbergeur. Ledploiementpeuts'effectuerdedeuxmanires: manuellementl'aided'unclientFTP(FileZillaparexemple). automatiquementgrcel'outil"WDDploie"livrenstandard avecWebDev. L'avantagedecettesecondesolution,c'estquel'outil"WDDploie" "connait"l'architecturedusiteetpeutdoncaiderlorsdesamise jouren: vrifiantlesfichiersmodifis. filtrantlesprojetsparlangue.

TDF TECH 2009 - www.pcsoft.fr - 79

WebDev