diff --git a/Blockchaindiag.drawio.png b/Blockchaindiag.drawio.png
new file mode 100644
index 0000000000000000000000000000000000000000..81f335924422234851b5c1a6515289c74603f01b
Binary files /dev/null and b/Blockchaindiag.drawio.png differ
diff --git a/README.md b/README.md
index 30afc98d55416f3e8c71adad9ac5a7c4e8590eaa..c18874eb46598247066ed5a38292b4c151873938 100644
--- a/README.md
+++ b/README.md
@@ -4,50 +4,90 @@ Ce projet a été réalisé par Jérémy BRODIER et Corentin SAINT-DIZIER, deux
 
 Dans le cadre du cours de blockchain, nous avions pour projet de réaliser une blockchain sur le même fonctionnement de la blockchain bitcoin.
 
+## Lancement de l'application
+
+Pour lancer l'application, lancer respectivement les commandes suivantes : 
+
+- `mvn clean compile assembly:single`
+- `java -jar target/blockchain-project-1.0-SNAPSHOT-jar-with-dependencies.jar`
+
+Dans le cas où le fichier `.jar` ne se lance pas, vous pouvez lancer l'application depuis la classe `App.java`.
 
 ## Conception 
 
 Avant de passer à la réalisation et au développement de la blockchain, il a été tout d'abord important de comprendre l'orchestration d'une blockchain.
 
-Pour se faire, nous avons décidé de représenter les différentes entités d'une blockchain en différentes classes : 
+Pour ce faire, nous avons décidé de représenter les différentes entités d'une blockchain en différentes classes : 
 
-    -  Une classe Blockchain, représentant la blockchain dans sa globalité;
-    -  Une classe Bloc, représentant les blocs contenues dans la blockchain;
-    -  Une classe Transaction, représentant une transaction qui sera contenu dans un bloc;
-    -  Une classe Coinbase, qui hérite de Transaction, cette classe va représenter une transaction coinbase dans un bloc;
-    -  Une classe UTxO, représentant le détails des tranasactions
-    -  Une classe Wallet représentant un wallet enregistré sur la blockchain
+-  Une classe Blockchain, représentant la blockchain dans sa globalité
+-  Une classe Bloc, représentant les blocs contenues dans la blockchain
+-  Une classe Transaction, représentant une transaction qui sera contenue dans un bloc
+-  Une classe Coinbase, qui hérite de Transaction, cette classe va représenter une transaction coinbase dans un bloc
+-  Une classe UTxO, représentant le détails des tranasactions
+-  Une classe Wallet, représentant un wallet enregistré sur la blockchain
 
 
-    TODO : METTRE DIAGRAMME DE CLASSE
+![alt text](Blockchaindiag.drawio.png)
 
 ## Réalisation
 
 ### Blockchain
 
-Concernant notre blockchain, nous avons décidé de la représenté par une liste chainé `LinkedList` de bloc. Cela nous permet de garder un lien de précédence entre les différents blocs.
+Concernant notre blockchain, nous avons décidé de la représenté par une liste chainée `LinkedList` de blocs. Cela nous permet de garder un lien de précédence entre les différents blocs.
 
-De plus, nous avons décidé d'y intégrer un `Set` d'UTxO, ce set va tout d'abord nous permettre d'avoir que des UTxO unique au sein du Set, cela va éviter d'avoir des UTx0 qui n'appartiennent à personne. Mais la principale utilité de ce Set et d'y référencer tous les UTx0 disponible pour une transaction. 
+De plus, nous avons décidé d'y intégrer un `Set` d'UTxO. Ce set va nous permettre d'avoir des UTxO uniques au sein du Set, afin d'éviter d'avoir des UTx0 qui n'appartiennent à personne. Mais la principale utilité de ce Set est d'y référencer tous les UTx0 disponibles pour une transaction. 
 Plus précisément, lors d'une transaction, les UTx0 outputs de cette dernière seront inséré dans le Set et les UTx0 inputs seront supprimer de ce Set.
 
 
 ### Transaction
 
