Consultation, votez vos AG

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour les zéros !

le besoin

Comme vous savez, il est courant dans un projet de devoir prendre des décisions. Le mieux est donc de pouvoir voter, et ce de manière démocratique.

Pour discuter et arriver à une proposition, c’est extrêmement simple, on a les courriels, la messagerie instantanée. Mais le problème, c’est au moment de vote, et surtout pour comptabiliser les points. Et il manquait ce chaînon. On aurait put utiliser Loomio, mais il était un peu complexe à installer sur notre serveur. Il fallait donc quelque chose !

la réponse

on a donc crée un petit script, consultation. Le fonctionnement est simple : 6 choix de votes et la possibilité de dire pourquoi ce choix.

Pourquoi pas de système de comptes ou autres ? On voulait quelque chose le plus simple possible. Ne pas se compliquer la vie avec tel ou tel truc. On garde le minimum syndical.

6 choix de votes :

Je suis d’accord avec ça !

Je serais content que le groupe décide sans moi !

je pense qu'on peut faire mieux !

J’attends d’avoir plus d’information avant de me faire un avis.

Je suis indifférent à cette proposition.

J’ai de fortes objections avec cette proposition.

Avec un mode de calcul pour la validation de la réponse :

1
2
3
4
5
s’il y a ⅕ (20 %) de BLOCK, le vote est annulé et un nouveau débat est lancé ;
s’il y a ⅓ (33,3 %) de ABSTAIN, le vote est annulé et un nouveau débat est lancé ;
s’il y a ⅓ (33,3 %) de INDIFFERENT, le vote est annulé et un nouveau débat est lancé ;
s’il y a ⅖ (40 %) de WAITING, le vote est annulé et un nouveau débat est lancé ;
Si AGREE dépasse les 50 %, la proposition est adoptée ;

retour d’expérience

Le script semble fonctionner pour notre usage, objectif réussi. Si vous avez des suggestions, on prends !

Pour tester

Édité par qwerty

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+1 -1
Staff

Cette réponse a aidé l'auteur du sujet

Ton système a un gigantesque défaut de sécurité. La démocratie dans les AG c'est bien, quand n'importe qui a autant de voix qu'il le veut, ça ne me paraît pas ultra pertinent.

Il suffit de sortir un outil de test REST (comme Postman, mais il y en a plein) pour envoyer ce qu'on veut en moins de 2 minutes.


PS : mes tests étaient bourrins, donc visibles. Il suffit que quelqu'un s'en serve de manière subtile pour pourrir le vote. Ou au contraire de manière encore plus bourrine (attaque en boucle) pour rendre l'outil inutilisable, et ce sans le moindre effort.

La conséquence, c'est que tout vote qui a utilisé ce système est entaché des soupçon de fraude, puisqu'aucune protection n'existe.

Édité par SpaceFox

Ton sujet à quelques imprécision, par AG dans le titre, doit-on comprendre assemblée générale ?

Petit aspect de management, voté n'est pas LA meilleure solution pour prendre une décision, mais l'une des solutions possible.

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

Il y a plusieurs points à sécuriser :

  1. l'ID du sondage passé en GET : plutôt qu'un ID incrémental, mettre un token aléatoire. Ainsi, on peut difficilement arriver sur un sondage qui ne nous concerne pas.
  2. vérifier que l'on ne passe que l'un des 6 choix. Tout autre choix est ignoré.
  3. pour rendre robuste ce système (un vote = une personne physique), il faut à minima un système de renseignement et de validation d'email. Et encore, 1 email = 1 personne n'est pas vrai. On peut durcir un peu la chose en repérant le user agent, l'IP, etc. Mais cela ne reste toujours pas infaillible.

Llama ◦ FAQ PHPTuto WAMP

+4 -0
Staff

Après il faut relativiser, tout dépend de la cible et du contexte. On utilise tous souvent des doodle et/ou framadate sans identification. Il y a le même problème.

+0 -0
Staff

