31 Un système de VOTE OPEN SOURCE

Un exemple très simple auquel des tas de gens seront confrontés:
Si votre ordinateur est connecté à votre «box» (routeur/point d’accès à internet) via wifi par exemple, il est probablement (très) relativement protégé, par une clef, permettant d’en limiter la connexion et permettant de crypter vos communications avec le routeur. Ce type de protection se casse facilement (il existe même une suite logiciel toute prête très célèbre qui le fait très bien). Ce problème freine un pirate quelques minutes tout au plus.
À partir de là, ce même pirate peut lire les «pacquets» (les petits bout d’information qu’échangent vos périphériques pour communiquer). Il peut même intercepter ceux que vous envoyer à votre routeur et les modifier avant de les lui transmettre.

À partir de là, ce n’est qu’une question de temps avant de connaître le contenu de votre vote. Il n’est donc ni secret ni anonyme.

Entre vous et le serveur qui réceptionne votre vote, il y aura toujours toujours quelqu’un qui pourra écouter. Même si vous crypter, on pourra toujours casser, ce n’est qu’une question de temps (surtout qu’on parle de millions de votes par internet). Et puis si c’est crypter ça pose de gros problèmes… Personne ne peut alors plus contrôler le bon acheminement de votre vote.

En votant par internet, le vote ne peut-être secret ou anonyme.

Ci-dessus Jacques j’ai proposé de détecter des erreurs. Mais leur détection non plus n’est pas sans faille (et est extrêmement coûteuse). On se retrouve assez facilement en situation indéterminée quand au résultat en absence de contrôles assez nombreux (qui comme la détection sont très couteux).

[bgcolor=#CCFFFF][/bgcolor]@Adrien (141).

Les messages relatifs au vote Internet sont nombreux et malheureusement répartis sur deux fils (@Étienne : je renouvelle ma suggestion d’intégrer au fil « OPEN SOURCE » les messages du fil « Vote électronique » relatifs au vote électronique, et de réintituler le fil « Vote électronique » « Vote à points », cette question n’ayant pratiquement rien à voir avec celle du vote électronique : ça faciliterait vraiment les choses.).

Je vous renvoie à ma proposition (voir http://etienne.chouard.free.fr/forum/viewtopic.php?pid=16415#p16415), reproduite ici en substance pour la commodité de la référence :

[i] 1) Dans chaque circonscription, dès avant le vote, la liste électorale nominative arrêtée définitivement sera imprimée et affichée pour que chaque citoyen puisse vérifier qu’il n’y a pas d’anomalie (bourrages, suppressions intempestives, erreurs de nom) ;

  1. Quelques jours avant le vote, chaque électeur va tirer au sort à la mairie, dans deux urnes, deux enveloppes contenant l’une un pseudonyme, l’autre un mot de passe ;

  2. Chaque électeur vote électroniquement, à partir de n’importe quel ordinateur, au moyen de son pseudo et de son mot de passe ;

  3. Dès la clôture électronique du vote, la liste électronique des votes de circonscription est imprimée et affichée ou publiée dans tous les lieux officiels appropriés (bureau de circonscription, mairie, écoles, etc.).

Cette liste donne aussi les résultats de circonscription.

[Cette liste par pseudo indique en face de chaque pseudo s’'il y a eu vote en faveur d’un candidat ou d’une liste, s’il y a eu vote blanc ou si l’électeur était absent (la mention « absent » couvrirait les cas d’abstention volontaire ou involontaires indifféremment).

Une des beautés du vote électronique est qu’il ne connaît pas le vote nul (il y a vote, ou il n’y a pas vote). Une autre de ses beautés est qu’il permet expressément le vote blanc (déjà prévu par le code électoral en vigueur dans le cas du vote électronique).

  1. À partir des listes imprimées et publiées, chaque électeur peut procéder aux contrôles suivants : 1) l’indication correcte figure bien en face de son pseudo ; 2) la liste des pseudos et des indications « absence » figurant sur la liste de résultats correspond bien, en nombre, à la liste électorale publiée avant le vote ; 3) la comptabilité des votes de circonscription figurant sur la liste de résultats de la circonscription est bien conforme aux indications figurant dans la partie pseudos.

  2. À partir des résultats de circonscription, il suffit d’additionner pour vérifier jusqu’au niveau national.

  3. Si le système s’est trompé ou a menti en donnant les résultats, les citoyens, qui seront des millions à vérifier (en plus du Conseil constitutionnel) repèreront très vite à partir des listes imprimées les erreurs d’enregistrement ou de décompte : le système électronique ne peut pas empêcher ces vérifications extra-électroniques.

