diff --git a/docs/compte-rendu.md b/docs/compte-rendu.md
index bcc655d66913928d7dcdede3d6b09390249d6a4f..1eeb2af442c478cf3d275e4dbc3147fe321eff5b 100644
--- a/docs/compte-rendu.md
+++ b/docs/compte-rendu.md
@@ -3,39 +3,40 @@
 Énoncé du TP : [https://tp-vhdl.gitlab-pages.imt-atlantique.fr/loto/](https://tp-vhdl.gitlab-pages.imt-atlantique.fr/loto/)
 
 ## Question Loto 1 : Quels sont les signaux à renseigner dans la liste de sensibilité (si vous utilisez un process explicite) ?
-
+I_sel, I_0, I_1, I_2, I_3, I_4, I_5, : the multiplexer control signal and the inputs so that the output is updated.
 
 ## Question Loto 2 : Que se passe-t-il si le test est incomplet, c’est-à-dire s’il ne couvre pas toutes les combinaisons d’entrées du module ? Est-ce grave ?
-
+It creates a latch, which we do not want in this circuit.
 
 ## Question Loto 3 : Ce test est-il concluant ? Est-il suffisant pour valider le module ? Justifiez.
-
+The simulation is valid, the multiplexer works as expected
 
 ## Question Loto 4 : Quel(s) signal(aux) doit on renseigner dans la liste de sensibilité de ce processus séquentiel ? Pourquoi ?
-
+I_clk, I_rst : the clock to be synchronous and the reset.
 
 ## Question Loto 5 : Que se passe-t-il si le test est incomplet, c’est-à-dire s’il ne couvre pas toutes les combinaisons d’entrées du module ? Est-ce grave ici ?
-
+It creates a latch, which we do not want in this circuit.
 
 ## Question Loto 6 : Ce test est-il concluant ? Est-il suffisant pour valider le module ? Justifiez.
-
+The counter works as expected, we can validate the module.
 
 ## Question Loto 7 : Combien de processus avez-vous décris ?
-
+We have described 1 process.
 
 ## Question Loto 8 : De quel(s) type(s) sont-ils
-
+A synchronous one to both update the current state and to define the next state.
 
 ## Question Loto 9 : Serait-il possible de décrire cette machine d'état de manière différente, en terme de nombre et de type de process ?
-
+We could have used 2 processes : 1 synchronous to update the current state and another asynchronous one to define the next state.
 
 ## Question Loto 10 : Ce test est-il concluant ? Justifiez.
-
+The test is conclusive, we get the behaviour described by the Finite State Machine diagram.
 
 ## Question Loto 11 : Le circuit inféré par l’outil est-il conforme à l’attendu ? Sinon, en quoi diffère-t-il et est-ce lié à une erreur de description VHDL ?
-
+Yes, the circuite is conform.
 
 ## Question Loto 12 : Quelles sont les ressources utilisées sur le FPGA ? En quelle quantité/proportion des ressources disponibles ? Des **LATCHES** sont-ils utilisés ? Est-ce positif ou pas, pourquoi ?
-
+73 LUT and 89 Flip-Flop. We don't have any latch.
 
 ## Question Loto 13 : Le tirage est-il aléatoire pour un humain ? pour une machine ? Justifiez.
+Because of the 100 MHz clock, the draw is random for a human. For a computer it is just a cycle.
diff --git a/src/automate.vhd b/src/automate.vhd
index 1ccb931d7fe12fa743f62a8460c95a6d7fb05343..25f47fa4a6c46fb030406e7694dbd54490ec10aa 100644
--- a/src/automate.vhd
+++ b/src/automate.vhd
@@ -36,10 +36,14 @@ begin
     process (I_clk, I_rst)
     begin
         if(I_rst = '1')then
-            __BLANK_TO_FILL__
+            O_l_green        <= '0';
+            O_l_red        <= '0';
+            O_counting       <= '0';
+            O_store <= '0';
+            SR_STATE <= st_wait_success;
+        
         elsif rising_edge(I_clk)then
             case SR_STATE is
-                case SR_STATE is
 
                 when st_wait_success =>
                     O_l_green        <= '1';
@@ -50,9 +54,66 @@ begin
                         SR_STATE <= st_counting;
                     end if;
 
-                    when __BLANK_TO_FILL__
+                when st_counting =>
+                    O_l_green        <= '0';
+                    O_l_red        <= '0';
+                    O_counting       <= '1';
+                    O_store <= '0';
+                    if I_button = '0' then
+                        SR_STATE <= st_compar;
+                    end if;
 
-                    __BLANK_TO_FILL__
+                when st_compar =>
+                    O_l_green        <= '0';
+                    O_l_red        <= '0';
+                    O_counting       <= '0';
+                    O_store <= '0';
+                    if I_invalide = '0' then
+                        SR_STATE <= st_store;
+                    else
+                        SR_STATE <= st_wait_failed;
+                    end if;
+                
+                when st_wait_failed =>
+                    O_l_green        <= '0';
+                    O_l_red        <= '1';
+                    O_counting       <= '0';
+                    O_store <= '0';
+                    if I_button = '1' then
+                        SR_STATE <= st_counting;
+                    end if;
+                    
+                when st_store =>
+                    O_l_green        <= '0';
+                    O_l_red        <= '0';
+                    O_counting       <= '0';
+                    O_store <= '1';
+                    if I_end = '0' then
+                        SR_STATE <= st_wait_success;
+                    else
+                        SR_STATE <= st_end_red;
+                    end if;
+                    
+                when st_end_red =>
+                    O_l_green        <= '0';
+                    O_l_red        <= '1';
+                    O_counting       <= '0';
+                    O_store <= '0';
+                    if I_clk_display = '1' then
+                        SR_STATE <= st_end_green;
+                    end if;
+                    
+                when st_end_green =>
+                    O_l_green        <= '1';
+                    O_l_red        <= '0';
+                    O_counting       <= '0';
+                    O_store <= '0';
+                    if I_clk_display = '0' then
+                        SR_STATE <= st_end_red;
+                    end if;
+                    
+                when others =>
+                    SR_STATE <= st_wait_success;
 
             end case;
         end if;
diff --git a/src/compteur_modulo6.vhd b/src/compteur_modulo6.vhd
index 7962a902901eb77362e130eb770ac5481684623d..47ddc73f40ce04f95083b3fa3ed344873f746fdf 100644
--- a/src/compteur_modulo6.vhd
+++ b/src/compteur_modulo6.vhd
@@ -20,15 +20,22 @@ architecture modulo6_a of compteur_modulo6 is
 
 begin
 
-    process (_BLANK_)
+    process (I_clk, I_rst)
     begin
         if I_rst = '1' then
-            _BLANK_
+            SR_Counter <= "000";
         elsif rising_edge(I_clk) then
-            _BLANK_
+            if I_Block = '0' then
+                if SR_Counter = "101" then
+                    SR_Counter <= "000";
+                else
+                    SR_Counter <= SR_Counter + 1;
+                end if;
+             end if;
         end if;
     end process;
 
     O_CounterMod6 <= std_logic_vector(SR_Counter);
+    
 
 end modulo6_a;
diff --git a/src/mux6_1.vhd b/src/mux6_1.vhd
index a689bef6c26f4dd324c13f5d0653dfd294f6d097..b9c1afde5716cf86248e009dc8b6ccd318aab87b 100644
--- a/src/mux6_1.vhd
+++ b/src/mux6_1.vhd
@@ -20,7 +20,29 @@ end mux6_1;
 architecture a_mux6_1 of mux6_1 is
 begin
 
-__BLANK_TO_FILL__
+    process(I_sel, I_0, I_1, I_2, I_3, I_4, I_5)
+    begin
+    
+    case I_sel is
+    
+    when "000" =>
+        O_mux6 <= I_0;
+    when "001" =>
+        O_mux6 <= I_1;
+    when "010" =>
+        O_mux6 <= I_2;
+    when "011" =>
+        O_mux6 <= I_3;
+    when "100" =>
+        O_mux6 <= I_4;
+    when "101" =>
+        O_mux6 <= I_5;
+    when others =>
+        O_mux6 <= I_0;
+        
+     end case;
+      
+    end process;
 
 
 
diff --git a/src/transcodeur7s_u.vhd b/src/transcodeur7s_u.vhd
index ad82269687236fcaf902f4e52a56b3efbd629e97..93304fb3e12be0eb2eeaebbf249fcb38a3e57623 100644
--- a/src/transcodeur7s_u.vhd
+++ b/src/transcodeur7s_u.vhd
@@ -39,6 +39,7 @@
 
 library IEEE;
 use IEEE.STD_LOGIC_1164.all;
+use IEEE.numeric_std.all;
 
 entity transcodeur7s_u is
     port (