diff --git a/README.md b/README.md index 0d48b48..5395641 100644 --- a/README.md +++ b/README.md @@ -14,35 +14,35 @@ Tags : micro-blogging, federated, ActivityPub ### Element -Tags : chat, E2EE, federated, privacy +Tags : chat,E2EE,federated,privacy [Site officiel](https://element.io) ### Telegram -Tags : chat, E2EE, mobile, privacy +Tags : chat,E2EE,mobile,privacy [Site officiel](https://telegram.org/) ### Jitsi -Tags : streaming, video, conference, web, E2EE +Tags : streaming,video,conference,web,E2EE [Site officiel](https://jitsi.org/) Notes : -* WebRTC vs. SIP : SIP établit des sessions de communications entre des groupes d'utilisateurs, tandis que WebRTC autorise le transfert de media dans les navigateurs. WebRTC a besoin de SIP, car sa fonction s'arrête à l'établissement de session non comprise. Tandis que SIP se passe de WebRTC, même si son usage rend plus simple le développement d'applications de streaming, puisqu'on peut inclure la communication dans un navigateur via WebRTC. +* WebRTC vs. SIP : SIP établit des sessions de communications entre des groupes d'utilisateurs, tandis que WebRTC autorise le transfert de media dans les navigateurs. WebRTC a besoin de SIP, car sa fonction s'arrête à l'établissement de session non comprise. Tandis que SIP se passe de WebRTC, même si son usage rend plus simple le développement d'applications de streaming,puisqu'on peut inclure la communication dans un navigateur via WebRTC. ### Tor Browser -Tags : anonymity, E2EE, trustless, decentralised, privacy, web +Tags : anonymity,E2EE,trustless,decentralised,privacy,web [Site officiel](https://www.torproject.org/) ### Valorant -Tags: video-game, multiplayer, latency, networking +Tags: video-game,multiplayer,latency,networking [Site officiel](https://playvalorant.com/) @@ -53,7 +53,7 @@ Ressources : ### Counter Strike: Global Offensive -Tags : video-game, multiplayer, latency, networking +Tags : video-game,multiplayer,latency,networking [Site officiel](https://www.counter-strike.net/) @@ -64,13 +64,13 @@ Ressources : ### Sorare -Tags : video-game, multiplayer, collectibles, NFT, blockchain, soccer +Tags : video-game,multiplayer,collectibles,NFT,blockchain,soccer [Site officiel](https://sorare.com/) ### Axie Infinity -Tags : video-game, multiplayer, collectibles, NFT, blockchain, fantasy +Tags : video-game,multiplayer,collectibles,NFT,blockchain,fantasy [Site officiel](https://axieinfinity.com/) @@ -81,47 +81,46 @@ Ressources : ### 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 : * [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 -Tags : peer-to-peer, IPFS, blockchain, storage, file sharing +Tags : peer-to-peer,IPFS,blockchain,storage,file sharing [Site officiel](https://filecoin.io/) ### Popcorn Time -Tags : peer-to-peer, decentralised, video, streaming, file sharing +Tags : peer-to-peer,decentralised,video,streaming,file sharing [Site officiel](https://github.com/popcorn-official/popcorn-desktop) ### BitTorrent -Tags : peer-to-peer, decentralised, file sharing +Tags : peer-to-peer,decentralised,file sharing [Site officiel](https://bittorrent.com) ### Netflix -Tags : video, streaming, content distribution, microservices +Tags : video,streaming,content distribution,microservices [Site officiel](https://www.netflix.com/) ### Twitch -Tags : video, streaming, live, content distribution, social network +Tags : video,streaming,live,content distribution,social network [Site officiel](https://www.twitch.tv/) ### Spotify -Tags : audio, streaming, content distribution, peer-to-peer +Tags : audio,streaming,content distribution,peer-to-peer [Site officiel](https://www.spotify.com/) diff --git a/affectations/.gitignore b/affectations/.gitignore new file mode 100644 index 0000000..5ceb386 --- /dev/null +++ b/affectations/.gitignore @@ -0,0 +1 @@ +venv diff --git a/affectations/README.md b/affectations/README.md new file mode 100644 index 0000000..10cc420 --- /dev/null +++ b/affectations/README.md @@ -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 ] +Using following random seed: +Successfully wrote affectations_.tsv +``` \ No newline at end of file diff --git a/affectations/affectations_42.tsv b/affectations/affectations_42.tsv new file mode 100644 index 0000000..f2c96af --- /dev/null +++ b/affectations/affectations_42.tsv @@ -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 diff --git a/affectations/etudiants.csv b/affectations/etudiants.csv new file mode 100644 index 0000000..864ee69 --- /dev/null +++ b/affectations/etudiants.csv @@ -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 \ No newline at end of file diff --git a/affectations/lotterie.py b/affectations/lotterie.py new file mode 100644 index 0000000..ea92c77 --- /dev/null +++ b/affectations/lotterie.py @@ -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_.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) + \ No newline at end of file diff --git a/affectations/requirements.txt b/affectations/requirements.txt new file mode 100644 index 0000000..941b729 --- /dev/null +++ b/affectations/requirements.txt @@ -0,0 +1,5 @@ +numpy==1.23.4 +pandas==1.5.1 +python-dateutil==2.8.2 +pytz==2022.6 +six==1.16.0 diff --git a/affectations/sujets.tsv b/affectations/sujets.tsv new file mode 100644 index 0000000..d3c77e4 --- /dev/null +++ b/affectations/sujets.tsv @@ -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 \ No newline at end of file diff --git a/presentation/presentation_22-23.odp b/presentation/presentation_22-23.odp index 4d140bb..567512a 100644 Binary files a/presentation/presentation_22-23.odp and b/presentation/presentation_22-23.odp differ