diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po
index 7518677..9682925 100644
--- a/locale/fr/LC_MESSAGES/django.po
+++ b/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TFJM\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-22 16:27+0100\n"
+"POT-Creation-Date: 2023-03-24 11:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Emmy D'Anello \n"
"Language-Team: LANGUAGE \n"
@@ -25,99 +25,248 @@ msgstr "API"
msgid "Draw"
msgstr "Tirage au sort"
-#: draw/models.py:15 participation/models.py:288 participation/models.py:312
-#: participation/models.py:344
+#: draw/consumers.py:20
+msgid "You are not an organizer."
+msgstr "Vous n'êtes pas un⋅e organisateur⋅rice."
+
+#: draw/consumers.py:79
+msgid "Invalid format"
+msgstr "Format invalide"
+
+#: draw/consumers.py:85
+#, python-brace-format
+msgid "The sum must be equal to the number of teams: expected {len}, got {sum}"
+msgstr ""
+"La somme doit être égale au nombre d'équipes : attendu {len}, obtenu {sum}"
+
+#: draw/consumers.py:105
+msgid "Draw started!"
+msgstr "Le tirage a commencé !"
+
+#: draw/consumers.py:115
+#, python-brace-format
+msgid "The draw for the tournament {tournament} will start."
+msgstr "Le tirage au sort du tournoi {tournament} va commencer."
+
+#: draw/consumers.py:136 draw/consumers.py:139
+msgid "You've already launched the dice."
+msgstr "Vous avez déjà lancé le dé."
+
+#: draw/consumers.py:142
+msgid "It is not your turn."
+msgstr "Ce n'est pas votre tour."
+
+#: draw/consumers.py:144
+msgid "This is not the time for this."
+msgstr "Ce n'est pas le moment pour cela."
+
+#: draw/consumers.py:177 draw/consumers.py:266
+#, python-brace-format
+msgid "Dices from teams {teams} are identical. Please relaunch your dices."
+msgstr ""
+"Les dés des équipes {teams} sont identiques. Merci de relancer vos dés."
+
+#: draw/consumers.py:211
+msgid "Two pools are identical. Please relaunch your dices."
+msgstr "Deux poules sont identiques. Merci de relancer vos dés."
+
+#: draw/models.py:16 participation/models.py:295 participation/models.py:319
+#: participation/models.py:351
msgid "tournament"
msgstr "tournoi"
-#: draw/models.py:24
+#: draw/models.py:25
msgid "current round"
msgstr "tour actuel"
-#: draw/models.py:28 draw/models.py:36
+#: draw/models.py:76 draw/models.py:84
msgid "draw"
msgstr "tirage au sort"
-#: draw/models.py:29
+#: draw/models.py:77
msgid "draws"
msgstr "tirages au sort"
-#: draw/models.py:41
+#: draw/models.py:89
msgid "Round 1"
msgstr "Tour 1"
-#: draw/models.py:42
+#: draw/models.py:90
msgid "Round 2"
msgstr "Tour 2"
-#: draw/models.py:44
+#: draw/models.py:92
msgid "number"
msgstr "numéro"
-#: draw/models.py:53
+#: draw/models.py:101
msgid "current pool"
msgstr "poule actuelle"
-#: draw/models.py:60 participation/models.py:348
+#: draw/models.py:112 draw/models.py:173 participation/models.py:355
msgid "round"
msgstr "tour"
-#: draw/models.py:61
+#: draw/models.py:113
msgid "rounds"
msgstr "tours"
-#: draw/models.py:77
+#: draw/models.py:128
msgid "letter"
msgstr "lettre"
-#: draw/models.py:86
+#: draw/models.py:132
+#: participation/templates/participation/tournament_detail.html:15
+msgid "size"
+msgstr "taille"
+
+#: draw/models.py:141
msgid "current team"
msgstr "équipe actuelle"
-#: draw/models.py:93 draw/models.py:107 participation/models.py:400
-#: participation/models.py:408
+#: draw/models.py:159 draw/models.py:181
+#: draw/templates/draw/tournament_content.html:65
+#: draw/templates/draw/tournament_content.html:146 participation/models.py:407
+#: participation/models.py:415
msgid "pool"
msgstr "poule"
-#: draw/models.py:94 participation/models.py:401
+#: draw/models.py:160 participation/models.py:408
msgid "pools"
msgstr "poules"
-#: draw/models.py:101 participation/models.py:335 participation/models.py:532
-#: participation/models.py:562 participation/models.py:600
+#: draw/models.py:167 participation/models.py:342 participation/models.py:539
+#: participation/models.py:569 participation/models.py:607
msgid "participation"
msgstr "participation"
-#: draw/models.py:112
-msgid "index"
-msgstr "position"
+#: draw/models.py:188
+msgid "passage index"
+msgstr "numéro de passage"
-#: draw/models.py:117 draw/models.py:131 participation/models.py:415
-#: participation/models.py:569
+#: draw/models.py:195
+msgid "choose index"
+msgstr "numéro de choix"
+
+#: draw/models.py:200 draw/models.py:216 participation/models.py:422
+#: participation/models.py:576
#, python-brace-format
msgid "Problem #{problem}"
msgstr "Problème n°{problem}"
-#: draw/models.py:121 draw/models.py:135
+#: draw/models.py:204 draw/models.py:220
msgid "accepted problem"
msgstr "problème accepté"
-#: draw/models.py:126
+#: draw/models.py:211
msgid "last dice"
msgstr "dernier dé"
-#: draw/models.py:140
+#: draw/models.py:225
msgid "rejected problems"
msgstr "problèmes rejetés"
-#: draw/models.py:144
+#: draw/models.py:232
msgid "team draw"
msgstr "tirage d'équipe"
-#: draw/models.py:145
+#: draw/models.py:233
msgid "team draws"
msgstr "tirages d'équipe"
+#: draw/templates/draw/tournament_content.html:4
+msgid "The draw has not started yet."
+msgstr "Le tirage au sort n'a pas encore commencé."
+
+#: draw/templates/draw/tournament_content.html:11
+msgid "Configuration:"
+msgstr "Configuration :"
+
+#: draw/templates/draw/tournament_content.html:17
+msgid "Start!"
+msgstr "Démarrer !"
+
+#: draw/templates/draw/tournament_content.html:28
+msgid "Last dices"
+msgstr "Derniers jets de dés"
+
+#: draw/templates/draw/tournament_content.html:113
+msgid "Launch dice"
+msgstr "Lancer le dé"
+
+#: draw/templates/draw/tournament_content.html:120
+msgid "Accept"
+msgstr "Accepter"
+
+#: draw/templates/draw/tournament_content.html:123
+msgid "Decline"
+msgstr "Refuser"
+
+#: draw/templates/draw/tournament_content.html:153 participation/models.py:125
+#: participation/models.py:310 registration/models.py:127
+msgid "team"
+msgstr "équipe"
+
+#: draw/templates/draw/tournament_content.html:163
+#: draw/templates/draw/tournament_content.html:164
+#: draw/templates/draw/tournament_content.html:165
+#: draw/templates/draw/tournament_content.html:166
+#: draw/templates/draw/tournament_content.html:167
+msgid "Room"
+msgstr "Salle"
+
+#: draw/templates/draw/tournament_content.html:173
+msgid "Problem"
+msgstr "Problème"
+
+#: draw/templates/draw/tournament_content.html:185
+#: draw/templates/draw/tournament_content.html:190
+#: draw/templates/draw/tournament_content.html:195
+#: draw/templates/draw/tournament_content.html:199
+#: draw/templates/draw/tournament_content.html:205
+#: draw/templates/draw/tournament_content.html:211
+#: draw/templates/draw/tournament_content.html:217
+#: draw/templates/draw/tournament_content.html:221
+#: draw/templates/draw/tournament_content.html:228
+#: draw/templates/draw/tournament_content.html:235
+#: draw/templates/draw/tournament_content.html:242
+#: draw/templates/draw/tournament_content.html:249 participation/models.py:429
+#: participation/tables.py:102
+msgid "defender"
+msgstr "défenseur⋅se"
+
+#: draw/templates/draw/tournament_content.html:186
+#: draw/templates/draw/tournament_content.html:191
+#: draw/templates/draw/tournament_content.html:193
+#: draw/templates/draw/tournament_content.html:201
+#: draw/templates/draw/tournament_content.html:207
+#: draw/templates/draw/tournament_content.html:209
+#: draw/templates/draw/tournament_content.html:215
+#: draw/templates/draw/tournament_content.html:224
+#: draw/templates/draw/tournament_content.html:229
+#: draw/templates/draw/tournament_content.html:237
+#: draw/templates/draw/tournament_content.html:239
+#: draw/templates/draw/tournament_content.html:246 participation/models.py:443
+#: participation/models.py:620
+msgid "reporter"
+msgstr "rapporteur⋅e"
+
+#: draw/templates/draw/tournament_content.html:187
+#: draw/templates/draw/tournament_content.html:189
+#: draw/templates/draw/tournament_content.html:194
+#: draw/templates/draw/tournament_content.html:202
+#: draw/templates/draw/tournament_content.html:204
+#: draw/templates/draw/tournament_content.html:210
+#: draw/templates/draw/tournament_content.html:216
+#: draw/templates/draw/tournament_content.html:223
+#: draw/templates/draw/tournament_content.html:231
+#: draw/templates/draw/tournament_content.html:233
+#: draw/templates/draw/tournament_content.html:240
+#: draw/templates/draw/tournament_content.html:248 participation/models.py:436
+#: participation/models.py:619
+msgid "opponent"
+msgstr "opposant⋅e"
+
#: logs/apps.py:11
msgid "Logs"
msgstr "Logs"
@@ -183,7 +332,7 @@ msgstr "changelogs"
msgid "Changelog of type \"{action}\" for model {model} at {timestamp}"
msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
-#: participation/admin.py:19 participation/models.py:318
+#: participation/admin.py:19 participation/models.py:325
#: participation/tables.py:43 registration/models.py:364
msgid "valid"
msgstr "valide"
@@ -295,11 +444,6 @@ msgstr "lettre de motivation"
msgid "Team {name} ({trigram})"
msgstr "Équipe {name} ({trigram})"
-#: participation/models.py:125 participation/models.py:303
-#: registration/models.py:127
-msgid "team"
-msgstr "équipe"
-
#: participation/models.py:126 participation/tables.py:82
msgid "teams"
msgstr "équipes"
@@ -369,53 +513,53 @@ msgstr "organisateur⋅rices"
msgid "final"
msgstr "finale"
-#: participation/models.py:289
+#: participation/models.py:296
msgid "tournaments"
msgstr "tournois"
-#: participation/models.py:319
+#: participation/models.py:326
msgid "The participation got the validation of the organizers."
msgstr "La participation a été validée par les organisateur⋅rices."
-#: participation/models.py:324
+#: participation/models.py:331
msgid "selected for final"
msgstr "sélectionnée pour la finale"
-#: participation/models.py:325
+#: participation/models.py:332
msgid "The team is selected for the final tournament."
msgstr "L'équipe est sélectionnée pour la finale."
-#: participation/models.py:332
+#: participation/models.py:339
#, python-brace-format
msgid "Participation of the team {name} ({trigram})"
msgstr "Participation de l'équipe {name} ({trigram})"
-#: participation/models.py:336 participation/models.py:358
+#: participation/models.py:343 participation/models.py:365
msgid "participations"
msgstr "participations"
-#: participation/models.py:350 participation/models.py:351
+#: participation/models.py:357 participation/models.py:358
#, python-brace-format
msgid "Round {round}"
msgstr "Tour {round}"
-#: participation/models.py:364
+#: participation/models.py:371
msgid "juries"
msgstr "jurys"
-#: participation/models.py:371
+#: participation/models.py:378
msgid "BigBlueButton URL"
msgstr "Lien BigBlueButton"
-#: participation/models.py:372
+#: participation/models.py:379
msgid "The link of the BBB visio for this pool."
msgstr "Le lien du salon BBB pour cette poule."
-#: participation/models.py:377
+#: participation/models.py:384
msgid "results available"
msgstr "résultats disponibles"
-#: participation/models.py:378
+#: participation/models.py:385
msgid ""
"Check this case when results become accessible to teams. They stay "
"accessible to you. Only averages are given."
@@ -424,32 +568,20 @@ msgstr ""
"Ils restent toujours accessibles pour vous. Seules les moyennes sont "
"communiquées."
-#: participation/models.py:394
+#: participation/models.py:401
#, python-brace-format
msgid "Pool of day {round} for tournament {tournament} with teams {teams}"
msgstr "Poule du jour {round} du tournoi {tournament} avec les équipes {teams}"
-#: participation/models.py:413
+#: participation/models.py:420
msgid "defended solution"
msgstr "solution défendue"
-#: participation/models.py:422 participation/tables.py:102
-msgid "defender"
-msgstr "défenseur"
-
-#: participation/models.py:429 participation/models.py:612
-msgid "opponent"
-msgstr "opposant"
-
-#: participation/models.py:436 participation/models.py:613
-msgid "reporter"
-msgstr "rapporteur"
-
-#: participation/models.py:441
+#: participation/models.py:448
msgid "penalties"
msgstr "pénalités"
-#: participation/models.py:443
+#: participation/models.py:450
msgid ""
"Number of penalties for the defender. The defender will loose a 0.5 "
"coefficient per penalty."
@@ -457,124 +589,124 @@ msgstr ""
"Nombre de pénalités pour læ défenseur⋅se. Læ défenseur⋅se perd un "
"coefficient 0.5 sur sa solution écrite par pénalité."
-#: participation/models.py:503 participation/models.py:506
-#: participation/models.py:509
+#: participation/models.py:510 participation/models.py:513
+#: participation/models.py:516
#, python-brace-format
msgid "Team {trigram} is not registered in the pool."
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
-#: participation/models.py:514
+#: participation/models.py:521
#, python-brace-format
msgid "Passage of {defender} for problem {problem}"
msgstr "Passage de {defender} pour le problème {problem}"
-#: participation/models.py:518 participation/models.py:526
-#: participation/models.py:607 participation/models.py:649
+#: participation/models.py:525 participation/models.py:533
+#: participation/models.py:614 participation/models.py:656
msgid "passage"
msgstr "passage"
-#: participation/models.py:519
+#: participation/models.py:526
msgid "passages"
msgstr "passages"
-#: participation/models.py:537
+#: participation/models.py:544
msgid "difference"
msgstr "différence"
-#: participation/models.py:538
+#: participation/models.py:545
msgid "Score to add/remove on the final score"
msgstr "Score à ajouter/retrancher au score final"
-#: participation/models.py:545
+#: participation/models.py:552
msgid "tweak"
msgstr "harmonisation"
-#: participation/models.py:546
+#: participation/models.py:553
msgid "tweaks"
msgstr "harmonisations"
-#: participation/models.py:567
+#: participation/models.py:574
msgid "problem"
msgstr "numéro de problème"
-#: participation/models.py:574
+#: participation/models.py:581
msgid "solution for the final tournament"
msgstr "solution pour la finale"
-#: participation/models.py:579 participation/models.py:618
+#: participation/models.py:586 participation/models.py:625
msgid "file"
msgstr "fichier"
-#: participation/models.py:585
+#: participation/models.py:592
#, python-brace-format
msgid "Solution of team {team} for problem {problem}"
msgstr "Solution de l'équipe {team} pour le problème {problem}"
-#: participation/models.py:587
+#: participation/models.py:594
msgid "for final"
msgstr "pour la finale"
-#: participation/models.py:590
+#: participation/models.py:597
msgid "solution"
msgstr "solution"
-#: participation/models.py:591
+#: participation/models.py:598
msgid "solutions"
msgstr "solutions"
-#: participation/models.py:624
+#: participation/models.py:631
#, python-brace-format
msgid "Synthesis of {team} as {type} for problem {problem} of {defender}"
msgstr ""
"Note de synthèse de l'équipe {team} en tant que {type} pour le problème "
"{problem} de {defender}"
-#: participation/models.py:632
+#: participation/models.py:639
msgid "synthesis"
msgstr "note de synthèse"
-#: participation/models.py:633
+#: participation/models.py:640
msgid "syntheses"
msgstr "notes de synthèse"
-#: participation/models.py:642
+#: participation/models.py:649
msgid "jury"
msgstr "jury"
-#: participation/models.py:654
+#: participation/models.py:661
msgid "defender writing note"
msgstr "note d'écrit de læ défenseur⋅se"
-#: participation/models.py:660
+#: participation/models.py:667
msgid "defender oral note"
msgstr "note d'oral de læ défenseur⋅se"
-#: participation/models.py:666
+#: participation/models.py:673
msgid "opponent writing note"
msgstr "note d'écrit de l'opposant⋅e"
-#: participation/models.py:672
+#: participation/models.py:679
msgid "opponent oral note"
msgstr "note d'oral de l'opposant⋅e"
-#: participation/models.py:678
+#: participation/models.py:685
msgid "reporter writing note"
msgstr "note d'écrit de læ rapporteur⋅e"
-#: participation/models.py:684
+#: participation/models.py:691
msgid "reporter oral note"
msgstr "note d'oral de læ rapporteur⋅e"
-#: participation/models.py:702
+#: participation/models.py:709
#, python-brace-format
msgid "Notes of {jury} for {passage}"
msgstr "Notes de {jury} pour le {passage}"
-#: participation/models.py:709
+#: participation/models.py:716
msgid "note"
msgstr "note"
-#: participation/models.py:710
+#: participation/models.py:717
msgid "notes"
msgstr "notes"
@@ -1032,10 +1164,6 @@ msgstr "Êtes-vous sûr·e de vouloir quitter cette équipe ?"
msgid "All teams"
msgstr "Toutes les équipes"
-#: participation/templates/participation/tournament_detail.html:15
-msgid "size"
-msgstr "taille"
-
#: participation/templates/participation/tournament_detail.html:22
msgid "Free"
msgstr "Gratuit"
@@ -2105,3 +2233,6 @@ msgstr "Résultats"
#: tfjm/templates/search/search.html:25
msgid "No results found."
msgstr "Aucun résultat."
+
+#~ msgid "index"
+#~ msgstr "position"