Différences entre les pages « Cacti » et « OpenRésultat »

De Cliss XXI
(Différence entre les pages)
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
 
imported>SylvainBeucler
m (→‎Installation automatique : uploads permissions)
 
Ligne 1 : Ligne 1 :
== Superviseur ==
+
Logiciel de gestion d'élections.
  
aptitude install cacti
+
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
  
Doc d'installation: http://docs.cacti.net/node/137
+
== Déroulement d'une élection avec OpenRésultat ==
  
== Supervisé ==
+
* 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
  
Sur un ordinateur à surveiller: http://docs.cacti.net/node/411
+
== Élection municipale ==
  
aptitude install snmpd
+
== Les champs à saisir ==
# listen on all interfaces, not just localhost
 
sed -i -e "s/\(SNMPDOPTS=.*\) 127.0.0.1'/\1'/" /etc/default/snmpd
 
  
/etc/snmp/snmpd.conf:
+
Une élection:
# http://docs.cacti.net/node/414
+
* contient des bureaux de votes
#rocommunity public
+
** répartis sur des cantons
createUser sv MD5 XYZT1234 DES
+
* présente des choix de votes ("candidats")
group groupsv usm sv
+
** attachés à un parti
view all included .iso 80
+
** attachés à un groupe
access groupsv "" any auth exact all all all
+
** les listes municipales ont un age moyen
+
* a un nombre fixé choix de votes / candidats
syslocation Bat. C2
+
* contient des regroupements (pour comparer avec d'autres villes)
syscontact Cliss XXI you@you.com
+
 
+
=== Ordre de saisie ===
includeAllDisks 90%
+
 
 +
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 ("regroupements") (facultatif)
 +
 
 +
Une fois cela fait, et pas avant, vous pouvez lancer une élection (Configuration -> Config Election)
 +
 
 +
== Du point de vue de l'installateur ==
 +
 
 +
=== Installation automatique ===
 +
 
 +
Version 1.06 + patches 1&2
  
Attention, le mot de passe est utilisé au premier lancement pour créer un utilisateur dans /var/lib. Changer le mot de passe dans <code>snmpd.conf</code> ne fonctionnera pas.
+
<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
  
== Exemple de requête SNMP pour tester ==
+
unzip openmairie_resultat_1.06.zip
 +
unzip patch_1.06-1.zip
 +
unzip patch_1.06_2.zip
  
SNMP v1:
+
cp patch_1.06-1/sieges_elu.php openmairie_resultat/trt/sieges_elu.php
snmpget -v 1 -c public 192.168.1.1 sysUpTime.0
+
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/
  
SNMP v3:
+
cp patch_1.06_2/commune.inc openmairie_resultat/sql/pgsql/
snmpget -v 3 -l authNoPriv -u 'sv' -A 'sekret' 192.168.1.1 sysUpTime.0
+
cp patch_1.06_2/commune.form.inc openmairie_resultat/sql/pgsql/
  
Pour traduire les numéros en une notation symbolique:
+
# (ouf)
$ snmptranslate .1.3.6.1.2.1.1.1.0
 
SNMPv2-MIB::sysDescr.0
 
  
== Mise à jour vers 0.8.7b ==
+
cd openmairie_resultat/
 +
chown root:www-data aff trs web trs pdf
 +
chmod 775 aff trs web trs pdf
  
* Sous 0.8.7b-2.1 (Lenny), pour conserver les mêmes tailles de police que sous 0.8.6i-3.5 (Etch), paramétrer:
 
** Title Font Size 9
 
** Legend Font Size 8
 
** Axis Font Size 7
 
** Unit Font Size 8
 
  
D'autre part il vous faut conserver rrdtool 1.2 (pas 1.3). On cherche une solution pour ne pas avoir à conserver de paquets Etch...
+
aptitude install php-db
Rapporté ici: http://forums.cacti.net/about28971.html et http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=498235 (on parle d'une option <code>--font-render-mode=mono</code> pour contourner le problème).
 
  
En attendant, conserver les dépôts Etch, et ajouter dans <code>/etc/apt/preferences</code>:
+
mkdir /var/www/libs
<pre>
+
pushd /var/www/libs
Package: rrdtool
 
Pin: version 1.2*
 
Pin-Priority: 1001
 
</pre>
 
  
Lenny étant sortie avec des versions incompatibles de Cacti et de rrdtool, la solution viendra probablement d'un backport.
+
wget http://adullact.net/frs/download.php/2369/openmairie_1.19.zip
 +
unzip openmairie_1.19.zip
 +
ln -s openmairie_1.19 openmairie
  
* Toujours dans la même mise à jour, faire une modification de masse (menu Devices) et régler les paramètres SNMPv3. Si vous n'utilisez pas de "Privacy passphrase", il faut remplacer DES par [None], sans quoi plus rien de fonctionne.
+
wget -O fpdf153.tgz 'http://www.fpdf.org/en/dl.php?v=153&f=tgz'
 +
tar xzf fpdf153.tgz
 +
ln -s fpdf153 fpdf
 +
# maybe install the php-fpdf Debian package instead (depends on php5|php5-cli)
  
* Pour le graphe "better memory usage", il faut patcher:
+
wget http://www.artichow.org/data/Artichow-1.1.0-php4+5.tar.gz
<pre>
+
tar xzf Artichow-1.1.0-php4+5.tar.gz
--- /usr/share/cacti/site/scripts/netsnmp_memory_usage.php.dist 2009-02-28 20:47:18.000000000 +0000
+
# TODO: patch Artichow comme expliqué dans la doc OpenRésultat
+++ /usr/share/cacti/site/scripts/netsnmp_memory_usage.php 2009-02-28 20:48:50.000000000 +0000
+
ln -s Artichow-php4+5 artichow
@@ -160,8 +160,13 @@
+
popd
$snmp_version,
 
$snmp_username,
 
$snmp_password,
 
+ "MD5",
 
+ "",
 
+ "[None]",
 
+ "",
 
$snmp_port,
 
- $snmp_timeout);
 