-Une transaction est identifé par : 
+Une transaction est identifiée par : 
+
+- Un ID de transaction;
+- Un wallet de provenance et un wallet de destination; 
+- Une liste d'UTxO inputs et une liste d'UTxO outputs;
+- D'une signature
+
+Au sein de notre blockchain, pour simuler la création d'une transaction, notre programme va exécuter la suite d'instructions suivante : 
+
+1) Sélection d'un wallet de provenance et d'un wallet de destination de façon aléatoire
+2) Sélection d'un montant à envoyer 
+3) Signature de la transaction par le wallet de provenance
+4) Vérification de la signature
+5) Création de la transaction
+
+Une fois les transactions créées, nous pouvons passer au minage d'un bloc.
+
+### Minage d'un bloc
+
+Pour le minage d'un bloc, nous avons fait le choix de créer une classe MinageManager avec une fonction `static mineABloc(Bloc bloc)`.
+
+Cette fonction va effectuer les tâches suivantes : 
+
+- Ajouter une coinbase transaction contenant un seul UTxO output d'une valeur de 5 qui sera la récompense du mineur qui arrive à miner le bloc.
+- Générer une target 
+- Rentrer dans une boucle et il en sortira seulement dans le cas où le mineur aura trouvé un hash satisfaisant.
+
+### Assemblage
+
+Une fois les principaux composants de la blockchain modélisés, il a fallu mettre en place un système permettant à la fois de créer des transactions et de miner un bloc dès lors que notre "pool" de transactions arrive à 50 transactions.
+En effet, dans notre blockchain, le minage d'un bloc se déclenche dès lors que nous avons 50 transactions dans notre "pool".
+
+
+#### Thread : TransactionCreator
 
-    - Un ID de transaction;
-    - Un wallet de provenance et un wallet de destination; 
-    - Une liste d'UTxO inputs et une liste d'UTxO outputs;
-    - D'une signature
+Dans notre classe `TransactionCreator` qui étend de `Thread`, il va appeler la fonction statique `createTransaction` de la classe `Blockchain` toutes les secondes.
 
-Au sein de notre blockchain, pour simuler la création d'une transaction, notre programme va éxéuter la suite d'instruction suivante : 
+#### Thread : Mineur
 
-    1) Sélection d'un wallet de provenance et d'un wallet de destination de façon aléatoire
-    2) Séléction d'un montant à envoyer 
-    3) Signature de la transaction par le wallet de provenance
-    4) Vérification de la signature
-    5) Création de la transaction
+Notre classe `Mineur` qui étend de `Thread` effectue un peu plus de traitement. En effet, le traitement est le suivant : 
 
-Une fois les transactions crées nous pouvons passer au minage d'un bloc....
+1) On récupére le dernier bloc de la blockchain.
+2) On récupère les 50 dernières transactions.
+3) On crée le bloc qui contient les transactions et le hash du bloc précédent.
+4) On mine le bloc comme expliqué ci-dessus.
 
+### Conclusion
 
+Le développement de notre blockchain a été une expérience intéressante.
+Il nous a permis de comprendre les principes fondamentaux d'une blockchain ainsi que son potentiel pour révolutionner plusieurs secteurs grâce à sa transparence, sa sécurité et sa décentralisation. 
\ No newline at end of file
diff --git a/blockchain-project.iml b/blockchain-project.iml
new file mode 100644
index 0000000000000000000000000000000000000000..3b0c98fb511c7d61c66d12b0c4f2698c2334f5b7
--- /dev/null
+++ b/blockchain-project.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="AdditionalModuleElements">
+    <content url="file://$MODULE_DIR$" dumb="true">
+      <excludeFolder url="file://$MODULE_DIR$/.idea/copilot/chatSessions" />
+    </content>
+  </component>
+</module>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 8755d419d802e896fd2eba86b760c951d9c0b828..635d84f5ed027b39073bf74a37392181d67d3f1e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,11 +7,8 @@
   <groupId>fr.miage</groupId>
   <artifactId>blockchain-project</artifactId>
   <version>1.0-SNAPSHOT</version>
-
   <name>blockchain-project</name>
   <!-- FIXME change it to the project's website -->
-  <url>http://www.example.com</url>
-
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <maven.compiler.source>21</maven.compiler.source>
@@ -25,13 +22,11 @@
       <artifactId>gson</artifactId>
       <version>2.10.1</version>
     </dependency>
-
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
       <version>1.16.0</version>
     </dependency>
-
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
@@ -42,6 +37,7 @@
 
   <build>
     <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
+      
       <plugins>
         <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
         <plugin>
@@ -64,6 +60,7 @@
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
           <version>3.0.2</version>
+          <groupId>org.apache.maven.plugins</groupId>
         </plugin>
         <plugin>
           <artifactId>maven-install-plugin</artifactId>
