Bonjour, je suis en train de coder une extension WordPress pour un concours de chansons. Bien que je souhaite coder de manière générique pour que ce soit réutilisable (peut-être pas dès la première version), j’essaye déjà de répondre à mes problématiques.
Dans mon contexte actuelle, j’ai des scrutins qui sont les concours de chaque mois, les propositions sont les chansons. Les votes seraient fait par chansons et donc la fiche de chaque chansons disposerait des boutons pour juger la chanson. Les différentes chansons n’auront pas le même nombre de vote dans un scrutin. Les votants et les chansons doivent pouvoir se rajouter alors que le scrutin est déjà ouvert.
J’ai différents problèmes :
- Vote blanc
Le vote blanc n’existe pas classiquement dans le JM. Habituellement les défenseurs de la prise en compte du vote blanc souhaitent en faire un mécanisme de rejet du scrutin. Dans mon cas c’est différent : il est assez normal que tous le monde n’aille pas écouter et juger toutes les chansons car les chansons peuvent suivre un genre musical qui n’est pas apprécié de tous. Donc on pourrait vouloir un bouton pour afficher de ne pas proposer cette chanson. Est-ce que vous avez une idée ?
- Bourrage d’urne
Il s’agit d’identifier les votants. Là c’est plus un problème projet de mon côté mais vous avez peut-être une recommandation.
- Soit je demande à chaque votant de s’inscrire pour pouvoir voter avec confirmation par mail, et avec quelques mécanismes supplémentaires (anti alias et mails jetables) je lutte contre la même personne qui vote à répétition ;
- Soit j’enregistre les adresses IP mais ça empêche plusieurs personnes de voter depuis un même domicile. Même, avec le partage des IP, j’imagine qu’il pourrait y avoir des malchances ;
- Soit j’enregistre un cookie mais qui ne certifie pas grand chose car l’utilisateur peut le supprimer de son navigateur ;
- Soit je gère une forme de micro inscription (avec validation par mail) dans l’extension de vote et plus de l’inscription normale dans le site WordPress.
- Propriété
Vous voulez l’extension quand il sera fini ? Je le fais en mon nom maintenant mais si ça vous intéresse, il vaudrait mieux qu’il figure dans votre panel d’outils pour permettre à tout le monde d’organiser des votes sur son site WordPress.
Super ! Un plugin Wordpress est très demandé. 
1. Normalisation
Le cas que tu décris (trop de candidats pour humainement les juger tous) peut être résolu par ce qu’on appelle une normalisation.
En essence, c’est effectuer le JM sur des profils de mérite dont les valeurs sont des pourcentages.
Il y a au moins deux façons de procéder :
- Passer par des nombres réels (flottants), et prendre le risque d’être imprécis et faux (must read)
- Rester en nombre entiers et normaliser en utilisant le plus petit multiple commun, qui est toujours exact mais va requérir une bibliothèque spécialisée pour gérer les très grands entiers.
Je préconise la solution 2, car manipuler de très grands entiers est nécessaire de toutes façons pour d’autres aspects analytiques du JM (cf. l’app Android), dont tu auras peut-être envie/besoin plus tard.
2. Bourrage
Bonne chance.
3. Propriété
Une fois que tu auras composé un plugin réutilisable, il sera reçu avec joie dans les dépôts ! Et si tu souhaites un dépôt de travail pour le plugin directement dans l’espace de nom de MV sur Github, n’hésite pas à m’envoyer ton pseudo Github.
La team dev est sur Discord, on zone les vendredi après-midi, n’hésite pas à venir peer-coder, et poser des questions en vocal.

Merci pour votre réponse. Vous répondez aux points. J’ai des contraintes projets qui m’impose une version rapide avant une version complète.
1. Normalisation
Ah c’est ça ! J’ai vu le code majority-judgment-library-php/src/MajorityJudgment/Model/Tally/Balancer.php at master · MieuxVoter/majority-judgment-library-php · GitHub et les indications m’ont donné l’impression d’un alignement difficile à suivre. Je ne serait pas sur les très grands entiers (idéalement si succès ce serait quelques centaines de chansons et quelques milliers de votants) mais je m’attends surtout à une grande différence sur le nombre de votants selon le buzz que peut faire une chanson. Donc le plus petit multiple commun de toutes les proposition risque de gonfler les chiffres si les plus grands nombres ont le malheur d’être premiers.
Mes demandeurs ont un besoin assez pressant donc je crains devoir faire la solution facile d’abord, mais je suis tout à fait favorable à mettre en place la solution recommandée.
2. Bourrage
Merci et je comprends. Pour information ce serait en premier que pour les inscrits WordPress et ensuite, selon le temps, avec micro inscription.
3. Propriété
Super ! J’aurais juste besoin que ça reste dans des licences libres pour continuer à utiliser évidemment. Mon pseudo est ysaenger · GitHub.
Je suis déjà contributeur pour ce projet GitHub - MieuxVoter/majority-judgment-ballot-scanner · GitHub que je n’ai jamais pu mettre au propre. Je l’utilise, tout comme l’application Android pour les débats que j’organise.
Je pense pouvoir passer ce prochain vendredi après-midi étant en congés.
J’avance dans mon développement, pas aussi vite que je l’espérais, mais j’ai tout de même une réflexion sur la normalisation.
Vous dites les flottants ont un problème d’imprécision (oui) et il faut rester sur des entiers (oui).
Je réalise que dans le cas de calcules de proportions de votes (votes des mentions / total des votes) on a toujours des nombres rationnels qui s’écrivent toujours par deux nombres entiers (Numérateur / Dénominateur).
Si on veut tester A==B, en transportant toutes les valeurs, au lieu de tester (NA / DA) == (NB / DB), serait-il juste de chercher à simplifier les fractions en restant dans les entiers et comparer NA’ == NB’ et DA’ == DB’ ?