À noter:

– Deux cloisonnement suffiraient pour assurer l’effectivité de la vérification : 1) le cloisonnement des opérations de vote par circonscription ; 2) le cloisonnement de la procédure pseudo + mot de passe (procédure-papier qui, donc, coupe le circuit électronique et assure un anonymat total tant au niveau du vote qu’au niveau du dépouillement).

– On peut imaginer des cloisonnements supplémentaires : par exemple, répartir les votes sur des plages horaires choisies (ou même tirées au sort) par chaque électeur au dernier moment (mettons qu’on pourrait choisir de voter entre midi et deux heures ou entre 5 heures et 7 heures du matin), le système empêchant de voter au nom de cet électeur aux mêmes plages horaires). Mais dans le pire des cas, très peu de cloisonnements suffiront.

– Le critère de déclenchement du vote-papier est une question très secondaire par rapport à la question beaucoup plus générale de la fiabilité du système, et on s’entendra très vite sur les détails. Je ne suis pas contre votre proposition.

– En ce qui concerne le secret du vote : vote électronique ou pas, il faudra bien le lever à partir du moment où il y aurait lieu de faire la preuve qu’un vote a été mal enregistré. Cela dépendrait de l’électeur, qui devrait alors révéler son pseudo et son mot de passe.[/i]

Comme vous le voyez, Adrien, la possibilité d’erreurs ou de manipulations électroniques est dûment prise en compte dans la proposition, y compris la manipulation Wifi dont vous parlez.

C’est pourquoi je continue de penser que contrairement à ce que vous craignez, l’étape 2) assurerait l’anonymat du vote.

D’autre part, l’essence de la proposition n’est pas de mettre au point un système de vote électronique techniquement infaillible (j’admets en hypothèse que c’est impossible), mais à fournir aux citoyens un moyen infaillible de détecter toute erreur ou manipulation susceptible d’affecter significativement le résultat : ce que les vérifications individuelles et collectives prévues en étape 5), 6) et 7) devraient permettre dans tous les cas.

Si tout le monde sait que la détection des erreurs et manipulations est assurée à 100 %, je ne vois pas qui se risquerait longtemps à manipuler. JR

Ma proposition était axée sur le vote par internet, rien à voir avec le vote électronique à priori.

Dans le cas du vote par internet il nous faut assurer non pas l’anonymat ou le secret (ce qui est impossible), mais les résultats finaux et leur validité.
Dans le cas du vote électronique il faut garantir qu’une machine seule gardant les données de manière centralisée ne les changera pas. Ce qui est impossible.

Les contrôles dont vous parlez ne garantissent la détection d’erreur à 100% que si tous les votants vérifient bien leurs votes… C’est déjà tendu là…

Mais le principal soucis que je vois à votre proposition, c’est que le mec qui n’est pas content du résultat, il lui suffit de dire que son vote n’est pas le bon sur la liste que vous affichez… Et hop! Résultat invalide!
Et puis ce n’est pas tout, il y a de tout dans la nature vous savez, il y aura toujours un(e) pommé(e) qui ne se souviendra pas de ce qu’il(elle) a voté… Et croira avoir voté autre chose…

Et puis votre système reste complètement vulnérable au premier pirate qui veut casser les pieds à son monde, faisant invalider systématiquement les votes.

