Outils pour utilisateurs

Outils du site


td_histoire_numerique:exercice_3

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:exercice_3 [2015/09/26 11:21]
Francesco Beretta
td_histoire_numerique:exercice_3 [2015/11/25 08:22]
Francesco Beretta [Transformation des textes encodés en XML]
Ligne 1: Ligne 1:
 +Revenir à la [[td_histoire_numerique:​accueil|page d'​accueil]].
 +
 +
 ====== Installation de la base de données pour l'​exercice ====== ====== Installation de la base de données pour l'​exercice ======
  
-  * Télécharger le {{:td_histoire_numerique:​td2015_20190926.zip|fichier}} qui contient ​la sauvegarde ​de la base de données +[[td_histoire_numerique:​Installation de la base de données|Instructions pour l'​installation ​de la base de données]] 
-  ​* Créer un dossier appelé BD_TD2015 et un sous-dossier appelé ​'sauvegardes+ 
-  * Déplacer le fichier téléchargé vers le dossier '​sauvegardes'​ et le décompresser (dézipper) + 
-  * Démarrer le logiciel pgAdmin3 +\\ 
-    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 ​[[http://www.pgadmin.org/download/macosx.php|cette page]] en prenant la version qui correspond à votre système ​d'exploitation,​ si possible ​la plus récente. Une fois installé, il faut paramétrer ​la connexion [on fera l'exercice en classe]:  + 
-      * Dans le menu Fichier > Ajouter un serveur + 
-      Nom du serveur '​postgresql_9_4'​ +====== Utilisation de la base de données ​ ====== 
-      ​Hôtelocalhost + 
-      port TCP 5432 +===== Fonctionnement d'une application web ===== 
-      * base maintenance:​ postgres + 
-      * nom utilisateur:​ postgres +Les principes de fonctionnement d'une application web utilisant une base de données relationnelle pour stocker les informations sont présentés dans ces articles: 
-      Mot de passe: ​le votre et l'enregistrer +  * [[https://​fr.wikipedia.org/​wiki/​Serveur_web|Serveur web]] 
-  * Pour tous, à ce stade là, 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+  * [[https://​fr.wikipedia.org/​wiki/​Serveur_informatique|Serveur informatique]] 
-  * Ouvrir la nouvelle base de données ​(double-click+  [[https://​fr.wikipedia.org/​wiki/​Système_de_gestion_de_base_de_données|Système ​de gestion de base de données]] 
-  * Restaurer ​les sauvegardes depuis ​le dossier dézippé: + 
-    * restaurer **dans cet ordre**: objets, ​parametres, vues +Cette image présente schématiquement les des outils que nous allons utiliser:\\ 
-    * click droit sur la base de données ​TD2015 ​et choisir dans le menu contextuel ​'**Restaurer**'+ 
 +{{:​td_histoire_numerique:​apache_mysql_articulation_annote_e.png?​100|}} 
 + 
 +\\ 
 + 
 +===== Modélisation ​des données ===== 
 + 
 + 
 + 
 +==== Quelques notions ​de base ==== 
 + 
 + 
 +  * [[https://fr.wikipedia.org/wiki/Modèle_entité-association|Modèle entité-association]] 
 +  * [[https://​fr.wikipedia.org/​wiki/​Merise_(informatique)|La méthode Merise]] 
 +  * [[http://​merise.developpez.com/​faq/?​page=MCD|Merise et modélisation de données]] 
 +  * [[https://en.wikipedia.org/​wiki/​Entity–relationship_model|ERD – entity relationship diagramm]] 
 + 
 + 
 +==== Application de cette méthode aux informations historiques ==== 
 + 
 +Il y a différentes manières ​d'aborder ​la question de la modélisation des données historiques. L'​approche présentée ici est issue de l'expérience du projet [[http://​symogih.org|symogih.org]]. 
 + 
 +On trouvera une explication détaillée de la méthode dans [[https://​halshs.archives-ouvertes.fr/​halshs-00677658|cet article]] et dans **{{:td_histoire_numerique:​mcd_article_modifie.pdf|ce document}} ** les modèles conceptuels qui seront présentés au cours. 
 + 
 +Le <​html><​span style="​color:​red;​font-weight:​bold;">​modèle conceptuel de la base de données générique</​span></​html>​ mis à disposition se trouve dans **{{:td_histoire_numerique:​mcd_base_td_histoire_numerique.pdf|ce fichier}} **. Il faut le télécharger et le garder sous la main. 
 + 
 + 
 +\\ 
 +===== Production des données ===== 
 + 
 + 
 +\\ 
 + 
 +==== Transformation des textes encodés en XML ==== 
 + 
 +  ​Créer dans la base de données un objet digital qui correspond au texte qu'on est en train d'​encoder. 
 +  Lui donner un nom et ajouter un descriptif du texte encodé 
 +  Copier ​le texte encodé en entier ​et le coller dans le champs '​texte'​ de l'objet en question 
 +  * Sauvegarder 
 + 
 +  * Ouvrir ​une boîte ​de dialogue SQL 
 +  * Exécuter la requête suivantequi utilise la fonction vues.transformation_xml([argument]) tout en mettant en argument ​de la fonction le numéro d'identifiant de l'objet digital qui contient ​le texte à transformer 
 + <​code html>​SELECT vues.transformation_xml(3)</​code>​ 
 +  * Si le texte a été encodé correctement ​(balises ouvertes et fermées, encodées selon les indications du wiki, etc.), le texte est réécrit en XML et copie dans le champs '​texte_xml'​ de la table objet. 
 +  * Sinon, apparaît un message d'​erreur qui indique, dans les premières lignes du message, l'​élément qui pose problème et qu'il faudra corriger dans le texte encodé d'​origine. 
 +  La suite du message contient la suite des erreurs provoquées par cette première erreur: celle-ci corrigée, tout rentre ​dans l'ordre 
 + 
 +===== Requêtes SQL /XPath ===== 
 + 
 +Une fois les textes XML-TEI enregistrés dans la base (dans le champs '​texte-tei'​ des objets ​correspondants aux textesun objet par texte) on peut intérroger ​la base de données et extraire des informations des textes. 
 + 
 +Pour ce faire, on utilise la langage SQL en le combinant avec le langage XPATH que PostgreSQL implémente également si le champs sur lequel porte la requête est de type 'XML'
 + 
 + 
 +Pour apprendre la syntaxe des requêtes SQL, voir la manuel PostreSQL, chapitres 2 et 7. Nous y reviendrons. Pour apprendre celle du XPATH, un excellent {{:​td_histoire_numerique:​obpe6630_xpath4.pdf|tutoriel}} rédigé par Wieslaw Zielonka est [[http://​www.liafa.jussieu.fr/​~zielonka/​Enseignement/​BDAvances/​2013/​XML/​xpath4.pdf|disponible sur internet]] 
 + 
 + 
 +Pour exécuter les requêtes ci-dessous:
  
 +   * ouvrir la base de données '​bd_td_exercice'​ avec pgAdminIII, sélectionner le dossier rouge '​schémas'​ dans l'​arboréscence,​ puis ouvrir la boît de dialoque '​SQL':​ bouton loupe.
 +   * copier la requête dans l'​Editeur SQL
 +   * exécuter la requête avec le bouton vert en forme de flèche
 +   * le résultat s'​affichera dans le panneau de sortie en bas
  
-<​code>​ 
-truncate table objets.objet restart identity cascade 
-</​code>​ 
  
 +Pour exporter le résultat:
  
 +  * sous CSV = dans le menu '​Fichier'​ sélectionner '​Exporter...',​ choisir un nom de fichier et un emplacement (attention à mettre le suffixe .csv après le nom)
 +  * pour visualiser directement le résultat avec un navigateur, sélectionner dans le menu '​Fichier'​ la commande '​Rapport rapide',​ choisir de nouveau un fichier de sortie (tout en bas), ne rien toucher aux autres paramètres et appuyer sur OK
 +  * le résultat apparaîtra immédiatement dans votre navigateur web
td_histoire_numerique/exercice_3.txt · Dernière modification: 2016/01/04 22:04 par Francesco Beretta