@@ -82,6 +79,19 @@
           <artifactId>maven-project-info-reports-plugin</artifactId>
           <version>3.0.0</version>
         </plugin>
+        <plugin>
+          <artifactId>maven-assembly-plugin</artifactId>
+            <configuration>
+              <archive>
+                <manifest>
+                  <mainClass>fr.miage.App</mainClass>
+                </manifest>
+              </archive>
+            <descriptorRefs>
+              <descriptorRef>jar-with-dependencies</descriptorRef>
+            </descriptorRefs>
+            </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
   </build>
diff --git a/src/main/java/fr/miage/App.java b/src/main/java/fr/miage/App.java
index 0b47048992d8ac7a168402e96777981a19ccbeec..09f8cd9802d1424ae0779dcc73b157a3a97e8042 100644
--- a/src/main/java/fr/miage/App.java
+++ b/src/main/java/fr/miage/App.java
@@ -10,8 +10,7 @@ import fr.miage.threads.TransactionCreator;
 public class App {
     public static synchronized void main(String[] args) throws NoSuchAlgorithmException, InterruptedException {
 
-        Blockchain blockchain = new Blockchain("Blockchain de Jérémy BRODIER et Corentin SAINT-DIZIER");
-
+        Blockchain blockchain = Blockchain.getInstance("Blockchain de Jérémy BRODIER et Corentin SAINT-DIZIER");
         TransactionCreator transactionCreator = new TransactionCreator(blockchain);
         Mineur mineur = new Mineur(blockchain);
         transactionCreator.start();
diff --git a/src/main/java/fr/miage/Blockchain.java b/src/main/java/fr/miage/Blockchain.java
index b5a5b0a5158a48bfcf3daabb3863106a9f558879..c6b0cf623dc7be847ae16f399c715ec3a8ccc7fe 100644
--- a/src/main/java/fr/miage/Blockchain.java
+++ b/src/main/java/fr/miage/Blockchain.java
@@ -16,13 +16,15 @@ import java.util.Set;
 import fr.miage.blocs.Bloc;
 
 public class Blockchain {
+
+    private static Blockchain instance = null;
     private String name;
     private LinkedList<Bloc> blocs;
     private List<Wallet> wallets;
     public static Set<UTxO> utxos = new HashSet<>();
     public static Set<Transaction> transactionsPool = new HashSet<>();
 
-    public Blockchain(String name) throws NoSuchAlgorithmException, InterruptedException {
+    private Blockchain(String name) throws NoSuchAlgorithmException, InterruptedException {
         this.name = name;
         this.wallets = setupWallet();
         // Création du premier bloc contenant les transactions de coinbase
@@ -32,7 +34,14 @@ public class Blockchain {
             }
         };
         ;
-        System.out.println("[BLOC] --- Hash du genesis bloc : " + this.blocs.getFirst().getHash());
+    }
+
+    public static Blockchain getInstance(String name) throws NoSuchAlgorithmException, InterruptedException {
+        if (instance == null) {
+            instance = new Blockchain(name);
+        }
+        return instance;
+
     }
 
     public List<Wallet> setupWallet() throws NoSuchAlgorithmException, InterruptedException {
@@ -45,7 +54,7 @@ public class Blockchain {
 
     // Permet de créer une transaction avec deux wallets aléatoire et de l'ajouter
     // dans la transaction pool;
-    public void createTransaction() {
+    public void createTransaction() throws InterruptedException {
         List<Wallet> walletsCopy = new ArrayList<>();
         walletsCopy.addAll(wallets);
         Wallet walletSender = selectWallet(walletsCopy);
@@ -58,21 +67,32 @@ public class Blockchain {
             System.out.println("Wallets vides");
             return;
         }
-        
         System.out.println("[TRANSACTION] --- Création d'une transaction =========================================\n");
         System.out.println("            " + walletSender.getName() + " envoie " + randomAmountToSend + " à "
                 + walletReceiver.getName() + "\n");
-        Transaction tx = new Transaction(walletSender, walletReceiver, randomAmountToSend, EnumTypeTransaction.NORMAL);
+
+        Transaction tx = new Transaction(walletSender, walletReceiver, EnumTypeTransaction.NORMAL);
+        tx.putUTxO(walletSender, walletReceiver, randomAmountToSend);
+
+        Blockchain.utxos.addAll(tx.getOutputs());
+        Blockchain.utxos.removeAll(tx.getInputs());
         String transactionData = getTransactionData(tx);
+
         try {
-            byte[] signature = sign(transactionData, walletSender.getKeyPair().getPrivate());
-            System.out.println("[SIGNATURE] --- Signature de la transaction : " + signature);
-            tx.setSignature(signature);
-            if (verifySignature(transactionData, signature, walletSender.getKeyPair().getPublic())) {
-                System.out.println("[SIGNATURE] --- Signature vérifiée");
+            if (makeFakeSign()) {
+                Wallet fakeWallet = new Wallet("FakeWallet");
+                tx.sign(transactionData, fakeWallet.getKeyPair().getPrivate());
+            } else {
+                tx.sign(transactionData, walletSender.getKeyPair().getPrivate());
+            }
+            System.out.println("[SIGNATURE] --- Signature de la transaction : " + tx.getSignature());
+            if (tx.verifySignature(transactionData, walletSender.getKeyPair().getPublic())) {
                 Blockchain.transactionsPool.add(tx);
             } else {
                 System.out.println("[SIGNATURE] --- Signature non valide : TRANSACTION REJETEE");
+                Blockchain.utxos.removeAll(tx.getOutputs());
+                Blockchain.utxos.addAll(tx.getInputs());
+                return;
             }
         } catch (NoSuchAlgorithmException | InvalidKeyException | SignatureException e) {
             e.printStackTrace();
@@ -84,21 +104,10 @@ public class Blockchain {
         return tx.getInputs().toString() + tx.getOutputs().toString() + tx.getId();
     }
 
-    public byte[] sign(String data, PrivateKey privateKey)
-            throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
-        Signature signature = Signature.getInstance("SHA256withRSA");
-        signature.initSign(privateKey);
-        signature.update(data.getBytes());
-        return signature.sign();
-    }
-
-    public boolean verifySignature(String data, byte[] signature, PublicKey publicKey)
-            throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
-        Signature sign = Signature.getInstance("SHA256withRSA");
-        sign.initVerify(publicKey);
-        sign.update(data.getBytes());
-        System.out.println("[SIGNATURE] --- Vérification de la signature : " + signature.toString());
-        return sign.verify(signature);
+    public boolean makeFakeSign() {
+        int num1 = (int) (Math.random() * 5) + 1;
+        int num2 = (int) (Math.random() * 5) + 1;
+        return num1 == num2;
     }
 
     public Wallet selectWallet(List<Wallet> wallets) {
@@ -118,7 +127,6 @@ public class Blockchain {
             i++;
         }
         return null;
-
     }
 
     public void addBloc(Bloc bloc) {
diff --git a/src/main/java/fr/miage/MinageManager.java b/src/main/java/fr/miage/MinageManager.java
index ee068ff363c917afdfef31ff0ee4baf7bf800e9e..1bfad92b8e99d50a44f92732e90ccbb74263b3a5 100644
--- a/src/main/java/fr/miage/MinageManager.java
+++ b/src/main/java/fr/miage/MinageManager.java
@@ -17,12 +17,9 @@ import fr.miage.blocs.BlocHeader;
 
 public class MinageManager {
 
-    private static final int DIFFICULTY = 6;
-    private static double MAX_NONCE = Math.pow(2, 32);
-    private Blockchain blockchain;
+    private static final int DIFFICULTY = 5;
 
-    public MinageManager(Blockchain blockchain) {
-        this.blockchain = blockchain;
+    public MinageManager() {
     }
 
     public static void mineABloc(Bloc bloc) {
diff --git a/src/main/java/fr/miage/Transaction.java b/src/main/java/fr/miage/Transaction.java
index 10cfdd3cd6f372495fc8b9362abe7e44a8c42e19..f1f10907d8bbbd52712009fd8e52edc9cc54d7a1 100644
--- a/src/main/java/fr/miage/Transaction.java
+++ b/src/main/java/fr/miage/Transaction.java
@@ -1,6 +1,11 @@
 package fr.miage;
 
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
 import java.security.PublicKey;
+import java.security.Signature;
+import java.security.SignatureException;
 import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
@@ -22,35 +27,43 @@ public class Transaction {
         this.id = UUID.randomUUID();
     }
 
-    public Transaction(Wallet sender, Wallet receiver, double amount, EnumTypeTransaction typeTransaction) {
+    public Transaction(Wallet sender, Wallet receiver, EnumTypeTransaction typeTransaction) {
+        this.sender = sender;
+        this.receiver = receiver;
+        this.typeTransaction = typeTransaction.NORMAL;
+        this.id = UUID.randomUUID();
+    }
+
+    public void putUTxO(Wallet sender, Wallet receiver, double amount) {
         this.inputs = sender.getUTxOsForTransaction(amount);
-        // System.out.println("Inputs : " + this.inputs);
-        // System.out.println("Set UTxO : " + Blockchain.utxos);
-        if (inputs != null) {
-            if (isValidTransaction(inputs)) {
-                this.sender = sender;
-                this.receiver = receiver;
-                this.typeTransaction = typeTransaction.NORMAL;
-                this.id = UUID.randomUUID();
-                UTxO utxoAmount = new UTxO(this.id, UUID.randomUUID(), receiver.getKeyPair().getPublic(), amount);
-
-                this.receiver.addUTxO(utxoAmount);
-                UTxO utxoRest = new UTxO(this.id, UUID.randomUUID(), sender.getKeyPair().getPublic(),
-                        getTotalAmountUtxoInput(inputs) - amount);
-                this.sender.addUTxO(utxoRest);
-                this.outputs = Arrays.asList(utxoAmount, utxoRest);
-                for (UTxO utxo : this.inputs) {
-                    Blockchain.utxos.add(utxo);
-                }
-                Blockchain.utxos.addAll(this.outputs);
-                printUtxoDetails(inputs, outputs);
-            } else {
-                System.err.println("Transaction invalide, utxo absent");
-            }
-        } else {
-            System.out.println("Solde insuffisant");
+        UTxO utxoAmount = new UTxO(this.id, UUID.randomUUID(), receiver.getKeyPair().getPublic(), amount);
+        this.receiver.addUTxO(utxoAmount);
+        UTxO utxoRest = new UTxO(this.id, UUID.randomUUID(), sender.getKeyPair().getPublic(),
+                getTotalAmountUtxoInput(inputs) - amount);
+        this.sender.addUTxO(utxoRest);
+        this.outputs = Arrays.asList(utxoAmount, utxoRest);
+        for (UTxO utxo : this.inputs) {
+            Blockchain.utxos.add(utxo);
         }
-        Blockchain.utxos.removeAll(this.inputs);
+
+        printUtxoDetails(inputs, outputs);
+
+    }
+
+    public void sign(String data, PrivateKey privateKey)
+            throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
+        Signature signature = Signature.getInstance("SHA256withRSA");
+        signature.initSign(privateKey);
+        signature.update(data.getBytes());
+        this.signature = signature.sign();
+    }
+
+    public boolean verifySignature(String data, PublicKey publicKey)
+            throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
+        Signature sign = Signature.getInstance("SHA256withRSA");
+        sign.initVerify(publicKey);
+        sign.update(data.getBytes());
+        return sign.verify(signature);
     }
 
     public void printUtxoDetails(List<UTxO> inputs, List<UTxO> outputs) {
diff --git a/src/main/java/fr/miage/Wallet.java b/src/main/java/fr/miage/Wallet.java
index 47d0cff0b0ae5e9adea21ce6fba61767d0e67697..ba422e5bfbb34313790eee5dbf44b2b410b392c9 100644
--- a/src/main/java/fr/miage/Wallet.java
+++ b/src/main/java/fr/miage/Wallet.java
@@ -9,7 +9,6 @@ import java.util.List;
 
 public class Wallet {
     private KeyPair keyPair;
-    private double solde;
     private List<UTxO> utxos;
     private String name; // temp
 
@@ -69,7 +68,7 @@ public class Wallet {
 
     @Override
     public String toString() {
-        return "Wallet [keyPair=" + keyPair + ", solde=" + solde + ", utxos=" + utxos + ", name=" + name + "]";
+        return "Wallet [keyPair=" + keyPair + ", utxos=" + utxos + ", name=" + name + "]";
     }
 
     public KeyPair getKeyPair() {
diff --git a/src/main/java/fr/miage/threads/Mineur.java b/src/main/java/fr/miage/threads/Mineur.java
index 82cadd91b8e594e78832661c8461bbe6fc4ff6ca..4ce51f48920a993afeff55203f4283ea1f6e6bec 100644
--- a/src/main/java/fr/miage/threads/Mineur.java
+++ b/src/main/java/fr/miage/threads/Mineur.java
@@ -34,8 +34,8 @@ public class Mineur extends Thread {
 
                     System.out.println("[MINAGE] -- Minage du bloc....");
                     Bloc bloc = new Bloc(transactions, previousBloc.getHash());
-                    MinageManager.mineABloc(bloc);
                     Blockchain.transactionsPool.removeAll(transactions);
+                    MinageManager.mineABloc(bloc);
                     transactions.clear();
                     if (bloc != null) {
                         blockchain.addBloc(bloc);
diff --git a/src/main/java/fr/miage/threads/TransactionCreator.java b/src/main/java/fr/miage/threads/TransactionCreator.java
index 0a81c840242c79d5fe4d9404eb2d2dfd97a60e5a..bff9b62e9c5c44674050da1f84574ae971a6bce2 100644
--- a/src/main/java/fr/miage/threads/TransactionCreator.java
+++ b/src/main/java/fr/miage/threads/TransactionCreator.java
@@ -15,7 +15,12 @@ public class TransactionCreator extends Thread {
 
     public void run() {
         while (true) {
-            blockchain.createTransaction();
+            try {
+                blockchain.createTransaction();
+            } catch (InterruptedException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
             System.out.println(
                     "[POOL] Nombre de transaction dans la pool : " + Blockchain.transactionsPool.size() + "\n");
             try {
diff --git a/target/blockchain-project-1.0-SNAPSHOT.jar b/target/blockchain-project-1.0-SNAPSHOT.jar
deleted file mode 100644
index f988b3b41a7cb272d887a9a6c7dcaa36582b7f2b..0000000000000000000000000000000000000000
Binary files a/target/blockchain-project-1.0-SNAPSHOT.jar and /dev/null differ
diff --git a/target/classes/fr/miage/App.class b/target/classes/fr/miage/App.class
index 1388792d8d6fb77aefb8a404c65223d66c2edde7..c3a3d544f4ecd2d8529c03d440bb818a4e10ffa4 100644
Binary files a/target/classes/fr/miage/App.class and b/target/classes/fr/miage/App.class differ
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
deleted file mode 100644
index 976b61aa520fb2f04aeecf7a4a6be68c282208ba..0000000000000000000000000000000000000000
--- a/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created by Apache Maven 3.9.6
-artifactId=blockchain-project
-groupId=fr.miage
-version=1.0-SNAPSHOT
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index be281bf01b03b789780e7cc2b46bf12684a2eabe..ae8405b5eed6993438026d44ba4bc2cf4fd4b4fb 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,9 +1,16 @@
 fr/miage/Transaction.class
-fr/miage/Bloc.class
 fr/miage/UTxO.class
+fr/miage/blocs/Bloc$RandomNumberGenerator.class
+fr/miage/threads/TransactionCreator.class
+fr/miage/blocs/Bloc.class
+fr/miage/blocs/BlocHeader.class
+fr/miage/Wallet.class
+fr/miage/blocs/Bloc$1.class
+fr/miage/transactions/EnumTypeTransaction.class
 fr/miage/App.class
+fr/miage/Coinbase.class
+fr/miage/threads/Mineur.class
 fr/miage/Blockchain.class
+fr/miage/Blockchain$1.class
 fr/miage/EnumTypeTransaction.class
 fr/miage/MinageManager.class
-fr/miage/Wallet.class
-fr/miage/BlocHeader.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 1ddb5f309e514dde9bd943a2edf1123475ceac1e..cbd9c8e6013ed476347be488c450b763f891c239 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,9 +1,13 @@
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/EnumTypeTransaction.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/Bloc.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/Blockchain.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/App.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/MinageManager.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/Transaction.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/Wallet.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/BlocHeader.java
-/Users/corentinstd/Library/CloudStorage/OneDrive-Personnel/Cours/M2_S1/Blockchain/blockchain-project/src/main/java/fr/miage/UTxO.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/App.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/transactions/EnumTypeTransaction.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/UTxO.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/EnumTypeTransaction.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/blocs/BlocHeader.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/Blockchain.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/blocs/Bloc.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/threads/Mineur.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/Coinbase.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/Wallet.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/threads/TransactionCreator.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/MinageManager.java
+/Users/corentinstd/Documents/Cours/Blockchain/blockchain-project/src/main/java/fr/miage/Transaction.java
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000