Un scrutin de liste à la proportionnelle propose de répartir les sièges à pourvoir dans une assemblée proportionnellement au nombre de voix.
Après une première répartition des sièges, il reste en général encore de sièges à pourvoir. On peut les répartir (cf. infra.) :
- selon la méthode de la plus forte moyenne.
- selon celle du plus fort reste.
Ce plugin permet d’afficher un formulaire pour calculer la répartition des sièges entre des listes.
Avertissement
Ce plugin n’est plus maintenu. On lui préférera “Opérations électorales”, qui contient les mêmes fonctionnalités, et bien plus !
Installation
Le plugin s’installe comme n’importe quel autre plugin.
Il nécessite SPIP 2.0 minimum et SPIP-Bonux.
Utilisation
Insérer le formulaire :
- dans un article en écrivant
<formulaire|scrut_prop|liste=A;B;C,...>
- dans un squelette en écrivant #FORMULAIRE_SCRUT_PROP{A;B;C;...}
Ou A;B; C ... sont les noms des listes.
Vous pouvez éventuellement entourer le code de <div class="ajax">
et </div>
pour avoir un formulaire ajaxé [1].
Insertion avancée du formulaire
A partir de la version 1.2, il est possible de ne plus proposer aux remplisseurs de formulaires le choix pour les données suivantes :
- nombres de sièges
- seuil pour atteindre des élus
- valeur de la prime majoritaire
- type de répartition (plus fort reste ou plus forte moyenne)
- nombres d’inscrits
Ce sera donc le toilemestre / le rédacteur qui forcera l’une des ses valeurs.
Pour ce faire:
- dans un squelette mettre
#FORMULAIRE_SCRUT_PROP{A;B;C;...,siege=vvv,seuil=www,prime=xxx,repartition=yyy,inscrits=zzz}
- dans un article mettre
<formulaire|scrut_prop|liste=A;B;C;...|siege=vvv|seuil=www|prime=xxx|repartition=yyy|inscrits=zzz|>
Où vvv,www,xxx,zzz sont des entiers [2]. Et où yyy peut prendre les valeurs :
- “reste” pour une répartition au plus fort reste
- “moyenne” pour une répartition à la plus forte moyenne.
Attention ! Il est obligatoire dans ce cas de passer “tout” les arguments. Sinon SPIP “s’embrouille” et prend par exemple le nombre d’inscrits pour le nombre de sièges ... [3] Si jamais vous ne voulez pas “forcer” une variable :
- dans un squelette, écrire nom_de_la_variable=''
, par exemple
#FORMULAIRE_SCRUT_PROP{A;B;C;...,siege=vvv,seuil='',prime=xxx,repartition=yyy,inscrits=zzz}
pour ne pas forcer de seuil.
- dans un article, mettre simpleme nom_de_la_variable=|
, par exemple
<formulaire|scrut_prop|liste=A;B;C;...|siege=vvv|seuil=|prime=xxx|repartition=yyy|inscrits=zzz|>
.
Note (valable avant la version 1.2.1)
Vous pouvez mettre des espaces dans les noms de listes, cependant si vous souhaiter être conforme (X)HTML, ne le faite pas. Les attributs “name” des listes pour le moment sont générées par le nom des listes, espaces compris.
Se servir du formulaire
Le formulaire apparaît.
Remplissez le nombre voix par liste, le nombre de votes blancs ou nuls, le nombre d’inscrits, le seuil minimum de voix (en pourcentage, arrondi à la voix inférieure) pour avoir des élus, le nombre de sièges disponibles et choisissez si vous souhaitez une répartition au plus fort reste ou à la plus forte moyenne. A partir de la version 1.1, vous pouvez également préciser une prime majoritaire de siège, qui sera donnée à la liste arrivée en tête.
Valider. Le formulaire vérifie que :
- les nombres sont bien des entiers (exceptions faite du seuil).
- il n’y a pas plus de votes (ou compris blancs ou nuls) que d’inscrits.
- le nombre de siège n’est pas nul.
- la prime majoritaire n’est pas supérieur au nombre de siège à pourvoir.
Puis il affiche les résultats.
Ce que calcul le formulaire
- Le taux de participation (rapport du nombre de votants, y compris blanc ou nuls, sur le nombre d’inscrits).
- Le taux de blancs ou nuls (rapport du nombre de blancs ou nuls sur le nombre de votants).
- La répartition de sièges (en tenant compte du seuil nécessaire pour avoir des élus).
Reste à faire
- Gérer l’internationalisation.
- Proposer de mettre l’âge des candidats, en cas d’égalité au moment de la répartition de sièges restants.
- Gérer le système complexe des Régionales Françaises, qui fonctionnent à la double proportionnelle.
- Proposer un export CVS des résultats
Annexe : comment calculer la répartition des sièges
Étape 1
Après avoir “éliminé” les listes qui n’atteignent pas le quota de voix, on fait la somme des voix des listes restantes (“voix utiles”).
Puis on divise cette somme par le nombre de siège à pourvoir à la proportionnelle [4], c’est à dire sans les sièges de la prime majoritaire. On obtient ainsi le quotient électoral.
Pour chaque liste pouvant avoir des sièges, on divise le nombre de voix par le quotient électoral. On arrondi le résultat à l’entier inférieur. Le résultat correspond au nombre de siège initiaux de la liste.
Étape 2
Si on fait la somme des sièges attribués, il peut arriver qu’elle ne soit pas égal au nombre de sièges à pourvoir. Auquel cas, deux méthodes s’offrent à nous.
Méthode de la plus forte moyenne.
On divise le nombre de voix de chaque liste [5] par leur nombre de sièges plus 1. On obtient ainsi la moyenne de chaque liste. Celle ayant la plus forte moyenne se voit attribuer un siège de plus.
On recommence l’opération, en tenant compte du nouveau siège attribué, jusqu’à ce que tout les sièges soient attribués.
Dans la division euclidienne [6] du nombre de voix par le quotient électoral, on retient pour chaque liste le reste.
La liste ayant le plus fort reste obtient un siège supplémentaire, puis celle ayant le second plus fort reste etc. Jusquà ce que tout les sièges soient attribués.
Étape 3
Éventuellement, on attribut les sièges de la prime majoritaire à la liste arrivée en tête.
Discussions by date of activity
3 discussions
Bravo pour ce travail.
Une petite mise à jour avec l’approche des régionales est-elle envisagée ?
Ces élections auront lieu, s’il n’y a pas report pour des raisons sanitaires, en mars 2021. Il s’agit d’un scrutin proportionnel à deux tours avec prime majoritaire.
Le mode de scrutin n’ayant pas changé depuis la conception du plugin (à ma connaissance), aucune mise à jour n’est nécessaire. Le plugin permet deja de mettre une prime majoritaire.
Reply to this message
Bonjour,
serait-il possible de remettre le lien compatible sous SPIP 2.1, le lien est actuellement mort :(
Par avance, MERCI
Reply to this message
Super idée et superbe plugin... ceci permettra probablement de démontrer l’intérêt de choisir spip pour un site municipal !
merci ! ....
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
