Revenir à la page de l'exercice 3.

Installation de la base de données pour l'exercice

Paramétrage du logiciel PgAminIII/PgAdmin3

Nous utilisons ce logiciel pour tout ce qui concerne la gestion de la base de données, des sauvegardes, etc.

Démarrer le logiciel pgAdmin3 (à ne pas confondre avec l'application web phpPgAdmin)

Pour les utilisateurs de Windows, il se trouve dans le dossier C:\Bitnami\wappstack-5.5.29-1\postgresql\bin et normalement on peut le lancer depuis le menu des applications

Pour les utilisateurs de MacOS, il faut le télécharger depuis cette page en prenant la version qui correspond à votre système d'exploitation, si possible la plus récente.

Pour tous, une fois pgAdmin3 installé, il faut paramétrer la connexion :

Dans le menu Fichier > Ajouter un serveur

Nom du serveur 'postgresql_9_4'

Hôte: localhost

port TCP : 5432

base maintenance: postgres

nom utilisateur: postgres

Mot de passe: le votre et l'enregistrer

Test de l'extension XML

Une fois connectés, il faut tester si l'extension XML de votre base de données marche (normalement pas de soucis pour Windows, quelques soucis pour MacOS: hélas, il y a un bug dans la distribution Bitnami)

Sélectionner sans l'ouvrir la base par défaut 'postgres' (qu'il ne faut jamais toucher)