Je suis franchement très dubitatif quand au vote électronique Jacques. Autant le vote par internet pourrait apporter un plus en terme d’énergie moindre à déployer, de faciliter la vie du citoyen, tout ça permettant des votes direct plus nombreux. Autant votre solution ne me paraît rien apporter à ce niveau. Entre votre solution et le vote papier je choisis le vote papier, à condition que chaque citoyen puisse suivre le vote de bout en bout jusqu’au dépouillement, que le vote soit secret et les listes d’émargement consultable par tous (chose interdite par le ministère concerné cette année pour les français de l’étranger lors des présidentielles :frowning: ).

Ma proposition était axée sur le vote par internet, rien à voir avec le vote électronique à priori. [...]

Les contrôles dont vous parlez ne garantissent la détection d’erreur à 100% que si tous les votants vérifient bien leurs votes… C’est déjà tendu là…

Mais le principal souci que je vois à votre proposition, c’est que le mec qui n’est pas content du résultat, il lui suffit de dire que son vote n’est pas le bon sur la liste que vous affichez… Et hop! Résultat invalide!

Et puis ce n’est pas tout, il y a de tout dans la nature vous savez, il y aura toujours un(e) pommé(e) qui ne se souviendra pas de ce qu’il(elle) a voté… Et croira avoir voté autre chose…

Et puis votre système reste complètement vulnérable au premier pirate qui veut casser les pieds à son monde, faisant invalider systématiquement les votes […]. :frowning: ).


Adrien, le vote Internet est un vote électronique : mais nous ne parlons pas des machines à voter, électroniques ou non, c’est entendu.

Il n’est pas nécessaire que chacun des 43 millions d’électeurs français vérifie l’exactitude de son vote : il suffit que les vérifications fassent apparaître sur un million de votes (et même sans doute beaucoup moins) un nombre ou une proportion de discordances supérieurs au maximum qui sera fixé par la loi pour qu’on puisse conclure à l’erreur ou à la manipulation et décider de répéter l’élection par bureau de vote cloassique. Ce procédé statistique me paraît infaillible (je crois).

Je garantis en tout cas que les gens qui auront pris la peine de voter par l’Internet et se seront ainsi épargné de considérables pertes de temps seront nombreux à faire une vérification d’ailleurs très simple par rapport aux listes électorales et aux listes de résultats publiées en ligne.

Au moment du vote, le système Internet délivrera à l’électeur (ou plutôt à son pseudonyme) un récépissé en facsimilé de l’opération (sans indication de la nature du vote). Ce certificat devra être présenté par tout réclamant, et à ce moment on pourra vérifier qu’il y a ou qu’il n’y a pas discordance entre le récépissé et le document enregistré par le système. S’il y a discordance, c’est qu’il y a eu erreur ou manipulation. Si les discordances sont nombreuses, c’est qu’il y a erreur ou manipulation systémiques. Inutile de préciser que les fausses réclamations comme les manipulations seront sanctionnées par le droit pénal : ça devrait faire barrage aux casseurs de pieds (en Suisse du moins, il n’y a en a pas beaucoup, semblerait-il)

Le pommé devra présenter son récépissé : ce qui règle l’autre difficulté que vous soulevez.

(Je réfléchis maintenant qu’il n’y aurait même pas lieu de dévoiler la nature du vote en cas de réclamation : en effet, toute discordance entre les indications techniques données par le récépissé et celles données par l’enregistrement de vote (les deux devront être absolument identiques) suffirait à démontrer l’irrégularité de l’enregistrement public.)

Cette procédure n’empêchera pas de tout faire pour sécuriser le système, et il semble bien que les Suisses y soient parvenus[b] : pour les détails qui méchappent, aller voir le document technique de Genève et l’évaluation de l’OCDE mentionnés quelque part plus haut.

De toute façon : ou bien c’est le vote Internet, ou bien c’est l’impossibilité de la démocratie directe effective (du projet de loi citoyen avec RIC) : on ne sort pas de là[/b].

Reste seulement, par conséquent, à trouver la bonne solution, qui satisfera tout le monde. JR

Est ce moi, ou le nombre de choses qui ne sont pas négociables augmente réellement sur ce forum ?

Qu’entendez-vous par non-négociables lanredec?

