Outils pour utilisateurs

Outils du site


td_histoire_numerique:descriptif_exercice_2

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:descriptif_exercice_2 [2014/10/03 17:13]
Francesco Beretta [Création de deux bases de données]
td_histoire_numerique:descriptif_exercice_2 [2014/10/05 17:38]
Francesco Beretta [Création des objets et indexation des textes]
Ligne 2: Ligne 2:
  
  
-===== Création ​des bases de données =====+Nous allons créer deux bases de données, bd_td_exercice et bd_personnelle,​ qui contiendront respectivement les données que je vous fournis pour les exercices et celles que vous alles produire vous-mêmes. 
 +===== Création ​de la base de données ​bd_td_exercice ​=====
  
 +
 +Veuillez trouver [[td_histoire_numerique:​postgresql&#​apprendre_a_utiliser_postgresql|ici]] quelques indications pour apprendre à utiliser PostgreSQL.
 +
 +\\
 +
 +Procédure d'​installation détaillée:​
 +\\
   * Téléchargez le {{:​td_histoire_numerique:​bases_de_donnees_20141003.zip|dossier zippé}} contenant les fichiers à utiliser   * Téléchargez le {{:​td_histoire_numerique:​bases_de_donnees_20141003.zip|dossier zippé}} contenant les fichiers à utiliser
   * Dézippez-le:​ il contient deux dossier -> mettez-les dans le dossier du cours, dans un sous-dossier que vous nommerez '​bases_importees'​   * Dézippez-le:​ il contient deux dossier -> mettez-les dans le dossier du cours, dans un sous-dossier que vous nommerez '​bases_importees'​
Ligne 14: Ligne 22:
   * Clicquez sur le bouton SQL (une sorte de loupe sur fonds orange)   * Clicquez sur le bouton SQL (une sorte de loupe sur fonds orange)
   * Normalement,​ l'​onglet '​Editeur SQL' qui s'​ouvre est vide, sinon effacez le texte qu'il contient   * Normalement,​ l'​onglet '​Editeur SQL' qui s'​ouvre est vide, sinon effacez le texte qu'il contient
-  * Ouvrez les fichiers à installer avec la commande ouvrir qui se trouve dans le menu Fichier > Ouvrir ​ 
   * Si le logiciel vous demande si vous voulez sauvegarder le texte que vous venez d'​effacer à l'​étape précédente,​ dites : non   * Si le logiciel vous demande si vous voulez sauvegarder le texte que vous venez d'​effacer à l'​étape précédente,​ dites : non
-  ​* Ouvrir dans le dossier ​dezippé ​dossier ​'sql_20131110' > **tables_types.sql** + 
-  * Une fois le fichier ouvert, exécuter avec le menu Requêtes > Exécuter ou avec le bouton avec la forme d'une fleche verte + 
-  * Vous regardez la dernière ligne du message : "La requête a été exécutée avec succès en 391 ms, mais ne renvoie aucun résultat."​ (le reste ne compte pas) – Si vous voyez ce résultat (même si la durée en ms est différente) c'est bon. +  ​A partir du menu '​Fichier'​ > 'Ouvrir', ouvrez les fichiers à installer qui se trouvent ​dans le dossier ​'​bases_importees' ​> 'bases_de_donnees_20141003' > '​bd_td_exercice'​ que vous venez de dézipper 
-  * Vous répétez ensuite l'​opération avec les fichiers : **tables_objet.sql** et **tables_uc.sql**+  * Ouvrir dans le fichier ​**schema_objets.sql** 
 +  * Une fois le fichier ouvert ​(vous pourrez donc lire dans l'​onglet '​Editeur SQL' une série de scripts SQL prêts à exécution), exécuter avec le menu Requêtes > Exécuter ou avec le bouton avec la forme d'une fleche verte 
 +  * Vous regardez la dernière ligne du message : "La requête a été exécutée avec succès en 391 ms, mais ne renvoie aucun résultat."​ (le reste ne compte pas, même pas les lignes annulées) – Si vous voyez ce résultat (même si la durée en ms est différente) c'est bon. 
 +  * En exécutant la requête SQL que vous voyez dans la boîte de dialogue SQL, le serveur PostgreSQL a créé les tables et ajouté les données que contient la requête SQL (instruction INSERT). 
 + 
 + 
 +  * Vous répétez ensuite l'​opération avec les fichiers : **schema_parametres.sql** et **schema_vues_affichage.sql** 
 +    * Ouvrez le schema_parametres.sql 
 +    * Si le logiciel vous demande si vous voulez sauvegarder le texte que vous venez d'​effacer à l'​étape précédente,​ dites : non – car le nouveau texte SQL doit remplacer celui qui vient d'​être exécuté 
 +    * Exécutez le script, etc.
   * ATTENTION : exécuter les trois fichiers .sql exactement DANS L'​ORDRE INDIQUÉ   * ATTENTION : exécuter les trois fichiers .sql exactement DANS L'​ORDRE INDIQUÉ
-  * Sélectionner le dossier '​Schémas'​ dans la liste de la partie ​de gauche et rafraichir (Affichage > Rafraîchir ou bouton vert et rouge) +  ​* Fermez ensuite l'​Editeur SQL' 
-  * trois schémas (=dossiers) apparaîssent,​ contenant ​des tables + 
-  * Par exemple, ouvrir le schéma 'tables_objet', puis selectionner '​Tables',​ vous verrez la liste des trois tables + 
-  * Enfinexécutez ​le fichier ​SQL 'creation_foreign_data_wrapper_20131115.sql' ​(de la même manière ​que vous avez ouvert ​et exécuté ​les fichiers sql qui vous ont permis ​de créer ​les trois schémas) pour créer la connexion ​vers la base en ligne et effectuer ​des mises à jourCette opération doit s'​effectuer ​impérativement avec une connexion active+ 
 +  ​* Sélectionner le dossier '​Schémas' ​(image rouge et blanche) ​dans l'​arboréscence de gauche et rafraichir (Affichage > Rafraîchir ou bouton vert et rouge en haut) 
 +  * Déploiez l'​arboréscence du schéma par un click et trois schémas (=dossiers) apparaîssent,​ en plus du schema '​public',​ contenant les tables et vues de votre base de données 
 +  * Par exemple, ouvrir le schéma '​objets',​ puis selectionner '​Tables',​ vous verrez ​la liste des trois tables 
 +  * Dépliez l'​arboréscence des tables, sélectionnez la table '​Objet',​ clickquez sur le bouton en forme de table, bleu et blanc, à droite du bouton ​de la loupe SQL et vous verrez apparaître une table contenant les données 
 + 
 + 
 +**Voilà !** Si vous en êtes là, le plus difficile est fait, vous avez créé la base de données de l'​exercice. 
 + 
 + 
 +===== Création de la base de données bd_personnelle ===== 
 + 
 + 
 +Maintenant il faut créer une base de données vide ou, plus précisément,​ une base de données dont les tables du schéma '​objets'​ sont vides – car c'est là que vous allez mettre vos propres données. 
 + 
 +A ce sujet, voici **quelques indications importantes**:​ 
 + 
 +  * le rôle d'un schéma dans PostgreSQL est analogue à celui d'un dossier du disque dur: il réunit des tables, des fonctions, des séquences numériques,​ etc. tout comme un dossier réunit des fichier 
 +  * pour nous permettre de travailler de manière collaborative,​ vous alimentez avec vos données les tables du schéma '​objets'​ de votre base de données personnelle,​ mais vous ne touchez pas aux autres schémas et aux données qu'ils contiennent. 
 +  * ceci me permettra de mettre à jour le contenu des schémas '​parametres'​ et '​vues_affichage',​ vous pourrez les écraser et remplacer par les nouveaux, et on ne TOUCHERA PAS vos données  
 +  * quant aux tables qui les contiennent (celles du schéma objets) vous en ferez  des sauvegardes régulières selon la procédure que j'​indiquerai plus pas 
 + 
 + 
 +Ceci étant dit, il faut donc: 
 + 
 +  * créer une nouvelle base de donnée que vous appellerez bd_personnelle 
 +  * Activez cette base par double click 
 +  * Clicquez sur le bouton SQL orange pour ouvrir l' Editeur SQL 
 +  * S'il n'est pas vide, effacez le texte qu'il contient sans le sauvegarder 
 + 
 + 
 +  * A partir du menu '​Fichier'​ > '​Ouvrir',​ ouvrez les fichiers à installer qui se trouvent dans le dossier '​bases_importees'​ > '​bases_de_donnees_20141003'​ > **'​bd_td_personnelle'​** que vous venez de dézipper (et pas '​db_td_exercice'​) 
 +  * Ouvrir dans le fichier **schema_objets.sql** 
 +  * Une fois le fichier ouvert (vous pourrez donc lire dans l'​onglet '​Editeur SQL' une série de scripts SQL prêts à exécution),​ exécuter avec le menu Requêtes > Exécuter ou avec le bouton avec la forme d'une fleche verte 
 +  * En exécutant ce script SQL, le serveur PostgreSQL produit 3 nouvelles tables avec les séquences numériques associées, et alimente les tables avec les données que contient le script même (instruciton INSERT) 
 +  * Vous répétez ensuite l'​opération avec les fichiers : **schema_parametres.sql** et **schema_vues_affichage.sql** 
 +  * ATTENTION : exécuter les trois fichiers .sql exactement DANS L'​ORDRE INDIQUÉ 
 +  * Fermez ensuite l'​Editeur SQL' 
 + 
 + 
 + 
 +  * Sélectionner le dossier '​Schémas'​ (image rouge et blanche) dans l'​arboréscence ​de gauche et rafraichir (Affichage > Rafraîchir ou bouton vert et rouge en haut
 +  * Déploiez l'​arboréscence du schéma par un click et trois schémas (=dossiers) apparaîssent, en plus du schema '​public'​, contenant ​les tables ​et vues de votre base de données 
 +  * Par exemple, ouvrir le schéma 'objets', puis selectionner '​Tables',​ vous verrez la liste des trois tables 
 +  * Dépliez l'​arboréscence des tablessélectionnez la table '​Objet',​ clickquez sur le bouton en forme de table, bleu et blanc, à droite du bouton de la loupe SQL 
 +  * Cette fois, la table est vide car c'est à vous de la remplir 
 + 
 + 
 + 
 + 
 + 
 +===== Interfaçage avec le logiciel Base ===== 
 + 
 +Après avoir créé les deux bases de données ci-dessus, on peut accéder aux tables et aux données qu'​elles contiennent en utilisant le logiciel client PgAdminIIIToutefois, ce n'est pas très pratique pour saisir et visualiser les données. 
 + 
 +Je vous ai donc créé une interface de saisie avec le logiciel Base de la suite LibreOffice ​que nous utiliserons comme **client** de la base de données pour la saisie et le travail sur les données, alors que nous utilisons le client PgAdminIII comme **client** pour la gestion de la base elle même (schémas, tables, requêtes SQL etc.) 
 + 
 +Le **logiciel serveur** lui même, c'​est-à-dire PostgreSQL, tourne toujours lorsque votre ordinateur est allumé (sans consommer de ressources) mais il n'est pas directement visible. Il devient visible grâce à des **logiciels clients**. On parle d'une architecture client–serveur. 
 + 
 + 
 +PRINCIPE ESSENTIEL : Grâce à cette architecture logicielle on sépare soigneusement le stockage des données de leur visualisation. Je pourrai donc améliorer progressivement l'​affichage dans Base et faire évoluer le système SANS TOUCHER À VOS DONNÉES qui se trouvent dans le schéma '​objets'​ et, plus tard, dans le schéma '​unites_de_connaissance'​. Vos données resteront toujours sur votre ordinateur, et vous pourrez les sauvegarder régulièrement,​ mais le reste du système d'​information pourra évoluer. 
 + 
 + 
 +TUTORIELS : il existe plein de tutoriels pour apprendre à utiliser Base de LibreOffice/​OpenOffice 
 + 
 +[[http://​openoffice-libreoffice.developpez.com/​cours/#​base|Liste dans developpez.com]] 
 + 
 +[[https://​wiki.documentfoundation.org/​FR/​FAQ/​Base|Questions et problèmes habituels]] 
 + 
 + 
 + 
 +==== Procédure à suivre pour l'​installation de l'​interface ==== 
 + 
 + 
 +  * Télécharger la version du fichier qui correspond au système de fonctionnement de l'​ordinateur:​ 
 +    * {{:​td_histoire_numerique:​td_histoire_numerique.odb.zip|Fichier pour Mac}} 
 +    * {{:​td_histoire_numerique:​td_histoire_numerique.zip|Fichier pour Windows}} 
 +  * Le dézipper et le mettre dans le dossier du cours 
 +  * Ouvrir le fichier avec le logiciel Base de la suite LibreOffice 
 +  * ATTENTION: ce fichier ne marche qu'​avec la version stable de LibreOffice:​ 4.2.6.3, et pas avec la version 4.3. Si vous avez installé la version de développement de LibreOffice (4.3), désinstallez-là et remplacez là par la version stable. 
 +  * Dans l'​interface principale de la base de données, dans le menu '​Edition'​ > Bases de données > Propriétés,​ {{ :​td_histoire_numerique:​bd_proprietes_connexion.png?​100 |}} on voit l'​adresse de connection vers la base de données PostgreSQL:​ 
 +    * dbname=bd_td_exercice hostaddr=127.0.0.1 port=5432 
 +  * Il n'y a rien a changer à ce sujet 
 +  * Dans le cadre de gauche, dans '​Formulaires',​ {{ :​td_histoire_numerique:​bd_ecran_principal.png?​100 |}} on peut ouvrir le formulaire **objets** ​et retrouver ​les objets déjà créées à partir des notices biographiques de l'​exercice précédent 
 +  * Au moment d'​ouvrir le formulaire, Base vous demandera votre mot de passe utilisé lors de l'​installation de PostgreSQL 
 +  * On peut parcourir ​les objets un par un, ou ouvrir la liste de tous les objets que contient la table –en utilisant le bouton en bas à droite {{ :​td_histoire_numerique:​bd_formulaire_objets.png?​100 |}} – puis appliquer de filtres, trier, etc. C'est très pratique car l'​objet sélectionné dans la liste est celui qu'on voit sur la fiche 
 + 
 + 
 +ATTENTION: ne pas toucher au contenu des tables du schéma paramètre car elles permettent à votre base de données de fonctionner correctement et vous risquez de compromettre l'​affichage de vos données (mais pas les données elles mêmes car elles sont stockées à part) 
 + 
 +==== Installer l'​interface de sa base personnelle ==== 
 + 
 +Il s'agit maintenant de créer une interface ​pour la base de données personnelle que vous avez créé plus haut dans PostgreSQL: **bd_personnelle** 
 + 
 +Pour ce faire :  
 + 
 +  * Accéder au menu Fichier, enregistrer sous... {{ :​td_histoire_numerique:​bd_creer_copie_base.png?​100 |}} 
 +  * renommez la copie que vous allez créer, l'​appelant par ex. bd_personnelle – vous pouvez également ​la mettre dans un autre dossier, par ex. le dossier principal de votre travail de Master 
 +  * Validez et vous vous trouverez désormais dans le nouveau fichier de Base qui (pour mémoire) vous sert de client pour accéder au serveur PostgreSQL 
 +  * Il faudra maintenant changer les paramètres de connexion ​pour changer de base PostgreSQL interfacée 
 +  * allez dans le menu Edition > Base de données > Propriétés 
 +  * remplaces le nom de la base de données : '​dbname=bd_td_exercice'​ devient '​dbname=bd_personnelle'​ 
 +  * vous changez ainsi la base de données du serveur PostgreSQL qui devient visible grâce au client Base 
 +  * Testez la connexion avec le bouton de la même interface, mettant votre mot de passe. 
 +  * Si vous vous êtes trompés de mot de passe, il faut fermer ​et réouvrir le fichier 
 +  * ouvrez le formulaire '​objets':​ maintenant il sera vide car les tables du schéma '​objets'​ de votre base personnelle sont vides – à vous de les remplir 
 +  * pour créer un nouvel objet, uitliser le formulaire '​objets_creation'​ {{ :​td_histoire_numerique:​bd_formulaire_objets_creation.png?​100 |}} car le formulaire '​objets'​ sert uniquement à visualiser et modifier ​des objets existants 
 + 
 + 
 +Si vous avez tout effectué correctement jusqu'​ici vous disposez désormais d'une base de données ​à vous, vous permettant de créer des objets et de les associer entre euxPar exemple, de créer un acteur et de l'associer à la bibliographie qui le concerne. 
 + 
 + 
 + 
 + 
 + 
 +==== Sauvegarde de votre base 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 uen copie identique de votre base dans n'​importe quel serveur PostgreSQL, par ex. sur un autre ordinateur.  
 + 
 +  * Ouvrir le client PGAdminIII et vous connecter à la base de données '​bd_personnelle'​ 
 +  * 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 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 
 +  * comme nom du ficher de sauvegarde taper '​schema_objets_20141004.sql'​ Vous saurez ainsi directement à quelle date vous avez effectué la dernière sauvegarde 
 +  * Ensuite paramétrer dans le même onglet: 
 +    * Format : fichier plat 
 +    * Codage : UTF8 
 +    * Le reste :  vide 
 +  * 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 va 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 des sauvegardes. 
 +  * 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 et vous pouvez mettre ​une simple copie de ceux-ci dans votre dossier de sauvegarde. 
 +  * Le fichier de sauvegare vous permettra de recréer une copie exacte de votre schéma '​objets'​ de 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 apprendre à exploiter vos données
  
-**Voilà !** Si vous en êtes là, le plus difficile est fait, vous avez votre base de données. 
  
  
Ligne 35: Ligne 189:
  
  
-dbname=td_histoire_numerique hostaddr=127.0.0.1 port=5432 
  
  
 ====== Création des objets et indexation des textes ====== ====== Création des objets et indexation des textes ======
  
 +=====Présentation du modèle conceptuel=====
  
 +Voici le {{:​td_histoire_numerique:​mcd_base_td_histoire_numerique.odg|fichier du MCD}} à télécharger.
  
  
  
-====== Sauvegarde de la base de données ====== 
  
td_histoire_numerique/descriptif_exercice_2.txt · Dernière modification: 2014/11/27 09:45 par Francesco Beretta