+ $snmp_timeout,
 
+ 3);
 
 
#
 
# make sure the data is not null
 
</pre>
 
  
Enfin pour réactiver l'utilisateur "invité"/"guest", aller dans Settings, onglet Authentication, et selectionner "guest" dans l'option "Guest User".
+
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
  
== Graphes supplémentaires ==
+
cat <<EOF >> /etc/php5/conf.d/openresultat.ini
 +
include_path = ".:/usr/share/php:/var/www/libs/openmairie:/var/www/libs/fpdf:/var/www/libs/artichow"
 +
EOF
  
Meilleur template pour la mémoire: http://forums.cacti.net/about11376.html
+
# Donner des droits d'écriture à Apache pour enregistrer certains fichiers (photos, plans...)
* Importer les deux templates (.xml)
+
chgrp www-data aff/ trs/ web/ trs/ pdf/
* Installer <code>/usr/share/cacti/site/scripts/netsnmp_memory_usage.php</code>
+
chmod 775 aff/ trs/ web/ trs/ pdf/
 +
</pre>
  
Un autre qui fonctionne sans script: http://forums.cacti.net/viewtopic.php?t=25641
+
Apache config:
* Utiliser <code>cdefa=bc,i,-,e,-,a,-,1024,*</code> comme indiqué en page 2 pour corriger le bug de "mémoire négative"
+
<VirtualHost ...>
 +
  AddDefaultCharset ISO-8859-1
 +
  ...
 +
</VirtualHost ...>
  
Graphes sur l'utilisation du disque: http://forums.cacti.net/about12742.html
+
=== Notes sur la version CVS ===
* Importer les deux graphes
 
* Copier <code>partition.xml</code> ''mis à jour'' (http://forums.cacti.net/post-131856.html#131856) dans <code>/usr/share/cacti/resource/snmp_queries/</code>
 
* Ajouter "Disk - I/O" dans les "Host template"
 
* Ajouter la Data Source "SNMP - Disk Statistics" pour les hôtes existants
 
* TODO: problème d'inversion read/write à corriger
 
Il y a aussi un autre script: http://forums.cacti.net/about8777.html
 
  
Température du disque dur: http://www.pawelko.net/Cacti/3-Hddtemp-Template-For-Cacti
+
La version CVS ne contient pas les patches patch_1.06-1.zip et
* <code>cp hddtemp.xml /usr/share/cacti/site/resource/script_queries/</code>
+
patch_1.06-2.zip mais contient également d'autres modifications plus
* <code>cp hddtemp.php /usr/share/cacti/site/scripts/</code>
+
récentes.
* Importer <code>cacti_template_linux_hddtemp_disk_temperature.xml</code>
 
* Installer <code>hddtemp</code> et activer le démon sur <code>0.0.0.0</code>
 
  
MySQL: http://code.google.com/p/mysql-cacti-templates/
+
cvs -d:pserver:anonymous@cvs.adullact.net:/cvsroot/openresultat co openmairie_resultat
  mysql -e "GRANT SUPER, PROCESS ON *.* TO 'cacti_probe' IDENTIFIED BY 'XXXXX';"
+
cp ss_get_mysql_stats.php /usr/share/cacti/site/scripts/
+
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):
  chmod 640 /usr/share/cacti/site/scripts/ss_get_mysql_stats.php
