OpenRésultat

De Cliss XXI
Sauter à la navigation Sauter à la recherche
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Logiciel de gestion d'élections.

Documentation de base:

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:

  • Participation par bureau de vote
  • Première centaine
  • Résultats définitifs

Du point de vue de l'installateur

Installation automatique

  • Version 1.07
  • Réalisée sous Debian GNU/Linux, version Etch (4.0)
## Installation des fichiers OpenRésultat
wget http://adullact.net/frs/download.php/2511/openmairie_resultat_1.07.zip
unzip openmairie_resultat_1.07.zip
ln -sf openmairie_resultat_1.07 openmairie_resultat

# 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 ...>


Archive

Installation des fichiers 1.06 + patches

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!)

Notes sur la version CVS

La version CVS (vers 2008-01) 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 1.06 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

Liens