SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 60 visiteurs en ce moment

Accueil du site > Interactivité, échanges > Scrutin de liste à la proportionnelle > Plugin « scrutin de liste à la proportionnelle »

Plugin « scrutin de liste à la proportionnelle »

Formulaire de calcul de répartition de sièges.

7 juin 2009 – par Maïeul – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

9 votes

Proposer sur son site de calculer la répartition des sièges dans un scrutin de liste à la proportionnelle.

Un scrutin de liste à la proportionnelle propose de répartir les sièges à pourvoir dans une assemblée proportionnellement au nombre de siège.

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.

Installation

Le plugin s’installe comme n’importe quel autre plugin.

Il nécessite SPIP 2.0 minimum et SPIP-Bonux.

Zip - 5.6 ko
Scrutin de liste à la proportionelle
Télècharger le plugin

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.

PNG - 35.9 ko
Exemple de formulaire

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, de 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.

Méthode du plus fort reste

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.

P.-S.

Logo : Bundestag Allemand

Notes

[1C’est à dire dont seul le formulaire sera rechargé, et non pas toute la page.

[2Exception faite de www qui peut-être un nombre décimal, à condition de remplacer la virgule par un point

[3En fait, pour SPIP, la seul chose qui compte, c’est l’ordre dans lequel les arguments sont passés.

[4C’est à dire sans ceux donnés en prime majoritaire

[5Entrant dans la répartition des sièges.

[6C’est à dire « avant la virgule ».

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)

  • Plugin Vidéo(s)

    23 novembre 2010 – 293 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Interface de gestion et modèle d’insertion des vidéos : Dailymotion Vimeo Youtube Modèle de la balise HTML5 video avec alternative flash html5media : Lecture HTML5/Flash pour tout navigateur des fichiers MP4/H264/Ogg/WebM/Mkv Support mobile, (...)

  • Plugin SPIPAL

    10 janvier 2011 – 79 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Pour intégrer un système de paiement immédiat via PayPal à certains de vos articles . Ce plugin est une mise à niveau pour la version SPIP 2.1.8 du Plugin GoPayPal qui était resté en SPIP 1.9.2 depuis 3 ans. Il change de nom pour ne pas faire trop de (...)