Skip to content

Commit aa48952

Browse files
committed
Enhance the readability of the project.
1 parent e65f4b2 commit aa48952

File tree

5 files changed

+198
-139
lines changed

5 files changed

+198
-139
lines changed

README.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# GoFileEncoder
2+
3+
## Introduction
4+
5+
GoFileEncoder est un petit encodeur de fichiers qui utilise l'[encryption XOR ^(EN)^](https://en.wikipedia.org/wiki/XOR_cipher) (une autre ). Il est codé en Golang, et est compilé pour plusieurs OS (Windows®, Linux®,et bientôt macOS®).
6+
7+
Je ne suis pas un pro en Go, donc si vous trouvez un bug, ou simplement voulez faire une suggestion, je suis totalement ouvert aux [_issues_](https://github.com/eliotttak/GoFileEncoder/issues), [_pull requests_](https://github.com/eliotttak/GoFileEncoder/pulls) et à la [discussion](https://github.com/eliotttak/GoFileEncoder/discussions).
8+
9+
---
10+
11+
## Sommaire
12+
- [GoFileEncoder](#gofileencoder)
13+
- [Introduction](#introduction)
14+
- [Sommaire](#sommaire)
15+
- [Construction](#construction)
16+
- [Clonage](#clonage)
17+
- [Arbre des dépendances](#arbre-des-dépendances)
18+
- [Installation des dépendances](#installation-des-dépendances)
19+
- [Compilation](#compilation)
20+
- [En Bash](#en-bash)
21+
- [En Batch](#en-batch)
22+
- [Utilisation](#utilisation)
23+
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder-)
24+
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier)
25+
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe)
26+
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination)
27+
- [5. Attendez...](#5-attendez)
28+
- [6. Terminé !](#6-terminé-)
29+
30+
31+
## Construction
32+
33+
### Clonage
34+
35+
```bash
36+
git clone https://github.com/eliotttak/GoFileEncoder
37+
cd GoFileEncoder
38+
```
39+
40+
### Arbre des dépendances
41+
42+
```plaintext
43+
GoFileEncoder (ce projet)
44+
|
45+
+-- github.com/sqweek/dialog (pour les popups des fichiers)
46+
| |
47+
| \_ github.com/TheTitanrain/w32 (indirect)
48+
|
49+
\_ golang.org/x/term (pour la demande de mot de passe)
50+
|
51+
\_ golang.org/x/sys (indirect)
52+
```
53+
54+
Se réferer au fichier [go.mod](./go.mod) pour plus de détails.
55+
56+
### Installation des dépendances
57+
```bash
58+
go mod tidy
59+
```
60+
61+
### Compilation
62+
63+
#### En Bash
64+
```bash
65+
go build -o ./bin/GoFileEncoder ./src/
66+
```
67+
68+
#### En Batch
69+
```batch
70+
go build -o .\bin\GoFileEncoder .\src\
71+
```
72+
73+
---
74+
75+
## Utilisation
76+
77+
### 1. Encoder ou décoder ?
78+
79+
En premier, lancez le programme. Celui-ci va vous demander si vous souhaitez encoder ou décoder un fichier :
80+
```plaintext
81+
Que voulez-vous faire ?
82+
- Encoder un fichier (e)
83+
- Décoder un fichier (d)
84+
(e/d)>>>
85+
```
86+
Si vous voulez encoder un fichier, entrez <kbd>e</kbd>, sinon, entrez <kbd>d</kbd>. Dans tous les cas, validez avec <kbd>Entrée</kbd>.
87+
88+
### 2. Sélectionnez un fichier
89+
90+
Ensuite, il va vous demander d'appuyez sur <kbd>Entrée</kbd> pour sélectionner un fichier. Faites-le, et un popup va apparaître. Sélectionnez votre fichier, puis validez.
91+
> &#x1F6C8; Si vous annulez, le popup va réapparaître 2 fois, puis à la 3^ème^, le message `"Trop de tentatives échouées"` va s'afficher puis le programme va se fermer.
92+
93+
### 3. Entrez le mot de passe
94+
95+
Après cela, un mot de passe vous sera demandé. Entrez-le puis validez avec <kbd>Entrée</kbd>.
96+
> &#x26A0; Si vous avez choisi `Décoder un fichier`, faîtes attention à bien écrire le mot de passe. Si vous vous trompez ne serait-ce que d'un caractère, le fichier sera corrompu et ne sera plus utilisable.
97+
98+
> &#x1F6C8; Pour garantir la confidentialité de votre mot de passe, celui-ci ne s'affichera pas sur votre écran.
99+
100+
### 4. Choisissez le fichier de destination
101+
102+
Ensuite, le programme va vous demander d'appuyez sur <kbd>Entrée</kbd> pour choisir le fichier de destination. Faites-le, et un popup va apparaître. Sélectionnez le fichier à créer, puis validez.
103+
> &#x1F6C8; Si vous annulez, le popup va réapparaître 2 fois, puis à la 3^ème^, le message `"Trop de tentatives échouées"` va s'afficher puis le programme va se fermer.
104+
105+
### 5. Attendez...
106+
107+
Le fichier est en train d'être encodé. Ne fermez pas le programme.
108+
109+
### 6. Terminé !
110+
Au bout de quelques secondes, le fichier est encodé ou décodé. Le programme se ferme automatiquement.

go.mod

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@ module GoFileEncoder
22

33
go 1.24.2
44

5-
require github.com/sqweek/dialog v0.0.0-20240226140203-065105509627
5+
require (
6+
github.com/sqweek/dialog v0.0.0-20240226140203-065105509627
7+
golang.org/x/term v0.34.0
8+
)
69

7-
require github.com/TheTitanrain/w32 v0.0.0-20200114052255-2654d97dbd3d // indirect
10+
require (
11+
github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf // indirect
12+
golang.org/x/sys v0.35.0 // indirect
13+
)

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf h1:FPsprx82rdrX2jiKyS17BH6IrTmUBYqZa/CXT4uvb+I=
22
github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf/go.mod h1:peYoMncQljjNS6tZwI9WVyQB3qZS6u79/N3mBOcnd3I=
3-
github.com/TheTitanrain/w32 v0.0.0-20200114052255-2654d97dbd3d h1:2xp1BQbqcDDaikHnASWpVZRjibOxu7y9LhAv04whugI=
4-
github.com/TheTitanrain/w32 v0.0.0-20200114052255-2654d97dbd3d/go.mod h1:peYoMncQljjNS6tZwI9WVyQB3qZS6u79/N3mBOcnd3I=
53
github.com/sqweek/dialog v0.0.0-20240226140203-065105509627 h1:2JL2wmHXWIAxDofCK+AdkFi1KEg3dgkefCsm7isADzQ=
64
github.com/sqweek/dialog v0.0.0-20240226140203-065105509627/go.mod h1:/qNPSY91qTz/8TgHEMioAUc6q7+3SOybeKczHMXFcXw=
5+
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
6+
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
7+
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
8+
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=

0 commit comments

Comments
 (0)