18
´ Ecole Polytechnique de l’Universit´ e de Tours 64, Avenue Jean Portalis 37200 TOURS, FRANCE el. (33)2-47-36-14-14 Fax (33)2-47-36-14-22 www.polytech.univ-tours.fr Projet de Syst` eme d’Exploitation Rapport de projet Analyse et Mise en place de fvpat Webdev Server Auteur : Encadrant : Jonathan Courtois [email protected] Florent Renault [email protected] Mickael Rousseau [email protected] Universit´ e Fran¸ cois Rabelais, Tours Version du 21 juin 2007

Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

Ecole Polytechnique de l’Universite de Tours

64, Avenue Jean Portalis37200 TOURS, FRANCE

Tel. (33)2-47-36-14-14Fax (33)2-47-36-14-22

www.polytech.univ-tours.fr

Projet de Systeme d’Exploitation

Rapport de projet

Analyse et Mise en place de fvpatWebdev Server

Auteur : Encadrant :Jonathan [email protected] [email protected]

Mickael [email protected]

Universite Francois Rabelais, Tours

Version du 21 juin 2007

Page 2: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

Table des matieres

Introduction 1

1 Definitions 2

2 Cahier des charges 4

3 Analyse et mise en place de fvpat Webdev Server 53.1 Analyse de fvpat Webdev Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Mise en place de fvpat Webdev server . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2.1 Telechargement de fvpatwds . . . . . . . . . . . . . . . . . . . . . . . . . 53.2.2 Installation de fvpatwds . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2.3 Presentation du Control Panel . . . . . . . . . . . . . . . . . . . . . . . . 63.2.4 Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Ajout de PostgreSQL a fvpatwds 84.1 Presentation de PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.1.2 Caracteristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.1.3 Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.1.4 Fiabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.1.5 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.2 Integration de PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2.1 Recuperation des fichiers de PostgreSQL . . . . . . . . . . . . . . . . . . 104.2.2 Mise en place des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2.3 Modification de l’interface et du code . . . . . . . . . . . . . . . . . . . . 114.2.4 Connexion a PostgreSQL avec phppgadmin . . . . . . . . . . . . . . . . . 134.2.5 Ajout d’une section d’aide . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Conclusion 15

Annexes 15

ii

Page 3: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

Introduction

Programme par l’informaticien francais Frank Thibault, fvpat Webdev Server (fvpatwds)est un serveur de developpement web sur cle USB. Concu a l’origine pour un usage personnel,developpement itinerant (bureau, domicile, ...), fvpatwds a evolue afin d’offrir une ”plateforme”Apache, PHP, MySQL, ... aux developpeurs itinerants. Ainsi, plus besoin d’avoir son ordinateurportable toujours avec soit. Une simple cle USB (256 Mo) suffit. Vous branchez votre cle etretrouvez votre environnement tel que vous l’aviez laisse. Dans un premier temps, nous feronsune analyse de fvpatws et detaillerons une installation classique de cette application. Puis dansun second temps, nous etudierons le code source de fvpatws pour integrer le SGBD (Systemede gestion de base de donnees) PostgreSQL.

1

Page 4: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

CHAPITRE 1

Definitions

Apache

Le logiciel Apache HTTP Server, souvent appele Apache, est un serveur HTTP apparu enavril 1995 produit par la Apache Software Foundation. C’est le serveur HTTP le plus populairedu Web. C’est un logiciel libre qui fonctionne principalement sur les systemes d’exploitationUnix (GNU/Linux, BSD et UNIX) et Windows. Il est concu pour supporter de nombreuxmodules lui donnant des fonctionnalites supplementaires : interpretation du langage PHP, Perl,Python et bien d’autres.

PHP

PHP (Hypertext Preprocessor), est un langage de scripts libre principalement utilise pouretre execute par un serveur HTTP. Ce langage a ete cree en 1994 par Rasmus Lerdorf. Il s’agitd’un langage procedural disposant en version 5 de fonctionnalites de modele objet completes.En raison de la richesse de sa bibliotheque, on designe parfois PHP comme une plate-formeplus qu’un simple langage. Le langage PHP est principalement un langage de programmationweb cote serveur ce qui veut dire que c’est le serveur (la machine qui heberge le site web enquestion) qui va interpreter le code PHP et generer du code qui pourra etre interprete par unlogiciel. Le plus souvent, le code genere est le HTML afin d’etre lu par un navigateur mais ilpeut etre utilise pour d’autres langages ou formats tels que WML, GIF, PDF, SVG, etc.

MySQL

MySQL est un serveur de bases de donnees relationnelles SQL developpe dans un souci deperformances elevees. Il est multi-thread, multi-utilisateurs. C’est un logiciel libre developpesous double licence en fonction de l’utilisation qui en est faite : dans un produit libre (open-source) ou dans un produit proprietaire. Dans ce dernier cas, la licence est payante, sinon elleest libre. Le couple PHP/MySQL est tres utilise sur Internet et propose par la majorite deshebergeurs.

phpMyAdmin

phpMyAdmin est une interface conviviale gratuite realisee en langage PHP pour le SGBDMySQL afin de faciliter la gestion des bases de donnees MySQL sur un serveur, et est distribuesous licence GNU GPL. Il s’agit de l’une des plus celebres interfaces pour gerer une base dedonnees MySQL sur un serveur PHP. De nombreux hebergeurs, qu’ils soient gratuits ou payants,le proposent ce qui permet a l’utilisateur de ne pas avoir a l’installer.

2

Page 5: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 1. Definitions3

FileZilla

Le logiciel libre FileZilla est un client FTP, FTPS et SFTP ; developpe sous la licence pu-blique generale GNU. Il existe egalement un serveur FTP du nom de FileZilla Server. La branche2 de Filezilla ne tourne que sous Microsoft Windows. Filezilla 3, en cours de developpement, sevoudra etre un logiciel multi-plateforme.

SQLite

SQLite est une petite bibliotheque ecrite en C qui propose un moteur de base de donnees SQLet implementant en grande partie le standard SQL92 et les Proprietes ACID. Contrairementaux serveurs de bases de donnees comme MySQL ou PostgreSQL, sa particularite est de ne pasreproduire le schema habituel client-serveur mais d’etre integre directement aux programmesen utilisant des fichiers de bases de donnees. D. Richard Hipp, le createur de SQLite, a choiside distribuer cette bibliotheque dans le domaine public.

SQLiteManager

SQLiteManager est un outil d’administration, multilingue, de base de donnees SQLite basesur une technologie WEB. Le language de programmation utilise est : PHP4, et fonctionne tresbien sous PHP5. Fonctionne aussi bien sur une platforme Linux que sur Windows ou memeMac OSX. Ce projet est en cours de developpement, mais il est deja tres fonctionnel.

SciTE

SciTE (Scintilla Text Editor) est un editeur de texte graphique, gratuit et open sourcefonctionnant sous les environnements Linux et Windows. Scintilla est une plateforme d’editionde texte qui propose par exemple des outils specifiques pour corriger du code ecrit avec SciTE.Ces deux logiciels sont principalement l’oeuvre de leur createur Neil Hodgson, qui les a placessous une licence libre. Il convient bien aux langages tels que Perl, C#, Java, Python, HTML,Ruby, et PHP qui nous interesse particulierement.

PostgreSQL

PostgreSQL est un systeme de gestion de base de donnees relationnelle et objet (SGBDRO).C’est un outil libre disponible selon les termes d’une licence de type BSD. PostgreSQL est unprojet libre qui n’est pas controle par une seule entreprise, mais est fonde sur une communautemondiale de developpeurs et d’entreprises. PostgreSQL fonctionne sur diverses plates-formesmaterielles et sous differents systemes d’exploitation.

Page 6: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

CHAPITRE 2

Cahier des charges

fvpat Webdev Server est un environnement de developpement Web ”complet”, en francaiset en anglais, sur cle USB fonctionnant sous Windows. C’est peut-etre LA solution pour lesprogrammeurs ”itinerants” (au bureau, a la maison, ..., toujours le meme environnement).Toutd’abord, nous effectuerons une analyse du logiciel et de son fonctionnement (points forts, pointsfaibles, ...) dans la version actuellement disponible. Puis nous detaillerons une installation clas-sique de fvpatwds comprenant la mise en place du serveur web HTTP (Apache), du couplePHP/MySQL, mais aussi d’un client ftp (FileZilla) et des autres programmes fournis avec.Pour terminer ce projet, nous etudierons le code source (libre de droit) de fvpat Webdev Serverqui est actuellement programme en FreePascal sous Lazarus pour y integrer le SGBD Post-greSQL dont nous aurons fait une etude prealable.

Nous travaillerons sur fvpatwds dans sa version 0.1.7 comprenant :

• Apache HTTP Server v2.0.58• MySQL v5.0.26 Community• SQLite v2.8.17• PHP v5.1.6• phpMyAdmin v2.9.0.2• SQLiteManager v1.2.0• SciTE 1.71• FileZilla v2.2.28

4

Page 7: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

CHAPITRE 3

Analyse et mise en place de fvpat WebdevServer

3.1 Analyse de fvpat Webdev Server

fvpat Webdev Server (fvpatwds) est un serveur de developpement web complet sur cle USB.Un version integrale d’Apache permet de profiter du plus utilise des serveurs web actuellementsur le marche. Seulement quelques langues on ete supprime dans Apache pour plus de souplesse.La version 5 de PHP permet de tester son site sur une plateforme a la pointe du progres (pourles serveurs encore en PHP v4). Le fichier php.ini permet de configurer entierement le serveurweb. Fvpatwds comporte egalement MySQL et son interface phpMyAdmin pour profite d’unebase de donnee tres utilise. Il contient egalement un editeur de texte pour nos fichiers php ainsiqu’un logiciel ftp ce qui permet de publier sur Internet notre site teste en local une fois celui-latermine. Nous travaillons actuellement en collaboration avec le developpeur de fvpatwds surla prochaine version 0.1.8. Nous nous occupons principalement de l’integration de PostgreSQLqui est le but de notre projet. Cependant nous aidons a d’autres taches dans la conception dece logiciel commme la creation d’un nouveau logo ou encore l’ajout de langue. De nombreusesoptions supplementaires seront presentes dans le panneau de control de fvpat, comme le choixdu port d’ecoute de Apache (par defaut 80) ou encore des options pour php et MySQL.

3.2 Mise en place de fvpat Webdev server

3.2.1 Telechargement de fvpatwds

Les dernieres versions de fvpatwds sont telechargeables sur internet a l’adresse suivant :

http://fvpatwds.tuxfamily.org/spip.php?article9

Vous obtenez l’archive zip suivante (nous travaillons actuellement avec la version 0.1.7)

3.2.2 Installation de fvpatwds

Dezippez l’archive sur votre clef USB ou dans un repertoire de votre disque dur, l’installa-tion est deja terminee, il ne reste plus qu’a lancer l’application.

5

Page 8: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 3. Analyse et mise en place de fvpat Webdev Server

3.2 Mise en place de fvpat Webdev server 6

3.2.3 Presentation du Control Panel

Vous obtenez alors le ”fvpat Webdev Server Control Panel” represente ci-dessous dont nousallons decrire les differentes options :

1. Apache Server (Serveur Apache) : Bouton de demarrage et d’arret du serveur web Apache.La barre de couleur rouge passe a l’orange pendant le demarrage du serveur et devientverte une fois le serveur lance et operationel. Un texte concernant le lancement et l’arretdu serveur apparait dans la boite de dialogue (3) situee en dessous.

2. MySQL Server (Serveur Apache) : Bouton de demarrage et d’arret du serveur de base dedonnees MySQL. De la meme facon, la barre de couleur change en fonction de l’etat duserveur et un texte apparait dans la meme boite de dialogue (3).

3. Boite de dialogue : Dans cette boite de dialogue apparaissent les informations relativesau lancement et a l’arret des differents serveurs.

Page 9: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 3. Analyse et mise en place de fvpat Webdev Server

3.2 Mise en place de fvpat Webdev server 7

4. Tools (Outils) : Ensemble de boutons permettant de lancer les differents outils inclutsdans fvpat Webdev Server.

• Scite : Editeur de texte pour votre code PHP.• phpMyAdmin : Interface de gestion des bases de donnees MySQL (grise tant que le

serveur MySQL n’est pas demarre).• FileZilla : Client FTP pour publier vos pages sur votre serveur.• SQLiteManager : Outil d’administration des base de donnees SQLite (grise tant que le

serveur Apache n’est pas demarre).• Manuals : Page web regroupant les manuels de PHP et MySQL (grise tant que le ser-

veur Apache n’est pas demarre).

5. Options : Choix de la langue (anglais ou francais) et du demarage minimise (ou non) del’application. Un boutton permet d’enregistrer votre choix pour les prochaines utilisationsde fvpat Webdev Server.

6. Ensemble de boutons dont nous allons detailler l’utilisation :

• About (A propos) : Fenetre de presentation du logiciel (nom, version, site internet,forum, licence).

• localhost : Racine du serveur des pages webs. il permet de voir le site Internet qui setrouve dans le repertoire www.

• Home (Accueil) : Page internet regroupant les manuels, les adresses internet liees aulogiciel et la page phpinfo.

• Hide (Masquer) : Permet de masquer le logiciel dans la barre des taches (a cote del’horloge).

• Quit (Quitter) : Arrete l’ensemble des serveurs et ferme le control panel de fvpat Web-dev Server.

3.2.4 Divers

Un site dedie au projet fvpatwds a ete mis en ligne sur les serveurs de Tux Family qui estun hebergeur de projets libres.Le site est disponible en francais (langue d’origine du programmeur) et bien sur en Anglais.L’aide et la documentation ne sont pas encore presentes, mais vous y trouverez un lien vers leforum, sur lequel vous pourrez discuter avec le createur de fvpatwds.

Page 10: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

CHAPITRE 4

Ajout de PostgreSQL a fvpatwds

4.1 Presentation de PostgreSQL

4.1.1 Historique

PostgreSQL est une amelioration du systeme de gestion de base de donnees POSTGRES. Ilse base sur le modele et les types de donnees de POSTGRES et remplace le langage de requete”PostQuel”.

La version 1.01 de PostgreSQL a ete developpee par Andrew Yu et Jolly Chen. On attribuecommunement la paternite a ces deux personnes mais beaucoup d’autres personnes ont tra-vaille sur le projet. En effet, le code initial de Postgre a ete realise a l’Universite de Californiea Berkeley ou de nombreux etudiants et informaticiens ont offert leur contribution.

La premiere appelation donnee a l’Universite de Berkeley etait Postgre. Suite a l’ajout dela fonctionnalite SQL en 1995, ce nom a etait modifie pour Postgre95. Enfin, en 1996, il estdevenu PostgreSQL (prononcer post-grece-Q-L).

4.1.2 Caracteristiques

Comme la plupart des SGBD, PostgreSQL gere les fonctionnalites fondamentales telles queles selections, les sous-selections, les vues, les triggers, les cles etrangeres etc... De plus, dansPostgreSQL, l’utilsateur peut creer des types, des fonctions et utiliser des notions d’heritageentre ces types.PostgreSQL a l’avantage de fonctionner sur un grand nombre de plateformes : celles basees surUnix, mais aussi MacOS et Windows depuis la version 8.0 de PostgreSQL (il etait neanmoinspossible de l’emuler apparavament avec un emulateur de type Cygwin).

8

Page 11: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 4. Ajout de PostgreSQL a fvpatwds

4.1 Presentation de PostgreSQL 9

4.1.3 Performances

PostgreSQL possede deux modes de fonctionnement :

• Le mode fsync (par default), ou chaque transaction realisee est enregistree sur le disque.Ce mode ralenti PostgreSQL mais assure l’integrite des donnees en cas de disfonctione-ment de l’OS ou de la machine.

• Le mode no-fsync ameliore les performances (PostgreSQL est alors plus rapide que lamajorite des bases de donnees commerciales). Evidemment ce mode ne garantit pas queles donnees seront conservees en cas de panne.

Sur les operations d’insertions et de mises a jour, PostgreSQL est plus lent que les autresbases de donnees comme MySQL. En effet PostgreSQL a a la base ete developpe pour les fonc-tionnalites et la flexibilite et non pour les performances. Neanmoins l’equipe de developpementessaye d’ameliorer ce dernier point.

4.1.4 Fiabilite

Les developpeurs ont conscience qu’un SGBD qui n’est pas fiable n’a aucune valeur. C’estpourquoi un grand soin est apporte au debugage et aux tests. Chaque nouvelle version dePostgreSQL passe par un mois de beta-test minimum.

4.1.5 Support

PostgreSQL est un SGBD Open-Source, et comme la plupart des produits Open-Source ila l’avantage de posseder une communaute importante et competante apte a aider les utilisa-teurs de PostgreSQL. Cela n’a rien a voir avec le support que peuvent apporter les produitscommerciaux, mais la consultation des forums ou des sites specialises permet de resoudre lesproblemes rencontres. Le site majeur regroupant la communaute francaise de PostgreSQL estwww.postgresqlfr.org .

Page 12: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 4. Ajout de PostgreSQL a fvpatwds

4.2 Integration de PostgreSQL 10

4.2 Integration de PostgreSQL

4.2.1 Recuperation des fichiers de PostgreSQL

L’integration de PostgreSQL s’est deroulee en plusieurs etapes, dont la premiere etape aete le telechargement des fichiers PostgreSQL. Nous avons ete sur le site Internet officiel dePostgreSQL http ://www.postgresql.org/ pour recuperer les dernieres versions stables (actuel-lement la 8.2.4). Plusieurs versions sont disponibles, les sources, l’installateur, et les fichiersbinaires. Comme notre application ne possede pas d’installation, mais juste des fichiers dansune archive zip, nous avons opte pour les fichiers binaires. Cependant nous avons egalementtelecharge l’installateur sous windows afin d’observer les differentes etapes du processus d’ins-tallation.

Une fois les fichiers recuperes, nous avons du choisir entre les 2 interfaces de gestion proposeespour PostgreSQL : pgAdmin III et phppgAdmin. Pour un soucis de place et de continuite dansl’esprit de l’application initiale (fvpatwds) nous avons choisi de travailler avec phppgadmin quenous avons donc telecharge.

4.2.2 Mise en place des fichiers

Dans un second temps, nous avons integre les fichiers dans les repertoires binaires existantsde fvpat en respectant l’arborscence deja presente. A partir de la il a fallut modifier un certainnombre de fichiers pour faire marcher postgreSQL et phppgadmin avec le serveur Apache dejamis en place.

Modification du fichier php.ini (PHP)

• Activation de l’extension postgreSQL en supprimant le ; (commentaire) devant la ligneextension=php pgsql.dll

• Ajout de la localisation des fichiers binaires postgreSQL safe mode exec dir = FVPATWD-SROOTserver/postgresql/bin

• Ajout du prefixe PG dans la ligne safe mode allowed env vars = PHP ,PG

Modification du fichier httpd.conf (Apache)

Ajout d’un alias pour pouvoir acceder a l’interface de phppgadmin a partir de l’adressehttp ://localhost/phppgadmin

Alias /phppgadmin "{FVPATWDSROOT}server/phppgadmin/"

<Directory "{FVPATWDSROOT}server/phppgadmin/">

Options Indexes FollowSymLinks MultiViews

AllowOverride all

Order Deny,Allow

Deny from all

Allow from 127.0.0.1

</Directory>

Page 13: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 4. Ajout de PostgreSQL a fvpatwds

4.2 Integration de PostgreSQL 11

Modification du fichier config.inc.php (phppgadmin)

$conf[’servers’][0][’desc’] = ’PostgreSQL’;

$conf[’servers’][0][’host’] = ’localhost’;

$conf[’servers’][0][’port’] = 5432;

$conf[’servers’][0][’sslmode’] = ’allow’;

$conf[’servers’][0][’defaultdb’] = ’postgres’;

$conf[’servers’][0][’pg_dump_path’] = ’’;

$conf[’servers’][0][’pg_dumpall_path’] = ’’;

$conf[’servers’][0][’slony_support’] = false;

$conf[’servers’][0][’slony_sql’] = ’’;

$conf[’default_lang’] = ’french’;

$conf[’autocomplete’] = ’default on’;

$conf[’extra_login_security’] = true;

...

4.2.3 Modification de l’interface et du code

Une fois les fichiers mis en place, il faut maintenant modifier l’interface pour pouvoir lanceret arreter postgreSQL, ainsi que lancer l’interface phppgadmin. Dans un second temps nousavons ajoute les fichiers d’aide de postgreSQL dans l’accueil deja mis en place dans fvpatwds.L’interface de programmation utilisee par fvpat est Lazarus. Il s’agit d’un projet OpenSourcede developpement en FreePascal, ce qui correspond a peu de choses pres a du Delphi.

L’interface de developpement ressemble a ceci :

Page 14: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 4. Ajout de PostgreSQL a fvpatwds

4.2 Integration de PostgreSQL 12

De nombreuses modifications on ete realise sur le code source du programme fvpat, nousne les detaillerons pas toutes mais regardons ensemble la procedure de lancement du serveurpostgreSQL.

procedure TFrmMain.BtnStartPostgreSQLClick(Sender: TObject);

var

AProcess: TProcess;

Output: TStringList;

begin

if not DetectProcessus(’postgres.exe’) then

begin

MemoServer.Lines.Clear;

MemoServer.Refresh;

LblPostgreSQLServer.Color := $000080FF;

LblPostgreSQLServer.Refresh;

MemoServer.Lines.Add(rsFrmMainMemoServerPostgreSQLStarting);

// Lancement de l’executable

Output := TStringList.Create;

AProcess := TProcess.Create(nil);

AProcess.CommandLine := ’"’ + Parameters.RootDir + ’server\postgresql\bin\pg_ctl.exe" start -D "’ + Parameters.RootDir + ’server/postgresql/data"’;

AProcess.Options := [poWaitOnExit, poUsePipes, poStderrToOutput];

AProcess.ShowWindow := swoHIDE;

AProcess.Execute;

Output.LoadFromStream(AProcess.Output);

AProcess.Free;

MemoServer.Lines.Add(rsFrmMainMemoServerPostgreSQLStarted);

PostgreSQLStatus := ssOn;

LblPostgreSQLServer.Color := clLime;

BtnStopPostgreSQL.Enabled := True;

BtnStartPostgreSQL.Enabled := False;

end else

begin

Output[0] := ’PostreSQL is already running.’;

Output.SaveToFile(Parameters.RootDir + ’output.txt’);

MemoServer.Lines.Add(rsFrmMainMemoServerPostgreSQLError);

MemoServer.Lines.Add(rsFrmMainMemoServerPostgreSQLStopped);

LblPostgreSQLServer.Color := clRed;

end;

CheckButtons;

end;

On gere tout dabord la barre de couleur pour la faire passer de rouge a orange, puis a verteune fois le processus lance. Ensuite on gere egalement l’ecriture de l’etat du serveur dans lechamp texte juste en dessous. Et pour terminer on lance le serveur a l’aide de la commandesuivante :

Page 15: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 4. Ajout de PostgreSQL a fvpatwds

4.2 Integration de PostgreSQL 13

AProcess.CommandLine := ’"’ + Parameters.RootDir + ’server\postgresql\bin\pg_ctl.exe"

start -D "’ + Parameters.RootDir + ’server/postgresql/data"’;

Parameters.RootDir correspond au repertoire de fvpat, pg ctl.exe start est la commande dulancement du serveur postgres.exe et -D ”.../server/postgresql/data” est un parametre obliga-toire qui designe le repertoire de la base de donnees postgreSQL. Ce repertoire contient entreautre les informations de connexions, les comptes utilisateurs, les donnees, etc.

4.2.4 Connexion a PostgreSQL avec phppgadmin

Une fois le processus postgres.exe execute a l’aide du bouton ’start’ (note que le processusest present 4 fois dans le gestionnaire de taches, mais cela correspond a une execution normale),il ne reste plus qu’a lancer phppgadmin pour pouvoir s’y connecter. Lors de la mise en placede phppgadmin, un super utilisateur est cree (postgres), nous lui avons mis le mot de passe :’postgres’. Cependant, il est strictement recommande de ne pas l’utiliser pour se connecter a labase de donnee. Nous avons donc cree un second utilisateur ne possedant pas des pouvoirs desuper-utilisateur. Son login est ’post’ et son mot de passe est ’post’. Il ne vous reste plus qu’avous connecter a la base de donnees de postgreSQL et de crer vos tables, inserer vos entrees,etc.

Page 16: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

- Chapitre 4. Ajout de PostgreSQL a fvpatwds

4.2 Integration de PostgreSQL 14

4.2.5 Ajout d’une section d’aide

Pour finaliser notre application, nous avons ajoute dans la partie accueil (home) de fvpat,l’aide integrale de postgreSQL dans sa version francaise et anglaise. Cela peut etre d’une grandeaide pour l’utilisateur final de notre application.

Page 17: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

Conclusion

Lors de ce projet de systemes d’exploitation, nous avons aborde des sujets tres divers. Tousd’abord il a fallu nous familiariser avec fvpatwds et surtout les outils que ce dernier met a ladisposition des utilisateurs. Dans un second temps, nous avons etudie les sources de fvpatwds.Cela a ete instructif puisque nous avons continue un projet en cours, il a donc fallu comprendreet reutiliser le code d’une tierce personne. C’est une experience enrichissante puisque nous seronsammenes a le faire regulierement dans le metier d’ingenieur. Enfin, nous avons ete confrontesa des problemes lors de l’integration de PostgreSQL et cela nous as oblige a etudier les detailsde son fonctionnement afin de pouvoir l’utiliser dans fvparwds.

15

Page 18: Analyse et Mise en place de fvpat Webdev Serverqui est actuellement programm´e en FreePascal sous Lazarus pour y int´egrer le SGBD Post-greSQL dont nous aurons fait une ´etude pr´ealable

Analyse et Mise en place de fvpatWebdev Server

auteurs : Jonathan Courtois, Florent Renault - Annee : 2006-2007

Resume : Ce projet de systemes d’exploitation concerne l’analyse et la mise enplace de fvpat webdev server. Fvpatwds est un environnement de developpementportable sur cle usb. Il permet de transporter et d’utiliser facilement ses outilsde developpements sans avoir a s’encombrer d’un ordinateur portable ou avoir ainstaller les modules sur chaque machine. Dans un premier temps notre rapporttraite du fonctionnement et de l’installation de fvpatwds. La seconde partie portesur le systeme de gestion de base de donnees PostgreSQL et les methodes qui nousont permit de l’integrer a fvpat webdev server.

Mots cles : fvpat webdev server, fvpatwds, plateforme de developpement, portable,apache, php, sql, postgresql.

Abstract : This porject of exploitation systems is about analysis and set up offvpat webdev server. Fvpatwds id a mobile environement of development on usbkey. It allows to transport and easily use development tools with no need to carrya laptop computer or to have to install modules on every workstation. On the firsthand, our report explain functioning and installation of fvpatwds. The second partconcern the data base administrator system PostgreSQL and the methods used tointegrate it into fvpat webdev server.

Keywords : fvpat webdev server, fvpatwds, Platform of development, mobile, apache,php, sql, postgresql.

Eole Polytechnique de l’Universite de Tours64 Avenue Jean Portalis, 37200 Tours, Francehttp://www.polytech.univ-tours.fr