Political Memory Software

De La Quadrature du Net
Révision datée du 18 juillet 2008 à 15:29 par Neurone2 (discussion | contributions) (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|...)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Mémoire politique : infrastructure informatique mise en place

Les pages de ce wiki relatives à 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.

Une archive (dump) de la base de donnés, l'arborescence des répertoires, ainsi que les scripts Perl utilisés peuvent être librement téléchargés. Ces scripts sont distribués sous une licence GNU General Public License version 3 ou supérieure.

Installation de la base de données

  • Décompressez l'archive de la hiérarchie de répertoires (tar zxvf skeleton_memoire_politique.tgz)
  • Téléchargez Berkeley DB XML.
  • Installez BDB XML avec le support de Perl (sudo sh buildall.sh --enable-perl)
  • Décompressez l'archive de la base de données (tar zxvf dumps_memoire_politique.tgz)
  • Chargez chacun des container de cette archive :
    • container pour les députés : dbxml_load -h <repertoire_cible> -f dump/mps.dump mps.dbxml
    • container pour les eurodéputés : dbxml_load -h <repertoire_cible> -f dump/meps.dump meps.dbxml
    • container pour les votes : dbxml_load -h <repertoire_cible> -f dump/votes.dump votes.dbxml

Vous pourrez manipuler cette base de données à l'aide du shell (dbxml) fourni avec BDB XML (cf. 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.

Description des scripts

Les informations concernant les arguments et options de chaque script peuvent simplement être obtenues en utilisant l'option ./<script> --help (ou ./<script> -h).

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

Initialisation de la base

  • fetch_mep_infos2xml.pl : 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.
  • fetch_mp_infos2xml.pl : 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.
  • rollcall2xml.pl : à 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

  • load_xml2dbxml.pl : charge les fichiers XML passés en argument vers un container BDB XML.
  • update_opinions.pl : met à jour dans un container BDB XML les prises de position d'un responsable politique à partir de sa page wiki.
  • vote_update_meps.pl : met à jour dans un container BDB XML les résultats des votes des responsables politiques.

Extraction des pages wiki

  • all_meps_xmldb2mediawiki.pl : crée les pages wiki de tous les eurodéputés à partir du container BDB XML.
  • all_mps_xmldb2mediawiki.pl : crée les pages wiki de tous les députés à partir du container BDB XML.
  • mep_xmldb2mediawiki.pl : crée une page wiki d'un eurodéputé à partir du container BDB XML.
  • mp_xmldb2mediawiki.pl : crée une page wiki d'un député à partir du container BDB XML.
  • vote_xmldb2mediawiki.pl : crée les pages wiki d'un vote à partir du container BDB XML.

Création de pages wiki de navigation

  • meps_by_name.pl : crée les pages wiki listant les eurodéputés par ordre alphabétique d'après une requête XQuery.
  • meps_by_region.pl : crée les pages wiki listant les eurodéputés par région d'élection d'après une requête XQuery.
  • meps_by_group.pl : crée les pages wiki listant les eurodéputés par groupe politique d'après une requête XQuery.
  • meps_by_committee.pl : crée les pages wiki listant les eurodéputés par commission politique d'après une requête XQuery.
  • meps_by_office.pl : crée les pages wiki listant les eurodéputés par bureau d'après une requête XQuery.
  • mps_by_name.pl : crée les pages wiki listant les députés par ordre alphabétique d'après une requête XQuery.
  • mps_by_department.pl : crée les pages wiki listant les députés par département d'après une requête XQuery.
  • mps_by_group.pl : crée les pages wiki listant les députés par groupe politique d'après une requête XQuery.
  • mps_by_committee.pl : 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

  • upload_mediawiki.pl : upload les pages wiki passées en argument.
  • upload_img.pl : upload les images passées en argument.