+
  find -name "Root" | while read file; do echo ":pserver:anonymous@cvs.adullact.net:/cvsroot/openresultat" > $file; done
  chgrp www-data /usr/share/cacti/site/scripts/ss_get_mysql_stats.php
+
  find -name "Repository" | xargs dos2unix
# edit ss_get_mysql_stats.php, $mysql_user and $mysql_pass
+
  find -name "*.php" -o -name "*.inc" -o -name "*.css" -o -name "*.sql" -o -name "*.html" -o -name "*.js" | xargs dos2unix
* puis importer <code>cacti_host_template_x_db_server_ht_0.8.6i.xml</code> (si page blanche, essayer d'augmenter la mémoire maximale de PHP, paramètre <code>memory_limit</code> dans <code>php.ini</code>)
 
  
Apache:
 
* http://www.devco.net/pubwiki/ApacheBlackbox - stats supplémentaires via modlog_io, mais pas l'intégration prévue de Cacti n'est toujours pas disponible
 
* http://freshmeat.net/projects/apachestats/ - ApacheStats, plus maintenu; en action: http://elemental.org/cacti/graph_view.php
 
* http://sourceforge.net/projects/apachestats/ - stockage dans MySQL + front-end (pas de rapport avec cacti)
 
  
 
== Liens ==
 
== Liens ==
  
* [http://www.net-snmp.org/docs/FAQ.html#How_do_I_use_SNMPv__ Net-SNMP FAQ: How do I use SNMPv3?]
+
* [http://www.openmairie.org/demonstration/openresultat Présentation sur openMairie]
 +
* [http://adullact.net/projects/openresultat/ Page projet]
 +
* [http://www.openmairie.org/demonstration/openresultat Documentation officielle]
 +
* [http://adullact.net/docman/index.php?group_id=322&selected_doc_group_id=502&language_id=1 Autre page de documentation officielle] (sur la forge)

Version du 3 mars 2008 à 11:28

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 ("regroupements") (facultatif)

Une fois cela fait, et pas avant, vous pouvez lancer une élection (Configuration -> Config Election)

Du point de vue de l'installateur

Installation automatique

Version 1.06 + patches 1&2

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)

cd openmairie_resultat/
chown root:www-data aff trs web trs pdf
chmod 775 aff trs web trs pdf


aptitude install php-db

mkdir /var/www/libs
pushd /var/www/libs

wget http://adullact.net/frs/download.php/2369/openmairie_1.19.zip
unzip openmairie_1.19.zip
ln -s openmairie_1.19 openmairie

wget -O fpdf153.tgz 'http://www.fpdf.org/en/dl.php?v=153&f=tgz'
tar xzf fpdf153.tgz
ln -s fpdf153 fpdf
# maybe install the php-fpdf Debian package instead (depends on php5|php5-cli)

wget http://www.artichow.org/data/Artichow-1.1.0-php4+5.tar.gz
tar xzf Artichow-1.1.0-php4+5.tar.gz
# TODO: patch Artichow comme expliqué dans la doc OpenRésultat
ln -s Artichow-php4+5 artichow
popd

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

cat <<EOF >> /etc/php5/conf.d/openresultat.ini
include_path = ".:/usr/share/php:/var/www/libs/openmairie:/var/www/libs/fpdf:/var/www/libs/artichow"
EOF

# Donner des droits d'écriture à Apache pour enregistrer certains fichiers (photos, plans...)
chgrp www-data aff/ trs/ web/ trs/ pdf/
chmod 775 aff/ trs/ web/ trs/ pdf/

Apache config:

<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


Liens