Outils pour utilisateurs

Outils du site


td_histoire_numerique:installation_de_la_base_de_donnees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
td_histoire_numerique:installation_de_la_base_de_donnees [2015/10/10 08:43]
Francesco Beretta
td_histoire_numerique:installation_de_la_base_de_donnees [2015/12/01 09:09]
Francesco Beretta [Mise à jour de la base de données]
Ligne 19: Ligne 19:
       * Nom du serveur '​postgresql_9_4'​       * Nom du serveur '​postgresql_9_4'​
       * Hôte: localhost       * Hôte: localhost
-      * port TCP : 5432+      * port TCP : 5432 (port 5433 pour les utilisateurs de MacOS qui ont le serveur PostgreSQL de la distribution Enterprise DB)
       * base maintenance:​ postgres       * base maintenance:​ postgres
       * nom utilisateur:​ postgres       * nom utilisateur:​ postgres
Ligne 27: Ligne 27:
  
  
-  * 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)+  * 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)     * 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)     * 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)
 {{ :​td_histoire_numerique:​test_fonctions_xml.jpg?​200 |}} {{ :​td_histoire_numerique:​test_fonctions_xml.jpg?​200 |}}
  
-    * copiez ​dans la boîte de dialogue SQL cette requête: <code sql>​SELECT (xpath('/​my:​a/​text()',​ '<​my:​a xmlns:​my="​http://​example.com">​Test réussi !</​my:​a>',​ +    * copiez cette requête: <code sql>​SELECT (xpath('/​my:​a/​text()',​ '<​my:​a xmlns:​my="​http://​example.com">​Test réussi !</​my:​a>',​ 
-             ​ARRAY[ARRAY['​my',​ '​http://​example.com'​]]))[1];</​code>​ +             ​ARRAY[ARRAY['​my',​ '​http://​example.com'​]]))[1];</​code> ​et collez-la dans la boîte de dialogue SQL. 
-    * Exécutez-là avec le bouton en forme de flêche verte+    * 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 !"**     * 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).     * 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).
Ligne 44: Ligne 44:
  
  
-  * {{:​td_histoire_numerique:​bd_et_interface_20151005.zip|Télécharger le fichier}} qui contient la sauvegarde de la base de données et de l'​interface +  * {{:​td_histoire_numerique:​bd_et_interface_20151005.zip|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 un dossier appelé BD_TD2015 et un sous-dossier appelé '​sauvegardes'​+  * 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)   * Déplacer le fichier téléchargé vers le dossier '​BD_TD2015'​ et le décompresser (dézipper)
-  * 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 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 la sauvegarde ​SQL de la base de données, le dossier '​TD2015'​ contient l'​interface (cf. ci-dessous)+  * 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 ouverte et le mot de passé '​avalé',​ créer une nouvelle base de données appelée '​TD2015'​. Dans l'​onglet Définition mettre '​codage'​ à UTF8, laisser le reste des paramètres par défaut.+    * 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   * 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 supprimer+    * Pour supprimer la base TD2015, visualisez-là dans PgAdmin3, faites un click-droit sur la base, puis choisissez 'supprimer'.
  
 {{ :​td_histoire_numerique:​suppression_base_donnees.jpg?​200 |}} {{ :​td_histoire_numerique:​suppression_base_donnees.jpg?​200 |}}
  
-  * ATTENTION : la base de données '​TD2015'​ est réservée à l'​exercice,​ n'y mettez jamais ​de données qui vous appartiennent ! +  * 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 ​[un lien vers d'autres instructions suivra]+    * 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)   * Dans PgAdmin3, ouvrez la nouvelle base de données TD2015 (double-click sur la ligne de la base)
-  * Restaurer les sauvegardes ​depuis ​le dossier dézippé, selon ce procédé:​ +  * 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 cleui des vues +    * 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 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) +    * 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, ouvrez (en clickant ​sur le bouton '​dossier jaune' en haut de la fenêtre) [1], le dossier téléchargé TD2015_20151005'​ qui contient la sauvegarde SQL +    * 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]     * ouvrez le document '​objets.sql'​ (toujours depuis la fenêtre SQL) [2]
  
Ligne 79: Ligne 80:
  
 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. 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.
  
 \\ \\
Ligne 84: Ligne 87:
 ==== Installation de l'​interface ==== ==== Installation de l'​interface ====
  
-  * Prendre le dossier '​TD2015'​ qui se trouve dans le dossier '​bd_et_interface_20151005'​ téléchargé et dézippé et le mettre dans le dossier '​htdocs'​ qui se trouve dans l'​application Bitnami. ​On aura donc:+  * 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 Windows : C:​\Bitnami\wappstack-5.5.29-1\apache2\htdocs\TD2015
     * sous MacOS :  /​Applications/​mappstack-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)   * 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+  * 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: <​code>​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'​ 
 +);</​code>​
   * Vérifier avec l'​outil de gestion des serveurs que les deux serveurs (PostgreSQL et Apache) tournent (cf. les [[td_histoire_numerique:​postgresql&#​outil_de_gestion_des_serveurs|indications concernant leurs installation]])   * Vérifier avec l'​outil de gestion des serveurs que les deux serveurs (PostgreSQL et Apache) tournent (cf. les [[td_histoire_numerique:​postgresql&#​outil_de_gestion_des_serveurs|indications concernant leurs installation]])
-  * Taper cette adresse dans un navigateur web: http://​127.0.0.1:​8080/​TD2015/​accueil.html (version Mac) http://​127.0.0.1/​TD2015/​accueil.html (version Windows) ​– la page d'​accueil s'​ouvrira.+  * 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.   * 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.   * 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): {{:​td_histoire_numerique:​td2015_20151201.zip|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-dessous, 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 <​code>​truncate table objets.objet restart identity cascade;</​code>,​ on la colle dans la boîte de dialogue SQL et on l'​exécute
 +    * Si on voit ce résultat <​code>​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.</​code>​ 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)
 +  * Il faut mettre votre mot de passe et le nom de la nouvelle base de données: <​code>​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
 +);</​code>​
 +  * Taper cette adresse dans un navigateur web afin d'​accéder à la page d'​accueil de la nouvelle base de données: ​
 +    * http://​127.0.0.1:​8080/​bd_perso/​accueil.html (version Mac)  ​
 +    * http://​127.0.0.1/​bd_perso/​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.
 +
 +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{{ :​td_histoire_numerique:​pgsql_sauvegarde_du_schema.png?​100 |}}
 +  * 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:
 +    * Format : **fichier plat** ( ! )
 +    * Codage : UTF8
 +    * Le reste : rien à changer !
 +  * 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.
  
  
td_histoire_numerique/installation_de_la_base_de_donnees.txt · Dernière modification: 2016/01/14 23:19 par Francesco Beretta