Adrien, le vote Internet est un vote électronique : mais nous ne parlons pas des machines à voter, électroniques ou non, c'est entendu.
Tout vote électronique nécessite au moins une machine non (un micro-ordinateur par exemple)?

De plus si vous me permettez, je voudrais essayer de clarifier un peu l’idée d’internet.
Il faut bien être conscient de ce qu’est internet: une sorte de conglomérat de réseaux reliés entre eux, sans centre (il n’y a pas un endroit avec un bouton on/off), dont l’intelligence et l’information sont décentralisés (pas de centre non plus pour manipuler le contenu).
La solution que je propose, utilise ce qui fait qu’un réseau peut-être qualifié d’internet, en ce que le contenu est décentralisé, jamais personne ne contrôle tout le réseaux.
La solution que vous proposez ne me semble pas être décentralisé. Si vous utilisez internet ce n’est que pour transporter les résultat vers un point central, résultat qui n’est qu’en exemplaire unique. Ça on peut le faire avec plein de réseaux, minitel par exemple, courrier postal etc… D’ailleurs si vous étiez un peu sérieux, vous proposeriez d’utiliser un réseau indépendant d’internet, ça réduit beaucoup les risques (qui restent tellement immenses malgré tout)…
D’ailleurs tous les systèmes de cette nature ne devrait pas être électronique, bon sens de base en terme de sécurité.

Votre proposition peut se passer d’internet, la mienne pas, vous ne voyez toujours pas la différence?

