Description de la recevabilité d’une liste à un scrutin avec le plugin Opérations électorales

Cet article explique comment créer une description YAML permettant l’examen de la recevabilité d’une liste de candidates et de candidats à un scrutin avec le plugin Opérations électorales.

But

Le but des descriptions est de permettre d’aider la personne connectée dans l’espace privé lors de l’élaboration d’une liste. La description de la recevabilité permet de vérifier si les critères nécessaires à la soumission d’une liste à un scrutin sont respectés. En l’absence d’une description de ces critères, le plugin ne bloquera pas le processus considérant à juste titre qu’il n’y pas de recevabilité à verifier.

Intérêt d’utiliser une description de recevabilité

La recevabilité d’une liste est parfois simple (une alternance de genre, c’est à dire une femme suivie d’un homme ou inversement) mais se révèle souvent très complexe (la gestion de groupe dans la liste, avec une parité globale en pourcentage, un nombre minimum de candidates ou de candidats et un même maximum). Celui ou celle qui va composer la liste sera grandement aider par une assistance : la description de la recevabilité permet d’offrir cette aide.

Pré requis

Le présent tutoriel nécessite que vous ayez installé le plugin Opérations électorales et que vous vous familiarisiez avec le format de représentation de données YAML (qui est très simple).

Étape 1 : Créer la description et la sauvegarder à l’emplacement pertinent.

Le répertoire à la racine du plugin, intitulé recevabilites, accueille les descriptions YAML. Regardez les descriptions présentes qui concernent les scrutins proposés en exemple vous permettra de rapidement comprendre les normes utilisées pour procéder à cette description.

Ces descriptions sont écrites en YAML et au sein de fichiers qui portent l’extension .yaml. C’est dans le répertoire précité et sous cette forme que vous pourrez créer vos propres description de recevabilité.

Afin de faciliter la maintenance, il convient de créer le répertoire recevabilites dans votre plugin, mon_nouveau_plugin/recevabilites. L’ensemble des descriptions qui seront placées dans ce répertoire seront automatiquement pris en charge dès l’activation de votre plugin.

Normes de déclaration de la recevabilité

a) une syntaxe simple, par des clés et des valeurs.

La syntaxe de mappage, sous YAML, est la suivante :
clé: valeur [1].

b) des déclarations qui se hiérarchisent au sein de listes.

Ces clés et valeurs sont dans des listes et plusieurs listes imbriquées. Les listes sont indiquées comme des clés (clé:) mais sans valeur correspondante sur la même ligne [2].

La déclaration des conditions de recevabilité utilisées par le plugin Opérations électorales se fait au travers de listes dont les critères sont précisés par des clé: valeur.

c) Au delà de la déclaration de critères, la description déclare également les messages à afficher lorsque ces critères sont atteints ou non.

Ces critères sont souvent des seuils accompagnés des messages d’erreur, de succès ou d’explication à donner relativement à ce seuil [3].

Les trois listes principales

listes

La déclaration des critères de recevabilité concernant l’ensemble de la liste se fait de la façon suivante :

listes:
 global:
  imperatif:
  nb: integer # le nombre de membres que doit impérativement atteindre la liste
  success: <:idome:> # le message bravo
  error: <:idome:> # le message encore un effort
  explication: <:idome:> # l'explication du pourquoi atteindre ce nombre

mandats

La possibilité de déclarer plusieurs mandats permet de répondre aux objectifs de certains scrutins qui visent à pourvoir en une fois aux besoins de plusieurs instances.

La déclaration des mandats auxquels candidatent les membres se fait de la façon suivante :

mandats:
 'code_du_premier_mandat': # code du mandat tel qu'il sera déclaré lors de la création d'un membre de la liste
  titre: <:idome:> # le nom du mandat
  titre_h: <:idome:> # le titre attribué à un homme
  titre_f: <:idome:> # le titre attribué à une femme
 'code_du_second_mandat': # code du mandat tel qu'il sera déclaré lors de la création d'un membre de la liste
  titre: <:idome:> # le nom du mandat
  titre_h: <:idome:> # le titre attribué à un homme
  titre_f: <:idome:> # le titre attribué à une femme

groupes

La déclaration des critères de recevabilité relatifs à d’éventuelles divisions de la liste (en section ou en groupe) se fait de la façon suivante :

groupes:
 '75': # le groupe 75 (code)
  imperatif:
   nb: 25 # doit impérativement contenir 25 membres
   titre: '<:idiome:>' # l'idiome du groupe permettra de précisé de 75 correspond à Paris
 '78': # le groupe 78 (code)
  imperatif:
   nb: 30 # doit impérativement contenir 30 membres
   titre: '<:idiome:>' # l'idiome du groupe permettra de précisé de 78 correspond à Yvelines

Étape 2 : Déclarer la disponibilité de la description créé auprès du scrutin auquel seront soumis les listes

Les descriptions une fois créées sont déclarées lors de la création du scrutin qui accueillera les listes.

Grace à cette déclaration, le plugin ira regarder si les conditions de recevabilité sont réunies. Si vous omettez la déclaration, le plugin ne vérifiera rien.

Déclarer la description de recevabilité lors de la création ou la modification d’un scrutin

Étape 3 : profiter !

Votre description créée et celle-ci déclarée, vous pouvez profiter de la vérification de la recevabilité de la liste lors de la visualisation du contenu d’une liste.

Analyse de recevabilité

Footnotes

[1Notez l’espace entre clé: valeur, c’est très crucial en YAML, contrairement à JSON ou XML

[2L’imbrication de listes se déclare par un espace. Eviter les tab (tabulation) qui ne sont pas acceptés.

[3Les messages par défaut sont cherchés dans un fichier d’idiome de langue lang/list_revevabilites_xx.php.

Vous pouvez, bien sur, déclarer vos propres fichiers et idiomes. Pour les peuplements d’exemple, lorsque des personnalisations sont nécessaires, elles ont été réalisées dans le fichier lang/list_elec_peuplement_xx.php.

Discussion

No discussion

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom