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 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 (port 5433 pour les utilisateurs de MacOS qui ont le serveur PostgreSQL de la distribution Enterprise DB)
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_20160111.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_20151201' 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'.
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_20151201', 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_20151201' 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_20151201'
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_20160111' (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:
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'
);
-
Taper cette adresse dans un navigateur web afin d'accéder à la page d'accueil de la base de données:
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.
Mise à jour de la base de données
Version la plus récente de la base de données (permier décembre 2015): télécharger ici.
Pour mettre à jour la base de données:
Attention: cette démarche ne concerne que la base de données–exemple. Ne pas toucher à sa base personnelle !
Lancer le logiciel PgAdmin3
Ouvrir la base de données existante et déplier le dossier des schémas
Supprimer, dans cet ordre, les schémas: vues, paramètres, objets (click droit sur un schéma, puis supprimer ou supprimer en cascade)
Décompresser le dossier contenant la nouvelle base de données
Recréer les schémas, selon les indications fournies ci-dessus à propos de la création d'une nouvelle base de données, dans cet ordre: objets, parametres, vues
Découvrir le contenu de la nouvelle base de données depuis l'interface
Installation d'une base de données à usage personnel
Création de la base de données à usage personnel
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
Exécuter la même opération sur la table des associations avec cette instruction
truncate table objets.association_objets restart identity cascade;
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_20160111' (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)
Il faut mettre votre mot de passe et le nom de la nouvelle base de données:
function GetGlobalConnectionOptions()
{
return array(
'server' => 'localhost',
'port' => '5432',
'username' => 'postgres',
'password' => '[votre mot de passe]',
'database' => 'bd_perso' # 'Eventuellement en choisir une autre mais il doit être le même que celui de la base postgresql
);
Taper cette adresse dans un navigateur web afin d'accéder à la page d'accueil de la nouvelle base de données:
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.
ASTUCE : avec cette méthode, vous pouvez créer autant de bases de données que vous voulez – mais une suffira en règle générale
Sauvegarde de votre base de données personnelle !!!
IMPORTANT: il faut effectuer des sauvegardes régulières de votre base de données personnelle en exportant en format SQL le contenu du schéma 'objets'. Vous pourrez ainsi recréer une copie identique de votre base dans n'importe quel serveur PostgreSQL, par ex. sur un autre ordinateur.
Ouvrir le client PGAdmin3 et vous connecter à la base de données 'bd_perso'
Déplier les schémas dans l'arboréscence à gauche
sélectionner le schéma Objets, faire un click droit et sélectionner la commande sauvegarder
créer –si vous ne l'avez pas déjàfait– un dossier de sauvegarde de vos données dans le dossier du TD ou de votre Master
atteindre ce dossier par le bouton '…' de la sauvegarde de PGAdminIII qui se trouve à côté du chemin des fichiers dans la boîte de dialogue.
comme nom du ficher de sauvegarde taper 'schema_objets_20151010.sql' en indiquant la date du jour en format ISO. Vous saurez ainsi directement à quelle date vous avez effectué la dernière sauvegarde. Vérifiez que le suffixe est bien .sql.
Ensuite paramétrer dans le même onglet:
Onglet 'Options 1': cocher 'Ne pas sauvegarder: Propriétaire, Droits'; le reste décoché
Onglet 'Options 2' : cocher 'Requêtes : Utiliser les colonnes pour les Insert, Utiliser les commandes pour les insert' Le reste décoché, sauf laisser 'Messages en mode verbeux'
Puis appuyer sur Sauvegarder.
Si tout se passe bien, la liste des messages termine par 'Le process a retourné le code de sortie 0.' (si c'est '1' il y a un problème, '0' c'est OK)
Vérifier que vous trouvez le nouveau document dans le dossier 'sauvegardes' sur votre disque dur.
Ce n'est pas nécessaire de sauvegarder les autres schémas car normalement vous ne les touchez pas. Ils sont donc identiques aux fichiers que je vous ai envoyés.
Le fichier de sauvegare vous permettra de recréer une copie exacte de votre schéma 'objets', contenant vos propres données, sur un autre serveur (exactement comme on a fait lors de l'installation de la base de données pour le fichier exercice que je vous ai fourni). Donc si votre ordinateur a une défaillance, ou qu'on vous le vole, et si vous avez une copie de ces fichiers sur un disque dur à la maison, vous pourrez recréer votre base sur un nouvel ordinateur. Exactement comme on fait avec un document de traitement de texte.
Le fichier de sortie .sql est un fichier texte, facilement stockable sur une clé USB et très facile à mettre sur n'importe quelle autre plateforme, garantissant ainsi la pérennité de vos données.
Plus tard, vous pourrez aussi m'envoyer ces fichiers et je pourrai voir vos données, vous donner des indications et précisions et vous paramétrer des requêtes d'exploitation, pour vous aider à exploiter vos données.
Installation de la base de données utilisée pour le TD de 2013