Oui et non : un truc qu'il est impératif de faire, c'est de mettre une protection contre les XSS et les CSRF (avec un token par exemple) qui suffisent à éviter qu'un quidam noie le système sous des réponses bidon. Il pourra y arriver, mais ce sera beaucoup plus difficile que simplement lancer Postman, et donc arrivera infiniment moins souvent.

La suite des protections dépend effectivement de la cible : est-ce que la confiance peut suffire, ou est-ce qu'il faut prévoir un moyen d'identification du votant ?

Auteur du sujet

Ce que je fais :

  1. J'ai crée un champ email, avec un token ;
  2. Je l'envoie par mail, une adresse du genre : http://dev.localhost/democracy/?id=5&email=clem@zestedesavoir.com&token=c3aceafc364785eed6e7087c63c47093ca358077
  3. je vérifie si la personne à déjà voté.

Ça vous semble bon ?

Juste les emails renseignés au départ pourront voter.

Édité par qwerty

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+0 -0
Auteur du sujet

Concernant

l'ID du sondage passé en GET : plutôt qu'un ID incrémental, mettre un token aléatoire. Ainsi, on peut difficilement arriver sur un sondage qui ne nous concerne pas.

Je dois donc crée un autre champ (genre id_sondage) ? Mais si les gens peuvent pas voter, ça pose un soucis de tomber sur un sondage qui nous concerne pas ?

Édité par qwerty

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+0 -0
Staff

Avec ton nouveau système, effectivement cela ne pose plus problème, puisque si l'on n'est pas sur la liste des "invités" d'un sondage, on ne peut pas voter. Par contre, s'il y a un texte de description lié au sondage, cela vaut quand même le coup qu'on ne puisse pas le lire.

Sinon, demande l'email avant l'affichage du sondage et les choix de vote.

Llama ◦ FAQ PHPTuto WAMP

+0 -0
Auteur du sujet

Avec ton nouveau système, effectivement cela ne pose plus problème, puisque si l'on n'est pas sur la liste des "invités" d'un sondage, on ne peut pas voter. Par contre, s'il y a un texte de description lié au sondage, cela vaut quand même le coup qu'on ne puisse pas le lire.

Sinon, demande l'email avant l'affichage du sondage et les choix de vote.

elyppire

En sachant que tu peux avoir accès à la liste des sondages, je vois pas pourquoi je devrais cacher ceci. A la base, une instance = une organisation, et donc c'est normal d'avoir accès. La question est d'avoir accès en écriture ou en lecture :-). Je sais, c'est plus que simpliste, mais j'assume !

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+0 -0

ne serait-il pas possible :

  • de pouvoir créer une liste d'e-mails à ajouter en un clic / une commande sur un vote, car je vois mal un président d'assoc se retaper les mails de tous les membres à chaque question
  • de ne pas nécessairement justifier sa réponse (je suis d'accord ne nécessite pas forcément de commentaires)
  • de remettre en débat la question si, par exemple, 50% des nommés pour voter ne l'ont pas fait (car je crois qu'il y a parfois des minimums de votants pour des décisions dans les assocs).

Voilà mes idées en vrac après un court test.

+2 -0
Auteur du sujet

Pour les emails, je fais retenir avec un cookie. Pour la justification, c'est fait. Concernant le choix du calcul des résultats, c'est comme ça que ça marche dans le collectif, mais ça s'adapte ;)

EDIT : finalement, un lien avec une base64, plus facile à gérer ^^. exemple

Édité par qwerty

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+0 -0

Cette réponse a aidé l'auteur du sujet

On avait choisi le débat avant tout, afin d'espéree le consensus, je crois que c'est pour ça que qwerty a obligé la justification de sa réponse.

La vie, c'est comme les mirabelles

+0 -0

Le consensus c'est pas la panacée quand même… Ça a pour gros défaut d'étouffer les dissidences. On oublie qu'elles existent alors qu'elle sont bel et bien là, malgré le silence imposé par le consensus pas toujours très consensuel du coup.

Édité par bricabrac

Le bricabrac | La liberté des autres étend la mienne jusqu'à l'infini – Mikhaïl Bakounine

+1 -1
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte