Différences entre versions de « OpenRésultat »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m
 
(30 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
Logiciel de gestion d'élections.
 
Logiciel de gestion d'élections.
  
Documentation essentielle:
+
Documentation de base:
* Configuration initiale: http://adullact.net/docman/view.php/322/683/initialisation_election.pdf (sauter la partie  
+
* Configuration initiale: http://adullact.net/docman/view.php/322/683/initialisation_election.pdf (sauter la partie initialisation SQL)
* Scrutins minicipaux: http://adullact.net/docman/view.php/322/836/liste_municipale.pdf
+
* 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:
 +
* 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)
 +
 
 +
<pre>
 +
## 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
 +
</pre>
 +
 
 +
Apache config (forcer l'encodage latin-1):
 +
<VirtualHost ...>
 +
  AddDefaultCharset ISO-8859-1
 +
  ...
 +
</VirtualHost ...>
 +
 
 +
 
 +
== Archive ==
 +
 
 +
=== Installation des fichiers 1.06 + patches ===
 +
 
 +
<pre>
 +
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!)
 +
</pre>
 +
 
 +
=== 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 ==
 
== Liens ==

Version actuelle datée du 17 janvier 2011 à 09:58

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