Inutile de préciser que les fausses réclamations comme les manipulations seront sanctionnées par le droit pénal : ça devrait faire barrage aux casseurs de pieds (en Suisse du moins, il n'y a en a pas beaucoup, semblerait-il)
Les pays ou les citoyens faisant des réclamations pour un dysfonctionnement du vote risquent des sanctions sont des pays présentant à mes yeux d'énormes dérives dictatoriales ou oligarchiques. Surtout quand on ne peut pas prouver que la réclamation est non-fondée.
Le pommé devra présenter son récépissé : ce qui règle l'autre difficulté que vous soulevez. (Je réfléchis maintenant qu'il n'y aurait même pas lieu de dévoiler la nature du vote en cas de réclamation : en effet, toute discordance entre les indications techniques données par le récépissé et celles données par l'enregistrement de vote (les deux devront être absolument identiques) suffirait à démontrer l'irrégularité de l'enregistrement public.)
Je ne comprends pas ce que ça règle… Et comment peuvent-ils être absolument identique? Surtout quand il est démontré mathématiquement qu'on ne peut prouver qu'un programme ne fera que précisément ce qu'on lui dit de faire. En d'autre termes, quelque soit le programme que vous utilisez vous ne pouvez pas prouver qu'il va faire ce qu'il doit faire. De plus nos ordinateurs ne sont pas fiables au détail près… http://www.commentcamarche.net/faq/3868-mythes-les-rayons-cosmiques-provoquent-des-erreurs extrait:
Exemple de conséquence: En 2003, des élections en Belgique avaient été effectuées simultanément de manière traditionnelle et électronique. Une différence de 4096 voix avait été notée. Les experts n'ont pu attribuer cette différence qu'aux rayons cosmiques.
Cette procédure n'empêchera pas de tout faire pour sécuriser le système, et il semble bien que les Suisses y soient parvenus[b] : pour les détails qui méchappent, aller voir le document technique de Genève et l'évaluation de l'OCDE mentionnés quelque part plus haut.[/b]
Ces documents, non-seulement ne sont pas technique, mais en plus sont du vent. Leur but est de faire croire aux moutons-électeurs à qui on a donné le droit de vote qu'un truc impossible existe. Mais plus c'est gros et plus les moutons sont nombreux pas vrai?
[b] De toute façon : ou bien c'est le vote Internet, ou bien c'est l'impossibilité de la démocratie directe effective (du projet de loi citoyen avec RIC) : on ne sort pas de là[/b].
Vous y êtes presque Jacques. Les humains n'ont jamais été capables de se compter eux-mêmes sans faire d'erreur (dans un cas d'humains nombreux bien sur). Le plus proche de ça qu'ils puissent faire, c'est se rapprocher de la bonne valeur avec un certain taux d'erreur (qui lui est quantifiable). Le vote n'est pas sacré, il n’échappe pas à la règle. Les votes de la démocratie direct ne seront valides que lorsqu'ils présenteront un écart suffisant (supérieur strictement au taux d'erreur) entre les propositions.

@Adrien

Oublions ma proposition, et revenons à la vôtre.

J’extraie ceci de votre message 143 :

[i]« Dans le cas du vote par internet il nous faut assurer non pas l’anonymat ou le secret (ce qui est impossible), mais les résultats finaux et leur validité. »

[/i]Sur cette base (qui est également celle de thierryb, l’initiateur du fil), il faudrait renoncer au vote Internet, pour la raison que l’anonymat du vote des citoyens est une condition essentielle du libre choix électoral et donc de la démocratie.

Concernant la définition de « vote électronique », je vous renvoie à http://fr.wikipedia.org/wiki/Vote_électronique : d’après cette source et bien d’autres que vous trouverez par Google, l’expression couvre tout vote par ordinateur – par conséquent également le vote Internet – et pas seulement les machines à voter ou les systèmes Intranet. JR

Les votes par internet forment un sous-ensemble des votes électroniques Jacques.
Tout vote par internet (à l’heure actuelle) est un vote électronique.
Mais tous les votes électroniques ne sont pas des votes par internet.

C’est pour marquer cette différence que j’insiste sur ces termes.

La question de la nécessité de l’anonymat est-elle débattue ailleurs sur le forum Jacques (j’avoue être loin d’avoir tout lu du forum)? Il me semble que ce fil de discussion n’est pas dédié à cela.

@Adrien

Il a été question de la nécessité de l’anonymat du vote plus haut sur ce fil et aussi sur le fil « Vote électronique », si je me rappelle bien. Je vous laisse faire les recherches. Vosu verrez par exemple que thierryb part du principe que l’anonymat n’est pas nécessaire (ce n’est pas mon cas). JR

-Comment assurer que ce logiciel fonctionne de la même façon sur le matériel opérationnel que sur le matériel qui a servi pour les tests. -Comment assurer que les bugs du compilateur ne modifient pas de façon pernicieuse le comportement du programme exécutable par rapport au comportement théorique du code source. -Comment assurer que le logiciel exécutable est bien issu du code source qui peut être examiné par ceux qui ont une compétence suffisante pour comprendre son fonctionnement. -Comment avoir l'assurance formelle que le code source décrit le comportement désiré (notez que c'est le seul point sur lequel l'ouverture du source est, éventuellement, selon la réponse, susceptible d'avoir un effet).
Je conçois qu'un langage compilé offre de meilleures performances et une portabilité plus grande, mais pourquoi ne pas utiliser un langage interprété ? Ça rendrait le code lisible à chaque instant de son déroulement sans aucun effort non ?
Tout cela, à une seule condition, que le vote ne soit pas anonymes
je renvoie au plaidoyer écrit il y a de nombreuse années par Ian Clarke, le créateur du réseau Freenet, réseau qui seul, pendant des années, a permit l'expression démocratique au sein de pays comme la Chine ou l'Iran.

« La seule façon d’assurer qu’une démocratie restera efficace est d’assurer que le gouvernement ne peut pas contrôler la capacité de sa population de partager des informations, de communiquer. » (traduction personnelle) : https://freenetproject.org/philosophy.html

Par contre, comme déjà évoqué plus haut par JR, l’anonymat n’est pas une obligation dans TOUTES les situations de votes mais, c’est une nécessité pour la décision en conscience des individus et la mise à mal de toutes formes de pressions qui peuvent s’exercer dans le choix fait par un citoyen à un moment donné, sur un sujet donné.

Peut-être faut-il dissocier les décisions de fonctionnement au quotidien de nos sociétés (le propriétaire d’un chien doit-il impérativement ramasser les crottes du molosse sous peine d’amende?) de question qui engagent de plus lourdes conséquences (A quelles conditions la CMU peut-elle être octroyée?).

Ça ne réglerait pas les problèmes de pressions liées au vote non-anonyme, mais permettrait un fonctionnement plus souple des systèmes de votes et donc de l’implication citoyenne.

1 « J'aime »

Il y a un autre problème avec le vote électronique par internet (pour cibler juste celui-là). Rien ne garantit que le votant n’est pas soumit à pression de la part de son entourage physique à ce moment là (chef de famille, employeur, …).

Il existe des endroits où les électeurs votent à main levée …en comité restreint et souvent à vue de nez !

Il me paraîtrait merveilleux que ce site soit une vitrine (les grands thémes sur la page d’accueil, puis subdivisions en sous thémes jusqu’à l’idée citoyenne)mais plus qu’une vitrine ce site doit devenir l:outil de chaque citoyen, qui suivant son ou ses intérêts, inscrit une idée d’amélioration du bien commun citoyen…ainsi cette vitrine devient interactive puisque chacun pourrait (par des coeurs ou des fleurs) approuver, voter pour l’idée, qui si elle atteint un seuil d’approbation, pourrait être etudiee en commission Avant d’etre approuvee et votee definitivement…votation interactive des idées citoyennes (chaque citoyen peut voir ainsi son idée devenir réalité)

rien à voir je parle d’un site internet où chacun peut proposer des lois
Voici un aperçu des étapes pour un tel projet :

  1. Définir les fonctionnalités principales :
  • Soumission de propositions de lois.
  • Classement des propositions par grands thèmes (économie, santé, environnement, etc.).
  • Possibilité pour les utilisateurs de voter pour ou contre une proposition.
  • Système de commentaires ou de débats sous chaque proposition.
  • Outils de recherche et de filtrage des propositions.
  1. Choisir une technologie adaptée :
  • Frontend (interface utilisateur) : Utilisation de HTML, CSS, et JavaScript avec un framework comme React ou Vue.js…
  • Backend (gestion des données) : Un framework comme Node.js, Django (Python) ou Ruby on Rails.
  • Base de données : MySQL, PostgreSQL ou MongoDB pour stocker les propositions, votes, et informations utilisateurs.
  1. Prototypage rapide :
  • Voici un exemple de code simple en HTML et JavaScript pour une page de proposition de lois :

html

<!DOCTYPE html>
<html>
<head>
  <title>Propositions de Lois</title>
  <style>
    body { font-family: Arial, sans-serif; }
    .proposal { margin-bottom: 20px; padding: 10px; border: 1px solid #ddd; }
    .title { font-weight: bold; }
    .votes { margin-top: 10px; }
  </style>
</head>
<body>
  <h1>Propositions de Lois</h1>
  <div class="proposal">
    <div class="title">Réduction de la TVA sur les produits bio</div>
    <div>Description : Une réduction de la TVA à 5% pour encourager la consommation de produits biologiques.</div>
    <div class="votes">
      <button onclick="upvote(this)">👍 Pour</button> 
      <button onclick="downvote(this)">👎 Contre</button>
      <span>Votes : <span class="vote-count">0</span></span>
    </div>
  </div>
  <script>
    function upvote(button) {
      let voteCount = button.parentElement.querySelector(".vote-count");
      voteCount.textContent = parseInt(voteCount.textContent) + 1;
    }
    function downvote(button) {
      let voteCount = button.parentElement.querySelector(".vote-count");
      voteCount.textContent = parseInt(voteCount.textContent) - 1;
    }
  </script>
</body>
</html>
  1. Hébergement :
  • Utiliser une plateforme comme GitHub Pages, Vercel, ou Netlify pour héberger gratuitement un prototype.
  • Pour une version évoluée, opter pour un hébergement cloud comme AWS, Azure ou Google Cloud.
  1. Sécurité et confidentialité :
  • Mettre en place une authentification pour éviter les abus.
  • Assurer la protection des données des utilisateurs (RGPD).
  1. Encourager l’adoption :
  • Intégrer des outils collaboratifs, comme des sondages ou des forums.
  • Communiquer et mobiliser une communauté autour de cette initiative.