Ouvrir une boîte de dialogue SQL avec le bouton 'SQL' en forme de loupe qui se trouve parmi les boutons en haut de la fenêtre (cf. l'illustration ci-dessous)

copiez cette requête:

SELECT (xpath('/my:a/text()', '<my:a xmlns:my="http://example.com">Test réussi !</my:a>',
ARRAY[ARRAY['my', 'http://example.com']]))[1];

et collez-la dans la boîte de dialogue SQL.

Exécutez-la avec le bouton en forme de flêche verte

si l'extension XML est correctement installée, vous aurez ce résultat : “Test réussi !”

Sinon, vous aurez le message d'erreur qui se trouve dans l'illustration. Si c'était le cas, il faut tenter d'abord de désinstaller et réinstaller la distribution Bitnami. Si ça ne marche toujours pas, il faudra installer une autre distribution de PostgreSQL (prière de m'écrire un mail pour me prévenir).

Création d'une nouvelle base de données

Télécharger le fichier qui contient la sauvegarde de la base de données et le code PHP de l'interface. Ce fichier compressé au format ZIP s'appelle 'bd_et_interface_20151005.zip'.

Créer sur votre disque dur, dans le dossier que vous aurez préalablement créé pour ce cours, un dossier appelé BD_TD2015 et un sous-dossier appelé 'sauvegardes'

Déplacer le fichier téléchargé vers le dossier 'BD_TD2015' et le décompresser (dézipper)

sous Windows, le dossier '__MACOSX' n'a aucune importance, vous pouvez le laisser ou supprimer, tout comme les fichiers '.DS_Store' qui sont des avatars du système MacOS sur lesquels ont été produits les fichiers. Sous MacOS il n'y pas à s'en occuper.

A l'intérieur du dossier dézippé, le sous-dossier 'TD2015_20151005' contient le code SQL de la sauvegarde de la base de données. En revanche, le dossier 'TD2015' contient le code PHP de l'interface web (cf. ci-dessous). Le premier dossier sera lu et utilisé par le serveur de bases de données 'postgres' et le deuxième sera lu et utilisé par le serveur web 'Apache'.

Une fois la connexion au serveur de bases de données 'postgres' ouverte en utilisant le client pgAdmin3, et le mot de passé 'avalé', créer une nouvelle base de données appelée 'TD2015'. Dans l'onglet Définition de la boîte de dialogue mettre 'codage' à UTF8, laisser le reste des paramètres par défaut.

Si vous aviez déjà créé une base TD2015, il faut la supprimer et en recréer une vide

Pour supprimer la base TD2015, visualisez-là dans PgAdmin3, faites un click-droit sur la base, puis choisissez 'supprimer'.

ATTENTION : la base de données 'TD2015' est réservée à l'exercice, n'y mettez jamais des données qui vous appartiennent !

Si vous l'aviez déjà fait, créez provisoirement une nouvelle base de données appelée TD2015bis pour l'exercice

Voir ci-dessous les indications pour l'installation d'une base personnelle

Dans PgAdmin3, ouvrez la nouvelle base de données TD2015 (double-click sur la ligne de la base)

Restaurer les sauvegardes SQL qui se trouvent dans le dossier dézippé 'TD2015_20151005', selon ce procédé:

procédez exactement dans cet ordre: restaurer le schéma des objets, puis celui des paramètres, puis celui des vues

ouvrez depuis la base de données TD2015 (sélectionnée, colorée en bleu ou semblable) la boîte de dialogue SQL (la loupe, bouton en haut de la fenêtre)

depuis la boite de dialogue SQL qui vient d'être ouverte, ouvrez (en clicquant sur le bouton 'dossier jaune' en haut de la fenêtre) [voir image: 1], le dossier téléchargé TD2015_20151005' qui contient la sauvegarde SQL

ouvrez le document 'objets.sql' (toujours depuis la fenêtre SQL) [2]

Si vous avez le message tel que affiché dans l'illustration, dites: OK

Exécuter le script SQL affiché en appuyant sur le bouton en forme de flèche verte [3]

Si vous lisez à la fin de l'opération: “résultat de la requête de 1 ligne annulé. La requête a été exécutée avec succès en 174 ms, mais ne renvoie aucun résultat.”, c'est fait !

Procédez ensuite à la restauration des schémas (documents .sql) parametres et objets du même dossier, avec la même méthode.

Répondre 'non' si la boîte de dialogue vous demande si vous voulez enregistrer le script SQL, car il sont déjà enregistrés dans le dossier 'TD2015_20151005'

Si tout s'est bien passé la base est installée. Sélectionnez la base TD2015 (dans PgAdmin3) et rafraichissez (bouton avec les flèches rouges et vertes): quatre schémas vont s'afficher.

ASTUCE: pour prendre la main, réexécutez cette démarche trois fois: supprimez la base de données TD2015 et réinsallez-la à trois reprises. Vous serez alors pleinement familiarisés avec le processus qui ne vous posera plus de difficultés.

Installation de l'interface

Prendre le dossier 'TD2015' qui se trouve dans le dossier 'bd_et_interface_20151005' (que vous avez téléchargé et dézippé dans le dossier BD_TD2015) et le mettre dans le dossier 'htdocs' qui se trouve dans l'application Bitnami. Une fois cette opération effectuée, on aura donc ces deux chemins vers le dossier:

sous Windows : C:\Bitnami\wappstack-5.5.29-1\apache2\htdocs\TD2015

sous MacOS : /Applications/mappstack-5.5.29-1/apache2/htdocs/TD2015

Dans le dossier TD2015, cherchez le document 'phpgen_settings.php' (avec ou sans suffixe), ouvrez-le avec un éditeur de texte (bloc-notes sous Windows, TextEdit sous MacOS)

Modifiez le mot de passe en y mettant votre mot de passe d'accès au serveur PostgreSQL créé lors de l'installation. Les paramètres se présentent ainsi:

function GetGlobalConnectionOptions()
{
return array(
'server' => 'localhost',
'port' => '5432',
'username' => 'postgres',
'password' => '[votre mot de passe]',
'database' => 'TD2015' # 'Eventuellement en choisir une autre, par ex. 'bd_perso'
);

Vérifier avec l'outil de gestion des serveurs que les deux serveurs (PostgreSQL et Apache) tournent (cf. les indications concernant leurs installation)

Taper cette adresse dans un navigateur web afin d'accéder à la page d'accueil de la base de données:

http://127.0.0.1:8080/TD2015/accueil.html (version Mac)

http://127.0.0.1/TD2015/accueil.html (version Windows)

Après avoir pris connaissance des conditions de la licence, naviguez dans votre base de donnés.

Si vous deviez tomber sur un message d'erreur, écrivez-moi un mail avec copie d'écran du message.

Installation d'une base de données à usage personnel

Création de la base de données à usage personnel

Création d'une nouvelle base de données

On procède de la même manière que pour installer la base TD2015, selon les instructions ci-dessus, en utilisant pgAdmin3.

La seule différence est qu'on appellera la nouvelle base 'bd_perso' ou avec tout autre nom qui vous convient.

Il faut ensuite vider les tables du schéma 'objets' car c'est là qu'on mettra ses propres données

Pour ce faire, on sélectionne le schéma objets dans pgAdmin3, puis on ouvre la boîte de dialogue SQL qui permet d'exécuter des instructions SQL

On copie cette instruction

truncate table objets.objet restart identity cascade;

, on la colle dans la boîte de dialogue SQL et on l'exécute

Si on voit ce résultat

NOTICE: truncate cascades to table "date_objet". NOTICE: truncate cascades to table "nom_objet". La requête a été exécutée avec succès en 21 ms, mais ne renvoie aucun résultat.

c'est que tout a été exécuté correctement

On peut désormais alimenter sa propre base de données, c'est-à-dire créer de nouveaux objets.

ATTENTION: les tables et vues des schémas 'parametres' et 'vues' ne doivent pas être modifiées d'aucune manière

Création de l'interface de la base de données à usage personnel

On procède comme pour l'installation de l'interface de la base de données du TD2015, selon les indications données ci-dessus.

On crée un copie du dossier 'TD2015' qui se trouve dans le dossier 'bd_et_interface_20151005' (que vous avez téléchargé et dézippé dans le dossier BD_TD2015)

On appelle le dossier-copie 'bd_perso': le contenu sera identique à 'TD2015', seul le nom du dossier change

Il faut mettre le dossier 'bd_perso' dans 'htdocs'

Il faut ensuite paramétrer la connexion dans le fichier 'phpgen_settings.php' (avec ou sans suffixe), en l'ouvrant avec un éditeur de texte (bloc-notes sous Windows, TextEdit sous MacOS)