diff --git a/docs/Q10.png b/docs/Q10.png
new file mode 100644
index 0000000000000000000000000000000000000000..62429d2cda40e01ef09254f080eed327adf50d3e
Binary files /dev/null and b/docs/Q10.png differ
diff --git a/docs/Q2.png b/docs/Q2.png
new file mode 100644
index 0000000000000000000000000000000000000000..03be944325aaea8685e96097edc47baa2ab94786
Binary files /dev/null and b/docs/Q2.png differ
diff --git a/docs/Q6.png b/docs/Q6.png
new file mode 100644
index 0000000000000000000000000000000000000000..159e95dba746b6e1a515ee5f1843725af486ee5e
Binary files /dev/null and b/docs/Q6.png differ
diff --git a/docs/compte-rendu.md b/docs/compte-rendu.md
index bcc655d66913928d7dcdede3d6b09390249d6a4f..c9196d202c1c6ed59cbed245efd5131bc6072a8e 100644
--- a/docs/compte-rendu.md
+++ b/docs/compte-rendu.md
@@ -3,39 +3,55 @@
 É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) ?
+Liste de sensibilité : I_0, I_1, I_2, I_3, I_4, I_5 et I_sel.
 
 
 ## 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 ?
+Si le "when others" est supprimé, le code ne le détecte pas; mais sur la simulation, la sortie affiche une erreur car elle ne trouve pas les autres signaux : "case statement does not cover all choices; 'others' clause is needed".
+De plus, sur la simulation, les valeurs de case "110" et "111" ne sont pas présents sur la simulation, mais cela n'a pas géné la simulation.
+![](./Q2.png)
 
 
 ## Question Loto 3 : Ce test est-il concluant ? Est-il suffisant pour valider le module ? Justifiez.
+Tous les cas ont été testés, la sortie affiche bien la valeur de l'entrée selon les différents case (entre "000" à "101").
 
 
 ## Question Loto 4 : Quel(s) signal(aux) doit on renseigner dans la liste de sensibilité de ce processus séquentiel ? Pourquoi ?
+Liste de sensibilité : I_rst et I_clk. En effet, dans le compteur, on utilise l'horloge pour incrémenter le compteur, et la présence du reset réinitialise le compteur.
 
 
 ## 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 ?
+Le code empêche la valeur du compteur de passer à "110" et "111", donc la simulation n'est pas affectée par ces combinaisons d'entrées.
 
 
 ## Question Loto 6 : Ce test est-il concluant ? Est-il suffisant pour valider le module ? Justifiez.
+Tous les cas sont testés, le compteur repasse bien à 0 après avoir atteint la valeur 5.
+![](./Q6.png)
 
 
 ## Question Loto 7 : Combien de processus avez-vous décris ?
+On a utilisé un processus.
 
 
 ## Question Loto 8 : De quel(s) type(s) sont-ils
+C'est un processus synchrone.
 
 
 ## 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 ?
+On peut la décrire avec 2 processus, le premier processus comprends la mise à jour de l'état, l'autre à changer les paramètres et déterminer l'état suivant.
 
 
 ## Question Loto 10 : Ce test est-il concluant ? Justifiez.
+![](./Q10.png)
 
 
 ## 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 ?
+Le schéma n'affiche pas complètement le même que le résultat attendu, il y n'a pas la présence d'un buffer. La différence n'est pas liée à une erreur VHDL.
 
 
 ## 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 LUTs, 89 Flip Flops, 0 latch. S'il n'y a pas de latch, c'est un bon point car cela utilise moins de matériel.
 
 
 ## Question Loto 13 : Le tirage est-il aléatoire pour un humain ? pour une machine ? Justifiez.
+C'est aléatoire pour un humain mais pas pour une machine car la machine se sert du cycle d'horloge pour créer un pseudo-aléatoire.
diff --git a/src/automate.vhd b/src/automate.vhd
index 1ccb931d7fe12fa743f62a8460c95a6d7fb05343..052f44b6e717272026b6047903a0107d98634204 100644
--- a/src/automate.vhd
+++ b/src/automate.vhd
@@ -36,10 +36,9 @@ begin
     process (I_clk, I_rst)
     begin
         if(I_rst = '1')then
-            __BLANK_TO_FILL__
+            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 +49,65 @@ 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;
+
+                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;
 
-                    __BLANK_TO_FILL__
+                when st_store =>
+                    O_l_green        <= '0';
+                    O_l_red        <= '0';
+                    O_counting       <= '0';
+                    O_store <= '1';
+                    if I_end = '1' then
+                        SR_STATE <= st_end_red;
+                    elsif I_end = '0' then
+                        SR_STATE <= st_wait_success;
+                    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 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 others =>
+                    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;
+    
+                    
 
             end case;
         end if;
diff --git a/src/compteur_modulo4.vhd b/src/compteur_modulo4.vhd
index f2b951f07572fe0ebb6ed5fc58e6aaa9f185547b..c7d26dc03f3e61e1159f06be797fcd769b6da9e9 100644
--- a/src/compteur_modulo4.vhd
+++ b/src/compteur_modulo4.vhd
@@ -20,12 +20,12 @@ architecture modulo4_a of compteur_modulo4 is
 
 begin
 
-    mod4 : process (clk, rst)
+    mod4 : process (I_clk, I_rst)
 
     begin
-        if rst = '1' then
+        if I_rst = '1' then
             SR_Counter <= "00";
-        elsif rising_edge(clk) then
+        elsif rising_edge(I_clk) then
             if SR_Counter = "11" then
                 SR_Counter <= "00";
             else
diff --git a/src/compteur_modulo6.vhd b/src/compteur_modulo6.vhd
index 7962a902901eb77362e130eb770ac5481684623d..33ff08e19c17b782cb0ef748f941e7fa2ad0d1c3 100644
--- a/src/compteur_modulo6.vhd
+++ b/src/compteur_modulo6.vhd
@@ -20,12 +20,16 @@ architecture modulo6_a of compteur_modulo6 is
 
 begin
 
-    process (_BLANK_)
+    process (I_rst, I_clk)
     begin
         if I_rst = '1' then
-            _BLANK_
-        elsif rising_edge(I_clk) then
-            _BLANK_
+            SR_Counter <= "000";
+        elsif rising_edge(I_clk) and I_block = '0' then
+            if SR_Counter = "101" then
+                SR_Counter <= "000";
+            else
+                SR_Counter <= SR_Counter + 1;
+            end if;
         end if;
     end process;
 
diff --git a/src/mux6_1.vhd b/src/mux6_1.vhd
index a689bef6c26f4dd324c13f5d0653dfd294f6d097..fda9a3504a3d097c8c237887406d522dd12e1e92 100644
--- a/src/mux6_1.vhd
+++ b/src/mux6_1.vhd
@@ -20,7 +20,23 @@ end mux6_1;
 architecture a_mux6_1 of mux6_1 is
 begin
 
-__BLANK_TO_FILL__
+process(I_0, I_1, I_2, I_3, I_4, I_5, I_sel)
+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 others =>
+            O_mux6 <= I_5;       
+    end case;
+end process;