affectations finies
This commit is contained in:
parent
e69471a383
commit
a312bfe638
9 changed files with 278 additions and 18 deletions
|
@ -81,13 +81,12 @@ Ressources :
|
||||||
|
|
||||||
### Dem-Attest-ULille
|
### Dem-Attest-ULille
|
||||||
|
|
||||||
> Ca fait pas rêver face à Popcorn Time, TikTok ou Valorant... Faut trouver mieux.
|
|
||||||
|
|
||||||
Tags : blockchain,permissioned,certification
|
Tags : blockchain,permissioned,certification
|
||||||
|
|
||||||
Ressources :
|
Ressources :
|
||||||
|
|
||||||
* [Livre blanc](https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf)
|
* [Livre blanc](https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf)
|
||||||
|
* [Bortzmeyer](https://www.bortzmeyer.org/blockchain-inutile.html)
|
||||||
|
|
||||||
### FileCoin
|
### FileCoin
|
||||||
|
|
||||||
|
|
1
affectations/.gitignore
vendored
Normal file
1
affectations/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
venv
|
28
affectations/README.md
Normal file
28
affectations/README.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# Affectation des étudiants à un groupe
|
||||||
|
|
||||||
|
## Les fichiers
|
||||||
|
|
||||||
|
* `etudiants.csv` contient la liste des étudiants en CSV, avec en première ligne, le header : `prenom,nom,groupe`
|
||||||
|
* `sujets.tsv` contient la liste des sujets en TSV, avec en première ligne, le header : `titre site tags`
|
||||||
|
|
||||||
|
Les tags sont facultatifs, et séparés par des virgules.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Seule dépendance Python : `pandas` (inclut `numpy`). Vous pouvez l'installer proprement avec :
|
||||||
|
|
||||||
|
```
|
||||||
|
python3 -m venv venv
|
||||||
|
. venv/bin/activate
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exécution de la lotterie
|
||||||
|
|
||||||
|
Considérant des fichiers `etudiants.csv` et `sujets.csv`, exécutez :
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python lotterie.py [-s <nombre>]
|
||||||
|
Using following random seed: <nombre>
|
||||||
|
Successfully wrote affectations_<nombre>.tsv
|
||||||
|
```
|
80
affectations/affectations_42.tsv
Normal file
80
affectations/affectations_42.tsv
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
prenom nom groupe titre site tags
|
||||||
|
Fabien MERCERET ESFA Mastodon https://joinmastodon.org/ micro-blogging,federated,ActivityPub
|
||||||
|
Thitouane HELLE ESFA Mastodon https://joinmastodon.org/ micro-blogging,federated,ActivityPub
|
||||||
|
Oualid HASSAN ESFA Jitsi https://jitsi.org/ streaming,video,conference,web,E2EE
|
||||||
|
Lorleen LEFEBVRE ESFA Jitsi https://jitsi.org/ streaming,video,conference,web,E2EE
|
||||||
|
Dylan CHOQUET ESFA Counter Strike: Global Offensive https://www.counter-strike.net/ video-game,multiplayer,latency,networking
|
||||||
|
Clement DEMADE ESFA Counter Strike: Global Offensive https://www.counter-strike.net/ video-game,multiplayer,latency,networking
|
||||||
|
Amelie LUQUET ESFA Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Vincent DHEILLY ESFA Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Vivian DELANNOY ESFA Popcorn Time https://github.com/popcorn-official/popcorn-desktop peer-to-peer,decentralised,video,streaming,file sharing
|
||||||
|
Ryan ROSSEZ ESFA Popcorn Time https://github.com/popcorn-official/popcorn-desktop peer-to-peer,decentralised,video,streaming,file sharing
|
||||||
|
Victorien DELBANO ESFA Netflix https://www.netflix.com/ video,streaming,content distribution,microservices
|
||||||
|
Louise DELBECQUE ESFA Netflix https://www.netflix.com/ video,streaming,content distribution,microservices
|
||||||
|
Quentin PROGNON ESFA BitTorrent https://bittorrent.com peer-to-peer,decentralised,file sharing
|
||||||
|
Clement DESSINGUE ESFA BitTorrent https://bittorrent.com peer-to-peer,decentralised,file sharing
|
||||||
|
Jean debout GATARI ESFA Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
Kenza HAREB ESFA Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
Amine EL MEHDI ESFA Sorare https://sorare.com/ video-game,multiplayer,collectibles,NFT,blockchain,soccer
|
||||||
|
Benjamin FURLAN ESFA Sorare https://sorare.com/ video-game,multiplayer,collectibles,NFT,blockchain,soccer
|
||||||
|
Julie DUCHATEAU ESFA Telegram https://telegram.org/ chat,E2EE,mobile,privacy
|
||||||
|
Hippolyte LARZUL ESFA Telegram https://telegram.org/ chat,E2EE,mobile,privacy
|
||||||
|
Robin GALLIFA ESFA Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Lavanya RASALINGAM ESFA Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Sara SAOUDI ESFA Element https://element.io chat,E2EE,federated,privacy
|
||||||
|
ESFA Dem-Attest-ULille https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf blockchain,permissioned,certification
|
||||||
|
ESFA FileCoin https://filecoin.io/ peer-to-peer,IPFS,blockchain,storage,file sharing
|
||||||
|
ESFA Twitch https://www.twitch.tv/ video,streaming,live,content distribution,social network
|
||||||
|
ESFA Spotify https://www.spotify.com/ audio,streaming,content distribution,peer-to-peer
|
||||||
|
Jeremy CUROUX ESFI Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Maxime HAVARD ESFI Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Salim OUFRICHE ESFI Spotify https://www.spotify.com/ audio,streaming,content distribution,peer-to-peer
|
||||||
|
Mehdi FERCHICHI ESFI Spotify https://www.spotify.com/ audio,streaming,content distribution,peer-to-peer
|
||||||
|
Adrien MOREL ESFI Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Etienne DHAUSSY ESFI Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Celia OUKAÏD ESFI Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
Billel HADDOUCHE ESFI Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
ESFI Mastodon https://joinmastodon.org/ micro-blogging,federated,ActivityPub
|
||||||
|
ESFI Element https://element.io chat,E2EE,federated,privacy
|
||||||
|
ESFI Telegram https://telegram.org/ chat,E2EE,mobile,privacy
|
||||||
|
ESFI Jitsi https://jitsi.org/ streaming,video,conference,web,E2EE
|
||||||
|
ESFI Counter Strike: Global Offensive https://www.counter-strike.net/ video-game,multiplayer,latency,networking
|
||||||
|
ESFI Sorare https://sorare.com/ video-game,multiplayer,collectibles,NFT,blockchain,soccer
|
||||||
|
ESFI Dem-Attest-ULille https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf blockchain,permissioned,certification
|
||||||
|
ESFI FileCoin https://filecoin.io/ peer-to-peer,IPFS,blockchain,storage,file sharing
|
||||||
|
ESFI Popcorn Time https://github.com/popcorn-official/popcorn-desktop peer-to-peer,decentralised,video,streaming,file sharing
|
||||||
|
ESFI BitTorrent https://bittorrent.com peer-to-peer,decentralised,file sharing
|
||||||
|
ESFI Netflix https://www.netflix.com/ video,streaming,content distribution,microservices
|
||||||
|
ESFI Twitch https://www.twitch.tv/ video,streaming,live,content distribution,social network
|
||||||
|
Florian DENDONCKER GL Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Julien MICHOT GL Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Antoine POCHET GL FileCoin https://filecoin.io/ peer-to-peer,IPFS,blockchain,storage,file sharing
|
||||||
|
Louis VERDON GL FileCoin https://filecoin.io/ peer-to-peer,IPFS,blockchain,storage,file sharing
|
||||||
|
Hassan RAYA GL Counter Strike: Global Offensive https://www.counter-strike.net/ video-game,multiplayer,latency,networking
|
||||||
|
Semae ALTINKAYNAK GL Counter Strike: Global Offensive https://www.counter-strike.net/ video-game,multiplayer,latency,networking
|
||||||
|
Tarek HOUAMED GL Sorare https://sorare.com/ video-game,multiplayer,collectibles,NFT,blockchain,soccer
|
||||||
|
Lucien LHOMME GL Sorare https://sorare.com/ video-game,multiplayer,collectibles,NFT,blockchain,soccer
|
||||||
|
Samy MEGHARI GL Element https://element.io chat,E2EE,federated,privacy
|
||||||
|
Elyas EL IDRISSI GL Element https://element.io chat,E2EE,federated,privacy
|
||||||
|
Quentin BOUCHARD GL Netflix https://www.netflix.com/ video,streaming,content distribution,microservices
|
||||||
|
Thomas BRUNET GL Netflix https://www.netflix.com/ video,streaming,content distribution,microservices
|
||||||
|
Hatim MRABET EL KHOMSSI GL Popcorn Time https://github.com/popcorn-official/popcorn-desktop peer-to-peer,decentralised,video,streaming,file sharing
|
||||||
|
Bekir AYDOGDU GL Popcorn Time https://github.com/popcorn-official/popcorn-desktop peer-to-peer,decentralised,video,streaming,file sharing
|
||||||
|
Manal LAGHMICH GL Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
Cyria AMARA GL Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
Thierno-Amadou BAH GL Telegram https://telegram.org/ chat,E2EE,mobile,privacy
|
||||||
|
Antoine KOZLOV GL Telegram https://telegram.org/ chat,E2EE,mobile,privacy
|
||||||
|
Nouria AIT KHEDDACHE GL Jitsi https://jitsi.org/ streaming,video,conference,web,E2EE
|
||||||
|
Reda ID TALEB GL Jitsi https://jitsi.org/ streaming,video,conference,web,E2EE
|
||||||
|
Louis LAURENT GL BitTorrent https://bittorrent.com peer-to-peer,decentralised,file sharing
|
||||||
|
Enzo PAIN GL BitTorrent https://bittorrent.com peer-to-peer,decentralised,file sharing
|
||||||
|
David TUBEUF GL Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Tom JABLONSKI GL Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Jeremy NISON GL Dem-Attest-ULille https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf blockchain,permissioned,certification
|
||||||
|
Cedric BEVILACQUA GL Dem-Attest-ULille https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf blockchain,permissioned,certification
|
||||||
|
Cyril GUFFROY GL Spotify https://www.spotify.com/ audio,streaming,content distribution,peer-to-peer
|
||||||
|
Thomas LIARD GL Spotify https://www.spotify.com/ audio,streaming,content distribution,peer-to-peer
|
||||||
|
Julian MARQUETTE GL Mastodon https://joinmastodon.org/ micro-blogging,federated,ActivityPub
|
||||||
|
Lisa MEDAH GL Mastodon https://joinmastodon.org/ micro-blogging,federated,ActivityPub
|
||||||
|
Guillaume MPEMBA GL Twitch https://www.twitch.tv/ video,streaming,live,content distribution,social network
|
||||||
|
Sebastian JORDAN MONTANO GL Twitch https://www.twitch.tv/ video,streaming,live,content distribution,social network
|
|
64
affectations/etudiants.csv
Normal file
64
affectations/etudiants.csv
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
prenom,nom,groupe
|
||||||
|
Amine,EL MEHDI,ESFA
|
||||||
|
Dylan,CHOQUET,ESFA
|
||||||
|
Jeremy,CUROUX,ESFI
|
||||||
|
Vivian,DELANNOY,ESFA
|
||||||
|
Victorien,DELBANO,ESFA
|
||||||
|
Louise,DELBECQUE,ESFA
|
||||||
|
Clement,DEMADE,ESFA
|
||||||
|
Clement,DESSINGUE,ESFA
|
||||||
|
Etienne,DHAUSSY,ESFI
|
||||||
|
Vincent,DHEILLY,ESFA
|
||||||
|
Julie,DUCHATEAU,ESFA
|
||||||
|
Mehdi,FERCHICHI,ESFI
|
||||||
|
Benjamin,FURLAN,ESFA
|
||||||
|
Robin,GALLIFA,ESFA
|
||||||
|
Jean debout,GATARI,ESFA
|
||||||
|
Billel,HADDOUCHE,ESFI
|
||||||
|
Kenza,HAREB,ESFA
|
||||||
|
Oualid,HASSAN,ESFA
|
||||||
|
Maxime,HAVARD,ESFI
|
||||||
|
Thitouane,HELLE,ESFA
|
||||||
|
Hippolyte,LARZUL,ESFA
|
||||||
|
Lorleen,LEFEBVRE,ESFA
|
||||||
|
Amelie,LUQUET,ESFA
|
||||||
|
Fabien,MERCERET,ESFA
|
||||||
|
Adrien,MOREL,ESFI
|
||||||
|
Salim,OUFRICHE,ESFI
|
||||||
|
Celia,OUKAÏD,ESFI
|
||||||
|
Quentin,PROGNON,ESFA
|
||||||
|
Lavanya,RASALINGAM,ESFA
|
||||||
|
Ryan,ROSSEZ,ESFA
|
||||||
|
Sara,SAOUDI,ESFA
|
||||||
|
Nouria,AIT KHEDDACHE,GL
|
||||||
|
Semae,ALTINKAYNAK,GL
|
||||||
|
Cyria,AMARA,GL
|
||||||
|
Bekir,AYDOGDU,GL
|
||||||
|
Thierno-Amadou,BAH,GL
|
||||||
|
Cedric,BEVILACQUA,GL
|
||||||
|
Quentin,BOUCHARD,GL
|
||||||
|
Thomas,BRUNET,GL
|
||||||
|
Florian,DENDONCKER,GL
|
||||||
|
Elyas,EL IDRISSI,GL
|
||||||
|
Cyril,GUFFROY,GL
|
||||||
|
Tarek,HOUAMED,GL
|
||||||
|
Reda,ID TALEB,GL
|
||||||
|
Tom,JABLONSKI,GL
|
||||||
|
Sebastian,JORDAN MONTANO,GL
|
||||||
|
Antoine,KOZLOV,GL
|
||||||
|
Manal,LAGHMICH,GL
|
||||||
|
Louis,LAURENT,GL
|
||||||
|
Lucien,LHOMME,GL
|
||||||
|
Thomas,LIARD,GL
|
||||||
|
Julian,MARQUETTE,GL
|
||||||
|
Lisa,MEDAH,GL
|
||||||
|
Samy,MEGHARI,GL
|
||||||
|
Julien,MICHOT,GL
|
||||||
|
Guillaume,MPEMBA,GL
|
||||||
|
Hatim,MRABET EL KHOMSSI,GL
|
||||||
|
Jeremy,NISON,GL
|
||||||
|
Enzo,PAIN,GL
|
||||||
|
Antoine,POCHET,GL
|
||||||
|
Hassan,RAYA,GL
|
||||||
|
David,TUBEUF,GL
|
||||||
|
Louis,VERDON,GL
|
|
66
affectations/lotterie.py
Normal file
66
affectations/lotterie.py
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
from random import randint
|
||||||
|
import pandas as pd
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
ETU_CSV = "etudiants.csv"
|
||||||
|
SUBJ_CSV = "sujets.tsv"
|
||||||
|
#RES_CSV = "affectations.tsv"
|
||||||
|
|
||||||
|
|
||||||
|
def main(seed):
|
||||||
|
|
||||||
|
etu_df = pd.read_csv(ETU_CSV)
|
||||||
|
res_df = pd.DataFrame()
|
||||||
|
|
||||||
|
for gr in etu_df['groupe'].unique():
|
||||||
|
gr_df = etu_df[etu_df['groupe'] == gr]
|
||||||
|
subj_df = pd.read_csv(SUBJ_CSV, sep='\t')
|
||||||
|
|
||||||
|
while not gr_df.empty:
|
||||||
|
subj = subj_df.sample()
|
||||||
|
subj_df = subj_df.drop(index=subj.index)
|
||||||
|
|
||||||
|
n_students = min(gr_df.shape[0], 2)
|
||||||
|
etu = gr_df.sample(n=n_students)
|
||||||
|
gr_df = gr_df.drop(index=etu.index)
|
||||||
|
|
||||||
|
res_df = pd.concat([
|
||||||
|
res_df,
|
||||||
|
etu.merge(subj, how='cross')],
|
||||||
|
ignore_index=True)
|
||||||
|
|
||||||
|
# Ajout des sujets non affectes
|
||||||
|
subj_df['groupe'] = gr
|
||||||
|
res_df = pd.concat([
|
||||||
|
res_df,
|
||||||
|
subj_df],
|
||||||
|
ignore_index=True)
|
||||||
|
|
||||||
|
res_fn = f"affectations_{seed}.tsv"
|
||||||
|
res_df.to_csv(res_fn, sep='\t', index=False)
|
||||||
|
print("Successfully wrote", res_fn)
|
||||||
|
|
||||||
|
def parse_args():
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
prog='Selection de binomes et de sujets SRA2',
|
||||||
|
description='Mange etudiants.csv et sujets.tsv, génère affectations_<seed>.tsv. '+\
|
||||||
|
'Vous pouvez lui donner une seed avec l\'option `-s | --seed`.')
|
||||||
|
parser.add_argument('-s', '--seed')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
seed = args.seed
|
||||||
|
if seed is None:
|
||||||
|
seed = randint(0, 2**32)
|
||||||
|
|
||||||
|
np.random.seed(int(seed))
|
||||||
|
print("Using following random seed:", seed)
|
||||||
|
return seed
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
seed = parse_args()
|
||||||
|
main(seed)
|
||||||
|
|
5
affectations/requirements.txt
Normal file
5
affectations/requirements.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
numpy==1.23.4
|
||||||
|
pandas==1.5.1
|
||||||
|
python-dateutil==2.8.2
|
||||||
|
pytz==2022.6
|
||||||
|
six==1.16.0
|
17
affectations/sujets.tsv
Normal file
17
affectations/sujets.tsv
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
titre site tags
|
||||||
|
Mastodon https://joinmastodon.org/ micro-blogging,federated,ActivityPub
|
||||||
|
Element https://element.io chat,E2EE,federated,privacy
|
||||||
|
Telegram https://telegram.org/ chat,E2EE,mobile,privacy
|
||||||
|
Jitsi https://jitsi.org/ streaming,video,conference,web,E2EE
|
||||||
|
Tor Browser https://www.torproject.org/ anonymity,E2EE,trustless,decentralised,privacy,web
|
||||||
|
Valorant https://playvalorant.com/ video-game,multiplayer,latency,networking
|
||||||
|
Counter Strike: Global Offensive https://www.counter-strike.net/ video-game,multiplayer,latency,networking
|
||||||
|
Sorare https://sorare.com/ video-game,multiplayer,collectibles,NFT,blockchain,soccer
|
||||||
|
Axie Infinity https://axieinfinity.com/ video-game,multiplayer,collectibles,NFT,blockchain,fantasy
|
||||||
|
Dem-Attest-ULille https://www.univ-lille.fr/fileadmin/user_upload/presse/2022/20220114_Livre_blanc_Dem-Attest-ULille_FR.pdf blockchain,permissioned,certification
|
||||||
|
FileCoin https://filecoin.io/ peer-to-peer,IPFS,blockchain,storage,file sharing
|
||||||
|
Popcorn Time https://github.com/popcorn-official/popcorn-desktop peer-to-peer,decentralised,video,streaming,file sharing
|
||||||
|
BitTorrent https://bittorrent.com peer-to-peer,decentralised,file sharing
|
||||||
|
Netflix https://www.netflix.com/ video,streaming,content distribution,microservices
|
||||||
|
Twitch https://www.twitch.tv/ video,streaming,live,content distribution,social network
|
||||||
|
Spotify https://www.spotify.com/ audio,streaming,content distribution,peer-to-peer
|
|
Binary file not shown.
Loading…
Reference in a new issue