Nextcloud poll csv import
This commit is contained in:
116
LISEZMOI.md
Normal file
116
LISEZMOI.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# Libraire de calcul Jugement majoritaire
|
||||
|
||||
Le fonctionnement actuel est de fournir un fichier json contenant la votation.
|
||||
Ce fichier n'a pas de connaissance des votants, juste de leur vote.
|
||||
|
||||
Parmi les méthodes de vote le jugement majoritaire est très récent.
|
||||
C'est la description de wikipedia https://fr.wikipedia.org/wiki/Jugement_majoritaire qui a servi de référence.
|
||||
|
||||
(https://en.wikipedia.org/wiki/Majority_judgment)
|
||||
|
||||
L'implémentaion est très basique et miminale :
|
||||
|
||||
|langage|code|
|
||||
|-----|---------------------|
|
||||
|python|code/parse_sample.py|
|
||||
|php|code/parse_sample.php|
|
||||
|
||||
# Formats des votations ( json )
|
||||
|
||||
Le format d'entrée est un fichier json, des exemple sont sous le répertoire samples.
|
||||
|
||||
Le format de sortie est aussi un fichier json
|
||||
|
||||
## candidats
|
||||
|
||||
les candidats ont des clés textuelles courtes, qui peuvent être numérique ou alpjanumérique et un nom complet de candidat.
|
||||
|
||||
```
|
||||
"A":"albert",
|
||||
"B":"Beatrice",
|
||||
"C":"Chloé",
|
||||
"D":"Deborah",
|
||||
"E":"Eric",
|
||||
"F":"Francçois",
|
||||
"G":"Gisèle",
|
||||
"H":"Hugo"
|
||||
```
|
||||
|
||||
## votants
|
||||
|
||||
Une indication du nombre de votants sert à valider que tous les votes sont bien listés. C'est une information redondante avec la liste des votes de la votation.
|
||||
|
||||
"decompte":10
|
||||
|
||||
|
||||
## mentions
|
||||
|
||||
La sémantique des mentions est spécifiquer à chaque vote, un texte descriptif indique.
|
||||
|
||||
Les mentions sont ordonnées de la mention la meilleure numérotée 0 à la plus mauvaise, la dernière.
|
||||
|
||||
|0|Très Bien|
|
||||
|1|Bien|
|
||||
|2|Assez Bien|
|
||||
|3|Passable|
|
||||
|4|Insuffisant|
|
||||
|5|A rejeter|
|
||||
|
||||
## votation
|
||||
|
||||
Pour information une date et un lien de vote sont ajoutés.
|
||||
Leur contenu est textuel et laissé à l'appréciation de l'utilisateur, le champ n'est pas analysé.
|
||||
|
||||
```
|
||||
"date":"14 juin 2025",
|
||||
"lieu":"liffré",
|
||||
```
|
||||
|
||||
### votes
|
||||
|
||||
le vote est une liste des vote de chaque participant.
|
||||
|
||||
chaque vote contient une liste de référence des candidats et le rang de leur mention.
|
||||
|
||||
### import
|
||||
|
||||
Import de fichiers csv provenant de l'application de sondage de nextcloud (polls).
|
||||
|
||||
Dans le sondage il est possible d'exporter les votes en csv, le fichier est à fournir au script qui va générer un json. Ce json pourra être utilisé dans le programme de vote pour obtenir le résultat.
|
||||
|
||||
Le programme supprime les informations des votants et ne conserve que leur vote.
|
||||
|
||||
Les mentions par défaut sont :
|
||||
|
||||
|0|yes|
|
||||
|1|maybe|
|
||||
|2|(empty)|
|
||||
|3|no|
|
||||
|
||||
|
||||
ATTENTION ceci ne fonctionne qu'avec une version beta de Nextcloud Poll :
|
||||
|
||||
git@github.com:artlog/polls.git majority_judgement_feature
|
||||
|
||||
Avec une confiugration du sondage spécifique où les 'Rank Options' ont été nommées, il est nécessaire de passer les noms des mentions dans l'ordre, du meilleur au plus mauvais.
|
||||
|
||||
voici l'exemple classique des mentions :
|
||||
|
||||
/!\ On remarque la différence entre fr et en.
|
||||
|
||||
|index|fr|en|
|
||||
|-----|--|--|
|
||||
|0|Très Bien|Excellent|
|
||||
|1|Bien|Very Good|
|
||||
|2|Assez Bien|Good|
|
||||
|3|Passable|Acceptable|
|
||||
|4|Insuffisant|Poor|
|
||||
|5|A Rejeter|Reject|
|
||||
|
||||
ceci donne la commande suivante :
|
||||
|
||||
python3 convert_nextcloud_poll_csv.py ../samples/poll1.csv 'Très Bien' 'Bien' 'Assez Bien' 'Passable' 'Insuffisant' 'A Rejeter'
|
||||
|
||||
/!\ l'ordre des mention est crucial.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user