Sujet D'un Projet en Informatique

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Your project will consist of developing, alone or in pairs, a site allowing you to vote and

organize ballots online. You will be able to look at existing sites online like belenios
(https://www.belenios.org/) or balotilo *(https://www.balotilo.org/. The site you
develop must comply with specific specifications: • Voters and the organizer will not be
anonymous (login-password required) • The votes are anonymous (At the end we don't
know who voted for what) • The list of people who voted is semi-anonymous. The
system should keep a list of people who voted to avoid letting them vote more times
than necessary but the list is not displayed. • Voters will be able to carry 0, 1 or 2
proxies. Since the person giving proxy can give voting instructions, it will be appropriate
to have the voter vote 1,2 or three times independently. It is the organizer of the vote
who informs who has given proxy to whom. • The vote organizer wishes to manage lists
of voters in order to sequence the votes (ie, an L3 miage list, an L3 info list, a Teacher-
Prog-Web list, etc.). It is in these lists of voters that it indicates how many proxies each
voter has (0, 1 or 2) A ballot will always be composed of at least the three elements
depending on whether the organizer of the ballot will provide information when he has
identified himself. • A question • Options (= choice of answers to the question) • A list of
voters (each with a number 0,1 or 2 proxies) • A list of votes (list of ballots) • A list of
who voted and how many times. A voter will be able to consult the list of ballots in
which he can vote, vote of course, but also consult the participation rate and the name
of the organizer. The organizer will also be able to consult the participation rate and vote
in the elections in which he himself registers as a voter. When the organizer decides, he
can close the vote. The organizer and all voters can then consult the result (absolute
number and percentage obtained for each option). The most classic case is a meeting
where 30 people must vote. 10 are absent and of these 10, five have given explicit
power of attorney to someone. You must therefore be able to create a list of 20 names
of which 5 can vote twice. During the Visio meeting several points are put to a vote. Each
time the organizer reuses the same list, changes the title of the question and creates a
new ballot. He leaves a few seconds to vote, looks at the participation, calls back to the
voters and when it seems to him that everyone has voted, he closes the ballot and
announces the result. During the meeting a participant leaves and leaves proxy to
someone else. At the next vote, the organizer removes it from the list and adds a + Ivote
to the person carrying the proxy.
The expected result for a pair is necessarily greater. We offer you several
extension of which the pairs must have covered at least half.
• List by preferential vote. In this case, voters do not choose a single option but must
rank the options. In fact they vote once for the first choice, once for their second choice,
etc. They can put the same option on several levels or not choose a second choice. In all
cases the counting is more complicated. We look at the first choices and find the least
chosen. We remove this option and replace the first choices for this option with the
second choices. We start again until there is only one option left (the winner) or several
tied options (and we count choices 2 for the remaining options in order to decide
between them.
• You will be able to choose options in a calendar (dates, time slots).
Like the doodle system. For both the organizer and the voter, the time slots will be
displayed in a calendar.
• Date. You will be able to choose options in a calendar (dates, time slots).
Like the doodle system. For both the organizer and the voter, the time slots will be
displayed in a calendar.
• Encryption of votes. Using the JSEncrypt library you can encrypt the ballots. A private
key will be generated by the organizer who will keep it locally (localStorage). The
associated public key will be published with the ballot and each voter will use it to send
an encrypted version of their vote to the server. During counting, the encrypted (and
mixed) votes are all retrieved locally on the organizer's browser who decodes the votes
with their private key.
• Proxy interface. Rather than entering the number of proxies for each voter, the poll
organizer can simply set a complete list in advance and voters can come in advance to
indicate who can carry their proxy. The system will take the first person in the list to
carry the power of attorney.
If you see other interesting extensions, you will submit it to your teacher before
program. All programs must be commented and tested. The interface that you will
develop will mainly be single-page (one page for the organizer and another page for the
voter), so there will be no reloading of the page during actions.

You might also like