Political Memory Software : Différence entre versions

De La Quadrature du Net
Aller à la navigationAller à la recherche
(Nouvelle page : __NOEDITSECTION__ <div class="LanguageLinks"><table width="100%"><tr valign="top" style="background: #EEF3E2"><td style="width: 25px; padding-left: 0.5em;">[[Image:Geographylogo.png|...)
 
Ligne 2 : Ligne 2 :
 
<div class="LanguageLinks"><table width="100%"><tr valign="top" style="background: #EEF3E2"><td style="width: 25px; padding-left: 0.5em;">[[Image:Geographylogo.png|25px|Languages]]</td><td style="padding: 1px 1em 0; background: #F6F9ED;">'''[[Political_Memory_Software|English]]''' - '''[[Memoire_politique_infrastructure_informatique|Français]]'''</td></tr></table></div>
 
<div class="LanguageLinks"><table width="100%"><tr valign="top" style="background: #EEF3E2"><td style="width: 25px; padding-left: 0.5em;">[[Image:Geographylogo.png|25px|Languages]]</td><td style="padding: 1px 1em 0; background: #F6F9ED;">'''[[Political_Memory_Software|English]]''' - '''[[Memoire_politique_infrastructure_informatique|Français]]'''</td></tr></table></div>
  
==[[Memoire_politique|Mémoire politique]] : infrastructure informatique mise en place==
+
==[[Political_Memory|Political Memory]] : Implemented Software Framework==
  
Les pages de ce wiki relatives à [[Memoire_politique|Mémoire politique]] s'appuient sur une base de données Berkeley DB XML (BDB XML). Des scripts Perl sont utilisés tant pour créer cette base de données, qu'en extraire des informations permettant de créer des pages wiki, ou encore pour enrichir cette base à partir de modifications faites sur les pages wiki. Ainsi les pages wiki de ce groupe constituent un ''frontend'' pour cette base de données. Toutefois il n'y a pas d'interactions en temps réel entre la base et les pages wiki. Les mises à jour du wiki à partir de la base et inversement se font régulièrement de façon automatisée.
+
Pages on this wiki related to [[Political_Memory|Political Memory]] are based upon a Berkeley DB XML database (BDB XML). Some Perl scripts are run to create this database, to extract informations from this database in order to crate wiki pages, or to update this database from updates made on the wiki pages. Hence these wiki pages can be viewed as a ''frontend'' to this database. However there is no real time synchonizations between the database and the wiki pages. Updates of the wiki from the database, and conversely, are frequently made in a semi-automatic way.
  
Une [[:media:Dumps_memoire_politique.tgz|archive (''dump'') de la base de donnés]], l'[[:media:Skeleton_memoire_politique.tgz|arborescence des répertoires]], ainsi que les [[:media:Scripts_memoire_politique.tgz|scripts Perl utilisés]] peuvent être librement téléchargés. '''Ces scripts sont distribués sous une [http://www.gnu.org/licenses/gpl.html licence GNU General Public License version 3 ou supérieure].'''
+
A [[:media:Dumps_memoire_politique.tgz|dump of the database]], the [[:media:Skeleton_memoire_politique.tgz|directory tree]], and [[:media:Scripts_memoire_politique.tgz|Perl scripts]] can be downloaded freely. '''These scripts are licensed under [http://www.gnu.org/licenses/gpl.html GNU General Public License version 3 or higher].'''
  
===Installation de la base de données===
+
===Database Setup===
  
* Décompressez l'archive de la hiérarchie de répertoires (<code>tar zxvf skeleton_memoire_politique.tgz</code>)
+
* Untar directory tree tarball (<code>tar zxvf skeleton_memoire_politique.tgz</code>)
* [http://www.oracle.com/technology/software/products/berkeley-db/xml/index.html Téléchargez Berkeley DB XML].
+
* [http://www.oracle.com/technology/software/products/berkeley-db/xml/index.html Download Berkeley DB XML].
* [http://www.oracle.com/technology/documentation/berkeley-db/xml/ref_xml/xml_unix/intro.html Installez BDB XML] avec le support de Perl (<code>sudo sh buildall.sh --enable-perl</code>)
+
* [http://www.oracle.com/technology/documentation/berkeley-db/xml/ref_xml/xml_unix/intro.html Install BDB XML] with Perl support (<code>sudo sh buildall.sh --enable-perl</code>)
* Décompressez l'archive de la base de données (<code>tar zxvf dumps_memoire_politique.tgz</code>)
+
* Untar dump of the database (<code>tar zxvf dumps_memoire_politique.tgz</code>)
* Chargez chacun des ''container'' de cette archive :
+
* Load the following ''containers'' from this tarball:
** ''container'' pour les députés : <code>dbxml_load -h <repertoire_cible> -f  dump/mps.dump mps.dbxml</code>
+
** ''container'' for MEPs: <code>dbxml_load -h <target_directory> -f dump/en_meps.dump en_meps.dbxml</code>
** ''container'' pour les eurodéputés : <code>dbxml_load -h <repertoire_cible> -f dump/meps.dump meps.dbxml</code>
+
** ''container'' for the votes : <code>dbxml_load -h <target_directory> -f dump/votes.dump votes.dbxml</code>
** ''container'' pour les votes : <code>dbxml_load -h <repertoire_cible> -f dump/votes.dump votes.dbxml</code>
 
  
Vous pourrez manipuler cette base de données à l'aide du ''shell'' (<code>dbxml</code>) fourni avec BDB XML (cf. [http://www.oracle.com/technology/documentation/berkeley-db/xml/intro_xml/index.html tutoriel]) ou en écrivant vos propres programmes en C++, Java, Perl, Python, PHP ou Tcl. Bien entendu, les scripts Perl ci-dessous peuvent servir d'exemple.
+
You can access to this database with ''shell'' (<code>dbxml</code>) provided by BDB XML (see [http://www.oracle.com/technology/documentation/berkeley-db/xml/intro_xml/index.html tutorial]) or by writing your own programs in C++, Java, Perl, Python, PHP or Tcl. Of course, the Perl scripts described below can be use as examples.
  
===Description des scripts===
+
===Scripts Descriptions===
  
Les informations concernant les arguments et options de chaque script peuvent simplement être obtenues en utilisant l'option <code>./&lt;script> --help</code> (ou <code>./&lt;script> -h</code>).
+
Informations about command line arguments and options of each script are described by simply passing the option <code>./&lt;script> --help</code> (or <code>./&lt;script> -h</code>).
  
 
Les scripts Perl sont simplement installés en décompressant leur archive (<code>tar zxvf scripts_memoire_politique.tgz</code>)
 
Les scripts Perl sont simplement installés en décompressant leur archive (<code>tar zxvf scripts_memoire_politique.tgz</code>)
  
====Initialisation de la base====
+
====Database Initialization====
  
* <code>fetch_mep_infos2xml.pl</code> : collecte les informations sur tous les eurodéputés français depuis le site du Parlement européen, les informations sur chaque eurodéputé sont sauvegardées dans un fichier XML, les photos des députés sont également téléchargées.
+
* <code>en_fetch_mep_infos2xml.pl</code>: Fetch all MEPs' informations from the European Parliament website. Every MEP's informations are saved into an XML file, MEPs' pictures are also downloaded.
* <code>fetch_mp_infos2xml.pl</code> : collecte les informations sur tous les députés depuis le site de l'Assemblée nationale, les informations sur chaque député sont sauvegardées dans un fichier XML, les photos des députés sont également téléchargées.
+
* <code>en_rollcall2xml.pl</code>: From a text file produced with a copy/paste from the PDF file listing rollcall votes at the European Parliament, produce the corresponding XML file. The XML file should then be completed by hand to add some descriptions of amendments, voting recommendations, etc.
* <code>rollcall2xml.pl</code> : à partir d'un fichier texte obtenu par copié/collé du PDF listant les votes par appel nominal au Parlement européen, produit le fichier XML correspondant.
 
  
====Mise à jour de la base====
+
====Database Update====
  
* <code>load_xml2dbxml.pl</code> : charge les fichiers XML passés en argument vers un container BDB XML.
+
* <code>load_xml2dbxml.pl</code>: Load XML files passed as arguments into a BDB XML container.
* <code>update_opinions.pl</code> : met à jour dans un container BDB XML les prises de position d'un responsable politique à partir de sa page wiki.
+
* <code>en_update_opinions.pl</code>: Update a MEP's opinions from her wiki page into a BDB XML container.
* <code>vote_update_meps.pl</code> : met à jour dans un container BDB XML les résultats des votes des responsables politiques.
+
* <code>vote_update_meps.pl</code>: update MEPs' voting results into a BDB XML container.
  
====Extraction des pages wiki====
+
====Wiki Pages Extraction====
  
* <code>all_meps_xmldb2mediawiki.pl</code> : crée les pages wiki de tous les eurodéputés à partir du container BDB XML.
+
* <code>en_all_meps_xmldb2mediawiki.pl</code>: Create wiki pages for all MEPs from a BDB XML container.
* <code>all_mps_xmldb2mediawiki.pl</code> : crée les pages wiki de tous les députés à partir du container BDB XML.
+
* <code>en_mep_xmldb2mediawiki.pl</code>: Create the wiki page for a MEP from a BDB XML container.
* <code>mep_xmldb2mediawiki.pl</code> : crée une page wiki d'un eurodéputé à partir du container BDB XML.
+
* <code>en_vote_xmldb2mediawiki.pl</code>: Create wiki pages related to a vote from a BDB XML container.
* <code>mp_xmldb2mediawiki.pl</code> : crée une page wiki d'un député à partir du container BDB XML.
 
* <code>vote_xmldb2mediawiki.pl</code> : crée les pages wiki d'un vote à partir du container BDB XML.
 
  
====Création de pages wiki de navigation====
+
====Searching Wiki Pages Creation====
  
* <code>meps_by_name.pl</code> : crée les pages wiki listant les eurodéputés par ordre alphabétique d'après une requête XQuery.
+
* <code>en_meps_by_name.pl</code>: Create wiki page listing MEPs by alphabetical order from an XQuery query.
* <code>meps_by_region.pl</code> : crée les pages wiki listant les eurodéputés par région d'élection d'après une requête XQuery.
+
* <code>en_meps_by_country.pl</code>: Create wiki page listing MEPs by country from an XQuery query.
* <code>meps_by_group.pl</code> : crée les pages wiki listant les eurodéputés par groupe politique d'après une requête XQuery.
+
* <code>en_meps_by_group.pl</code>: Create wiki page listing MEPs by political group from an XQuery query.
* <code>meps_by_committee.pl</code> : crée les pages wiki listant les eurodéputés par commission politique d'après une requête XQuery.
+
* <code>en_meps_by_committee.pl</code>: Create wiki page listing MEPs by committee from an XQuery query.
* <code>meps_by_office.pl</code> : crée les pages wiki listant les eurodéputés par bureau d'après une requête XQuery.
+
* <code>en_meps_by_office.pl</code>: Create wiki page listing MEPs by office from an XQuery query.
* <code>mps_by_name.pl</code> : crée les pages wiki listant les députés par ordre alphabétique d'après une requête XQuery.
 
* <code>mps_by_department.pl</code> : crée les pages wiki listant les députés par département d'après une requête XQuery.
 
* <code>mps_by_group.pl</code> : crée les pages wiki listant les députés par groupe politique d'après une requête XQuery.
 
* <code>mps_by_committee.pl</code> : crée les pages wiki listant les députés par commission parlementaire d'après une requête XQuery.
 
  
====Mise à jour des pages wiki====
+
====Wiki Pages Update====
  
* <code>upload_mediawiki.pl</code> : upload les pages wiki passées en argument.
+
* <code>en_upload_mediawiki.pl</code>: upload wiki pages passed as arguments.
* <code>upload_img.pl</code> : upload les images passées en argument.
+
* <code>upload_img.pl</code>: upload pictures passed as arguments.

Version du 18 juillet 2008 à 16:33

Political Memory : Implemented Software Framework

Pages on this wiki related to Political Memory are based upon a Berkeley DB XML database (BDB XML). Some Perl scripts are run to create this database, to extract informations from this database in order to crate wiki pages, or to update this database from updates made on the wiki pages. Hence these wiki pages can be viewed as a frontend to this database. However there is no real time synchonizations between the database and the wiki pages. Updates of the wiki from the database, and conversely, are frequently made in a semi-automatic way.

A dump of the database, the directory tree, and Perl scripts can be downloaded freely. These scripts are licensed under GNU General Public License version 3 or higher.

Database Setup

  • Untar directory tree tarball (tar zxvf skeleton_memoire_politique.tgz)
  • Download Berkeley DB XML.
  • Install BDB XML with Perl support (sudo sh buildall.sh --enable-perl)
  • Untar dump of the database (tar zxvf dumps_memoire_politique.tgz)
  • Load the following containers from this tarball:
    • container for MEPs: dbxml_load -h <target_directory> -f dump/en_meps.dump en_meps.dbxml
    • container for the votes : dbxml_load -h <target_directory> -f dump/votes.dump votes.dbxml

You can access to this database with shell (dbxml) provided by BDB XML (see tutorial) or by writing your own programs in C++, Java, Perl, Python, PHP or Tcl. Of course, the Perl scripts described below can be use as examples.

Scripts Descriptions

Informations about command line arguments and options of each script are described by simply passing the option ./<script> --help (or ./<script> -h).

Les scripts Perl sont simplement installés en décompressant leur archive (tar zxvf scripts_memoire_politique.tgz)

Database Initialization

  • en_fetch_mep_infos2xml.pl: Fetch all MEPs' informations from the European Parliament website. Every MEP's informations are saved into an XML file, MEPs' pictures are also downloaded.
  • en_rollcall2xml.pl: From a text file produced with a copy/paste from the PDF file listing rollcall votes at the European Parliament, produce the corresponding XML file. The XML file should then be completed by hand to add some descriptions of amendments, voting recommendations, etc.

Database Update

  • load_xml2dbxml.pl: Load XML files passed as arguments into a BDB XML container.
  • en_update_opinions.pl: Update a MEP's opinions from her wiki page into a BDB XML container.
  • vote_update_meps.pl: update MEPs' voting results into a BDB XML container.

Wiki Pages Extraction

  • en_all_meps_xmldb2mediawiki.pl: Create wiki pages for all MEPs from a BDB XML container.
  • en_mep_xmldb2mediawiki.pl: Create the wiki page for a MEP from a BDB XML container.
  • en_vote_xmldb2mediawiki.pl: Create wiki pages related to a vote from a BDB XML container.

Searching Wiki Pages Creation

  • en_meps_by_name.pl: Create wiki page listing MEPs by alphabetical order from an XQuery query.
  • en_meps_by_country.pl: Create wiki page listing MEPs by country from an XQuery query.
  • en_meps_by_group.pl: Create wiki page listing MEPs by political group from an XQuery query.
  • en_meps_by_committee.pl: Create wiki page listing MEPs by committee from an XQuery query.
  • en_meps_by_office.pl: Create wiki page listing MEPs by office from an XQuery query.

Wiki Pages Update

  • en_upload_mediawiki.pl: upload wiki pages passed as arguments.
  • upload_img.pl: upload pictures passed as arguments.