OpenRésultat
Révision datée du 4 mars 2008 à 12:02 par imported>SylvainBeucler (→Installation automatique : ajout de /tmp dans les répertoires dont il faut changer les permissions)
Logiciel de gestion d'élections.
Documentation de base:
- Configuration initiale: http://adullact.net/docman/view.php/322/683/initialisation_election.pdf (sauter la partie initialisation SQL)
- Quelques détails de configuration pour scrutins municipaux: http://adullact.net/docman/view.php/322/836/liste_municipale.pdf
- Une vidéo de présentation (nécessite Java): http://demo.openmairie.org/openvideo/openresultat_presentation.html
Déroulement d'une élection avec OpenRésultat
- Fonctionne pour une et une seule collectivité
- La collectivité peut s'étendre sur un ou plusieurs cantons
- Chaque canton dispose de bureaux de vote rattachés à la collectivité
- Les élections sont créées au moment où commence l'élection officielle
- À la création, une copie de la configuration (candidats, bureaux de vote...) est effectuée - plus de changement possible! (Cela est nécessaire pour pouvoir archiver l'élection.)
- On remplit d'une part la participation par tranche horaire
- On remplit d'autre part les résultats du scrutin
- La première centaine peut être saisie à part pour des premières statistiques
- Pendant la saisie, un module de visualisation affiche les statistiques en cours
- La page web de visualisation est conçue pour être rétro-projetée
Élection municipale
Les champs à saisir
Une élection:
- contient des bureaux de votes
- répartis sur des cantons
- présente des choix de votes ("candidats")
- attachés à un parti
- attachés à un groupe
- les listes municipales ont un age moyen
- a un nombre fixé choix de votes / candidats
- contient des regroupements (pour comparer avec d'autres villes)
Ordre de saisie
Il faut donc entrer dans l'ordre:
- Nom de la collectivité (Paramétrage -> Collectivité)
- Les cantons (Paramétrage -> Cantons)
- Les bureaux de vote (Paramétrage -> Bureaux de vote)
- Les partis (Paramétrage -> Partis politiques)
- Les groupes (Paramétrage -> Groupes politiques)
- Les listes (Paramétrage -> Candidats)
- L'age moyen des listes (Paramétrage -> Listes municipales) (facultatif)
- Les autre villes (Saisie -> Regroupements) (facultatif)
Une fois cela fait, et pas avant, vous pouvez lancer une élection
- L'élection elle-même (Configuration -> Election(s) en cours)
- Les candidats de l'élection (Configuration -> Config Election -> config_candidat)
- Le nombre d'inscrits dans chaque bureau de vote (Configuration -> Config Election -> config_bureau)
Ensuite les résultats, au fur et à mesure:
- Première centaine
- Résultats définitifs
- Participation par bureau de vote
Du point de vue de l'installateur
Installation automatique
- Version 1.06 + patches 1&2
- Réalisée sous Debian GNU/Linux, version Etch (4.0)
## Installation des fichiers OpenRésultat
wget http://adullact.net/frs/download.php/2373/openmairie_resultat_1.06.zip
wget http://adullact.net/frs/download.php/2429/patch_1.06-1.zip
wget http://adullact.net/frs/download.php/2436/patch_1.06_2.zip
unzip openmairie_resultat_1.06.zip
unzip patch_1.06-1.zip
unzip patch_1.06_2.zip
cp patch_1.06-1/sieges_elu.php openmairie_resultat/trt/sieges_elu.php
cp patch_1.06-1/dbform_saisie.class.php openmairie_resultat/obj/dbform_saisie.class.php
cp patch_1.06-1/var.inc openmairie_resultat/aff/dyn/var.inc
cp patch_1.06-1/mysql/init.sql openmairie_resultat/data/mysql/
cp patch_1.06-1/pgsql/liste.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/liste.form.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/regroupement_en_cours.reqmo.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/regroupement.form.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/saisie_regroupement.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/collectivite.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/collectivite.form.inc openmairie_resultat/sql/pgsql/
cp patch_1.06-1/pgsql/init.sql openmairie_resultat/data/pgsql/
cp patch_1.06-1/pgsql/ver1.06.sql openmairie_resultat/data/pgsql/
cp patch_1.06_2/commune.inc openmairie_resultat/sql/pgsql/
cp patch_1.06_2/commune.form.inc openmairie_resultat/sql/pgsql/
# (ouf)
# Donner des droits d'écriture à Apache pour enregistrer certains fichiers (photos, plans...)
cd /var/www/openmairie_resultat/
chgrp -R www-data aff/ pdf/ tmp/ trs/ web/
chmod -R g=rwX aff/ pdf/ tmp/ trs/ web/
## Dépendences
aptitude install php-db
# Installe le paquet Debian php-fpdf, en forçant php5 (et non pas php4):
aptitude install php5 php-fpdf
mkdir /var/www/libs
pushd /var/www/libs
# OpenMairie:
wget http://adullact.net/frs/download.php/2369/openmairie_1.19.zip
unzip openmairie_1.19.zip
ln -s openmairie_1.19 openmairie
# Artichow:
aptitude install php5-gd # dépendence d'Artichow
wget http://www.artichow.org/data/Artichow-1.1.0-php4+5.tar.gz
tar xzf Artichow-1.1.0-php4+5.tar.gz
ln -s Artichow-php4+5 artichow
# TODO: autres patches Artichow comme expliqué dans la doc OpenRésultat
# Contourne le problème "missing imageantialias() function"
cat <<EOF > artichow.diff
--- php5/inc/drivers/gd.class.php~ 2006-12-15 18:25:10.000000000 +0100
+++ php5/inc/drivers/gd.class.php 2008-03-03 19:57:48.000000000 +0100
@@ -159,8 +159,10 @@
imageantialias($this->resource, (bool)$bool);
$this->antiAliasing = (bool)$bool;
- } else {
+ } else if ($bool == TRUE) {
awImage::drawErrorFile('missing-anti-aliasing');
+ } else {
+ $this->antiAliasing = FALSE;
}
}
EOF
patch -p0 < artichow.diff
popd
# Dire à PHP où les trouver:
cat <<EOF > /etc/php5/conf.d/openresultat.ini
include_path = ".:/usr/share/php:/var/www/libs/openmairie:/usr/share/php/fpdf:/var/www/libs/artichow"
EOF
## Base de données
mysqladmin create openresultat
mysql openresultat < data/mysql/init.sql
# Each entry in '$conn' will be shown in the frontpage
pass=`pwgen -s1`
mysql -e "GRANT ALL PRIVILEGES ON openresultat.* TO 'openresultat' IDENTIFIED BY '$pass';"
cat <<'EOF' > dyn/base.php
<?php
$conn[1] = array ( 'OpenResultat sur MySQL', // Titre sur la page index.php
'mysql', // Phptype
'', // Dbsyntax
'openresultat', // Utilisateur
'CHANGETHEPASSWORD', // Mot de passe
'', // Protocole
'localhost', // Hote
'', // Port
'', // Socket
'openresultat', // Nom de la base de données
'AAAA-MM-JJ' // Format date de la base
);
EOF
sed -i -e "s/CHANGETHEPASSWORD/$pass/" dyn/base.php
Apache config (forcer l'encodage latin-1):
<VirtualHost ...> AddDefaultCharset ISO-8859-1 ... </VirtualHost ...>
Notes sur la version CVS
La version CVS ne contient pas les patches patch_1.06-1.zip et patch_1.06-2.zip mais contient également d'autres modifications plus récentes.
cvs -d:pserver:anonymous@cvs.adullact.net:/cvsroot/openresultat co openmairie_resultat
Pour faire un diff avec la version CVS (c'est à dire convertir la version en téléchargement en copie de travail CVS à peu près correcte):
find -name "Root" | while read file; do echo ":pserver:anonymous@cvs.adullact.net:/cvsroot/openresultat" > $file; done find -name "Repository" | xargs dos2unix find -name "*.php" -o -name "*.inc" -o -name "*.css" -o -name "*.sql" -o -name "*.html" -o -name "*.js" | xargs dos2unix