Derniere mise a jour : 9 fevrier 2026

Systeme de Vote

2024 Web Backend

Presentation

Objectif principal : Un systeme de vote en ligne pour les elections du BDE. Les etudiants votent avec leur compte ecole, un vote par personne, resultats en temps reel pour les admins.

Technologies utilisees : Node.js avec Express pour l'API, PostgreSQL pour la BDD, authentification via l'annuaire LDAP de l'ecole, frontend React.

Fonctionnalites cles : Authentification LDAP, verification qu'on a pas deja vote (sans stocker qui a vote pour quoi), resultats temps reel, export des resultats en CSV.

Livrables attendus : Application securisee deployee sur le serveur de l'ecole. Documentation pour les futurs BDE. Interface admin.

Calendrier previsionnel : Deux semaines avant les elections du BDE. La pression etait reelle.

Parties prenantes & criteres de succes : Demande du BDE actuel. Fallait que ca marche du premier coup le jour J, pas de droit a l'erreur.

Le Defi

L'anonymat du vote. On doit empecher de voter deux fois, mais on ne doit pas pouvoir savoir qui a vote pour qui. Ces deux contraintes sont contradictoires. Et en plus l'integration LDAP c'etait nouveau pour moi.

La Solution

Deux tables separees : une pour les votants (qui a vote, sans le choix) et une pour les votes (le choix, sans l'identite). Le lien est impossible a faire. On hash l'email du votant pour plus de securite. Ca respecte le secret du vote.

Architecture Technique

Backend Express avec routes /auth (LDAP), /vote (POST pour voter), /results (GET admin only). Middleware d'authentification JWT. Tables PostgreSQL : voters (hash email, timestamp), votes (choice), elections (config). Frontend React avec state management simple.

Points Cles

  • Anonymat mathematiquement garanti
  • Integration LDAP
  • Resultats temps reel

Apercu

Resultats & Apprentissages

L'election s'est bien passee, 400+ votes sans probleme. Le BDE suivant a reutilise le systeme. J'ai appris l'importance de la securite et de l'anonymat, et aussi a gerer la pression d'un projet critique.

Evolutions Futures

Vote par classement preferentiel (methode Condorcet). Verification par email de confirmation. Audit trail pour les admins. Peut-etre open-sourcer pour d'autres ecoles.

Retour aux projets Me contacter